:root{color:#f4f7fb;background:#07090d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:#07090d}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 0,rgba(33,75,105,.22),transparent 28rem),linear-gradient(180deg,#0a0d13,#07090d 46rem)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{width:100%;border:1px solid hsla(0,0%,100%,.11);border-radius:8px;background:#0b0f16e6;color:#f4f7fb}input,select{min-height:42px;padding:0 12px}textarea{resize:vertical;padding:10px 12px}label{display:grid;gap:7px;color:#aab6c6;font-size:.85rem;font-weight:800}.app-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:16px;padding:14px max(18px,calc(50vw - 610px));border-bottom:1px solid hsla(0,0%,100%,.08);background:#07090ddb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-panel{display:contents}.nav-toggle{position:relative;display:none;width:38px;height:38px;border-radius:8px;background:#ffffff14}.nav-toggle span{position:absolute;left:8px;width:22px;height:2px;border-radius:2px;background:#f4f7fb;transition:transform .18s ease,opacity .18s ease,top .18s ease}.nav-toggle span:first-child{top:13px}.nav-toggle span:nth-child(2){top:18px}.nav-toggle span:nth-child(3){top:23px}.nav-toggle.open span:first-child{top:18px;transform:rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){top:18px;transform:rotate(-45deg)}.language-switch{display:inline-flex;gap:4px;padding:4px;border-radius:8px;background:#ffffff14}.language-switch button{min-height:30px;padding:0 9px;border-radius:6px;color:#aab6c6;background:transparent;font-size:.78rem;font-weight:950}.language-switch button.active{color:#07090d;background:#e7ff57}.tmdb-attribution{display:flex;gap:12px;align-items:center;width:min(1220px,calc(100% - 28px));margin:0 auto 28px;padding:14px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;color:#7f8b9d;background:#ffffff09;font-size:.78rem;font-weight:800}.tmdb-attribution img{display:block;width:44px;height:auto}.tmdb-attribution p{margin:0}.brand{color:#e7ff57;font-size:1.1rem;font-weight:950}.app-nav nav{display:flex;gap:6px}.app-nav nav a,.ghost-button{min-height:34px;padding:8px 11px;border-radius:8px;color:#aab6c6;background:transparent;font-weight:800}.app-nav nav a.router-link-active,.app-nav nav a:hover,.ghost-button:hover{color:#f4f7fb;background:#ffffff14}.nav-user{display:flex;gap:10px;align-items:center;min-width:0;color:#738095;font-size:.86rem}.nav-user span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search{position:relative;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;min-width:0}.header-search input{min-height:36px}.header-results{position:absolute;top:calc(100% + 10px);right:0;left:0;z-index:30;padding:10px;border:1px solid hsla(0,0%,100%,.12);background:#0a0d13fa;box-shadow:0 22px 70px #00000073}.header-result,.header-results{display:grid;gap:8px;border-radius:8px}.header-result{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:6px;background:#ffffff0a}.header-result-main{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;min-width:0}.header-result-main img,.header-result-main>span{width:38px;aspect-ratio:2/3;border-radius:5px;-o-object-fit:cover;object-fit:cover}.header-result-main>span{display:grid;place-items:center;color:#e7ff57;background:#17202d;font-size:.78rem;font-weight:950}.header-result-main b,.header-result-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-result-main small{color:#7f8b9d;font-size:.76rem;font-weight:800}.detail-page,.page-shell{width:min(1220px,calc(100% - 28px));margin:0 auto;padding:24px 0 56px}.auth-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:26px;align-items:center;min-height:calc(100vh - 120px)}.auth-screen h1{max-width:760px;margin:0;font-size:clamp(2.5rem,8vw,6rem);line-height:.94;letter-spacing:0}.auth-screen p,.detail-content p,.discovery-hero p{color:#b7c1cf;line-height:1.65}.auth-card,.cast-panel,.personal-panel,.review-editor,.search-panel,.table-panel{border:1px solid hsla(0,0%,100%,.1);border-radius:8px;background:#0e121ad1;box-shadow:0 20px 70px #00000047}.auth-card,.personal-panel,.review-form{display:grid;gap:14px}.auth-card,.cast-panel,.personal-panel,.review-editor,.search-panel,.table-panel{padding:20px}.detail-hero,.discovery-hero{position:relative;min-height:520px;overflow:hidden;border-radius:8px;background:#111722 50%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07090df7,#07090db8 44%,#07090d24),linear-gradient(0deg,#07090d,#07090d00 52%)}.detail-content,.hero-content{position:relative;z-index:1}.hero-content{display:grid;align-content:end;width:min(680px,100%);min-height:520px;padding:34px}.detail-content h1,.hero-content h1,.table-toolbar h1{margin:0;letter-spacing:0}.hero-content h1{font-size:clamp(2.4rem,7vw,5.6rem);line-height:.95}.detail-facts,.genre-pills,.hero-actions,.table-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.danger-button,.mini-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:8px;font-weight:900;line-height:1;text-align:center}.primary-button{color:#07090d;background:#e7ff57}.mini-button,.secondary-button{color:#f4f7fb;background:#ffffff1f}.danger-button{color:#fff;background:#ff62522e}.mini-button{min-height:32px;padding:0 11px;font-size:.82rem}.icon-button{width:40px;padding:0;font-size:1.2rem}.eyebrow,.tag{margin:0 0 8px;color:#e7ff57;font-size:.74rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.search-panel{margin-top:18px}.search-row,.section-heading,.table-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between}.section-heading h2,.table-toolbar h1{margin:0}.section-heading{margin-bottom:14px}.search-row input{flex:1}.segmented{display:inline-flex;padding:4px;border-radius:8px;background:#ffffff14}.segmented button{min-height:34px;padding:0 12px;border-radius:6px;color:#aab6c6;background:transparent;font-weight:900}.segmented button.active{color:#07090d;background:#e7ff57}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-row button{min-height:34px;padding:0 12px;border-radius:999px;color:#aab6c6;background:#ffffff14;font-weight:900}.filter-row button.active{color:#07090d;background:#e7ff57}.notice{color:#8ee0c6;font-weight:800}.error{color:#ff816f}.rail-section{margin-top:30px}.poster-rail{display:grid;grid-auto-columns:minmax(150px,180px);grid-auto-flow:column;gap:12px;margin-inline:-4px;padding:4px 4px 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.poster-card,.skeleton-poster{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:8px;background:#161d29;scroll-snap-align:start}.poster-link{position:absolute;inset:0;z-index:2}.cast-card img,.detail-poster,.poster-card img,.row-poster img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom;object-position:bottom}.cast-card span,.poster-fallback,.row-poster span{display:grid;place-items:center;width:100%;height:100%;color:#e7ff57;background:#17202d;font-weight:950}.poster-overlay{position:absolute;inset:auto 0 0;z-index:3;display:grid;gap:8px;padding:42px 10px 10px;background:linear-gradient(0deg,#07090dfa,#07090d00);opacity:0;transform:translateY(12px);transition:opacity .15s ease,transform .15s ease}.poster-card:focus-within .poster-overlay,.poster-card:hover .poster-overlay{opacity:1;transform:translateY(0)}.poster-overlay h3{margin:0;font-size:.96rem}.poster-facts{display:grid;gap:5px;color:#aab6c6;font-size:.82rem}.rating-stars{display:inline-flex;gap:2px;align-items:center;color:#536072}.rating-stars .filled{color:#e7ff57}.rating-stars b{margin-left:5px;color:#f4f7fb;font-size:.86rem}.rating-stars.compact{font-size:.76rem}.review-editor,.table-panel{margin-top:18px}.filter-panel{margin:18px 0 16px;padding:14px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:#ffffff0a}.folder-browser,.folder-detail-heading{margin:18px 0 0}.folder-browser-heading,.folder-detail-heading,.list-heading{display:flex;gap:14px;align-items:end;justify-content:space-between}.folder-browser-heading h2,.folder-detail-heading h2,.list-heading h2{margin:0;letter-spacing:0}.folder-browser-heading .folder-create{min-width:min(360px,100%)}.folder-overview{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.folder-card{display:flex;align-items:center;gap:10px;padding:6px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:#ffffff0a}.folder-card input{flex:1}.folder-open-button{display:flex;flex:1;gap:10px;align-items:center;justify-content:space-between;min-width:0;min-height:46px;padding:10px 12px;border-radius:8px;color:#dbe4f0;background:transparent;font-weight:900}.folder-open-button:hover{color:#07090d;background:#e7ff57}.folder-open-button span{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.folder-open-button b{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 8px;border-radius:999px;color:inherit;background:#07090d1f;font-size:.82rem}.folder-card-actions{display:flex;flex-shrink:0;gap:6px;align-items:center;padding-right:4px}.icon-action{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#aab6c6;background:#ffffff14}.icon-action svg{width:16px;height:16px}.icon-action:hover{color:#f4f7fb;background:#ffffff24}.icon-action.danger{color:#ff9c8f}.icon-action.danger:hover{color:#fff;background:#ff625238}.list-heading{margin:18px 0 10px}.list-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border-radius:999px;color:#07090d;background:#e7ff57;font-weight:950}.filter-panel .table-actions{justify-content:flex-start;align-items:end}.filter-panel label{min-width:180px}.filter-panel .wide-filter{min-width:min(320px,100%)}.folder-create span{display:flex;gap:8px;align-items:center}.folder-create input{min-width:150px}.field-error{color:#ff816f;font-size:.78rem;font-weight:800}.review-search{min-width:min(320px,100%)}.review-picker{display:grid;grid-template-columns:minmax(190px,230px) minmax(240px,1fr);gap:10px}.review-add-panel{display:grid;grid-template-columns:minmax(220px,280px) minmax(120px,160px) minmax(280px,1fr) auto;gap:10px;align-items:end;margin:16px 0;padding:14px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:#ffffff0a}.empty-state{margin:0;padding:16px;border:1px dashed hsla(0,0%,100%,.14);border-radius:8px;color:#aab6c6;background:#ffffff09;font-weight:800}.muted{color:#7f8b9d;font-style:italic}.reviews-list,.watch-table{display:grid;gap:8px}.watch-table-head,.watch-table-row{display:grid;grid-template-columns:26px 54px minmax(0,1fr) 140px 150px 90px 40px;gap:12px;align-items:center}.watch-table-head{padding:0 10px 6px;color:#7f8b9d;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.watch-table-row{min-height:92px}.review-card,.watch-table-row{padding:10px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:#ffffff09}.review-card{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:start;gap:12px;min-height:76px}.row-poster{width:54px;aspect-ratio:2/3;overflow:hidden;border-radius:6px;background:#17202d;align-self:start}.review-card .row-poster{width:74px}.row-select,.select-all{display:grid;place-items:center}.row-select input,.select-all input{width:17px;height:17px;min-height:0;accent-color:#e7ff57}.watch-table-row.is-selected{border-color:#e7ff5780;background:#e7ff570f}.bulk-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 10px;padding:10px 14px;border:1px solid rgba(231,255,87,.3);border-radius:8px;background:#e7ff5714}.bulk-count{flex-shrink:0;color:#e7ff57;font-weight:950;font-size:.86rem}.bulk-move{display:grid;gap:6px}.bulk-move-row{display:flex;gap:8px;align-items:center}.bulk-select{min-width:170px;min-height:38px}.folder-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:3px 8px;border-radius:999px;color:#e7ff57;background:#e7ff571f;font-size:.72rem;font-weight:900}.bulk-danger-zone{display:flex;gap:8px;align-items:center}.bulk-confirm-text,.confirm-text{color:#ff9c8f;font-size:.82rem;font-weight:800;white-space:nowrap}.review-card .quick-actions{align-items:center}.row-main{gap:8px;align-content:start}.row-main,.row-title{display:grid;min-width:0}.row-title{gap:3px}.row-title a{overflow:hidden;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.cast-card small,.detail-facts,.row-title span{color:#7f8b9d;font-size:.82rem;font-weight:800}.progress-wrap{display:grid;gap:5px}.progress-meta{display:flex;justify-content:space-between;color:#aab6c6;font-size:.74rem;font-weight:900}.progress-track{height:7px;overflow:hidden;border-radius:999px;background:#ffffff1a}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e7ff57,#55d6be)}.folder-select,.status-select{min-height:40px}.playback-controls{display:flex;gap:8px;align-items:center}.episode-stepper{display:flex;gap:6px;align-items:center}.season-select{min-width:66px}.episode-input,.episode-select{width:78px;min-height:34px;padding:0 8px}.watched-button{align-self:start}.step-button{display:grid;flex-shrink:0;place-items:center;width:34px;height:34px;border-radius:8px;color:#f4f7fb;background:#ffffff1f;font-weight:950}.row-remove{justify-self:end}.review-form{grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;align-items:end}.review-card p{color:#b7c1cf;line-height:1.6}.review-content{display:grid;gap:10px}.inline-review-editor{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:10px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.genre-pills span{padding:5px 8px;border-radius:999px;color:#b7c1cf;background:#ffffff14;font-size:.76rem;font-weight:900}.detail-page{width:100%;padding-top:0}.detail-page>*{width:min(1220px,calc(100% - 28px));margin-inline:auto}.detail-hero{width:100%;min-height:620px;border-radius:0}.detail-content{display:grid;grid-template-columns:210px minmax(0,700px);gap:24px;align-items:end;width:min(1220px,calc(100% - 28px));min-height:620px;margin:0 auto;padding:80px 0 36px}.detail-poster{aspect-ratio:2/3;overflow:hidden;border-radius:8px;box-shadow:0 22px 80px #00000080}.detail-content h1{font-size:clamp(2.2rem,6vw,5rem);line-height:.96}.detail-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;margin-top:18px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.cast-card{display:grid;gap:7px;min-width:0}.cast-card img,.cast-card span{aspect-ratio:1;overflow:hidden;border-radius:8px}.cast-card b{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.skeleton-line,.skeleton-poster,.skeleton-row{background:linear-gradient(90deg,#121926,#1c2635,#121926);background-size:200% 100%;animation:skeleton 1.2s linear infinite}.skeleton-row{height:76px;border-radius:8px}.skeleton-line{height:34px;margin-bottom:12px;border-radius:8px}.wide{width:min(420px,100%)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1100px){.app-nav{grid-template-columns:1fr 1fr;gap:8px;justify-content:space-between}.nav-toggle{display:block;margin-left:auto}.nav-panel{display:grid;grid-column:1/-1;gap:14px;max-height:0;overflow:hidden;padding-top:0;opacity:0;transition:max-height .22s ease,opacity .18s ease,padding-top .18s ease}.nav-panel.open{max-height:640px;padding-top:14px;opacity:1;border-top:1px solid hsla(0,0%,100%,.08)}.nav-panel nav{flex-direction:column;gap:4px}.nav-panel nav a{padding:12px}.language-switch{justify-self:start}.nav-user{flex-wrap:wrap}.auth-screen,.detail-content,.detail-grid,.review-add-panel,.review-form{grid-template-columns:1fr}.detail-content,.hero-content{min-height:500px;padding:24px}.detail-poster{width:150px}.watch-table-head{display:none}.watch-table-row{grid-template-columns:22px 48px minmax(0,1fr) auto;grid-template-areas:"select poster main remove" "status status status status" "folder folder folder folder" "rating rating rating rating";row-gap:10px}.row-select{grid-area:select;align-self:start}.row-poster{grid-area:poster}.row-main{grid-area:main}.row-remove{grid-area:remove;align-self:start}.status-select{grid-area:status}.folder-select{grid-area:folder}.rating-stars{grid-area:rating}.folder-browser-heading,.folder-detail-heading,.list-heading,.search-row,.section-heading,.table-toolbar{display:grid;justify-content:stretch}.filter-panel .table-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.header-search{grid-template-columns:minmax(0,1fr) auto}.filter-panel label{min-width:0}.review-picker{grid-template-columns:1fr}.folder-create span{display:grid;grid-template-columns:minmax(0,1fr) auto}}@media(max-width:560px){.page-shell{width:min(100% - 18px,1220px);padding-top:12px}.step-button{display:none}.discovery-hero,.hero-content{min-height:430px}.hero-content{padding:18px}.poster-rail{grid-auto-columns:minmax(132px,42vw)}.bulk-bar{display:grid;gap:10px}.bulk-bar,.bulk-danger-zone,.bulk-move{width:100%}.bulk-confirm-text,.confirm-text{white-space:normal}.bulk-move-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.bulk-danger-zone{display:grid;grid-template-columns:1fr 1fr}.bulk-select{min-width:0}.hero-actions,.table-actions{display:grid;width:100%}.filter-panel .table-actions,.header-search{grid-template-columns:1fr}.header-results{position:static}}
