@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Josefin+Sans:wght@500;600;700&display=swap');

:root{
  --ink:#070b0b;--ink-2:#0b1211;--panel:#111a17;--panel-2:#17221e;--gold:#d4af37;--gold-2:#f2cf75;
  --cream:#f2e8d5;--muted:#9d9b8f;--teal:#41b8a8;--teal-dark:#0f3d34;--wine:#5e1c24;--line:rgba(212,175,55,.24);
  --shadow:0 20px 60px rgba(0,0,0,.45);--radius:22px;--serif:'Josefin Sans',sans-serif;--sans:'DM Sans',sans-serif;
}
*{box-sizing:border-box}html{background:var(--ink);color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% -10%,rgba(23,106,91,.2),transparent 38%),linear-gradient(180deg,#080d0c,#050807);color:var(--cream);font-family:var(--sans);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.hidden{display:none!important}.eyebrow{font-family:var(--serif);text-transform:uppercase;letter-spacing:.22em;font-size:.69rem;color:var(--gold)}.muted{color:var(--muted)}.gold{color:var(--gold-2)}.teal{color:var(--teal)}.fine{font-size:.78rem;color:var(--muted);line-height:1.5}.title{font-family:var(--serif);letter-spacing:.05em;font-size:clamp(2rem,8vw,4.8rem);line-height:.95;text-transform:uppercase;margin:.35rem 0 1rem}.display{font-family:var(--serif);font-size:clamp(2rem,7vw,4rem);line-height:1.05;margin:.5rem 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2.1rem 0 1rem}.section-title h2{font:600 1.05rem var(--serif);letter-spacing:.07em;text-transform:uppercase;margin:0}.section-title button{color:var(--gold);border:0;background:none;font-size:.78rem}.ornament{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55;margin:1rem 0;position:relative}.ornament:after{content:'✦';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ink);padding:0 .6rem;color:var(--gold)}

.btn{border:1px solid var(--line);min-height:50px;border-radius:14px;padding:.8rem 1.1rem;color:var(--cream);background:rgba(255,255,255,.035);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;transition:.22s ease;text-decoration:none}.btn:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.6);background:rgba(212,175,55,.08)}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#f0ca67,#b77f21);color:#171007;border-color:#f2cf75;box-shadow:0 9px 35px rgba(212,175,55,.17)}.btn-primary:hover{background:linear-gradient(135deg,#f8dc8e,#c88f28);color:#171007}.btn-teal{background:linear-gradient(135deg,#2db9a7,#176f63);border-color:#51cebb;color:#06110f}.btn-danger{color:#f3b1b8;border-color:rgba(167,53,67,.5)}.btn-ghost{border-color:transparent;background:transparent}.btn-block{width:100%}.btn-small{min-height:38px;padding:.5rem .8rem;font-size:.79rem;border-radius:10px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(9,15,14,.75);display:grid;place-items:center;color:var(--gold)}.pill,.chip{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cfcec4;border-radius:999px;padding:.55rem .85rem;font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem}.chip{cursor:pointer}.chip.active{border-color:var(--gold);background:rgba(212,175,55,.13);color:var(--gold-2);box-shadow:inset 0 0 16px rgba(212,175,55,.04)}.chip.teal-chip.active{border-color:var(--teal);color:#8be1d5;background:rgba(31,163,154,.12)}.chip-row{display:flex;gap:.55rem;flex-wrap:wrap}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr;position:relative;overflow:hidden}.auth-stage{min-height:46vh;position:relative;display:flex;align-items:flex-end;padding:2rem 1.35rem;overflow:hidden}.auth-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(5,8,7,.2) 55%,#070b0b 100%),radial-gradient(circle at 50% 35%,rgba(65,184,168,.14),transparent 42%)}.projector{position:absolute;width:110%;height:120%;top:-50%;left:-40%;background:conic-gradient(from 76deg at 0% 50%,transparent 0deg,rgba(242,232,213,.1) 10deg,transparent 23deg);filter:blur(3px);animation:sweep 8s ease-in-out infinite alternate;transform-origin:left center}.mascot-hero{position:absolute;right:-12%;bottom:-6%;width:min(82vw,590px);filter:drop-shadow(0 20px 50px #000);mask-image:linear-gradient(#000 72%,transparent 98%)}.auth-brand{position:relative;z-index:2;width:min(62%,520px)}.logo-frame{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:var(--gold-2);font-family:var(--serif);font-weight:700;text-transform:uppercase;letter-spacing:.13em;border:2px solid var(--gold);border-radius:34% 34% 28% 28% / 24% 24% 30% 30%;padding:.85rem 1.4rem .65rem;box-shadow:inset 0 0 0 4px #090d0c,inset 0 0 0 5px rgba(212,175,55,.65),0 0 35px rgba(212,175,55,.12);line-height:.9}.logo-frame small{font-size:.75rem;letter-spacing:.35em}.logo-frame strong{font-size:clamp(2rem,9vw,4.5rem)}.auth-brand p{max-width:350px;line-height:1.6;color:#c8c2b4}.auth-panel{background:linear-gradient(180deg,#0b1110,#080b0b);padding:1.5rem 1.35rem 2.5rem;border-top:1px solid var(--line);position:relative;z-index:3}.auth-card{max-width:460px;margin:auto}.auth-tabs{display:flex;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#070a09;margin:1.2rem 0}.auth-tabs button{flex:1;border:0;background:none;color:var(--muted);padding:.75rem;border-radius:10px}.auth-tabs button.active{background:var(--panel-2);color:var(--cream)}.field{display:flex;flex-direction:column;gap:.45rem;margin:.9rem 0}.field label{font-size:.75rem;color:#b7b3a8}.field input,.field textarea,.field select{width:100%;min-height:49px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0d1412;color:var(--cream);padding:.8rem .9rem;outline:none;transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.08)}.field textarea{min-height:100px;resize:vertical}.or{display:flex;align-items:center;gap:.8rem;color:#6f746d;font-size:.7rem;margin:1rem 0}.or:before,.or:after{content:'';height:1px;background:#252c28;flex:1}.auth-note{text-align:center;margin-top:1rem;color:#757a73;font-size:.72rem}

.onboarding{min-height:100vh;display:flex;flex-direction:column;max-width:760px;margin:auto;padding:1.25rem}.onboard-head{display:flex;align-items:center;justify-content:space-between}.progress{height:3px;background:#222b27;margin:1.4rem 0 2.3rem;border-radius:4px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--teal));transition:.4s}.onboard-content{flex:1;animation:fadeUp .42s ease}.onboard-content h1{font:600 clamp(2rem,8vw,3.5rem)/1.05 var(--serif);margin:.6rem 0}.onboard-content>p{color:var(--muted);line-height:1.6;max-width:600px}.choice-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1.6rem 0}.choice{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(135deg,#111916,#0c1210);padding:1.1rem;text-align:left;color:var(--cream);min-height:66px;display:flex;align-items:center;gap:.85rem;transition:.2s}.choice:hover,.choice.active{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.25)}.choice .choice-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.poster-pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.poster-pick{border:2px solid transparent;background:none;padding:0;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:2/3}.poster-pick img{width:100%;height:100%;object-fit:cover}.poster-pick.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.15)}.poster-pick.active:after{content:'✓';position:absolute;right:.45rem;top:.45rem;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#0b0b08;display:grid;place-items:center;font-weight:900}.onboard-actions{display:flex;gap:.7rem;margin-top:1.5rem;position:sticky;bottom:0;padding:1rem 0;background:linear-gradient(transparent,#070b0b 22%)}

.app-shell{min-height:100vh;padding-bottom:88px}.side-nav{display:none}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;position:sticky;top:0;background:linear-gradient(180deg,rgba(7,11,11,.96),rgba(7,11,11,.76));backdrop-filter:blur(18px);z-index:30;border-bottom:1px solid rgba(255,255,255,.04)}.mini-logo{font:700 .95rem var(--serif);text-transform:uppercase;letter-spacing:.16em;color:var(--gold-2)}.avatar{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);background:var(--teal-dark);display:grid;place-items:center;font-weight:700;color:#8be1d5}.page{padding:1rem;max-width:1200px;margin:auto;animation:fadeUp .35s ease}.hero-card{border:1px solid var(--line);background:radial-gradient(circle at 90% 10%,rgba(37,139,120,.2),transparent 34%),linear-gradient(145deg,rgba(20,29,26,.94),rgba(9,14,13,.96));border-radius:28px;padding:1.4rem;overflow:hidden;position:relative;min-height:320px;box-shadow:var(--shadow)}.hero-card:before{content:'';position:absolute;inset:8px;border:1px solid rgba(212,175,55,.12);border-radius:22px;pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:590px}.hero-card h1{font:600 clamp(2.4rem,11vw,5rem)/.95 var(--serif);text-transform:uppercase;margin:.6rem 0 1rem;letter-spacing:.03em}.hero-card p{color:#b9b9ae;line-height:1.6;max-width:430px}.hero-curator{position:absolute;right:-12%;bottom:-20%;width:70%;max-width:480px;opacity:.58;mask-image:linear-gradient(#000 72%,transparent)}.hero-card .btn{margin-top:1rem;position:relative;z-index:4}.stars{position:absolute;inset:0;background-image:radial-gradient(circle,#d4af37 1px,transparent 1px);background-size:43px 43px;opacity:.13}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.stat-mini{border:1px solid rgba(255,255,255,.07);border-radius:15px;background:#0f1715;padding:.9rem}.stat-mini strong{font:600 1.35rem var(--serif);display:block;color:var(--gold-2)}.stat-mini span{font-size:.68rem;color:var(--muted)}.cards-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:.8rem;overflow:auto;scrollbar-width:none;padding-bottom:.5rem}.poster-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:2/3;background:#151b19;border:1px solid rgba(255,255,255,.09)}.poster-card img{width:100%;height:100%;object-fit:cover;transition:.4s}.poster-card:hover img{transform:scale(1.04)}.poster-card:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,5,4,.96))}.poster-info{position:absolute;z-index:2;left:.75rem;right:.75rem;bottom:.7rem}.poster-info h3{font:600 .9rem var(--serif);margin:0 0 .25rem;text-transform:uppercase}.poster-info p{margin:0;font-size:.67rem;color:#c2bbaa}.feature-card{display:grid;grid-template-columns:95px 1fr;border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;background:#0f1715;min-height:140px}.feature-card>img{width:100%;height:100%;object-fit:cover}.feature-body{padding:1rem}.feature-body h3{font:600 1rem var(--serif);margin:.2rem 0}.feature-body p{font-size:.75rem;color:var(--muted);line-height:1.5}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:76px;padding-bottom:env(safe-area-inset-bottom);background:rgba(8,12,11,.94);backdrop-filter:blur(22px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:50}.nav-item{border:0;background:none;color:#737a72;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;font-size:.61rem}.nav-item svg{width:20px;height:20px}.nav-item.active{color:var(--gold-2)}.nav-curator{position:relative}.nav-curator span:first-child{width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;background:linear-gradient(145deg,#2c2311,#0f3d34);display:grid;place-items:center;margin-top:-25px;box-shadow:0 0 0 5px #080c0b,0 0 30px rgba(212,175,55,.16)}.nav-curator img{width:43px;height:43px;border-radius:50%;object-fit:cover;object-position:center top}

.curator-intro{display:grid;place-items:center;text-align:center;padding:1.8rem 0}.curator-avatar{width:140px;height:140px;border-radius:50%;overflow:hidden;border:1px solid var(--gold);box-shadow:0 0 0 7px rgba(212,175,55,.06),0 0 60px rgba(30,161,145,.16);position:relative}.curator-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 12%}.curator-intro h1{font:600 2.2rem var(--serif);margin:1rem 0 .5rem}.curator-intro p{color:var(--muted);max-width:520px;line-height:1.6}.session-choices{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;max-width:680px;margin:1.2rem auto}.session-mode{min-height:150px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(145deg,#151d1a,#0b1110);color:var(--cream);padding:1.2rem;text-align:left;position:relative;overflow:hidden}.session-mode strong{font:600 1.25rem var(--serif);display:block;margin-bottom:.5rem}.session-mode span{font-size:.76rem;color:var(--muted);line-height:1.45}.session-mode .big-icon{font-size:2rem;color:var(--gold);display:block;margin-bottom:.8rem}.question-shell{max-width:720px;margin:auto}.question-head{margin-bottom:1.4rem}.question-head h1{font:600 clamp(1.8rem,7vw,3rem)/1.1 var(--serif);margin:.6rem 0}.question-head p{color:var(--muted)}.question-actions{display:flex;gap:.7rem;margin-top:1.5rem}.processing{position:fixed;inset:0;z-index:100;background:#040706;display:grid;place-items:center;overflow:hidden;text-align:center;padding:1.5rem}.processing .beam{position:absolute;width:180vw;height:60vh;background:conic-gradient(from 80deg at 0 50%,transparent,rgba(240,226,187,.12),transparent 22deg);animation:sweep 3s ease-in-out infinite alternate;filter:blur(6px)}.processing img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:1px solid var(--gold);position:relative;z-index:2;animation:breathe 2s ease-in-out infinite}.processing-copy{position:relative;z-index:2}.processing h2{font:600 1.6rem var(--serif);margin:1rem 0}.dots span{display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%;margin:0 3px;animation:dot 1.2s infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}

.reveal{position:fixed;inset:0;z-index:110;background:#050706;overflow:auto}.curtain{position:fixed;top:0;bottom:0;width:53%;z-index:15;background:repeating-linear-gradient(90deg,#320d13 0,#671b27 12%,#360c14 24%);box-shadow:inset -18px 0 35px rgba(0,0,0,.4);animation-duration:1.6s;animation-timing-function:cubic-bezier(.65,.04,.18,1);animation-fill-mode:forwards;pointer-events:none}.curtain:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);background-size:80px 100%}.curtain-left{left:0;animation-name:curtainLeft}.curtain-right{right:0;transform:scaleX(-1);animation-name:curtainRight}.reveal-content{min-height:100%;animation:revealFade 1.2s .5s both}.reco-backdrop{height:45vh;min-height:360px;position:relative;background-size:cover;background-position:center}.reco-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,6,.08),#070b0b 96%),linear-gradient(90deg,rgba(4,7,6,.48),transparent)}.reco-topbar{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:1rem}.reco-poster{position:absolute;z-index:3;width:132px;left:1rem;bottom:-80px;border-radius:14px;border:1px solid var(--gold);box-shadow:var(--shadow)}.reco-body{padding:6rem 1rem 2rem;max-width:1000px;margin:auto}.reco-title h1{font:600 clamp(2.1rem,9vw,4.5rem)/.95 var(--serif);text-transform:uppercase;margin:.5rem 0}.meta{display:flex;gap:.45rem;flex-wrap:wrap;color:#b5b3a8;font-size:.75rem}.synopsis{line-height:1.65;color:#c4c1b6}.why-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:linear-gradient(135deg,rgba(15,61,52,.35),rgba(20,25,23,.78));margin:1rem 0}.why-head{display:flex;align-items:center;gap:.8rem}.why-head img{width:48px;height:48px;border-radius:50%;object-fit:cover}.why-head h3{font:600 1rem var(--serif);margin:0}.why-card p{color:#c7c5ba;line-height:1.6;font-size:.85rem}.confidence{height:5px;border-radius:5px;background:#202925;overflow:hidden;margin-top:.6rem}.confidence span{height:100%;display:block;background:linear-gradient(90deg,var(--teal),var(--gold))}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:1rem 0}.rating-box{text-align:center;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:.75rem .25rem;background:#0d1412}.rating-box strong{display:block;color:var(--gold-2)}.rating-box span{font-size:.61rem;color:var(--muted)}.blurred strong{filter:blur(6px);user-select:none}.reco-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.reco-actions .btn:first-child{grid-column:1/-1}.provider-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.provider{padding:.55rem .7rem;border-radius:9px;background:#171f1c;border:1px solid rgba(255,255,255,.08);font-size:.72rem}

.tabs{display:flex;gap:.5rem;overflow:auto;scrollbar-width:none;margin:1rem 0;padding-bottom:.2rem}.tabs .chip{white-space:nowrap}.list-stack{display:flex;flex-direction:column;gap:.75rem}.media-row{display:grid;grid-template-columns:76px 1fr auto;gap:.85rem;align-items:center;border:1px solid rgba(255,255,255,.07);background:#0e1513;border-radius:16px;overflow:hidden;min-height:112px}.media-row>img{width:76px;height:112px;object-fit:cover}.media-row h3{font:600 .92rem var(--serif);text-transform:uppercase;margin:0 0 .3rem}.media-row p{font-size:.7rem;color:var(--muted);margin:.2rem 0}.media-row .score{color:var(--gold-2);font-weight:700}.row-actions{padding-right:.7rem}.searchbar{display:flex;gap:.5rem;border:1px solid rgba(255,255,255,.09);background:#0d1412;border-radius:14px;padding:.65rem .8rem;margin:1rem 0}.searchbar input{flex:1;border:0;outline:0;background:none;color:var(--cream);min-width:0}.empty{border:1px dashed rgba(212,175,55,.25);border-radius:20px;text-align:center;padding:2.2rem 1rem;background:rgba(212,175,55,.025)}.empty .symbol{font-size:2.2rem;color:var(--gold)}.empty h3{font:600 1.2rem var(--serif)}.empty p{color:var(--muted);font-size:.8rem;line-height:1.5}.chart-card{border:1px solid rgba(255,255,255,.07);background:#0e1513;border-radius:18px;padding:1rem}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.metric{border:1px solid rgba(255,255,255,.07);border-radius:17px;padding:1rem;background:linear-gradient(145deg,#111a17,#0b1110)}.metric strong{font:600 1.8rem var(--serif);color:var(--gold-2);display:block}.metric span{font-size:.7rem;color:var(--muted)}.bars{height:160px;display:flex;align-items:flex-end;gap:.65rem;padding-top:1rem}.bar{flex:1;background:linear-gradient(180deg,var(--gold),#7e5716);border-radius:7px 7px 2px 2px;min-height:8px;position:relative}.bar:after{content:attr(data-label);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);font-size:.58rem;color:var(--muted)}.genre-bars{display:flex;flex-direction:column;gap:.75rem}.genre-row{display:grid;grid-template-columns:110px 1fr 32px;gap:.6rem;align-items:center;font-size:.73rem}.genre-track{height:7px;background:#222a27;border-radius:8px;overflow:hidden}.genre-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:8px}.profile-head{display:flex;align-items:center;gap:1rem;padding:1rem 0}.profile-head .avatar{width:72px;height:72px;font-size:1.4rem}.profile-head h1{font:600 1.6rem var(--serif);margin:0}.setting-group{border:1px solid rgba(255,255,255,.07);border-radius:18px;background:#0e1513;overflow:hidden;margin:.8rem 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.setting-row:last-child{border:0}.setting-row strong{display:block;font-size:.85rem}.setting-row span{font-size:.7rem;color:var(--muted)}.insight{border-left:2px solid var(--teal);padding:.35rem 0 .35rem 1rem;margin:1rem 0}.insight p{line-height:1.55;color:#d3d0c4;margin:.3rem 0}.insight-actions{display:flex;gap:.5rem}.toggle{width:43px;height:25px;border-radius:30px;border:0;background:#27302c;position:relative}.toggle:after{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;background:#8a8e87;border-radius:50%;transition:.2s}.toggle.on{background:var(--teal-dark)}.toggle.on:after{left:21px;background:var(--teal)}

.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s}.modal{width:100%;max-width:620px;max-height:90vh;overflow:auto;background:linear-gradient(180deg,#16201d,#080c0b);border:1px solid var(--line);border-radius:25px 25px 0 0;padding:1.2rem;box-shadow:0 -20px 60px rgba(0,0,0,.45);animation:sheetUp .35s ease}.modal h2{font:600 1.55rem var(--serif);margin:.4rem 0}.modal-head{display:flex;justify-content:space-between;gap:1rem}.rating-slider{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;margin:1.2rem 0}.rating-slider input{accent-color:var(--gold);width:100%}.rating-number{font:600 2rem var(--serif);color:var(--gold-2);min-width:64px;text-align:right}.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,20px);background:#ece1c9;color:#15100a;padding:.75rem 1rem;border-radius:12px;z-index:500;font-weight:700;font-size:.78rem;opacity:0;pointer-events:none;transition:.3s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}

@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes sweep{from{transform:rotate(-7deg)}to{transform:rotate(12deg)}}@keyframes breathe{50%{transform:scale(1.035);box-shadow:0 0 60px rgba(65,184,168,.2)}}@keyframes dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes curtainLeft{to{transform:translateX(-98%) rotate(-2deg)}}@keyframes curtainRight{to{transform:scaleX(-1) translateX(-98%) rotate(-2deg)}}@keyframes revealFade{from{filter:brightness(.3);transform:scale(1.03)}to{filter:brightness(1);transform:none}}@keyframes sheetUp{from{transform:translateY(50px);opacity:0}to{transform:none;opacity:1}}

@media (min-width:700px){.choice-grid{grid-template-columns:repeat(2,1fr)}.poster-pick-grid{grid-template-columns:repeat(5,1fr)}.cards-scroll{grid-auto-columns:24%}.hero-card{padding:2.3rem;min-height:380px}.hero-curator{right:0;bottom:-28%;opacity:.8}.metric-grid{grid-template-columns:repeat(4,1fr)}.reco-poster{width:180px;left:max(1rem,calc(50% - 500px));bottom:-110px}.reco-body{padding-top:8rem}.reco-actions{grid-template-columns:1.35fr 1fr 1fr 1fr}.reco-actions .btn:first-child{grid-column:auto}.modal-backdrop{align-items:center}.modal{border-radius:25px}.auth-stage{min-height:55vh}.mascot-hero{right:1%;width:50%}.auth-brand{width:55%}}
@media (min-width:980px){.app-shell{padding-left:238px;padding-bottom:0}.side-nav{display:flex;position:fixed;left:0;top:0;bottom:0;width:238px;border-right:1px solid var(--line);background:rgba(8,12,11,.94);backdrop-filter:blur(20px);z-index:60;flex-direction:column;padding:1.5rem 1rem}.side-brand{padding:.8rem .6rem 2.2rem;font:700 1.25rem var(--serif);letter-spacing:.15em;color:var(--gold-2)}.side-link{border:0;background:none;color:#8e948c;border-radius:13px;padding:.85rem;text-align:left;display:flex;align-items:center;gap:.7rem;margin:.2rem 0}.side-link.active{background:rgba(212,175,55,.1);color:var(--gold-2);box-shadow:inset 2px 0 var(--gold)}.side-link.curator-link{border:1px solid var(--line);margin:1rem 0;color:var(--cream)}.side-footer{margin-top:auto;padding:.8rem;color:#6d736c;font-size:.68rem;line-height:1.5}.bottom-nav{display:none}.topbar{padding:0 2rem}.page{padding:2rem 2.4rem}.auth-shell{grid-template-columns:minmax(0,1.45fr) minmax(380px,.7fr)}.auth-stage{min-height:100vh;padding:4rem}.auth-panel{border-top:0;border-left:1px solid var(--line);display:grid;align-items:center}.auth-brand{align-self:flex-end;margin-bottom:7vh}.mascot-hero{right:-3%;bottom:-6%;width:58%}.cards-scroll{grid-auto-columns:18%}.home-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:1rem}.home-grid .hero-card{grid-row:span 2}.desktop-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.question-shell{padding-top:3rem}.reco-details-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem}.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}


/* Professional polish pass ? gradients and clean optical depth */
.film-grain{display:none!important}
body{background:
  radial-gradient(1100px 620px at 82% -8%,rgba(24,112,96,.17),transparent 60%),
  radial-gradient(780px 520px at -8% 48%,rgba(117,76,20,.08),transparent 68%),
  linear-gradient(155deg,#07100e 0%,#080c0b 42%,#050706 100%);background-attachment:fixed}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:
  linear-gradient(115deg,transparent 0 44%,rgba(65,184,168,.025) 50%,transparent 56%),
  radial-gradient(circle at 50% 14%,rgba(242,232,213,.025),transparent 31%)}
.legal-page{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:4rem 0 6rem}.legal-page h1{font:600 clamp(2.2rem,8vw,4.5rem)/1 var(--serif);text-transform:uppercase;color:var(--cream)}.legal-page h2{font:600 1.15rem var(--serif);color:var(--gold-2);margin-top:2rem}.legal-page p{color:#c5c4ba;line-height:1.75}.legal-page>a{text-decoration:none}
.auth-stage{isolation:isolate;background:
  radial-gradient(circle at 69% 42%,rgba(29,137,116,.2),transparent 31%),
  radial-gradient(ellipse at 68% 76%,rgba(212,175,55,.08),transparent 25%),
  linear-gradient(145deg,#07110f 0%,#08100e 54%,#050807 100%)}
.auth-stage:after{content:'';position:absolute;inset:22px;z-index:-1;border:1px solid rgba(212,175,55,.18);clip-path:polygon(0 24px,24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px));background:
  linear-gradient(135deg,rgba(212,175,55,.08) 1px,transparent 1px) 0 0/72px 72px;opacity:.58}
.auth-stage:before{z-index:0;background:linear-gradient(180deg,transparent 58%,#070b0b 100%)}
.projector{opacity:.68;mix-blend-mode:screen}
.brand-logo{position:relative;z-index:4;width:min(76vw,470px);height:auto;filter:drop-shadow(0 16px 34px rgba(0,0,0,.44)) drop-shadow(0 0 18px rgba(212,175,55,.08))}
.auth-brand{width:min(64%,520px);display:flex;flex-direction:column;align-items:flex-start}
.auth-brand p{margin-left:.7rem}
.mascot-hero{right:-7%;bottom:-6%;width:min(72vw,610px);height:min(72vh,700px);object-fit:contain;object-position:center bottom;mask-image:none;opacity:1;filter:drop-shadow(0 28px 45px rgba(0,0,0,.58))}
.auth-panel{background:linear-gradient(160deg,rgba(11,18,16,.98),rgba(6,10,9,.99));box-shadow:-24px 0 70px rgba(0,0,0,.22)}
.auth-card{position:relative}
.form-grid{display:grid;grid-template-columns:1fr;gap:0 .75rem}.password-rules{font-size:.7rem;line-height:1.45;color:#9fa79f;margin:-.35rem 0 .65rem}.consent{display:grid;grid-template-columns:20px 1fr;gap:.65rem;align-items:start;margin:.9rem 0;color:#b7b7ad;font-size:.72rem;line-height:1.5}.consent input{width:18px;height:18px;accent-color:var(--gold);margin-top:1px}.consent a{color:var(--gold-2)}.auth-status{text-align:center;padding:1.5rem 0}.auth-status h1{font:600 2.2rem var(--serif);margin:.8rem 0}.auth-status p{line-height:1.65;margin-bottom:1.5rem}.status-seal{width:74px;height:74px;margin:0 auto 1.2rem;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.8rem;box-shadow:0 0 40px rgba(212,175,55,.12)}
@media (min-width:700px){.form-grid{grid-template-columns:1fr 1fr}}
.auth-card:before{content:'?';position:absolute;right:0;top:-4px;color:rgba(212,175,55,.24);font-size:2rem}
.logo-frame{display:none!important}
.mini-logo{display:flex;align-items:center;justify-content:flex-start;width:122px;height:40px;padding:0;border:0;color:transparent;overflow:visible}
.mini-logo img{display:block;width:118px;height:44px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}
.side-brand{width:100%;height:96px;padding:8px 10px 22px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.side-brand img{width:172px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}
.topbar{background:linear-gradient(180deg,rgba(6,11,9,.97),rgba(6,11,9,.84));border-color:rgba(212,175,55,.1)}
.hero-card{background:
  radial-gradient(circle at 88% 40%,rgba(38,144,124,.2),transparent 32%),
  linear-gradient(140deg,rgba(16,31,26,.98),rgba(7,13,11,.98));border-color:rgba(212,175,55,.3)}
.hero-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,10,.22) 0 52%,transparent 75%);pointer-events:none}
.hero-copy{z-index:3}
.hero-curator{right:-7%;bottom:-19%;width:66%;max-width:510px;opacity:1;object-fit:contain;mask-image:none;filter:drop-shadow(0 24px 32px rgba(0,0,0,.52))}
.stars{background-image:radial-gradient(circle,rgba(212,175,55,.9) .7px,transparent .8px);background-size:61px 61px;opacity:.1}
.curator-avatar{overflow:visible;background:radial-gradient(circle,rgba(26,114,98,.2),transparent 66%);border-color:rgba(212,175,55,.45)}
.curator-avatar img{width:118%;height:118%;margin:-9%;object-fit:contain;object-position:center;filter:drop-shadow(0 12px 16px rgba(0,0,0,.42))}
.processing img{object-fit:contain;background:radial-gradient(circle,rgba(30,130,112,.22),transparent 68%);padding:0;filter:drop-shadow(0 15px 22px rgba(0,0,0,.5))}
.why-head img{object-fit:contain;background:radial-gradient(circle,rgba(35,127,111,.2),transparent 70%)}
.feature-card,.stat-mini,.metric,.chart-card,.setting-group,.media-row{background:linear-gradient(145deg,rgba(15,25,21,.96),rgba(8,14,12,.98));border-color:rgba(255,255,255,.075)}
.bottom-nav{background:linear-gradient(180deg,rgba(7,12,10,.94),rgba(5,8,7,.99));border-color:rgba(212,175,55,.22)}
.reco-backdrop{background-color:#08100e}
.reco-backdrop:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 65% 42%,rgba(31,139,120,.15),transparent 30%)}
.curtain{background:repeating-linear-gradient(90deg,#250a10 0,#591723 9%,#2c0a11 18%,#721e2d 28%,#300b13 38%)}

@media (max-width:699px){
  .auth-stage{min-height:48vh;padding:1.4rem 1.1rem 1.2rem;align-items:flex-end}
  .auth-stage:after{inset:12px}
  .auth-brand{width:66%;padding-bottom:.35rem}
  .brand-logo{width:100%;max-width:275px}
  .auth-brand p{font-size:.58rem;line-height:1.6;margin:.75rem 0 0 .25rem;max-width:210px}
  .mascot-hero{width:68%;height:47vh;right:-17%;bottom:-4%}
  .hero-card{min-height:390px;padding:1.45rem}
  .hero-card h1{font-size:clamp(2.65rem,13vw,3.75rem);max-width:330px}
  .hero-copy p{max-width:245px}
  .hero-curator{width:70%;right:-18%;bottom:-16%}
  .reco-body{padding-bottom:7rem}
}

@media (min-width:700px) and (max-width:979px){
  .auth-brand{width:58%}
  .mascot-hero{width:55%;right:-2%}
  .hero-curator{width:51%;right:0}
}

@media (min-width:980px){
  .auth-stage{padding:4.5rem 3.8rem}
  .auth-brand{width:47%;align-self:flex-end;margin-bottom:8vh}
  .brand-logo{width:min(36vw,510px)}
  .mascot-hero{right:3%;bottom:-4%;width:min(48vw,690px);height:86vh}
  .side-nav{background:linear-gradient(180deg,rgba(8,15,12,.99),rgba(5,9,8,.99))}
  .page{max-width:1320px}
  .hero-card{min-height:430px}
  .hero-card h1{font-size:clamp(3.7rem,5.8vw,6.2rem);max-width:780px}
  .hero-curator{width:48%;right:1%;bottom:-23%}
  .session-choices{max-width:820px}
  .session-mode{min-height:180px;padding:1.5rem}
  .curator-intro{padding-top:3.2rem}
  .curator-avatar{width:170px;height:170px}
}

@media (min-width:1320px){
  .app-shell{padding-left:260px}
  .side-nav{width:260px}
  .page{padding:2.4rem 3rem}
  .home-grid{grid-template-columns:1.7fr .78fr}
  .auth-panel{padding-inline:clamp(2rem,4vw,5rem)}
}

/* Final optical corrections */
.auth-card:before{display:none!important}
.curator-avatar{overflow:hidden!important}
.curator-avatar img{width:100%!important;height:100%!important;margin:0!important;transform:scale(1.62);transform-origin:center 31%;object-position:center 24%}
@media (max-width:699px){.auth-brand{transform:translateY(-22px)}.mascot-hero{bottom:1%}}

/* Desktop navigation and resilient reveal */
.side-link svg{width:22px!important;height:22px!important;flex:0 0 22px}
.side-link{min-height:52px;font-size:.86rem}
.reco-backdrop{background-size:cover,cover,cover;background-position:center,center 28%,center 28%;background-repeat:no-repeat}
@media (min-width:980px){.topbar .mini-logo{opacity:0;pointer-events:none}.side-link{padding:.8rem 1rem}}


/* Professional completion layer */
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.2rem}
.filter-grid select,.modal select{width:100%;min-height:46px;background:rgba(9,15,14,.9);color:var(--cream);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.session-poster{display:block;width:135px;aspect-ratio:2/3;object-fit:cover;border-radius:14px;margin:0 auto 1rem;border:1px solid var(--gold);box-shadow:0 18px 55px #0009}
.setting-group button.setting-row{width:100%;color:inherit;text-align:left;background:transparent;border:0;font:inherit;cursor:pointer}
.setting-group button.setting-row:hover{background:rgba(212,175,55,.055)}
.pill.teal{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 55%,transparent)}
.btn:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.2)}
@media(max-width:720px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:1fr}.session-card{max-height:92vh;overflow:auto}}
