:root{color-scheme:dark;--bg:#100e12;--panel:#19161c;--panel2:#242029;--gold:#d6b17a;--gold-light:#f1d8af;--muted:#a59ba3;--ivory:#f2eae0;--border:rgba(222,182,123,.17);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{background:#100e12}body{margin:0;background:radial-gradient(ellipse 600px 900px at 50% -230px,#40232c 0%,#100e12 78%);font-family:var(--sans);color:var(--ivory);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button{color:inherit}a{color:var(--gold-light)}h1,h2,h3,p{margin:0}.app-shell{position:relative;max-width:540px;min-height:100dvh;margin:auto;background:#100e12;box-shadow:0 0 90px #05040780;overflow-x:hidden}.topbar{height:78px;position:sticky;top:0;z-index:8;padding:calc(10px + env(safe-area-inset-top, 0px)) 19px 10px;background:linear-gradient(180deg,#151017fa,#151017ee);border-bottom:1px solid #312732a8;display:flex;align-items:center;justify-content:space-between;box-sizing:content-box;height:54px;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:9px;text-align:left;border:0;background:none;padding:0}.brand-icon{color:var(--gold);font-size:36px;line-height:1}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-text strong{font-family:var(--serif);font-size:25px;line-height:1.1;color:var(--gold-light);font-weight:500;letter-spacing:-1px}.brand-text small{font-size:8px;letter-spacing:1.03px;color:#b2a5a2;line-height:1.2}.round-search{height:36px;width:36px;border:1px solid var(--border);border-radius:50%;background:#ffffff0c;color:var(--gold-light);font-size:27px;line-height:1}.bottom-nav{display:flex;position:fixed;z-index:14;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;height:calc(72px + env(safe-area-inset-bottom, 0px));padding:8px 5px calc(9px + env(safe-area-inset-bottom, 0px));background:#151117ef;border-top:1px solid #5e4a45aa;backdrop-filter:blur(24px);justify-content:space-around;box-shadow:0 -10px 38px #100e12c9}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;min-width:59px;border-radius:12px;color:#94888e;font-size:10px;padding:5px 2px}.nav-link.active{color:var(--gold-light);background:#c7975420}.nav-icon{font-size:25px;height:28px;line-height:28px}.nav-link:nth-child(3) .nav-icon{font-size:29px}main{padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px));min-height:75vh}.page-body{padding:24px 19px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:700;color:var(--gold);text-transform:uppercase}.hero{min-height:410px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 14%,#815c5a,#272238 37%,#100e12 85%)}.hero-image{position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;opacity:.7}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,18,.03) 0%,rgba(16,14,18,.19) 25%,rgba(16,14,18,.63) 55%,#100e12 99%),linear-gradient(90deg,#100e1290,transparent 75%)}.hero-body{position:relative;padding:185px 25px 26px}.hero-body h1{font-family:var(--serif);font-size:clamp(37px,9vw,54px);font-weight:500;line-height:1.08;letter-spacing:-1px;text-shadow:0 2px 12px #030102;margin:13px 0 11px}.meta-line{color:#e5d8cd;font-size:12px}.meta-line span{padding:0 5px;color:var(--gold)}.hero-body p{line-height:1.5;max-width:320px;color:#c9bfc4;font-size:13px;margin:12px 0 17px}.hero-actions,.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gold-btn,.outline-btn{border-radius:9px;min-height:39px;padding:10px 13px;border:1px solid var(--gold);font-size:12px;font-weight:700;text-align:center}.gold-btn{color:#23180f;background:linear-gradient(135deg,#ead0a1,#cba069);box-shadow:0 5px 25px #e3b36a16}.outline-btn{background:#1a1419ba;color:var(--gold-light)}.home-body{padding-top:0}.mini-stats,.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 0;margin:0 0 14px;border-block:1px solid var(--border)}.mini-stats>div{display:flex;flex-direction:column;text-align:center;gap:3px}.mini-stats>div+div{border-left:1px solid var(--border)}.mini-stats strong{font-family:var(--serif);font-weight:500;color:var(--gold-light);font-size:23px}.mini-stats small{font-size:10px;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:23px 0 14px}.section-heading h2{font:500 24px/1.25 var(--serif);color:var(--ivory)}.section-heading p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.35}.link-button,.back-link{background:none;border:0;color:var(--gold);font-size:12px;white-space:nowrap;padding:5px}.film-strip{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:2px 1px 12px;scroll-snap-type:x mandatory}.film-strip::-webkit-scrollbar{display:none}.movie-card{border:0;background:none;text-align:left;display:flex;flex-direction:column;gap:5px;padding:0;color:var(--ivory);min-width:0}.film-strip .movie-card{flex:0 0 128px;scroll-snap-align:start}.movie-card .poster{width:100%;aspect-ratio:2/3;border-radius:9px}.poster{background:linear-gradient(160deg,#6d4051,#191725 50%,#101923);position:relative;display:block;overflow:hidden;isolation:isolate;border:1px solid #ddc09b23}.poster img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;display:block}.poster-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#d9bd8991;font-size:50px;z-index:1}.poster-1{background:linear-gradient(160deg,#5c2028,#241d3b 52%,#0e1a25)}.poster-2{background:linear-gradient(160deg,#163451,#25182c 60%,#121012)}.poster-3{background:linear-gradient(160deg,#57451d,#542926 60%,#151723)}.poster-4{background:linear-gradient(160deg,#31374d,#273348 58%,#141015)}.poster-heart{position:absolute;z-index:3;top:6px;right:7px;color:#f1cb92;text-shadow:0 2px 4px #000;font-size:15px}.movie-title{display:block;font-size:12px;font-weight:700;line-height:1.35;margin-top:2px}.movie-meta{display:block;font-size:10px;color:#9f929d;line-height:1.3}.movie-score{font-size:11px;color:var(--gold);font-weight:700}.arena-teaser{width:100%;display:flex;flex-direction:column;align-items:start;gap:6px;text-align:left;border:1px solid #92725377;border-radius:14px;background:radial-gradient(circle at 85% 50%,#6f372e80,transparent 58%),linear-gradient(120deg,#29202b,#151216);padding:21px 19px;margin:11px 0 19px}.arena-teaser strong{font:500 22px var(--serif)}.arena-teaser span:not(.eyebrow){font-size:12px;color:#b8a8a9}.arena-teaser b{font-size:11px;color:var(--gold-light);margin-top:7px}.demo-banner{background:#503b2791;border:1px solid #b98b518c;border-radius:10px;padding:10px 12px;margin:5px 0 9px;display:flex;gap:7px;justify-content:space-between;align-items:center}.demo-banner span{font-size:10px;line-height:1.4;color:#eadbc8}.demo-banner button{font-size:10px;color:#f4dab2;background:none;border:0;text-decoration:underline;padding:0;text-align:right;min-width:87px}.headline{padding:3px 0 14px}.headline h1{font:500 clamp(33px,8vw,43px)/1.2 var(--serif);margin:9px 0 5px}.headline p{font-size:13px;line-height:1.5;color:var(--muted)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#242027;border:1px solid var(--border);border-radius:11px;padding:4px;gap:4px;margin-bottom:20px}.tab{background:none;border:0;padding:10px 0;font-size:12px;color:#b0a2a4;border-radius:8px}.tab.selected{background:linear-gradient(140deg,#e9cf9e,#c69f69);color:#2a1d16;font-weight:700}.collection-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:var(--muted);font-size:12px}.collection-toolbar select,.duration-control select{background:#211d24;color:var(--gold-light);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:11px;max-width:160px}.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:11px;row-gap:21px}.poster-grid .movie-card .poster{border-radius:8px}.floating-add{position:fixed;right:max(calc((100vw - 540px)/2 + 20px),20px);bottom:calc(92px + env(safe-area-inset-bottom, 0px));z-index:7;border-radius:50%;border:0;background:linear-gradient(140deg,#e9d1aa,#c3995d);color:#261b1b;box-shadow:0 10px 25px #0008;width:48px;height:48px;font-size:27px}.empty-state{border:1px dashed #72605977;background:#211d21a1;border-radius:16px;margin:18px 0;padding:35px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.empty-state>span{font-size:38px;color:var(--gold)}.empty-state h2{font:500 23px var(--serif)}.empty-state p{font-size:12px;color:var(--muted);line-height:1.5}.empty-mini{font-size:12px;color:var(--muted);padding:18px 12px;background:var(--panel);border-radius:9px}.empty-mini button{color:var(--gold);background:none;border:0}.discover-banner{border:1px solid #87694d78;padding:21px 17px;border-radius:14px;background:radial-gradient(ellipse at 70% 30%,#6c423250,transparent 65%),linear-gradient(160deg,#2d242c,#171317);display:flex;flex-direction:column;align-items:start;gap:12px}.discover-banner h2{font:500 29px/1.3 var(--serif);max-width:330px}.discover-banner p{font-size:12px;line-height:1.5;color:#c9b7b1}.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:10px}.chip{flex:0 0 auto;background:#221c24;border:1px solid var(--border);border-radius:30px;color:#c8bbc0;padding:9px 12px;font-size:11px}.chip.chosen{background:#af875b;color:#21191b;border-color:#d4b17c;font-weight:700}.duration-control{display:flex;justify-content:space-between;align-items:center;color:#c8bbc0;font-size:12px;margin:10px 0 18px}.recommend-list{display:flex;flex-direction:column;gap:13px}.recommend-row{display:flex;gap:14px;padding:11px;border:1px solid var(--border);border-radius:12px;background:#1d1920}.recommend-image{flex:0 0 108px;aspect-ratio:2/3;border-radius:7px}.recommend-image .poster-fallback{font-size:38px}.recommend-info{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.recommend-info .eyebrow{font-size:8px;letter-spacing:1.1px}.plain-title{padding:0;text-align:left;border:0;background:none;font:500 19px/1.25 var(--serif)}.recommend-info p{font-size:11px;line-height:1.5;color:#c2b5b8}.recommend-actions{display:flex;gap:11px;margin-top:auto;align-items:center;flex-wrap:wrap}.recommend-actions button{background:none;border:0;font-size:10px;color:var(--gold);padding:4px 0}.recommend-actions button+button{color:#998e91}.arena-heading{text-align:center;background:radial-gradient(ellipse at top,#6a352e55,transparent 70%);padding:31px 0 17px}.arena-heading h1{font:500 43px var(--serif);color:var(--gold-light);margin:7px 0}.arena-heading p{font-size:13px;color:#beaab0}.duel-display{border:1px solid #ae81567c;background:radial-gradient(ellipse at 50% 0%,#61433042,#20151d 70%);border-radius:15px;padding:15px 9px 17px}.duel-cards{display:flex;align-items:center;justify-content:center;gap:4px}.duel-card{background:none;border:0;display:flex;flex-direction:column;gap:7px;min-width:0;flex:1;align-items:center}.duel-card .poster{height:auto;aspect-ratio:2/3;width:100%;border-radius:10px;box-shadow:0 0 16px #c7975425}.duel-card strong{font:500 16px/1.2 var(--serif);text-align:center}.duel-card small{font-size:10px;color:var(--gold)}.vs{color:var(--gold-light);font:700 25px var(--serif);text-shadow:0 0 15px #da9449ad}.duel-hint{text-align:center;font-size:11px;color:#c1aca5;margin-top:15px}.ranking-list{border:1px solid var(--border);background:var(--panel);border-radius:11px;overflow:hidden}.rank-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--border);padding:10px 13px}.rank-item:last-child{border-bottom:0}.rank-number{font:500 19px var(--serif);color:var(--gold);width:28px}.rank-thumb{height:58px;aspect-ratio:2/3;border-radius:5px}.rank-thumb .poster-fallback{font-size:19px}.rank-copy{display:flex;flex-direction:column;gap:5px;flex:1}.rank-copy strong{font-size:12px}.rank-copy small{font-size:10px;color:var(--muted)}.rank-chevron{font-size:24px;color:var(--gold)}.tiny-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:14px}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:19px 0 24px;background:radial-gradient(ellipse at 50% 0,#563a3955,transparent 74%)}.avatar{height:78px;width:78px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-size:40px;border-radius:50%;background:#3c2c37;margin-bottom:13px}.profile-hero h1{font:500 30px var(--serif)}.profile-hero p{font-size:12px;color:var(--muted)}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;border:0;margin:0}.stat-grid>div{background:var(--panel);border:1px solid var(--border);min-height:97px;border-radius:10px;padding:16px 13px;display:flex;flex-direction:column;gap:5px}.stat-grid b{font:500 23px var(--serif);color:var(--gold-light)}.stat-grid span{font-size:11px;color:var(--muted)}.profile-links{display:flex;flex-direction:column;gap:9px;margin-top:28px}.profile-links button{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:left;width:100%}.profile-links button>span{font-size:26px;color:var(--gold);width:28px}.profile-links button>div{flex:1;display:flex;flex-direction:column;gap:5px}.profile-links strong{font-size:13px}.profile-links small{font-size:10px;color:var(--muted)}.profile-links b{font-size:22px;color:var(--gold)}.attribution{border-top:1px solid var(--border);margin-top:27px;padding:18px 0;font-size:10px;line-height:1.6;color:var(--muted)}.back-link{margin:4px 0 20px}.journal-list{display:flex;flex-direction:column;gap:12px}.journal-entry{display:flex;gap:13px;text-align:left;width:100%;border:1px solid var(--border);background:var(--panel);padding:12px;border-radius:12px}.journal-poster{height:122px;aspect-ratio:2/3;border-radius:6px;flex:none}.journal-poster .poster-fallback{font-size:30px}.journal-entry>div{display:flex;flex-direction:column;align-items:start;gap:6px;min-width:0}.journal-entry strong{font:500 19px var(--serif)}.journal-entry small{font-size:11px;color:var(--gold)}.journal-entry p{font-size:11px;color:#c0b0b5;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#060507e8;display:flex;justify-content:center;align-items:flex-end;backdrop-filter:blur(12px)}.modal-panel{position:relative;width:100%;max-width:540px;height:min(93dvh,950px);border-radius:21px 21px 0 0;background:#100e12;overflow-y:auto;box-shadow:0 -8px 60px #000a}.close-modal{position:sticky;z-index:6;top:13px;float:right;margin:12px 15px -58px 0;width:35px;height:35px;border-radius:50%;border:1px solid #b69a7a63;background:#1d1720d9;color:var(--ivory)}.detail-banner{height:275px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center;position:relative;background-color:#342333}.detail-poster{height:194px;aspect-ratio:2/3;box-shadow:0 10px 40px #000b;transform:translateY(36px);border-radius:7px}.detail-content{padding:54px 22px 40px}.detail-content h1{font:500 35px/1.1 var(--serif);margin:8px 0 11px}.detail-subline{font-size:12px;color:var(--gold);line-height:1.5}.detail-synopsis{font-size:13px;line-height:1.7;color:#d3c6c7;margin:18px 0}.director{font-size:12px;color:var(--muted);margin:9px 0 21px}.director strong{color:#eee1d2;font-weight:500}.detail-actions{margin-bottom:23px}.icon-fav{font-size:24px;border:1px solid var(--border);border-radius:9px;background:var(--panel);height:39px;min-width:44px}.icon-fav.on{color:var(--gold)}.rating-area{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:20px}.rating-area h2{font:500 23px var(--serif)}.rating-area p{font-size:11px;color:var(--muted);margin:8px 0 13px}.rating-buttons{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.rating-tick{min-height:33px;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--panel);font-size:11px}.rating-tick.active{background:var(--gold);color:#21160e;font-weight:800}.field-label{display:block;font-size:12px;margin:15px 0 8px;color:var(--gold-light)}#watched-at,#review-text{background:var(--panel);color:var(--ivory);border:1px solid var(--border);width:100%;border-radius:9px;padding:11px}#watched-at{max-width:230px}#review-text{line-height:1.5;resize:vertical}.full{width:100%;margin-top:12px}.search-panel{height:94dvh}.search-modal-top{position:sticky;top:0;z-index:6;background:#171219;display:flex;gap:9px;align-items:center;padding:calc(13px + env(safe-area-inset-top, 0px)) 14px 13px;border-bottom:1px solid var(--border)}.search-modal-top button{background:none;border:0;font-size:23px;color:var(--gold)}#movie-search{flex:1;width:100%;background:#262029;border:1px solid var(--border);border-radius:9px;padding:12px;font-size:15px;color:var(--ivory)}.search-label{display:block;margin:23px 19px 12px}.search-item{background:none;border:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:13px;padding:12px 19px;width:100%;text-align:left}.search-item>.poster{width:51px;height:75px;flex:none;border-radius:5px}.search-item>.poster .poster-fallback{font-size:23px}.search-item>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px}.search-item strong{font:500 17px var(--serif)}.search-item small{font-size:11px;color:var(--muted)}.search-item>span:last-child{font-size:23px;color:var(--gold)}.dialog-open{overflow:hidden}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,20px);background:#3b2b2b;color:#fff0dc;border:1px solid #af865f;padding:12px 16px;border-radius:11px;z-index:70;font-size:12px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 12px 35px #0009;max-width:85vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.app-shell{border-inline:1px solid #4d343c}.topbar{padding-inline:25px}.hero{min-height:470px}.hero-body{padding-top:240px}.page-body{padding-inline:26px}.film-strip .movie-card{flex-basis:144px}.recommend-image{flex-basis:118px}}
@media(max-width:365px){.brand-text strong{font-size:22px}.brand-text small{font-size:7px}.brand-icon{font-size:30px}.nav-link{min-width:52px}.nav-link span:last-child{font-size:9px}.page-body{padding-inline:13px}.hero-body{padding-inline:17px}.recommend-image{flex-basis:90px}.recommend-row{gap:9px;padding:8px}.poster-grid{gap:8px}.detail-content{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.tmdb-logo{width:105px;height:auto;max-width:40%;margin-bottom:9px}.attribution p{margin:5px 0}
.service-status{font-size:13px;line-height:1.6;color:var(--gold-light);padding:12px;margin:12px 0;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.service-status button{margin-top:10px;min-height:44px}.service-error{color:var(--ivory)}#search-results>.service-status{margin-inline:19px}.cast-section{margin:20px 0}.cast-section h2{font:500 23px var(--serif);margin-bottom:12px}.cast-list{display:flex;gap:14px;overflow-x:auto;padding:0 0 12px;margin:0;list-style:none}.cast-list li{flex:0 0 100px;display:flex;flex-direction:column;gap:6px;font-size:12px}.cast-list img{width:80px;height:100px;object-fit:cover;border-radius:8px}.cast-list span{font-size:11px;color:var(--muted)}
