:root{font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg: #0f0f12;--bg-elevated: #1a1a20;--border: #2a2a32;--text: #e4e4e7;--muted: #71717a;--accent: #6366f1;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body[data-theme=light]{color-scheme:light;--bg: #fafafa;--bg-elevated: #ffffff;--border: #e4e4e7;--text: #18181b;--muted: #71717a;--accent: #4f46e5;color:var(--text);background-color:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{border-radius:8px;border:1px solid var(--border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-elevated);color:inherit;cursor:pointer;transition:border-color .2s}button:hover{border-color:var(--accent)}input,select{font-family:inherit}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:.75rem 1.5rem}.app-header-sticky{position:sticky;top:0;z-index:100;background:var(--bg-elevated)}.app-nav{max-width:1200px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between}.nav-center{flex:1;min-width:240px;display:flex;justify-content:center;align-items:center;padding:0 1rem}.nav-search{width:100%;max-width:640px}.nav-search-wrap.search-wrap{margin-bottom:0}.nav-search-wrap{margin:0;transform:translateY(.35em);align-items:center}.nav-search .search-box{flex:1 1 auto;min-width:200px}.nav-search .search-input{max-width:100%;font-size:.95rem;line-height:1.35;padding:.45rem .95rem}.nav-search .search-btn{padding:.45rem 1rem;font-size:.95rem}@media(max-width:860px){.nav-center{display:none}}.nav-logo{font-weight:700;font-size:1.25rem;text-decoration:none;color:inherit;padding:.5rem .25rem;margin:-.5rem -.25rem;border-radius:6px;transition:color .2s}.nav-logo:hover{color:var(--accent)}.nav-logo.active{color:var(--accent);text-decoration:none}.nav-link{padding:.5rem .75rem;border-radius:6px;text-decoration:none;color:var(--muted);font-size:.95rem;transition:color .2s,background .2s}.nav-link:hover{color:var(--accent);text-decoration:none}.nav-link.active{color:var(--accent);background:#6366f11f;text-decoration:none}.nav-links{display:flex;align-items:baseline;gap:1.25rem;flex-wrap:wrap}.nav-user-wrap{position:relative;align-self:center}.nav-user-trigger{display:flex;align-items:center;justify-content:center;padding:.35rem;margin:0;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--muted);transition:color .2s,background .2s}.nav-user-trigger:hover{color:var(--accent);background:#6366f11f}.nav-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.nav-user-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:inherit}.nav-user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;padding:.5rem 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 40px #00000040;z-index:200}.nav-user-dropdown-name{padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.nav-user-dropdown-item{display:block;width:100%;padding:.6rem 1rem;font-size:.9rem;text-align:left;text-decoration:none;color:var(--text);background:none;border:none;cursor:pointer;font-family:inherit;transition:background .2s}.nav-user-dropdown-item:hover{background:#6366f11f;color:var(--accent)}.nav-user-dropdown-logout{color:var(--muted);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.6rem}.nav-user-dropdown-logout:hover{color:#dc2626}.app-main{flex:1}.app-breadcrumbs-wrap{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem 0}.breadcrumbs{margin-bottom:.5rem}.breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;list-style:none;margin:0;padding:0;font-size:.9rem}.breadcrumbs-list li{display:flex;align-items:center;gap:.5rem}.breadcrumbs-link{color:var(--muted);text-decoration:none;padding:.2rem 0}.breadcrumbs-link:hover{color:var(--accent);text-decoration:underline}.breadcrumbs-sep{color:var(--muted);font-weight:300;-webkit-user-select:none;user-select:none}.breadcrumbs-current{color:var(--text);font-weight:500}.page{max-width:1200px;margin:0 auto;padding:1.5rem;min-width:0;box-sizing:border-box}.page-header{margin-bottom:2rem}.page-header h1{margin:0 0 1rem;font-size:1.75rem}.home-hero-banner{margin:0 0 .9rem;padding:1.35rem 1.5rem;border-radius:14px;background:linear-gradient(125deg,#6366f159,#8b5cf647 45%,#4f46e538);border:1px solid rgba(99,102,241,.35);text-align:center}.home-hero-banner-text{margin:0;font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700;letter-spacing:.02em;line-height:1.35;color:var(--text)}.home-hero-banner-subtitle{margin:.9rem auto 0;text-align:center;font-size:clamp(1.25rem,2.8vw,1.8rem);font-weight:800;color:var(--text);max-width:52rem}.nav-theme-toggle{padding:.45rem .75rem;font-size:.9rem;border-radius:999px}.nav-theme-toggle:hover{background:#6366f114;border-color:var(--accent)}.home-type-tabs{display:flex;justify-content:center;gap:.75rem;margin:.25rem 0 .9rem;flex-wrap:wrap}.home-type-tab{border:1px solid var(--border);background:var(--bg-elevated);color:inherit;border-radius:999px;padding:.75rem 1.4rem;cursor:pointer;font-weight:600;font-size:1.05rem;min-height:48px}.home-type-tab.active{border-color:#6366f1a6;background:#6366f12e;box-shadow:0 0 0 3px #6366f11f}.dubbing-page-meta{margin:0;color:var(--muted);font-size:.95rem}.studio-card{margin-bottom:2rem;padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px}.studio-card-inner{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start}.studio-card-avatar{width:100px;height:100px;border-radius:12px;object-fit:cover;flex-shrink:0}.studio-card-info{flex:1;min-width:200px}.studio-card-name{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.studio-card-description{margin:0 0 .5rem;font-size:.95rem;line-height:1.5;color:var(--text)}.studio-card-website{display:inline-block;font-size:.9rem;color:var(--accent);text-decoration:none}.studio-card-website:hover{text-decoration:underline}.studios-page-meta{margin:0 0 1.5rem;color:var(--muted);font-size:.95rem}.studios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.studio-card-link{text-decoration:none;color:inherit;display:block}.studio-card-link:hover .studio-card-tile{border-color:var(--accent);box-shadow:0 4px 20px #6366f126}.studio-card-tile{margin-bottom:0;height:100%;transition:border-color .2s,box-shadow .2s}.studio-card-inner-vertical{flex-direction:column;align-items:center;text-align:center}.studio-card-avatar-tile{width:80px;height:80px;border-radius:50%}.studio-card-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--border);flex-shrink:0}.studio-card-description-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.9rem}.studio-card-arrow{margin-top:.5rem;color:var(--accent);font-size:1.25rem}.search-wrap{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.search-box{position:relative;flex:1 1 520px;min-width:240px}.search-input{width:100%;max-width:640px;padding:.7rem 1.05rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text)}.search-input::placeholder{color:var(--muted)}.search-input:focus{outline:none;border-color:var(--accent)}.search-btn{padding:.6rem 1.2rem;font-size:1rem;white-space:nowrap}.search-suggestions{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:.35rem 0;color:var(--text)}.search-suggestions-loading,.search-suggestions-empty{margin:0;padding:.5rem .85rem;color:var(--muted);font-size:.95rem}.search-suggestions-list{list-style:none;margin:0;padding:0}.search-suggestion-item{width:100%;display:flex;justify-content:flex-start;align-items:center;padding:.55rem .85rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.search-suggestion-item:hover:not(:disabled){background:#6366f114}.search-btn:disabled{opacity:.7;cursor:not-allowed}.search-results-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:var(--muted)}.search-back-btn{padding:.4rem .8rem;font-size:.9rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filter-group label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.filter-group select{padding:.5rem .75rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:inherit;min-width:140px}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,168px));gap:1.5rem;justify-content:start}.movie-card{display:flex;flex-direction:column;height:100%;min-height:0;border-radius:12px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);transition:transform .2s,box-shadow .2s}.movie-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0003}.movie-card-link{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;text-decoration:none;color:inherit}.movie-card-edit-btn{display:block;text-align:center;padding:.5rem .75rem;margin:0 .75rem .75rem;font-size:.85rem;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;transition:opacity .2s}.movie-card-edit-btn:hover{opacity:.9}.movie-card-poster{position:relative;flex-shrink:0;aspect-ratio:2/3;overflow:hidden}.movie-card-poster img{width:100%;height:100%;object-fit:cover}.movie-card-type{position:absolute;top:8px;left:8px;font-size:.7rem;padding:.25rem .5rem;background:linear-gradient(135deg,#6366f1e6,#5048e5f2);color:#fff;border-radius:6px;font-weight:500}.movie-card-rating{position:absolute;bottom:8px;right:8px;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,#000000d9,#000000bf);color:#fff;padding:.25rem .5rem;border-radius:6px}.movie-card-genres-poster{position:absolute;bottom:8px;left:8px;right:44px;display:flex;flex-wrap:wrap;gap:4px}.movie-card-genre-tag{font-size:.65rem;padding:.15rem .4rem;background:#000000b3;color:#fffffff2;border-radius:4px}.movie-card-info{flex:1 1 auto;display:flex;flex-direction:column;padding:.75rem;min-height:5.5rem}.movie-card-info h3{margin:0 0 .25rem;font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.movie-card-dubbing{margin:auto 0 0;padding-top:.35rem;font-size:.8rem;color:var(--muted);min-height:1.25em}.movie-card-dubbing-link{color:var(--accent);text-decoration:none}.movie-card-dubbing-link:hover{text-decoration:underline}.movie-card-meta{margin:0;font-size:.8rem;color:var(--muted)}.home-carousel-section{margin-bottom:2.1rem}.home-carousel-title{margin:0 0 1rem;font-size:1.25rem;font-weight:600}.carousel-wrap{overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.carousel-wrap::-webkit-scrollbar{height:6px}.carousel-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.carousel-track{display:flex;align-items:stretch;gap:1rem;width:max-content;padding-right:1rem}.carousel-item{flex-shrink:0;width:168px;display:flex;align-items:stretch}.carousel-item .movie-card{margin:0;width:100%}.carousel-end-link{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:168px;align-self:stretch;min-height:0;background:var(--bg-elevated);border:2px dashed var(--border);border-radius:12px;text-decoration:none;color:var(--accent);transition:border-color .2s,background .2s}.carousel-end-link:hover{border-color:var(--accent);background:#6366f114}.carousel-end-arrow{font-size:2rem;line-height:1;margin-bottom:.25rem}.carousel-end-text{font-size:.95rem;font-weight:600}.page-header-desc{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.no-results{grid-column:1 / -1;text-align:center;color:var(--muted);padding:2rem}.back-link{display:inline-flex;align-items:center;margin-bottom:1rem;color:var(--accent);text-decoration:none}.back-link:hover{text-decoration:underline}.back-link-area{min-height:44px;padding:.5rem .75rem;margin:-.5rem 0 1rem -.75rem;border-radius:8px;transition:background .2s}.back-link-area:hover{background:#6366f11a}.detail-card{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start;position:relative;overflow:visible;border-radius:12px;padding:1.25rem;border:1px solid var(--border);background:var(--bg-elevated)}.detail-card-has-backdrop:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--detail-backdrop-url);background-size:cover;background-position:center 20%;opacity:.18;z-index:0;pointer-events:none}.detail-card>*{position:relative;z-index:1}@media(max-width:640px){.detail-card{grid-template-columns:1fr}}.detail-poster-column{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;min-width:0}.detail-poster-column .detail-add-to-collection-btn{width:100%;max-width:100%;margin:0;align-self:stretch;box-sizing:border-box}.detail-poster{border-radius:12px;overflow:hidden;border:1px solid var(--border);position:relative}.detail-poster img{width:100%;display:block}.detail-poster-logo{position:absolute;left:.5rem;bottom:.5rem;max-width:calc(100% - 1rem);max-height:72px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.65))}.detail-content .detail-type{display:inline-block;font-size:.8rem;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.detail-content h1{margin:0 0 .25rem;font-size:1.75rem}.detail-title-en{margin:0 0 .5rem;font-size:1rem;color:var(--muted)}.detail-slogan{margin:0 0 .75rem;font-size:.95rem;font-style:italic;color:var(--muted);line-height:1.45}.detail-money-block{margin:1rem 0 1.25rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--border);background:#0000001f}.detail-money-block-under-ratings{margin-top:0;margin-bottom:0}.detail-money-title{display:block;margin-bottom:.5rem;font-size:.95rem}.detail-money-list{margin:0;padding-left:1.2rem;color:var(--muted);font-size:.9rem;line-height:1.6}.detail-related-section{margin:1.25rem 0}.detail-related-heading{font-size:1.1rem;margin:0 0 .65rem}.detail-related-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.detail-related-card{display:flex;align-items:center;gap:.65rem;padding:.5rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);text-decoration:none;color:inherit;transition:border-color .2s}.detail-related-card:hover{border-color:var(--accent)}.detail-related-poster{width:48px;height:70px;object-fit:cover;border-radius:6px;flex-shrink:0}.detail-related-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.detail-related-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--accent)}.detail-related-title{font-weight:500;font-size:.9rem;line-height:1.3}.detail-related-year{font-size:.8rem;color:var(--muted)}.detail-hero{margin:.75rem 0 1.25rem;display:flex;flex-direction:column;gap:.75rem}.detail-ratings-stack{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem}.detail-rating-block{flex:0 1 auto;min-width:0;max-width:240px}.detail-rating-block-kp .detail-rating-scale{color:var(--accent);font-weight:600}.detail-rating-votes{font-weight:400;color:var(--muted)}.detail-premiere-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.88rem;color:var(--muted)}.detail-hero-meta-extended{line-height:1.5}.detail-rating-main{display:flex;align-items:baseline;gap:.25rem}.detail-rating-star{font-size:1.4rem;color:#fbbf24}.detail-rating-value{font-size:1.8rem;font-weight:700}.detail-rating-scale{font-size:.9rem;color:var(--muted)}.detail-rating-source{margin-top:.2rem;font-size:.85rem;color:var(--muted)}.detail-rating-bar{position:relative;margin-top:.4rem;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.detail-rating-bar-fill{position:absolute;top:0;left:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#eab308,#f97316,#ef4444)}.detail-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.95rem;color:var(--muted)}.detail-hero-year{font-weight:500;color:var(--text)}.detail-hero-sep{opacity:.7}.detail-hero-genres{line-height:1.5}.detail-hero-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem}.detail-hero-button{padding:.5rem 1.1rem;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 8px 24px #00000040}.detail-hero-button:hover{filter:brightness(1.05)}.detail-persons-section{margin:.75rem 0;font-size:.95rem}.detail-persons-heading{display:flex;align-items:center;gap:.35rem;width:100%;padding:.5rem 0;margin:0;color:var(--text);font-size:.95rem}.detail-persons-toggle{display:flex;align-items:center;gap:.35rem;width:100%;padding:.5rem 0;border:none;background:none;color:var(--text);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer;border-radius:6px}.detail-persons-toggle:hover{background:var(--bg-elevated);color:var(--accent)}.detail-persons-count{color:var(--muted);font-weight:400;font-size:.9em}.detail-persons-chevron{margin-left:auto;color:var(--muted);font-size:.8em}.detail-persons-section .detail-actors-list{margin-top:.25rem;padding-left:.5rem}.detail-actors-list{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.detail-actors-list li{font-size:.9rem;color:var(--text);line-height:1.6}.detail-actors-more-btn{margin-top:.25rem;padding:.25rem 0;border:none;background:none;color:var(--accent);font-size:.85rem;cursor:pointer}.detail-actors-more-btn:hover{text-decoration:underline}.detail-description-block{margin:1rem 0}.detail-description-title{display:block;margin-bottom:.35rem;font-size:.95rem;color:var(--muted)}.detail-description{margin:0;line-height:1.7;color:var(--text)}.detail-description.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.detail-description-more-btn{margin-top:.35rem;padding:0;border:none;background:none;color:var(--accent);font-size:.9rem;cursor:pointer}.detail-description-more-btn:hover{text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.detail-movie-reviews{margin-top:2rem;padding:1.35rem 1.35rem 1.5rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 4px 24px #0000000f;min-width:0;max-width:100%;box-sizing:border-box}.detail-movie-reviews-head{display:flex;flex-direction:column;gap:.65rem;margin-bottom:0;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.detail-movie-reviews-head-row--title-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.detail-movie-reviews-head-row--title-rating .detail-movie-reviews-title{margin:0;min-width:0;flex:1 1 12rem}.detail-movie-reviews-rating-picker{flex:0 1 auto;min-width:0;max-width:100%}.detail-movie-reviews-head-row--summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.detail-movie-reviews-summary-left{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-width:0}.detail-movie-reviews-head-text{min-width:min(100%,280px);flex:1}.detail-movie-reviews-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.detail-movie-reviews-subtitle{margin:0;font-size:.88rem;line-height:1.45;color:var(--muted);max-width:42rem}.detail-movie-reviews-head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .45rem}.detail-movie-reviews-my-rating-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;padding:.15rem 0}.detail-movie-reviews-my-rating-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.detail-movie-reviews-score-wrap{display:flex;align-items:baseline;gap:.1rem;padding:.4rem .8rem;border-radius:10px;background:linear-gradient(135deg,#fde0478c,#fbbf2447);border:1px solid rgba(245,158,11,.45)}.detail-movie-reviews-score-value{font-size:1.5rem;font-weight:800;line-height:1;color:var(--text)}.detail-movie-reviews-score-denom{font-size:.8rem;font-weight:600;color:var(--muted)}.detail-movie-reviews-count-chip{font-size:.8rem;font-weight:500;padding:.35rem .65rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--muted)}.detail-movie-reviews-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem .4rem .85rem;font-size:.85rem;font-weight:600;font-family:inherit;color:var(--accent);background:#6366f114;border:1px solid rgba(99,102,241,.25);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.detail-movie-reviews-toggle:hover{background:#6366f124;border-color:var(--accent)}.detail-movie-reviews-toggle-chevron{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .2s ease;opacity:.85}.detail-movie-reviews-toggle.is-open .detail-movie-reviews-toggle-chevron{transform:rotate(180deg)}.detail-movie-reviews-panel{padding-top:.75rem}.detail-movie-reviews-composer{padding:.75rem .85rem;margin-bottom:1rem;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.detail-movie-reviews-block-title{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:var(--text)}.detail-movie-reviews-no-others-hint{margin:.5rem 0 0;font-size:.9rem;line-height:1.5;color:var(--muted)}.detail-movie-reviews-login-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}.detail-movie-reviews-login-text{margin:0;font-size:.92rem;line-height:1.5;color:var(--muted)}a.submit-review-btn.detail-movie-reviews-login-btn{display:inline-block;text-align:center;text-decoration:none;box-sizing:border-box}.detail-movie-reviews-form-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--muted)}.detail-movie-reviews-rating-warning{margin:0 0 .75rem;font-size:.88rem;line-height:1.4;color:#c2410c}[data-theme=dark] .detail-movie-reviews-rating-warning{color:#fb923c}.detail-movie-reviews-rating-warning--tile{margin:0 0 .45rem;font-size:.78rem}.detail-movie-reviews-form .detail-movie-reviews-label,.detail-movie-reviews-label{display:block;margin-bottom:.4rem;font-size:.88rem;font-weight:600;color:var(--text)}.detail-movie-reviews-optional{font-weight:400;color:var(--muted)}.detail-movie-reviews-textarea{width:100%;max-width:100%;box-sizing:border-box;margin-bottom:1rem;min-height:5.5rem;resize:vertical;border-radius:10px;border:1px solid var(--border);padding:.65rem .85rem;font-family:inherit;font-size:.95rem;line-height:1.45}.detail-movie-reviews-field-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .85rem}.detail-movie-reviews-textarea--in-row{flex:1 1 220px;min-width:0;max-width:100%;margin-bottom:0}.detail-movie-reviews-submit-wrap{flex:0 0 auto}@media(max-width:520px){.detail-movie-reviews-field-row{flex-direction:column;align-items:stretch}.detail-movie-reviews-submit-wrap .detail-movie-reviews-submit{width:100%}}.detail-movie-reviews-submit{min-width:11rem}.detail-movie-reviews-form-actions{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.detail-movie-reviews-your-card{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.detail-movie-reviews-your-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;width:100%}.detail-movie-reviews-your-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .5rem;border-radius:6px;background:#6366f126;color:var(--accent)}.detail-movie-reviews-your-score{font-size:1.15rem;font-weight:800;color:var(--text)}.detail-movie-reviews-your-text{margin:0;width:100%;padding:.75rem .9rem;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border);font-size:.95rem;line-height:1.5;white-space:pre-wrap}.detail-movie-reviews-your-text--empty{color:var(--muted);font-style:italic;border-style:dashed}.detail-movie-reviews-edit-btn{margin-top:.15rem}.detail-movie-reviews-list-section{margin-top:.25rem}.detail-movie-reviews-list-heading{margin:0 0 .85rem;font-size:.95rem;font-weight:700;color:var(--text)}.detail-movie-reviews-skeleton{display:flex;flex-direction:column;gap:.65rem;padding:.5rem 0 1rem}.detail-movie-reviews-skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--border) 0%,rgba(99,102,241,.08) 50%,var(--border) 100%);background-size:200% 100%;animation:detail-movie-reviews-shimmer 1.2s ease-in-out infinite}.detail-movie-reviews-skeleton-line.short{width:55%}@keyframes detail-movie-reviews-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.detail-movie-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.detail-movie-review-card{padding:1rem 1.05rem;border-radius:12px;border:1px solid var(--border);background:var(--bg);transition:border-color .2s,box-shadow .2s}.detail-movie-review-card:hover{border-color:#6366f159;box-shadow:0 4px 20px #0000000a}.detail-movie-review-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem 1rem;margin-bottom:.65rem}.detail-movie-review-card-score{flex-shrink:0;display:inline-flex;align-items:baseline;gap:.05rem;padding:.3rem .55rem;border-radius:8px;font-size:1.1rem;font-weight:800;color:var(--text);background:#fbbf2424;border:1px solid rgba(251,191,36,.35)}.detail-movie-review-card-score-max{font-size:.72rem;font-weight:600;color:var(--muted)}.detail-movie-review-card-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.detail-movie-review-card-author{font-weight:600;font-size:.95rem}.detail-movie-review-card-date{font-size:.8rem;color:var(--muted)}.detail-movie-review-card-text{margin:0 0 .85rem;font-size:.95rem;line-height:1.55;color:var(--text)}.detail-movie-review-card-text--empty{color:var(--muted);font-style:italic;margin-bottom:.65rem}.detail-movie-review-card-reactions{display:flex;flex-wrap:wrap;gap:.45rem}.detail-movie-review-react{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.82rem;font-weight:600;font-family:inherit;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.detail-movie-review-react:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.detail-movie-review-react:disabled{opacity:.55;cursor:not-allowed}.detail-movie-review-react--up.is-active{border-color:#16a34a;color:#15803d;background:#16a34a14}.detail-movie-review-react--down.is-active{border-color:#dc2626;color:#b91c1c;background:#dc262614}.detail-movie-review-react-icon{font-size:.95rem;line-height:1}.detail-movie-review-react-count{margin-left:.15rem;padding:.1rem .35rem;border-radius:6px;font-size:.75rem;font-weight:700;background:#0000000f}.detail-movie-reviews-masonry{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.1rem 1.25rem;width:100%;min-width:0;box-sizing:border-box}.detail-movie-reviews-masonry-item{margin:0;min-width:0}.detail-movie-reviews-masonry--skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.1rem 1.25rem;width:100%;min-width:0;box-sizing:border-box}.detail-movie-reviews-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.detail-movie-reviews-pagination-info{font-size:.88rem;font-weight:600;color:var(--muted);min-width:8rem;text-align:center}.detail-movie-reviews-pagination-btn{padding:.45rem 1rem;font-size:.88rem;font-weight:600;font-family:inherit;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.detail-movie-reviews-pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#6366f114}.detail-movie-reviews-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.detail-movie-tile-card{position:relative;border-radius:16px;padding:1.35rem 1.4rem 1.25rem;border:1px solid rgba(148,163,184,.35);background:var(--bg);box-shadow:0 2px 14px #0f172a0a;transition:box-shadow .2s ease,border-color .2s ease;min-width:0;max-width:100%;box-sizing:border-box}.detail-movie-tile-edit-icon{position:absolute;top:.55rem;right:.55rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.detail-movie-tile-edit-icon:hover{border-color:var(--accent);background:#6366f11a;color:var(--accent)}.detail-movie-tile-card--mine>.detail-movie-tile-stars{padding-right:2.6rem}.detail-movie-tile-card:hover{border-color:#fbbf2473;box-shadow:0 10px 36px #f59e0b1a}.detail-movie-tile-stars{display:flex;align-items:center;gap:.15rem;margin-bottom:.95rem}.detail-movie-tile-star{font-size:1.2rem;line-height:1}.detail-movie-tile-star.is-filled{color:#f59e0b}.detail-movie-tile-star.is-empty{color:#fcd34d;opacity:.42}.detail-movie-tile-text-block{min-width:0}.detail-movie-tile-text{margin:0;font-size:.95rem;line-height:1.62;color:var(--text);white-space:pre-wrap;word-break:break-word}.detail-movie-tile-text-empty{margin:0 0 .5rem;font-size:.9rem;font-style:italic;color:var(--muted)}.detail-movie-tile-text--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.detail-movie-tile-text-toggle{margin-top:.35rem;padding:0;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;background:none;color:var(--accent)}.detail-movie-tile-text-toggle:hover{text-decoration:underline}.detail-movie-tile-footer{display:flex;align-items:center;gap:.85rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.detail-movie-tile-avatar-wrap{flex-shrink:0}.detail-movie-tile-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block}.detail-movie-tile-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f133,#f472b62e);font-weight:800;font-size:1.05rem;color:var(--accent)}.detail-movie-tile-user{min-width:0;text-align:left}.detail-movie-tile-name{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-weight:700;font-size:.95rem;color:var(--text);line-height:1.25}.detail-movie-tile-name-link{color:inherit;text-decoration:none}.detail-movie-tile-name-link:hover{color:var(--accent)}.detail-movie-tile-role{display:block;margin-top:.15rem;font-size:.8rem;color:var(--muted)}.detail-movie-tile-reactions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.45rem}.detail-movie-review-react--icon-only{min-width:2.75rem;justify-content:center;gap:.25rem}.detail-movie-review-react--icon-only .detail-movie-review-react-count{margin-left:0}.detail-movie-tile-card--mine{border-color:#6366f159;box-shadow:0 4px 22px #6366f114}.detail-movie-tile-edit-form{margin:0 0 .65rem}.detail-movie-tile-edit-textarea{width:100%;max-width:100%;box-sizing:border-box;margin-bottom:.65rem;min-height:5rem;resize:vertical;border-radius:10px;border:1px solid var(--border);padding:.6rem .75rem;font-family:inherit;font-size:.92rem;line-height:1.45}.detail-movie-tile-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem .65rem;align-items:center}.detail-movie-tile-edit-actions--compact{flex-wrap:nowrap;gap:.4rem}.detail-movie-tile-edit-btn-sm{padding:.28rem .55rem!important;font-size:.78rem!important;min-width:0!important;line-height:1.25}.detail-movie-tile-you-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.12rem .4rem;border-radius:4px;background:#6366f124;color:var(--accent)}.detail-movie-tile-card--skeleton{break-inside:avoid;margin-bottom:1.25rem;pointer-events:none}.detail-movie-tile-skel-stars{display:flex;gap:.2rem;margin-bottom:.85rem}.detail-movie-tile-skel-stars:before{content:"";display:block;width:100%;height:18px;border-radius:6px;background:linear-gradient(90deg,var(--border) 0%,rgba(99,102,241,.08) 50%,var(--border) 100%);background-size:200% 100%;animation:detail-movie-reviews-shimmer 1.2s ease-in-out infinite}.detail-movie-tile-skel-line{height:11px;border-radius:6px;margin-bottom:.5rem;background:linear-gradient(90deg,var(--border) 0%,rgba(99,102,241,.08) 50%,var(--border) 100%);background-size:200% 100%;animation:detail-movie-reviews-shimmer 1.2s ease-in-out infinite}.detail-movie-tile-skel-line.short{width:72%}.detail-movie-tile-skel-line.tiny{height:9px;margin-bottom:.35rem}.detail-movie-tile-skel-line.narrow{width:55%}.detail-movie-tile-skel-footer{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.detail-movie-tile-skel-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:var(--border)}.detail-movie-tile-skel-meta{flex:1;min-width:0}@media(max-width:560px){.detail-movie-reviews{padding:1.1rem 1rem 1.25rem}}.detail-movie-reviews-empty{text-align:center;padding:1.5rem 1rem 1.25rem;border-radius:12px;border:1px dashed var(--border);background:#00000005}.detail-movie-reviews-empty-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;color:var(--text)}.detail-movie-reviews-empty-text{font-size:.9rem;line-height:1.5;color:var(--muted);max-width:22rem;margin:0 auto}.movie-stars-row{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.movie-stars-row--movie-page{gap:.35rem;margin-bottom:.5rem}.movie-stars-row--movie-page.movie-stars-row--movie-head{margin-bottom:0;gap:.22rem;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.movie-stars-row--movie-page.movie-stars-row--readonly{pointer-events:none}.movie-star{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer}.movie-star.active{color:#fbbf24}.movie-star:hover{color:#facc15}.movie-star--movie-page{width:auto;min-width:2rem;height:2.25rem;padding:0 .35rem;border-radius:8px;font-size:.88rem;font-weight:700;background:var(--bg-elevated);border:1px solid var(--border);color:var(--muted)}.movie-star--movie-page:hover{border-color:var(--accent);color:var(--accent)}.movie-star--movie-page.active{background:linear-gradient(135deg,#fbbf2459,#f59e0b33);border-color:#f59e0ba6;color:var(--text)}.movie-star--movie-page.movie-star--movie-head{width:1.85rem;min-width:1.85rem;height:1.85rem;padding:0;font-size:.72rem;border-radius:8px;background:var(--bg);border:1px solid rgba(148,163,184,.55);color:var(--muted)}.movie-star--movie-page.movie-star--movie-head:hover{border-color:#f59e0b8c;color:var(--text)}.movie-star--movie-page.movie-star--movie-head.active{background:linear-gradient(180deg,#fef3c7f2,#fde68abf);border-color:#f59e0b8c;color:var(--text)}.movie-stars-row--readonly .movie-star--movie-page{cursor:default}.movie-stars-row--readonly .movie-star--movie-page:hover{border-color:var(--border);color:var(--muted)}.movie-stars-row--readonly .movie-star--movie-page.active{border-color:#f59e0ba6}.movie-stars-value{margin-left:.5rem;font-size:.9rem;color:var(--muted)}.detail-dubbing-section{margin-top:2rem;padding:1.35rem 1.35rem 1.5rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 4px 24px #0000000f}.detail-dubbing-card-inner{min-width:0}.detail-dubbing-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;padding-bottom:1rem;margin-bottom:0;border-bottom:1px solid var(--border)}.detail-dubbing-head-text{flex:1;min-width:min(100%,260px)}.detail-dubbing-title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.detail-dubbing-subtitle{margin:0;font-size:.88rem;line-height:1.45;color:var(--muted);max-width:40rem}.detail-dubbing-head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .65rem}.detail-dubbing-studios-chip{font-size:.8rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--muted)}.detail-dubbing-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.85rem 0 1rem;border-bottom:1px solid var(--border)}.detail-dubbing-toolbar-label{font-size:.85rem;font-weight:600;color:var(--muted)}.detail-dubbing-toolbar-select{padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;font-size:.88rem;max-width:100%}.detail-dubbing-picker-wrap{position:relative;flex-shrink:0}.detail-dubbing-add-btn{padding:.45rem 1rem;font-size:.88rem;font-weight:600;font-family:inherit;border:1px solid var(--accent);border-radius:10px;background:#6366f11f;color:var(--accent);cursor:pointer;transition:background .2s,border-color .2s,transform .15s}.detail-dubbing-add-btn:hover{background:#6366f133;border-color:var(--accent)}.detail-dubbing-picker{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:min(320px,calc(100vw - 2rem));max-width:380px;max-height:min(360px,55vh);overflow:auto;padding:.65rem 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000040}.detail-dubbing-picker-hint{margin:0 0 .5rem;padding:0 .85rem;font-size:.8rem;color:var(--muted);line-height:1.35}.detail-dubbing-picker-ul{list-style:none;margin:0;padding:0}.detail-dubbing-picker-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .85rem;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s}.detail-dubbing-picker-item:hover{background:#6366f11a}.detail-dubbing-picker-avatar{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.detail-dubbing-picker-avatar-placeholder{width:32px;height:32px;border-radius:8px;background:var(--border);flex-shrink:0}.detail-dubbing-picker-name{font-weight:600;font-size:.95rem}.detail-dubbing-picker-status{margin:0;padding:.5rem .85rem .65rem;font-size:.9rem;color:var(--muted);line-height:1.4}.detail-dubbing-picker-item:disabled{opacity:.65;cursor:wait;pointer-events:none}.detail-dubbing-empty-hint{margin:0 0 .65rem;font-size:.9rem;line-height:1.45;color:var(--muted)}.detail-dubbing-empty-panel{padding:1.35rem 1.25rem;margin-top:.5rem;border-radius:12px;border:1px dashed var(--border);background:#6366f10f;text-align:center}.detail-dubbing-empty-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700;color:var(--text)}.detail-dubbing-empty-actions{margin-top:.75rem;display:flex;justify-content:center}.detail-recommendations-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.detail-rec-heading{font-size:1.25rem;margin:0 0 .35rem}.detail-rec-intro{margin:0 0 1rem}.detail-rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem 1.25rem;margin-top:1.25rem;margin-bottom:1.25rem}.detail-rec-cell{display:flex;flex-direction:column;gap:.5rem;min-width:0}.detail-rec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.8rem;color:var(--muted)}.detail-rec-remove{white-space:nowrap}.detail-rec-add{margin-top:.5rem;padding:1rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated)}.detail-rec-add-label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.detail-rec-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:28rem}.detail-rec-search-row .detail-rec-search-input{flex:1;min-width:12rem}.detail-rec-search-input{width:100%;max-width:28rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit}.detail-rec-search-submit{flex-shrink:0;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:opacity .15s,border-color .15s}.detail-rec-search-submit:hover:not(:disabled){opacity:.92;border-color:transparent}.detail-rec-search-submit:disabled{opacity:.45;cursor:not-allowed}.detail-rec-search-panel{margin-top:.75rem;max-width:28rem;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:.35rem 0}.detail-rec-search-section-title{margin:.35rem .65rem .25rem;padding-top:.25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.detail-rec-search-hint{margin:.5rem .65rem!important}.detail-rec-search-list{list-style:none;margin:0;padding:0}.detail-rec-search-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.detail-rec-search-item:last-child{border-bottom:none}.detail-rec-search-item:hover:not(:disabled){background:#6366f114}.detail-rec-search-item:disabled{opacity:.6;cursor:wait}.detail-rec-search-poster{width:36px;height:52px;object-fit:cover;border-radius:4px;flex-shrink:0}.detail-rec-search-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.detail-rec-search-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-rec-search-year{font-size:.8rem;color:var(--muted)}.detail-rec-add-hint,.detail-rec-login-hint{margin:.65rem 0 0}.detail-rec-votes{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.detail-rec-vote-btn{font-size:.85rem;min-width:auto;padding:.25rem .5rem}.dubbing-block-anchor{scroll-margin-top:1rem}.dubbing-blocks{display:flex;flex-direction:column;gap:1.15rem;padding-top:1.1rem}.dubbing-block{background:var(--bg);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #0000000a;transition:border-color .2s,box-shadow .2s}.dubbing-block:hover{border-color:#6366f147}.dubbing-block-header{width:100%;padding:1rem 1.15rem;background:linear-gradient(180deg,rgba(99,102,241,.06),transparent);border:none;font:inherit;color:inherit;text-align:left;cursor:pointer;outline:none;box-sizing:border-box}.dubbing-block-header:hover{background:linear-gradient(180deg,#6366f11a,#6366f105)}.dubbing-block-header:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.dubbing-block-header.is-open{border-bottom:1px solid var(--border)}.dubbing-block-header-grid{display:grid;grid-template-columns:1fr auto;grid-template-areas:"identity badges" "identity toggle" "rate rate";gap:.75rem 1rem;align-items:center}@media(min-width:720px){.dubbing-block-header-grid{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"identity badges rate toggle";align-items:center}}.dubbing-block-identity{grid-area:identity;display:flex;align-items:center;gap:.75rem;min-width:0}.dubbing-block-avatar-wrap{flex-shrink:0;width:48px;height:48px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}.dubbing-block-logo{width:100%;height:100%;object-fit:cover;border-radius:0}.dubbing-block-logo-placeholder{font-size:1.35rem;line-height:1;opacity:.65}.dubbing-block-identity-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dubbing-block-title-link{font-size:1.12rem;font-weight:700;color:var(--accent);text-decoration:none;line-height:1.25}.dubbing-block-title-link:hover{text-decoration:underline}.dubbing-block-header-badges{grid-area:badges;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.dubbing-block-badge{display:inline-flex;align-items:baseline;gap:.1rem;padding:.3rem .55rem;border-radius:8px;font-size:.82rem;font-weight:600;border:1px solid var(--border);background:var(--bg-elevated)}.dubbing-block-badge--rating{font-size:1rem;font-weight:800;background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border-color:#fbbf2466;color:var(--text)}.dubbing-block-badge-denom{font-size:.72rem;font-weight:600;color:var(--muted)}.dubbing-block-badge--count{color:var(--muted);font-weight:600}.dubbing-block-badge--secondary{font-size:.78rem;font-weight:500;opacity:.92}.dubbing-block-badge--muted{color:var(--muted);font-weight:500;font-style:italic}.dubbing-block-header-rate{grid-area:rate;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding-top:.25rem;border-top:1px dashed var(--border)}@media(min-width:720px){.dubbing-block-header-rate{padding-top:0;border-top:none;align-items:flex-end}}.dubbing-block-rate-hint{font-size:.78rem;color:var(--muted)}.dubbing-block-rate-hint a{color:var(--accent);font-weight:600}.dubbing-block-header-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;align-self:start;margin:0;min-width:2.25rem;min-height:2.25rem;padding:.25rem;font:inherit;color:inherit;background:transparent;border:none;border-radius:6px;cursor:pointer}.dubbing-block-header-toggle:hover{background:var(--bg)}.dubbing-block-header-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dubbing-block-chevron{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--muted);opacity:.75;transition:transform .2s ease}.dubbing-block-header.is-open .dubbing-block-chevron{transform:rotate(180deg)}.movie-stars-row.dubbing-stars-row--header{gap:.2rem;margin-bottom:0}.movie-star.movie-star--dubbing{width:2.1rem;height:2.1rem;font-size:1.05rem;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border)}.movie-star.movie-star--dubbing:hover:not(:disabled){border-color:#fbbf24;color:#fbbf24}.movie-star.movie-star--dubbing.active{background:linear-gradient(135deg,#fbbf2459,#f59e0b33);border-color:#f59e0ba6;color:#b45309}.dubbing-block-body{padding:1rem 1.15rem 1.2rem;background:var(--bg-elevated)}.dubbing-block-section{margin-bottom:1.15rem}.dubbing-block-section:last-child{margin-bottom:0}.dubbing-block-section-title{margin:0 0 .55rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.dubbing-comments-title{margin-bottom:0}.dubbing-actors-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dubbing-actors-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;padding:.45rem .65rem;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:.9rem}.dubbing-actors-role{font-weight:600;color:var(--accent);font-size:.82rem}.dubbing-actors-name{color:var(--text)}.dubbing-sort-wrap{display:flex;align-items:center;gap:.45rem}.dubbing-sort-label{font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.dubbing-sort-select{padding:.35rem .5rem;font-size:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:inherit;font:inherit}.dubbing-comments-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.85rem}.dubbing-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.dubbing-review-card{padding:.95rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--bg);transition:border-color .2s,box-shadow .2s}.dubbing-review-card:hover{border-color:#6366f140;box-shadow:0 3px 14px #0000000a}.dubbing-review-card--edit{padding:1rem}.dubbing-review-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem .85rem;margin-bottom:.55rem}.dubbing-review-card-score{flex-shrink:0;display:inline-flex;align-items:baseline;gap:.05rem;padding:.25rem .5rem;border-radius:8px;font-size:1rem;font-weight:800;background:#fbbf2424;border:1px solid rgba(251,191,36,.35)}.dubbing-review-card-score-max{font-size:.7rem;font-weight:600;color:var(--muted)}.dubbing-review-card-meta{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0}.dubbing-review-card-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.dubbing-review-card-meta-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dubbing-review-card-author{font-weight:600;font-size:.92rem}.dubbing-review-card-date{font-size:.78rem;color:var(--muted)}.dubbing-review-card-actions{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-left:auto}.dubbing-review-expandable-block{min-width:0;margin-bottom:.65rem}.dubbing-review-card-text{margin:0 0 .65rem;font-size:.92rem;line-height:1.55;color:var(--text)}.dubbing-review-card-text.dubbing-review-card-text--expandable{margin-bottom:0;white-space:pre-wrap;word-break:break-word}.dubbing-review-card-text--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.dubbing-review-card-text-toggle{margin-top:.3rem;padding:0;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;background:none;color:var(--accent)}.dubbing-review-card-text-toggle:hover{text-decoration:underline}.dubbing-review-card-text--empty{color:var(--muted);font-style:italic}.dubbing-review-card-video{margin-bottom:.65rem}.dubbing-review-card-reactions{display:flex;flex-wrap:wrap;gap:.45rem}.dubbing-review-react{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .6rem;font-size:.8rem;font-weight:600;font-family:inherit;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.dubbing-review-react:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.dubbing-review-react:disabled{opacity:.55;cursor:not-allowed}.dubbing-review-react--up.is-active{border-color:#16a34a;color:#15803d;background:#16a34a14}.dubbing-review-react--down.is-active{border-color:#dc2626;color:#b91c1c;background:#dc262614}.dubbing-review-react-icon{font-size:.9rem;line-height:1}.dubbing-review-react-count{margin-left:.1rem;padding:.08rem .32rem;border-radius:6px;font-size:.72rem;font-weight:700;background:#0000000f}.dubbing-review-list--threaded{gap:.35rem}.dubbing-review-branch{margin-top:.25rem}.dubbing-branch-toggle{display:flex;align-items:center;gap:.45rem;width:100%;padding:.4rem .5rem;margin:0 0 .15rem;border:none;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;border-radius:8px;font-family:inherit;line-height:1.3}.dubbing-branch-toggle:hover{background:#6366f114;color:var(--text)}.dubbing-branch-toggle-label{flex:1;min-width:0}.dubbing-branch-toggle-chevron{display:inline-block;width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .18s ease;flex-shrink:0;margin-top:-.1rem}.dubbing-branch-toggle-chevron.is-open{transform:rotate(45deg);margin-top:0}.dubbing-review-thread-children{list-style:none;margin:.45rem 0 0;padding:0;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.dubbing-review-thread-item{margin:0}.dubbing-review-card--reply{background:var(--bg-elevated);padding:.75rem .85rem}.dubbing-review-card-reply-mark{flex-shrink:0;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.1rem;color:var(--muted);background:#6366f114;border:1px solid var(--border)}.dubbing-review-card-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem}.dubbing-review-reply-toggle{font-size:.82rem}.dubbing-reply-panel{margin-top:.65rem;padding:.75rem .85rem;border-radius:10px;border:1px dashed var(--border);background:var(--bg-elevated)}.dubbing-reply-form .dubbing-reply-video-label{margin-top:.5rem}.dubbing-reply-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.dubbing-reviews-empty{text-align:center;padding:1.25rem 1rem;border-radius:12px;border:1px dashed var(--border);background:#00000005}.dubbing-reviews-empty-title{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--text)}.dubbing-reviews-empty-text{font-size:.88rem;line-height:1.5;color:var(--muted);max-width:26rem;margin:0 auto}.dubbing-compose-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.65rem .9rem;font-size:.92rem;font-weight:600;font-family:inherit;color:var(--accent);background:#6366f114;border:1px solid rgba(99,102,241,.22);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.dubbing-compose-toggle:hover{background:#6366f124;border-color:var(--accent)}.dubbing-compose-toggle-chevron{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;flex-shrink:0;transition:transform .2s ease;opacity:.85}.dubbing-compose-toggle.is-open .dubbing-compose-toggle-chevron{transform:rotate(180deg)}.dubbing-compose-panel{margin-top:.65rem;padding:1rem 1.05rem;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.dubbing-compose-intro{margin:0 0 .85rem;font-size:.85rem;line-height:1.45;color:var(--muted)}.dubbing-form-label{display:block;margin-bottom:.35rem;font-size:.88rem;font-weight:600;color:var(--text)}.dubbing-form-optional{font-weight:400;color:var(--muted)}.dubbing-form-textarea{width:100%;max-width:100%;box-sizing:border-box;margin-bottom:.85rem;border-radius:6px}.dubbing-video-url-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem;margin-bottom:.85rem}.dubbing-video-url-row .dubbing-video-url-input,.dubbing-video-url-row .video-url-input{flex:1;min-width:min(100%,12rem);max-width:100%;margin-bottom:0;box-sizing:border-box}.video-url-thumbnail-wrap{flex-shrink:0;width:112px;height:63px;border-radius:4px;overflow:hidden;border:1px solid var(--border);background:var(--border)}.video-url-thumbnail-img{width:100%;height:100%;object-fit:cover;display:block}.review-edit-form .dubbing-video-url-row{margin-bottom:.5rem}.dubbing-form-submit{margin-top:.15rem}.dubbing-comments-toggle{margin-left:auto;font-size:.85rem;padding:.3rem .6rem}.dubbing-rating strong{color:var(--text)}.dubbing-no-reviews{font-style:italic}.comment-actions{margin-left:auto;display:flex;gap:.5rem}.btn-link{background:none;border:none;padding:0;font-size:.85rem;color:var(--accent);cursor:pointer;text-decoration:underline}.btn-link:hover{color:var(--text)}.btn-link.btn-danger{color:#dc2626}.btn-secondary{padding:.5rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:inherit;cursor:pointer;font:inherit;margin-left:.5rem}.btn-secondary:hover{border-color:var(--accent)}.form-hint{font-size:.85rem;color:var(--muted);margin:0 0 .5rem}.review-edit-form{padding:.5rem 0}.review-edit-form .form-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.dubbing-comments-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.dubbing-review-count-rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.dubbing-review-count{font-size:.9rem;color:var(--muted)}.dubbing-your-rating{display:flex;align-items:center;gap:.5rem}.dubbing-your-rating-label{font-size:.85rem;color:var(--muted);white-space:nowrap}.movie-stars-row.dubbing-stars-row{margin-bottom:0}.dubbing-form-error{color:#ef4444;margin:.5rem 0;font-size:.85rem}.comment-sort{display:flex;align-items:center;gap:.5rem}.comment-sort label{font-size:.85rem;color:var(--muted)}.comment-sort select{padding:.35rem .5rem;font-size:.85rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:inherit}.comment-reactions{display:flex;gap:.5rem;margin-top:.5rem}.reaction-btn{padding:.25rem .5rem;font-size:.8rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--muted);cursor:pointer}.reaction-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.reaction-btn.active.like{border-color:#16a34a;color:#16a34a}.reaction-btn.active.dislike{border-color:#dc2626;color:#dc2626}.reaction-btn:disabled{opacity:.6;cursor:default}.comment-list{list-style:none;padding:0;margin:.5rem 0 0}.comment-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.comment-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.comment-rating{font-weight:600;color:var(--accent)}.comment-date{font-size:.8rem;color:var(--muted)}.video-embed-wrap{margin:.75rem 0;position:relative;width:100%;max-width:280px;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:#000}.video-embed-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-url-input{width:100%;max-width:400px;padding:.5rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}body:not([data-theme=light]) .video-url-input,body:not([data-theme=light]) .dubbing-video-url-input,body:not([data-theme=light]) input.dubbing-form-input[type=url]{background:#0a0a0a;color:#d1d5db;border-color:var(--border)}body:not([data-theme=light]) .video-url-input::placeholder,body:not([data-theme=light]) .dubbing-video-url-input::placeholder,body:not([data-theme=light]) input.dubbing-form-input[type=url]::placeholder{color:#9ca3af}body:not([data-theme=light]) .video-url-input:focus,body:not([data-theme=light]) .dubbing-video-url-input:focus,body:not([data-theme=light]) input.dubbing-form-input[type=url]:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 2px #6366f133}.comment-text{margin:0;line-height:1.5;color:var(--text)}.dubbing-compose-panel .dubbing-review-form{margin-top:0;padding-top:0;border-top:none}.dubbing-review-form h4{margin:0 0 .75rem;font-size:.95rem}.form-row{margin-bottom:.75rem}.form-row label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.rating-input{width:80px;padding:.4rem .5rem;font-size:1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:inherit}.review-textarea{width:100%;max-width:400px;padding:.5rem;font-size:.95rem;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:inherit;resize:vertical}.submit-review-btn{margin-top:.5rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.submit-review-btn:hover{filter:brightness(1.1)}.auth-page{max-width:400px}.auth-page h1{margin-bottom:1.5rem}.auth-form .form-row input,.auth-form .form-row select.auth-select{width:100%;padding:.6rem;font-size:1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:inherit}.auth-error{color:#dc2626;font-size:.9rem;margin-bottom:1rem}.auth-switch{margin-top:1.5rem;color:var(--muted);font-size:.95rem}.auth-switch a{color:var(--accent)}.profile-page h1{margin-bottom:1rem}.profile-to-reviews{margin:-.35rem 0 1.1rem;font-size:.95rem}.profile-to-reviews a{color:var(--accent);text-decoration:none}.profile-to-reviews a:hover{text-decoration:underline}.my-reviews-back{margin:-.35rem 0 1.25rem;font-size:.95rem}.my-reviews-back a{color:var(--muted);text-decoration:none}.my-reviews-back a:hover{color:var(--accent)}.my-reviews-page h1,.my-reviews-page .my-reviews-back,.my-reviews-page .no-results,.my-reviews-page .profile-reviews-list,.my-reviews-page .profile-review-item,.my-reviews-page .profile-review-header,.my-reviews-page .profile-review-studio,.my-reviews-page .profile-review-rating,.my-reviews-page .profile-review-date,.my-reviews-page .profile-review-text,.my-reviews-page .review-edit-form,.my-reviews-page .review-edit-form p,.my-reviews-page .review-textarea{overflow-wrap:anywhere;word-break:break-word}.my-reviews-page .profile-review-text{white-space:pre-wrap}.my-reviews-page .video-url-input{overflow-wrap:anywhere;word-break:break-all}.my-reviews-page .profile-review-header a{min-width:0;flex:1 1 auto;max-width:100%}.my-reviews-page .profile-review-actions{flex-shrink:0}.profile-page h2{margin:2rem 0 1rem;font-size:1.15rem}.profile-header{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start;margin-bottom:1.5rem}.profile-avatar-wrap{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.profile-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.profile-avatar-placeholder{width:120px;height:120px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.profile-avatar-upload{font-size:.85rem;color:var(--accent);cursor:pointer}.profile-avatar-upload:hover{text-decoration:underline}.profile-form{flex:1;min-width:280px}.profile-form .form-row{margin-bottom:.75rem}.profile-form .form-row label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--muted)}.profile-form .form-row input,.profile-bio-input{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);font-size:1rem}.profile-email-muted{margin:.5rem 0;font-size:.9rem;color:var(--muted)}.profile-error{color:#ef4444;margin:.5rem 0;font-size:.9rem}.profile-password-section{margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--border)}.profile-password-section h2{margin:0 0 1rem;font-size:1.15rem}.profile-password-form .form-row{margin-bottom:.75rem}.profile-password-form .form-row label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--muted)}.profile-password-form .form-row input{width:100%;max-width:320px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);font-size:1rem}.profile-success{color:#22c55e;margin:.5rem 0;font-size:.9rem}.profile-logout{margin-bottom:2rem}.user-profile-page{max-width:720px}.user-profile-page .loading-message,.user-profile-page .profile-error{margin:1rem 0}.user-profile-header{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.user-profile-avatar-wrap{flex-shrink:0}.user-profile-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.user-profile-avatar-placeholder{width:100px;height:100px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.user-profile-info{flex:1;min-width:200px}.user-profile-name{margin:0 0 .25rem;font-size:1.5rem}.user-profile-joined{margin:0;font-size:.9rem;color:var(--muted)}.user-profile-bio{margin:.75rem 0 0;white-space:pre-wrap;font-size:.95rem;line-height:1.5}.user-profile-page h2{margin:1.5rem 0 1rem;font-size:1.15rem}.user-profile-reviews .profile-review-header .profile-review-actions{display:none}.user-profile-reactions{margin-top:.5rem;font-size:.9rem;color:var(--muted)}.user-profile-reactions .reaction-count{margin-right:1rem}.comment-author-link{color:var(--accent);text-decoration:none}.comment-author-link:hover{text-decoration:underline}.profile-info{margin-bottom:.5rem}.profile-info p{margin:.25rem 0}.profile-reviews-list{list-style:none;padding:0;margin:0}.profile-review-item{padding:1rem 0;border-bottom:1px solid var(--border)}.profile-review-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.25rem;min-width:0}.profile-review-header a{font-weight:500;overflow-wrap:anywhere;word-break:break-word}.profile-review-studio{font-size:.9rem;color:var(--muted)}.profile-review-rating{font-weight:600;color:var(--accent)}.profile-review-date{font-size:.85rem;color:var(--muted)}.profile-review-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.profile-review-actions .btn-secondary{margin-left:0}.profile-review-actions .btn-secondary.btn-danger{border-color:#dc2626;color:#dc2626}.profile-review-actions .btn-secondary.btn-danger:hover{border-color:#dc2626}.profile-review-text{margin:.25rem 0 0;font-size:.95rem;color:var(--text);line-height:1.5}.admin-page h1{margin-bottom:1rem}.admin-nav{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-nav a{color:var(--accent)}.admin-dashboard{margin-top:.5rem}.admin-stats{margin:1rem 0;padding-left:1.25rem}.admin-form-section h2{margin:0 0 1rem;font-size:1.15rem}.admin-form .form-row input[type=text],.admin-form .form-row input[type=number],.admin-form .form-row input[type=url],.admin-form .form-row textarea,.admin-form .form-row select{width:100%;max-width:400px;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:inherit}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.checkbox-label{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer}.admin-movie-list{list-style:none;padding:0;margin:0}.admin-movie-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.admin-movie-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.admin-movie-row a{font-weight:500}.admin-movie-meta,.admin-movie-dubbing{font-size:.9rem;color:var(--muted)}.admin-edit-form{margin-top:.5rem;padding:1rem;background:var(--bg);border-radius:8px}.admin-add-dubbing{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.admin-add-dubbing select{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:inherit}.admin-reviews-list{list-style:none;padding:0;margin:0}.admin-review-item{padding:1rem 0;border-bottom:1px solid var(--border)}.admin-review-header{margin-bottom:.25rem;font-size:.95rem}.admin-review-rating{color:var(--accent);margin-left:.25rem}.admin-review-date{font-size:.85rem;color:var(--muted);margin-left:.25rem}.admin-review-text{margin:.25rem 0;font-size:.9rem;color:var(--text);line-height:1.5}.admin-studios h2{margin-top:0}.admin-studios-form{margin-bottom:1.5rem}.admin-studios-form .form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:.75rem}.admin-studios-form .form-row label{display:flex;flex-direction:column;gap:.25rem}.admin-studios-form .form-row label.optional input{max-width:220px}.admin-studios-form button[type=submit]{margin-top:.5rem}.admin-error{color:#ef4444;margin-bottom:1rem}.admin-studios-table{width:100%;max-width:900px;border-collapse:collapse}.admin-studios-table th,.admin-studios-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.admin-studios-table code{font-size:.9em;background:var(--bg-elevated);padding:.2em .4em;border-radius:4px}.admin-studios-table .btn-danger{color:#ef4444;border-color:#ef4444}.admin-studios-table .btn-danger:hover{background:#ef44441a}.admin-studio-meta{vertical-align:middle}.admin-studio-thumb{width:32px;height:32px;border-radius:6px;object-fit:cover;vertical-align:middle;margin-right:.5rem}.admin-studio-link{font-size:.85rem}.admin-studio-edit-cell{padding:1rem .75rem!important;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.admin-studio-edit-form{max-width:500px}.admin-studio-edit-form .form-row{margin-bottom:.75rem}.admin-studio-edit-form .form-row label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--muted)}.admin-studio-edit-form .form-row input,.admin-studio-edit-form .form-row textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:.95rem}.admin-studio-edit-form .form-row textarea{resize:vertical;min-height:60px}.admin-studio-edit-form button[type=submit]{margin-right:.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.15rem}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:.25rem}.modal-close:hover{color:var(--text)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border)}.add-to-collection-modal .modal-content{padding:0}.add-to-collection-movie{padding:0 1.25rem .5rem;margin:0;font-size:.95rem;color:var(--muted)}.add-to-collection-loading,.add-to-collection-error{padding:1rem 1.25rem;margin:0;font-size:.9rem}.add-to-collection-error{color:var(--error, #dc2626)}.add-to-collection-form{padding:1rem 1.25rem}.add-to-collection-label{display:block;margin-bottom:1rem;font-size:.9rem}.add-to-collection-select{display:block;width:100%;margin-top:.35rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:.95rem}.collection-create-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:2rem}.collection-create-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:.95rem;min-width:180px}.collection-create-desc{flex:1;min-width:200px}.collection-create-btn{padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer}.collection-create-btn:hover:not(:disabled){opacity:.9}.collection-create-btn:disabled{opacity:.6;cursor:not-allowed}.collection-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.collection-card-link{text-decoration:none;color:inherit;display:block}.collection-card{padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;transition:border-color .2s}.collection-card-link:hover .collection-card{border-color:var(--accent)}.collection-card-name{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.collection-card-desc{margin:0 0 .5rem;font-size:.9rem;color:var(--muted);line-height:1.4}.collection-card-count{font-size:.85rem;color:var(--muted)}.collection-card-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.35rem}.collection-card-public-badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;background:#6366f133;color:var(--accent)}.collections-explore-my-link{font-weight:600;white-space:nowrap}.collections-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1.25rem}.collections-toolbar-my{margin-top:.5rem}.collections-toolbar-search{flex:1 1 220px;min-width:0}.collections-toolbar-input{width:100%;max-width:420px;padding:.6rem 1rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:inherit}.collections-toolbar-input:focus{outline:none;border-color:var(--accent)}.collections-toolbar-sort{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.collections-toolbar-sort-label{font-size:.8rem;color:var(--muted)}.collections-toolbar-select{padding:.55rem .75rem;font-size:.95rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:inherit;min-width:200px;cursor:pointer}.collections-toolbar-select:focus{outline:none;border-color:var(--accent)}.collections-toolbar-loading{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.collection-explore-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.collection-explore-card{display:flex;flex-direction:column;height:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s}.collection-explore-card:hover{border-color:var(--accent)}.collection-explore-card-body{display:flex;align-items:flex-start;gap:.5rem;padding:1.1rem 1rem .75rem 1.25rem}.collection-explore-card-main{flex:1;min-width:0;text-decoration:none;color:inherit}.collection-explore-like{flex-shrink:0;margin-top:-.15rem}.collection-like{display:flex;align-items:center}.collection-like-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:.9rem;cursor:pointer;transition:border-color .2s,background .2s}.collection-like-btn:hover:not(:disabled){border-color:var(--accent)}.collection-like-btn:disabled{opacity:.75;cursor:default}.collection-like-btn--active{border-color:#e11d48;background:#e11d481f;color:#f43f5e}.collection-like--compact .collection-like-btn{flex-direction:column;gap:.15rem;padding:.3rem .4rem;font-size:.8rem}.collection-like-icon{font-size:1.15rem;line-height:1}.collection-like--compact .collection-like-icon{font-size:1.05rem}.collection-like-count{font-weight:600;font-variant-numeric:tabular-nums}.collection-detail-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem}.collection-detail-title-row h1{flex:1 1 auto;margin:0;min-width:0}.collection-detail-like .collection-like-btn{padding:.45rem .75rem;font-size:1rem}.collection-explore-title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;line-height:1.3}.collection-explore-desc{margin:0 0 .5rem;font-size:.9rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-explore-count{font-size:.85rem;color:var(--muted)}.collection-explore-author{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-top:1px solid var(--border);background:#0000001f}.collection-explore-author-avatar,.collection-explore-author-placeholder{width:36px;height:36px;border-radius:50%;flex-shrink:0;object-fit:cover}.collection-explore-author-placeholder{background:var(--border)}.collection-explore-author-name{font-weight:600;font-size:.95rem;text-decoration:none;color:var(--accent)}.collection-explore-author-name:hover{text-decoration:underline}.collection-detail-header{position:relative}.collection-detail-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.75rem}.collection-detail-author{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.collection-detail-author-avatar,.collection-detail-author-placeholder{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.collection-detail-author-placeholder{background:var(--border)}.collection-detail-author-label{font-size:.9rem;color:var(--muted)}.collection-detail-author-name{font-weight:600;font-size:.95rem}.collection-public-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.collection-public-toggle input{cursor:pointer}.collection-edit-btn{padding:.4rem .75rem;font-size:.9rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--muted)}.collection-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.collection-edit-form{margin-bottom:1rem}.collection-edit-input{display:block;width:100%;max-width:400px;margin-bottom:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:.95rem}.collection-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.collection-items{margin-top:1.5rem}.collection-item-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem}.collection-item-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;overflow:hidden}.collection-item-poster-wrap{display:block;position:relative;aspect-ratio:2/3;overflow:hidden}.collection-item-poster{width:100%;height:100%;object-fit:cover}.collection-item-poster-placeholder{background:var(--border)}.collection-item-rating{position:absolute;bottom:6px;right:6px;font-size:.85rem;font-weight:600;background:#000c;color:#fff;padding:.2rem .4rem;border-radius:4px}.collection-item-info{padding:.75rem}.collection-item-title{margin:0 0 .25rem;font-size:.9rem;line-height:1.3}.collection-item-title a{color:inherit;text-decoration:none}.collection-item-title a:hover{color:var(--accent);text-decoration:underline}.collection-item-meta{margin:0 0 .35rem;font-size:.8rem;color:var(--muted)}.collection-item-studio{color:var(--accent);text-decoration:none}.collection-item-studio:hover{text-decoration:underline}.collection-item-remove{font-size:.8rem;background:none;border:none;color:var(--muted);cursor:pointer;padding:0}.collection-item-remove:hover{color:var(--error, #dc2626)}
