:root{--bg:#f3f4f1;--surface:#fff;--text:#17201c;--muted:#747d78;--line:#e2e5e2;--brand:#254f42;--brand-dark:#16231e;--coral:#d66f58;--shadow:0 12px 28px rgba(30,42,36,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:25px 17px 20px;display:flex;flex-direction:column;background:var(--brand-dark);color:#e8efeb;z-index:10}.brand{display:flex;align-items:center;gap:11px;width:100%;padding:0 9px 32px;border:0;background:transparent;color:#fff;text-align:left}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#e5eee9;color:var(--brand);font-family:serif;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{margin-top:3px;color:#879a91;font-size:9px;font-weight:400}.side-nav{display:grid;gap:5px}.nav-item{min-height:44px;width:100%;display:flex;align-items:center;gap:13px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#aab8b1;text-align:left}.nav-item span{width:20px;text-align:center;font-size:18px}.nav-item:hover,.nav-item.is-active{color:#fff;background:rgba(255,255,255,.09)}.sidebar-bottom{margin-top:auto}.profile-mini{display:flex;align-items:center;gap:10px;padding:16px 7px 0;border-top:1px solid rgba(255,255,255,.1)}.profile-mini .avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#c69268;color:#302116;font-size:11px;font-weight:800}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:12px}.profile-mini small{margin-top:3px;color:#879a91;font-size:9px}.main-content{min-height:100vh;margin-left:232px;padding:0 40px 70px}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 6px;color:#89928d;font-size:9px;font-weight:700;letter-spacing:.14em}.topbar h1{margin:0;font-size:23px}.top-actions{display:flex;align-items:center;gap:9px}.global-search{width:210px;height:39px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted)}.global-search input{width:100%;border:0;outline:0;background:transparent;font-size:11px}.icon-button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;font-size:19px}.icon-button:hover{background:rgba(20,30,25,.06)}.notification-button{position:relative}.notification-dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--coral)}.primary-button,.secondary-button,.light-button,.ghost-button{min-height:40px;padding:0 16px;border-radius:6px;border:0;font-weight:700;font-size:11px}.primary-button{background:var(--brand);color:#fff}.secondary-button{border:1px solid var(--line);background:#f1f3f1}.light-button{background:#fff;color:var(--brand-dark)}.ghost-button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}.view{display:none;padding-top:30px}.view.is-visible{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:0;transform:translateY(4px)}}
.hero-band{min-height:260px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:35px 45px;border-radius:8px;background:#203e34;color:#fff;position:relative}.hero-band:after{content:"";position:absolute;right:-80px;bottom:-150px;width:360px;height:360px;border:80px solid rgba(255,255,255,.035);border-radius:50%}.hero-copy{position:relative;z-index:2;max-width:520px}.hero-kicker{margin:0 0 13px;color:#aec5bb;font-size:10px;font-weight:700}.hero-copy h2{margin:0 0 11px;font-size:31px}.hero-copy>p:not(.hero-kicker){margin:0;color:#c5d3cd;font-size:13px;line-height:1.8}.hero-actions{display:flex;gap:9px;margin-top:24px}.hero-poster-stack{width:270px;height:210px;position:relative;z-index:1}.mini-poster{position:absolute;width:125px;height:185px;display:grid;place-items:center;border:4px solid rgba(255,255,255,.2);border-radius:6px;box-shadow:0 20px 35px rgba(0,0,0,.22);font-family:serif;font-size:42px}.mini-poster:nth-child(1){left:0;top:20px;transform:rotate(-9deg)}.mini-poster:nth-child(2){left:72px;top:2px;z-index:2}.mini-poster:nth-child(3){right:0;top:23px;transform:rotate(9deg)}.poster-coral{background:linear-gradient(145deg,#c95e4e,#6e2a2b)!important;color:#ffe6d9}.poster-blue{background:linear-gradient(145deg,#5278a5,#1e344f)!important;color:#e5f0ff}.poster-gold{background:linear-gradient(145deg,#bd9147,#49351d)!important;color:#fff0bf}.poster-green{background:linear-gradient(145deg,#527c68,#172e27)!important;color:#dbefe6}.poster-ink{background:linear-gradient(145deg,#535c63,#171b1f)!important;color:#f2f4f5}.poster-rose{background:linear-gradient(145deg,#ad6878,#4d2933)!important;color:#ffe5eb}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.metric,.panel{border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:var(--shadow)}.metric{min-height:125px;padding:19px}.metric span,.metric small{display:block;color:var(--muted);font-size:10px}.metric strong{display:block;margin:12px 0 5px;font-size:25px}.metric.accent{background:#f6ece8}.content-section{margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.section-heading h2{margin:0;font-size:17px}.text-button{border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:700}.text-button.danger{color:#a34d3d}.media-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.media-card{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.poster{aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:6px;box-shadow:0 12px 24px rgba(25,35,30,.13)}.poster:after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.18)}.poster>span{position:relative;z-index:1;font-family:serif;font-size:33px;font-weight:800}.poster>small{position:relative;z-index:1;max-width:80%;margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.poster>i{position:absolute;z-index:2;right:10px;top:9px;font-style:normal}.media-card-copy{padding:10px 2px}.media-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:8px}.status-pill{display:inline-flex;padding:3px 7px;border-radius:4px;background:#edf1ef;color:var(--brand);font-size:8px}.status-pill.completed{background:#edf0f4;color:#526273}.status-pill.watchlist{background:#f4ecdd;color:#8a682c}.media-card h3{margin:8px 0 4px;font-size:13px}.media-card p,.media-card-copy>small{margin:0;color:var(--muted);font-size:9px}.progress{height:3px;margin:9px 0 5px;border-radius:3px;background:#dde3df}.progress span{display:block;height:100%;border-radius:3px;background:var(--brand)}.home-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px;margin-top:28px}.panel{padding:21px}.upcoming-list{margin-top:13px}.upcoming-item{width:100%;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:11px;padding:11px 0;border:0;border-top:1px solid #edf0ee;background:transparent;text-align:left}.date-block{width:40px;height:43px;display:grid;place-items:center;padding:5px;border-radius:5px;background:#edf3f0}.date-block strong,.date-block small{display:block}.date-block strong{font-size:15px}.date-block small{color:var(--muted);font-size:8px}.upcoming-copy strong,.upcoming-copy small{display:block}.upcoming-copy strong{font-size:11px}.upcoming-copy small{margin-top:5px;color:var(--muted);font-size:8px}.countdown{padding:4px 6px;border-radius:4px;background:#f5ebe7;color:#a34e3e;font-size:8px}.digest-number{display:flex;align-items:baseline;gap:7px;margin:22px 0}.digest-number strong{font-size:40px}.digest-number span{color:var(--muted);font-size:10px}.genre-bars{display:grid;gap:10px}.genre-bars>div{display:grid;grid-template-columns:35px 1fr 15px;align-items:center;gap:8px;font-size:8px;color:var(--muted)}.genre-bars i{height:4px;background:#e8ece9;border-radius:3px}.genre-bars b{display:block;height:100%;background:var(--coral);border-radius:3px}
.view-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.segmented-control{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:#e9ecea}.segmented-control button{min-height:32px;padding:0 15px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:10px}.segmented-control button.is-active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.view-toolbar select,.detail-actions select{height:38px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:10px}.media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 15px}.empty-state{display:none;padding:80px 0;text-align:center;color:var(--muted)}.empty-state.is-visible{display:block}.empty-state>span{font-size:42px}.empty-state h2{margin:12px 0 7px;color:var(--text);font-size:17px}.empty-state p{font-size:11px}.calendar-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.calendar-intro h2{margin:0 0 7px;font-size:26px}.calendar-intro>div>p:last-child{max-width:530px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.release-timeline{max-width:900px}.release-day{display:grid;grid-template-columns:70px 1fr;gap:16px;padding-bottom:25px}.release-date{border-right:1px solid var(--line)}.release-date strong,.release-date span{display:block}.release-date strong{font-size:26px}.release-date span{margin-top:3px;color:var(--muted);font-size:9px}.release-items{display:grid;gap:8px}.release-items button{min-height:72px;display:grid;grid-template-columns:42px 1fr 30px;align-items:center;gap:12px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:left}.release-poster{width:36px;height:52px;display:grid;place-items:center;border-radius:3px;font-family:serif;font-weight:700}.release-items strong,.release-items small{display:block}.release-items strong{font-size:11px}.release-items small{margin-top:5px;color:var(--muted);font-size:9px}.reminder-state{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eee;color:#8b938f;font-style:normal}.reminder-state.is-on{background:#e6f0ec;color:var(--brand)}
.import-layout,.settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:16px}.import-main h2,.setting-card h2{margin:0 0 9px;font-size:21px}.lead,.setting-card>p{color:var(--muted);font-size:11px;line-height:1.7}.import-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.import-steps>div{padding:14px;border:1px solid var(--line);border-radius:6px}.import-steps span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e7efeb;color:var(--brand);font-size:9px;font-weight:800}.import-steps strong{display:block;margin:12px 0 5px;font-size:11px}.import-steps p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.file-drop{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #abb8b1;border-radius:7px;background:#f8faf9;cursor:pointer}.file-drop input{display:none}.file-drop>span{font-size:26px;color:var(--brand)}.file-drop strong{margin:10px 0 5px;font-size:11px}.file-drop small{color:var(--muted);font-size:9px}.import-format h3{margin:0 0 10px;font-size:12px}.import-format h3:not(:first-child){margin-top:20px}.import-format pre{overflow:auto;padding:12px;border-radius:5px;background:#17211d;color:#dbe6e1;font-size:8px;line-height:1.7}.import-format p{font-size:9px;color:var(--muted)}.notice{margin-top:22px;padding:13px;border-left:3px solid #b58b45;background:#f8f2e7}.notice strong{font-size:10px}.notice p{margin-bottom:0;line-height:1.6}.import-preview{margin-top:18px}.preview-header{display:flex;align-items:center;justify-content:space-between}.preview-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.preview-list>div{padding:9px;border:1px solid var(--line);border-radius:5px}.preview-list span,.preview-list small{display:block}.preview-list span{font-size:10px}.preview-list small{margin-top:4px;color:var(--muted);font-size:8px}.setting-card label:not(.toggle-row){display:grid;gap:7px;margin-top:20px;color:var(--muted);font-size:10px}.setting-card input[type=password]{height:41px;padding:0 10px;border:1px solid var(--line);border-radius:6px}.setting-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:11px}.toggle-row small{margin-top:4px;color:var(--muted);font-size:8px}.toggle-row input{width:36px;height:20px;accent-color:var(--brand)}
dialog{width:min(520px,calc(100% - 24px));padding:0;border:0;border-radius:8px;box-shadow:0 25px 80px rgba(20,30,25,.28)}dialog::backdrop{background:rgba(15,24,20,.55);backdrop-filter:blur(3px)}dialog form{display:grid;gap:17px;padding:24px}.dialog-header{display:flex;justify-content:space-between}.dialog-header h2{margin:0;font-size:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog form label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:700}dialog input,dialog select{height:41px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.detail-dialog{width:min(750px,calc(100% - 20px));max-height:90vh}.detail-dialog article{position:relative}.detail-close{position:absolute;right:14px;top:14px;z-index:3;background:rgba(255,255,255,.9)}.detail-hero{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:26px;background:#e9eeeb}.detail-poster{width:170px}.detail-title{align-self:end;padding-bottom:5px}.detail-title h2{margin:10px 0 5px;font-size:28px}.detail-title>p{margin:0;color:var(--muted);font-size:10px}.detail-actions{display:flex;gap:8px;margin-top:18px}.detail-body{padding:25px}.synopsis{margin:0 0 22px;color:#4f5954;font-size:11px;line-height:1.8}.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:25px}.detail-facts>div{padding:11px;border:1px solid var(--line);border-radius:5px}.detail-facts span,.detail-facts strong{display:block}.detail-facts span{color:var(--muted);font-size:8px}.detail-facts strong{margin-top:7px;font-size:10px}.detail-body section{padding-top:20px;border-top:1px solid var(--line)}.detail-body h3{margin:0 0 13px;font-size:14px}.cast-list{display:flex;gap:16px}.cast-list span{min-width:55px;text-align:center}.cast-list i{width:38px;height:38px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#dce6e1;color:var(--brand);font-style:normal}.cast-list strong,.cast-list small{display:block}.cast-list strong{margin-top:7px;font-size:9px}.cast-list small{margin-top:3px;color:var(--muted);font-size:7px}.detail-body input[type=range]{width:100%;accent-color:var(--brand)}.range-label{color:var(--muted);font-size:9px}.toast{position:fixed;left:50%;bottom:24px;z-index:40;transform:translate(-50%,18px);padding:10px 15px;border-radius:6px;background:#17231e;color:#fff;opacity:0;pointer-events:none;transition:.2s;font-size:10px}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.inline-empty{grid-column:1/-1;padding:28px 0;color:var(--muted);text-align:center;font-size:10px}.mobile-nav{display:none}
@media(max-width:1050px){.main-content{padding-inline:25px}.media-grid{grid-template-columns:repeat(4,1fr)}.media-row{grid-template-columns:repeat(3,1fr)}.media-row .media-card:nth-child(4){display:none}.home-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){body{background:#f7f8f6}.sidebar{display:none}.main-content{margin:0;padding:0 14px 90px}.topbar{height:78px}.topbar h1{font-size:19px}.global-search,.top-actions>.primary-button{display:none}.view{padding-top:18px}.hero-band{min-height:230px;padding:28px 22px}.hero-copy{max-width:72%}.hero-copy h2{font-size:24px}.hero-copy>p:not(.hero-kicker){font-size:10px}.hero-poster-stack{width:130px;position:absolute;right:-28px;top:20px;opacity:.8}.mini-poster{width:90px;height:135px}.mini-poster:nth-child(1),.mini-poster:nth-child(3){display:none}.mini-poster:nth-child(2){left:20px;top:18px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions button{min-height:35px}.metric-grid{gap:8px;margin-top:10px}.metric{min-height:107px;padding:14px}.metric strong{font-size:22px}.content-section{margin-top:24px}.media-row{display:flex;overflow-x:auto;gap:11px;margin-right:-14px;padding-right:14px;scroll-snap-type:x mandatory}.media-row .media-card,.media-row .media-card:nth-child(4){display:block;min-width:145px;scroll-snap-align:start}.home-grid{margin-top:23px}.panel{padding:16px}.digest-panel{display:none}.view-toolbar{align-items:stretch;flex-direction:column;gap:10px}.segmented-control{align-self:flex-start}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 11px}.calendar-intro{align-items:flex-start;flex-direction:column;gap:15px}.release-day{grid-template-columns:48px 1fr;gap:9px}.release-date strong{font-size:21px}.import-layout,.settings-layout{grid-template-columns:1fr}.import-steps{grid-template-columns:1fr}.import-format{display:none}.preview-list{grid-template-columns:1fr}.mobile-nav{position:fixed;inset:auto 0 0;z-index:20;height:71px;display:grid;grid-template-columns:1fr 1fr 68px 1fr 1fr;align-items:center;padding:5px 9px max(5px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.mobile-nav button{height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#87908b;font-size:8px}.mobile-nav button span{font-size:18px}.mobile-nav button.is-active{color:var(--brand)}.mobile-nav .mobile-add{width:47px;height:47px;margin:-21px auto 0;border-radius:50%;background:var(--brand);color:#fff;font-size:24px;box-shadow:0 8px 18px rgba(37,79,66,.3)}.detail-dialog{max-height:94vh}.detail-hero{grid-template-columns:100px 1fr;gap:15px;padding:18px}.detail-poster{width:100px}.detail-title h2{font-size:20px}.detail-actions{align-items:stretch;flex-direction:column}.detail-body{padding:18px}.detail-facts{grid-template-columns:repeat(2,1fr)}.cast-list{overflow-x:auto}.form-row{grid-template-columns:1fr}.toast{bottom:84px}}
.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.library-summary{display:grid;grid-template-columns:150px 1fr 1fr;gap:10px;margin-bottom:16px}.library-summary>div{min-height:74px;padding:13px 15px;border:1px solid var(--line);border-radius:6px;background:#fff}.library-summary span{display:block;color:var(--muted);font-size:9px}.library-summary strong{display:block;margin-top:7px;font-size:23px}.library-summary p{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0}.library-summary b{padding:4px 7px;border-radius:4px;background:#edf2ef;color:var(--brand);font-size:8px}.toolbar-selects{display:flex;gap:8px}.rating-line{display:flex;align-items:center;gap:8px;margin-top:11px}.rating-line strong{padding:5px 8px;border-radius:4px;background:#fff;color:#9b6431;font-size:10px}.rating-line span{color:var(--muted);font-size:9px}.danger-button{min-height:40px;padding:0 14px;border:1px solid #d9a9a2;border-radius:6px;background:#fff;color:#a33f32;font-size:10px;font-weight:700}.danger-button:hover{background:#fff3f1}.detail-facts input[type=date]{width:100%;min-width:0;margin-top:5px;padding:0;border:0;background:transparent;color:var(--text);font-size:10px;font-weight:700}.douyin-import{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:7px;background:#f8faf9}.douyin-import h3{margin:0 0 6px;font-size:13px}.douyin-import p,.douyin-import small{color:var(--muted);font-size:9px;line-height:1.6}.douyin-import>div{display:flex;gap:8px}.douyin-import input{min-width:0;flex:1;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.douyin-import #douyin-result{display:block;margin-top:12px}.douyin-import #douyin-result>div{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.candidate-title{min-height:31px;padding:0 10px;border:1px solid #cbd7d1;border-radius:5px;background:#fff;color:var(--brand);font-size:9px}
.media-card h3 small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.35}.media-card-copy .card-rating{margin-bottom:4px;color:#9b6431;font-size:8px;font-weight:700;line-height:1.45}
@media(max-width:720px){.library-summary{grid-template-columns:1fr 1fr}.library-summary>div:first-child{grid-column:1/-1;min-height:auto}.toolbar-selects{display:grid;grid-template-columns:1fr 1fr}.toolbar-selects select{width:100%}.douyin-import>div{align-items:stretch;flex-direction:column}.douyin-import .secondary-button{width:100%}.rating-line{align-items:flex-start;flex-direction:column}.detail-facts input[type=date]{font-size:9px}}
