@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#070912;--panel:rgba(15,19,31,.72);--panel2:rgba(9,12,20,.82);--text:#f7f8fc;--muted:#8f96aa;--a:#8b5cf6;--b:#d946ef;--glow:rgba(139,92,246,.32);--radius:24px;--font:Vazirmatn,Manrope,system-ui,sans-serif;--heading-font:Vazirmatn,Manrope,system-ui,sans-serif;--font-scale:1;--card-title-lines:2;--card-text-lines:3;--glass-blur:20px;--card-ratio:2/3}*{box-sizing:border-box;min-width:0}html{font-size:calc(16px * var(--font-scale));background:var(--bg);color:var(--text)}html,body{margin:0;min-height:100%;overflow-x:hidden}body{font-family:var(--font);background:var(--bg);padding-bottom:108px;transition:background .55s ease;color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,.brand-copy strong{font-family:var(--heading-font);overflow-wrap:anywhere;word-break:break-word}p,small,span,b,label,button,input,textarea{overflow-wrap:anywhere;word-break:normal}.ambient,.fx,#fxCanvas{position:fixed;inset:0;pointer-events:none}.ambient{z-index:-3;background:radial-gradient(circle at 20% 0,var(--glow),transparent 30%),radial-gradient(circle at 86% 22%,color-mix(in srgb,var(--b) 22%,transparent),transparent 28%),linear-gradient(150deg,var(--bg),#080a12 55%,#05060b)}.fx{z-index:-2;opacity:.45;transition:.5s}#fxCanvas{z-index:-1;width:100%;height:100%;opacity:.72}.app-shell{width:min(1040px,100%);margin:auto;padding:18px}.hidden{display:none!important}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:12;padding:12px 0;background:linear-gradient(var(--bg) 54%,transparent);backdrop-filter:blur(12px)}.brand-mark{width:45px;height:45px;flex:0 0 45px;border-radius:16px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 12px 35px var(--glow)}.brand-copy{flex:1;min-width:0}.brand-copy strong,.brand-copy small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:11px;color:var(--muted)}.top-actions{display:flex;gap:7px}.icon-btn,.soft-btn{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.05);color:white;border-radius:14px;padding:9px 11px}.view{display:none;animation:viewIn .3s ease}.view.active{display:block}.view[data-view="home"].active{display:flex;flex-direction:column}.hero{padding:58px 0 25px}.eyebrow{color:#c8b5ff;font-weight:800;font-size:12px}.hero h1,.page-head h1,.profile-hero h1{font-size:clamp(28px,6vw,52px);line-height:1.12;margin:8px 0}.hero p,.page-head p{color:var(--muted);line-height:1.8;max-width:680px}.composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;background:var(--panel);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(var(--glass-blur));border-radius:calc(var(--radius) + 2px);box-shadow:0 25px 70px rgba(0,0,0,.22),inset 0 0 50px color-mix(in srgb,var(--a) 7%,transparent)}.composer textarea{border:0;resize:none;background:transparent;color:white;outline:none;padding:13px;min-height:72px;line-height:1.8}.composer.big textarea{min-height:160px}.send{align-self:stretch;border:0;border-radius:18px;padding:12px 18px;color:white;font-weight:900;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 15px 35px var(--glow)}.moods,.taste-chips,.collection-row{display:flex;gap:8px;overflow:auto;padding:11px 0;scrollbar-width:none}.moods button,.taste-chips span,.collection-chip{white-space:nowrap;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#d9dbea;border-radius:999px;padding:9px 12px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:12px 0 22px}.tool{border:1px solid rgba(255,255,255,.08);background:var(--panel);color:white;border-radius:var(--radius);padding:16px;text-align:start;min-height:132px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.tool>span{font-size:26px}.tool b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool small{color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.results,.taste-panel{margin:18px 0}.section-head,.page-head,.profile-hero{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:18px 0}.section-head h2,.taste-panel h2{margin:3px 0}.match-badge{font-size:11px;border:1px solid color-mix(in srgb,var(--a) 55%,transparent);background:color-mix(in srgb,var(--a) 12%,transparent);padding:7px 10px;border-radius:999px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.card{position:relative;background:var(--panel);border:1px solid rgba(255,255,255,.075);border-radius:22px;overflow:hidden;min-height:320px;box-shadow:0 20px 45px rgba(0,0,0,.18)}.poster-wrap{position:relative;aspect-ratio:var(--card-ratio);background:#0b0e17;overflow:hidden}.poster-wrap img,.noimg{width:100%;height:100%;object-fit:cover}.noimg{display:grid;place-items:center;font-size:42px;color:#5f6680;background:linear-gradient(145deg,#121625,#090b12)}.card-body{padding:12px;min-width:0}.card h3{margin:0 0 6px;font-size:15px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:var(--card-title-lines);-webkit-box-orient:vertical;overflow:hidden}.card p{color:var(--muted);font-size:11px;line-height:1.65;margin:7px 0;display:-webkit-box;-webkit-line-clamp:var(--card-text-lines);-webkit-box-orient:vertical;overflow:hidden}.meta{display:flex;gap:5px;flex-wrap:wrap}.meta span{font-size:9px;border-radius:999px;background:rgba(255,255,255,.06);padding:4px 6px;max-width:100%}.card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.card-actions button{flex:1 1 36px;border:1px solid rgba(255,255,255,.08);background:#0c101a;color:white;border-radius:10px;padding:7px;font-size:12px}.card-actions button.primary-action{background:color-mix(in srgb,var(--a) 20%,#0c101a)}.source{position:absolute;top:8px;inset-inline-start:8px;background:rgba(0,0,0,.55);padding:4px 6px;border-radius:8px;font-size:9px;z-index:2}.taste-panel{padding:18px;border-radius:var(--radius);background:var(--panel);border:1px solid rgba(255,255,255,.08)}.bottom-nav{position:fixed;z-index:20;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 14px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px;background:rgba(7,9,17,.86);backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(255,255,255,.09);border-radius:24px;box-shadow:0 22px 70px rgba(0,0,0,.45)}.bottom-nav button{border:0;background:none;color:#838a9d;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:18px;overflow:hidden}.bottom-nav span{font-size:10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bottom-nav .active,.bottom-nav .orb{color:#d8c6ff}.page-head{align-items:center;padding-top:20px}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.search-row input{border:1px solid rgba(255,255,255,.09);background:var(--panel2);border-radius:16px;color:white;padding:13px}.search-row button{width:48px;border:0;border-radius:16px;color:white;background:linear-gradient(135deg,var(--a),var(--b))}.collection-row{padding-bottom:16px}.discover-tools,.profile-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.discover-tools>button,.year-tool button{border:1px solid rgba(255,255,255,.09);background:var(--panel);color:white;border-radius:14px;padding:10px 12px}.year-tool{display:flex;gap:6px;max-width:250px}.year-tool input,.modal-input{width:100%;min-width:0;border:1px solid rgba(255,255,255,.09);background:#0c101a;color:white;border-radius:14px;padding:10px 12px;outline:none}.profile-tools{justify-content:flex-start}.profile-avatar{width:70px;height:70px;border-radius:26px;display:grid;place-items:center;font-size:28px;font-weight:900;background:linear-gradient(135deg,var(--a),var(--b))}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stat-box{padding:14px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden}.stat-box b{display:block;font-size:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-box small{color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-sheet{position:fixed;z-index:30;top:68px;inset-inline-end:14px;max-height:65vh;overflow:auto;background:#101420;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:8px;box-shadow:0 25px 60px rgba(0,0,0,.45)}.lang-sheet button{display:block;width:100%;border:0;background:none;color:white;padding:10px 14px;text-align:start;border-radius:10px}.modal{position:fixed;inset:0;z-index:50;background:rgba(3,4,8,.72);display:grid;place-items:end center;padding:12px;backdrop-filter:blur(12px)}.modal-card{position:relative;width:min(680px,100%);max-height:88vh;overflow:auto;background:#0d111c;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:20px}.modal-x{position:absolute;top:10px;inset-inline-end:10px;border:0;background:#171c29;color:white;border-radius:12px;width:36px;height:36px}.modal-options{display:grid;gap:8px}.modal-options button{border:1px solid rgba(255,255,255,.08);background:#121724;color:white;border-radius:14px;padding:13px}.battle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-card{border:1px solid rgba(255,255,255,.08);background:#101521;border-radius:20px;padding:10px;color:white}.battle-card img{width:100%;aspect-ratio:var(--card-ratio);object-fit:cover;border-radius:14px}.toast{position:fixed;z-index:60;bottom:98px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);background:#151a27;border:1px solid rgba(255,255,255,.1);color:white;border-radius:14px;padding:10px 14px;box-shadow:0 20px 50px rgba(0,0,0,.4)}.feature-off{display:none!important}
.fx-aurora{background:radial-gradient(ellipse at 10% 20%,var(--glow),transparent 34%),radial-gradient(ellipse at 85% 70%,color-mix(in srgb,var(--b) 28%,transparent),transparent 34%);animation:aurora 10s ease-in-out infinite alternate}.fx-fog{background:radial-gradient(ellipse at 15% 35%,rgba(255,255,255,.07),transparent 32%),radial-gradient(ellipse at 80% 60%,rgba(255,255,255,.05),transparent 38%);filter:blur(18px);animation:fog 12s ease-in-out infinite alternate}.fx-lightning{background:linear-gradient(120deg,transparent 48%,rgba(255,255,255,.2) 49%,transparent 50%);animation:flash 5s steps(1) infinite}.fx-glitch_grid{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px;animation:grid 12s linear infinite}.fx-film_grain{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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");animation:grain .2s steps(2) infinite}.fx-bokeh{background:radial-gradient(circle at 20% 25%,rgba(255,255,255,.13) 0 7px,transparent 8px),radial-gradient(circle at 75% 30%,var(--glow) 0 18px,transparent 20px)}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes aurora{to{transform:scale(1.07) translate3d(1%,-1%,0)}}@keyframes fog{to{transform:translate3d(3%,-1%,0) scale(1.04)}}@keyframes flash{0%,88%,93%,100%{opacity:.05}89%,91%{opacity:.75}}@keyframes grid{to{background-position:32px 32px}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(1%,1%)}}
@media(max-width:620px){.app-shell{padding:13px}.hero{padding-top:38px}.composer{grid-template-columns:1fr}.send{min-height:48px}.tool-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{min-height:0}.stats-grid{grid-template-columns:1fr 1fr}.battle-grid{grid-template-columns:1fr 1fr}.bottom-nav{width:calc(100% - 10px)}}
@media(max-width:360px){.cards{grid-template-columns:1fr 1fr}.card-body{padding:9px}.card h3{font-size:13px}.tool-grid{grid-template-columns:1fr}.brand-copy small{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}#fxCanvas{display:none!important}}

.review-list{display:grid;gap:9px;margin-top:12px}.review-item{padding:12px;border:1px solid rgba(255,255,255,.08);background:#111622;border-radius:16px}.review-item p{margin:7px 0;line-height:1.75;color:#d9ddea}.review-item.spoiler p{filter:blur(7px);user-select:none;cursor:pointer}.review-item.spoiler.revealed p{filter:none}.room-code{font:800 26px var(--heading-font);letter-spacing:.16em;text-align:center;padding:14px;border:1px dashed color-mix(in srgb,var(--a) 55%,transparent);border-radius:16px;background:color-mix(in srgb,var(--a) 8%,transparent);overflow:hidden;text-overflow:ellipsis}.room-row{display:grid;grid-template-columns:1fr auto;gap:8px}.room-row input{min-width:0}.calendar-episode{font-size:10px;color:var(--muted)}

.fx-neon_pulse{background:radial-gradient(circle at 50% 45%,var(--glow),transparent 42%);animation:neonPulse 3.8s ease-in-out infinite alternate}.fx-scanlines{background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(255,255,255,.025) 4px);animation:scanMove 8s linear infinite}.fx-vignette{background:radial-gradient(circle at center,transparent 35%,rgba(0,0,0,.58) 100%);animation:vignetteBreath 6s ease-in-out infinite alternate}@keyframes neonPulse{from{opacity:.18;transform:scale(.98)}to{opacity:.7;transform:scale(1.04)}}@keyframes scanMove{from{background-position:0 0}to{background-position:0 80px}}@keyframes vignetteBreath{from{opacity:.5}to{opacity:.9}}

/* v0.3.1 mobile layout hotfix */
.moods,.taste-chips,.collection-row{
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline proximity;
  -webkit-overflow-scrolling:touch;
}
.moods>button,.taste-chips>span,.collection-row>.collection-chip{
  flex:0 0 auto;
  max-width:min(82vw,320px);
  overflow:hidden;
  text-overflow:ellipsis;
  scroll-snap-align:start;
}
.moods>button span,.collection-chip,.taste-chips>span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-actions,.brand-mark{flex-shrink:0}
.hero,.layout-section,.view,.composer,.tool-grid,.cards{max-width:100%}
.hero h1,.page-head h1,.profile-hero h1{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.composer textarea{width:100%;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.send{white-space:normal;overflow:hidden;text-overflow:ellipsis}
.tool{min-width:0}.tool b,.tool small{max-width:100%}
.bottom-nav button{min-width:0;padding-inline:2px}.bottom-nav span{display:block;width:100%}
html[dir="rtl"] .moods,html[dir="rtl"] .taste-chips,html[dir="rtl"] .collection-row{direction:rtl}
html[dir="ltr"] .moods,html[dir="ltr"] .taste-chips,html[dir="ltr"] .collection-row{direction:ltr}
@media(max-width:620px){
  .topbar{gap:9px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:10px}
  .hero{padding-top:30px}.hero h1{font-size:clamp(29px,9.2vw,42px);line-height:1.24}
  .hero p{font-size:14px;line-height:1.9}
  .moods{margin-inline:-2px;padding-inline:2px}
  .moods>button{padding:10px 13px;max-width:76vw}
  .tool{min-height:118px;padding:14px}
  .bottom-nav{padding:6px 4px;border-radius:22px}
  .bottom-nav button{font-size:17px}.bottom-nav span{font-size:9px}
}
@media(max-width:380px){
  .app-shell{padding-inline:11px}
  .top-actions{gap:5px}.icon-btn{padding:8px 9px}
  .brand-mark{width:42px;height:42px;flex-basis:42px;border-radius:14px}
  .hero h1{font-size:29px}
  .moods>button{max-width:72vw}
}

/* v0.4 feature surfaces */
.announcement-banner{display:flex;gap:8px;align-items:center;padding:10px 12px;margin:4px 0 10px;border:1px solid color-mix(in srgb,var(--a) 35%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--a) 10%,var(--panel));border-radius:16px;overflow:hidden}.announcement-banner b{flex:0 0 auto}.announcement-banner span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-head{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start}.entity-head img{width:110px;aspect-ratio:2/3;object-fit:cover;border-radius:16px}.entity-head h2{margin-top:0}.episode-list,.social-list{display:grid;gap:8px;margin-top:10px}.episode-row,.social-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);background:#101521;border-radius:15px;overflow:hidden}.episode-row.watched{border-color:color-mix(in srgb,var(--a) 42%,transparent);background:color-mix(in srgb,var(--a) 9%,#101521)}.episode-row b,.episode-row small,.social-row b,.social-row p,.social-row small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.episode-row b,.social-row b{white-space:nowrap}.episode-row small,.social-row small{color:var(--muted);font-size:10px}.social-row p{margin:3px 0;color:#d6d9e4;white-space:nowrap}.episode-toggle,.social-row>button,.review-actions button{border:1px solid rgba(255,255,255,.08);background:#171d2b;color:white;border-radius:11px;padding:8px 10px}.avatar-mini,.activity-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--a) 70%,#111),color-mix(in srgb,var(--b) 65%,#111));font-weight:800}.social-row:has(.avatar-mini),.social-row:has(.activity-icon){grid-template-columns:auto 1fr auto}.social-row:has(.activity-icon){grid-template-columns:auto 1fr}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.danger-btn{border:1px solid rgba(248,113,113,.25);background:rgba(127,29,29,.25);color:#fecaca;border-radius:14px;padding:9px 12px}.toggle-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}.toggle-line input{width:20px;height:20px;accent-color:var(--a)}.reward-banner{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 10px;align-items:center;padding:14px;margin:10px 0;border-radius:18px;border:1px solid color-mix(in srgb,var(--a) 30%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--a) 12%,transparent),color-mix(in srgb,var(--b) 8%,transparent))}.reward-banner b{font-size:22px}.reward-banner small{color:var(--muted)}.badge-row{display:flex;gap:6px;overflow:auto;width:100%;margin-bottom:8px}.badge-row span{flex:0 0 auto}.review-head{display:flex;justify-content:space-between;gap:8px}.review-head b,.review-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-actions{display:flex;gap:6px;margin-top:8px}.rating-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.section-separator{height:1px;background:rgba(255,255,255,.07);margin:14px 0}
@media(max-width:520px){.entity-head{grid-template-columns:82px 1fr}.entity-head img{width:82px}.room-row{grid-template-columns:1fr}.reward-banner{grid-template-columns:auto 1fr}.announcement-banner{align-items:flex-start;flex-direction:column}.announcement-banner span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.cast-chip{flex:0 0 auto;white-space:nowrap;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#d9dbea;border-radius:999px;padding:9px 12px}
body[data-density="compact"] .app-shell{padding-top:10px}body[data-density="compact"] .tool{min-height:102px;padding:11px}body[data-density="compact"] .card-body{padding:9px}body[data-density="compact"] .hero{padding-top:34px}body[data-density="cinematic"] .hero{padding-top:72px}body[data-density="cinematic"] .card{box-shadow:0 28px 70px rgba(0,0,0,.3)}body[data-density="cinematic"] .poster-wrap{filter:saturate(1.06) contrast(1.03)}
/* v0.4.1 appearance modes + response feedback */
html[data-color-mode="light"]{--panel:rgba(255,255,255,.84);--panel2:rgba(255,255,255,.96);--text:#111827;--muted:#697386;color-scheme:light}
html[data-color-mode="dark"]{color-scheme:dark}
html[data-color-mode="light"] body{color:var(--text)}
html[data-color-mode="light"] .ambient{background:radial-gradient(circle at 18% 0,var(--glow),transparent 31%),radial-gradient(circle at 88% 24%,color-mix(in srgb,var(--b) 11%,transparent),transparent 28%),linear-gradient(150deg,#f8fafc,#f2f5fa 58%,#eef2f7)}
html[data-color-mode="light"] .topbar{background:linear-gradient(rgba(245,247,251,.93) 58%,transparent)}
html[data-color-mode="light"] .icon-btn,html[data-color-mode="light"] .soft-btn,html[data-color-mode="light"] .tool,html[data-color-mode="light"] .discover-tools>button,html[data-color-mode="light"] .year-tool button{color:#1f2937;background:rgba(255,255,255,.78);border-color:rgba(17,24,39,.09)}
html[data-color-mode="light"] .composer,html[data-color-mode="light"] .taste-panel,html[data-color-mode="light"] .card,html[data-color-mode="light"] .stat-box{box-shadow:0 18px 48px rgba(15,23,42,.08);border-color:rgba(15,23,42,.08)}
html[data-color-mode="light"] .composer textarea,html[data-color-mode="light"] .search-row input,html[data-color-mode="light"] .modal-input{color:#111827}
html[data-color-mode="light"] .moods button,html[data-color-mode="light"] .taste-chips span,html[data-color-mode="light"] .collection-chip,html[data-color-mode="light"] .cast-chip{color:#344054;background:rgba(255,255,255,.82);border-color:rgba(15,23,42,.08)}
html[data-color-mode="light"] .card-actions button,html[data-color-mode="light"] .modal-options button,html[data-color-mode="light"] .episode-toggle,html[data-color-mode="light"] .social-row>button,html[data-color-mode="light"] .review-actions button{background:#f8fafc;color:#1f2937;border-color:rgba(15,23,42,.08)}
html[data-color-mode="light"] .poster-wrap{background:#e9edf4}html[data-color-mode="light"] .noimg{color:#8791a5;background:linear-gradient(145deg,#f1f5f9,#e7ebf2)}
html[data-color-mode="light"] .bottom-nav{background:rgba(255,255,255,.9);border-color:rgba(15,23,42,.09);box-shadow:0 22px 60px rgba(15,23,42,.13)}
html[data-color-mode="light"] .bottom-nav button{color:#6b7280}html[data-color-mode="light"] .bottom-nav .active,html[data-color-mode="light"] .bottom-nav .orb{color:var(--a)}
html[data-color-mode="light"] .lang-sheet,html[data-color-mode="light"] .modal-card{background:#fff;color:#111827;border-color:rgba(15,23,42,.1)}
html[data-color-mode="light"] .lang-sheet button,html[data-color-mode="light"] .modal-x{color:#1f2937}
html[data-color-mode="light"] .review-item,html[data-color-mode="light"] .episode-row,html[data-color-mode="light"] .social-row{background:#fff;border-color:rgba(15,23,42,.08)}
html[data-color-mode="light"] .social-row p{color:#475467}
.loading-card{grid-column:1/-1;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.loading-card span{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--a) 18%,transparent);border-top-color:var(--a);animation:vspin .8s linear infinite}.send.loading{opacity:.72;pointer-events:none}.error-state{grid-column:1/-1;padding:16px;border-radius:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.18);color:#fca5a5}@keyframes vspin{to{transform:rotate(360deg)}}

/* v0.4.2 lifecycle, richer moods, centered roulette and modal layout fixes */
.ambient{z-index:0}.fx{z-index:1}#fxCanvas{z-index:6;mix-blend-mode:screen}.app-shell{position:relative;z-index:3}.app-paused .fx,.app-paused .roulette-aura i,.app-paused .roulette-dice{animation-play-state:paused!important}.app-paused #fxCanvas{opacity:0!important}
html[data-color-mode="light"] #fxCanvas{mix-blend-mode:multiply;opacity:.5}.soft-state{grid-column:1/-1;color:var(--muted);text-align:center;padding:18px}
.mood-grid{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:max-content;gap:8px 9px;overflow-x:auto;overflow-y:hidden;padding:12px 1px 14px;scroll-snap-type:x proximity}.mood-grid>button{scroll-snap-align:start;min-height:42px;display:flex;align-items:center;gap:6px;padding:9px 14px;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.roulette-stage{position:relative;display:grid;place-items:center;min-height:190px;margin:4px 0 18px;isolation:isolate;overflow:hidden;border-radius:calc(var(--radius) + 8px)}.roulette-stage:before{content:"";position:absolute;inset:18px 8%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--a) 22%,transparent),transparent 67%);filter:blur(16px);z-index:-2}.roulette-aura{position:absolute;inset:0;display:grid;place-items:center;z-index:-1;pointer-events:none}.roulette-aura i{position:absolute;width:122px;height:122px;border:1px solid color-mix(in srgb,var(--a) 34%,transparent);border-radius:50%;animation:vynoraOrbit 5.6s linear infinite}.roulette-aura i:nth-child(2){width:158px;height:158px;border-color:color-mix(in srgb,var(--b) 26%,transparent);animation-direction:reverse;animation-duration:7.2s}.roulette-aura i:nth-child(3){width:190px;height:190px;border-style:dashed;opacity:.5;animation-duration:10s}.roulette-hero{width:min(360px,86vw);min-height:126px;border:1px solid color-mix(in srgb,var(--a) 30%,rgba(255,255,255,.08));border-radius:32px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 88%,var(--a) 12%),color-mix(in srgb,var(--panel2) 88%,var(--b) 12%));color:var(--text);box-shadow:0 28px 70px var(--glow),inset 0 1px 0 rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:14px;text-align:start;padding:20px 22px;position:relative;overflow:hidden}.roulette-hero:after{content:"";position:absolute;inset:-60% -20%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.13) 48%,transparent 58%);transform:translateX(-70%);animation:vynoraShine 4.4s ease-in-out infinite}.roulette-hero strong{font-size:21px;line-height:1.35;position:relative;z-index:1}.roulette-hero small{grid-column:2/3;color:var(--muted);line-height:1.5;position:relative;z-index:1}.roulette-hero em{font-style:normal;font-size:21px;color:var(--b);position:relative;z-index:1}.roulette-dice{grid-row:1/3;font-size:44px;filter:drop-shadow(0 10px 18px var(--glow));animation:vynoraDice 3.6s ease-in-out infinite;position:relative;z-index:1}
@keyframes vynoraOrbit{to{transform:rotate(360deg)}}@keyframes vynoraDice{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(8deg)}}@keyframes vynoraShine{0%,55%{transform:translateX(-75%)}78%,100%{transform:translateX(75%)}}
html[data-color-mode="light"] .roulette-hero{background:linear-gradient(145deg,rgba(255,255,255,.95),color-mix(in srgb,#fff 88%,var(--a) 12%));border-color:color-mix(in srgb,var(--a) 22%,rgba(15,23,42,.08));box-shadow:0 24px 60px rgba(15,23,42,.12),0 12px 45px var(--glow)}html[data-color-mode="light"] .roulette-stage:before{opacity:.58}
.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.modal-card .cards{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));width:100%}.modal-card .cards>.card:only-child{width:min(100%,360px);justify-self:center}.modal-card h2,.modal-card h3{padding-inline-end:42px}.modal-card{overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.modal-card .card{direction:inherit}
@media(max-width:520px){.mood-grid{grid-template-rows:repeat(2,auto)}.mood-grid>button{max-width:72vw}.roulette-stage{min-height:174px}.roulette-hero{width:min(342px,91vw);min-height:118px;padding:17px 18px;border-radius:27px}.roulette-dice{font-size:39px}.roulette-hero strong{font-size:19px}.modal-card{width:100%;padding:16px;border-radius:24px}.modal-card .cards>.card:only-child{width:min(100%,330px)}}

/* v0.4.3 richer cards, tools and details */
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.experience-card{position:relative;overflow:hidden;min-height:150px;border:1px solid color-mix(in srgb,var(--a) 18%,transparent);border-radius:calc(var(--radius) + 4px);padding:20px;text-align:start;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,var(--a) 8%),var(--panel2));color:var(--text);box-shadow:0 16px 42px color-mix(in srgb,var(--glow) 45%,transparent);display:flex;flex-direction:column;justify-content:flex-end;gap:13px;isolation:isolate}.experience-card:before,.experience-card:after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:-1}.experience-card:before{width:150px;height:150px;inset:-65px auto auto -45px;background:radial-gradient(circle,color-mix(in srgb,var(--tool-a,var(--a)) 38%,transparent),transparent 68%);animation:toolFloat 6s ease-in-out infinite}.experience-card:after{width:90px;height:90px;inset:auto -28px -36px auto;border:1px solid color-mix(in srgb,var(--tool-b,var(--b)) 35%,transparent);box-shadow:0 0 36px color-mix(in srgb,var(--tool-b,var(--b)) 25%,transparent);animation:toolPulse 3.4s ease-in-out infinite}.experience-card .experience-orb{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:1.55rem;background:color-mix(in srgb,var(--tool-a,var(--a)) 15%,var(--panel2));border:1px solid color-mix(in srgb,var(--tool-a,var(--a)) 34%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--tool-a,var(--a)) 18%,transparent)}.experience-card b{display:block;font-family:var(--heading-font);font-size:1.13rem;line-height:1.45}.experience-card small{display:block;color:var(--muted);line-height:1.75;margin-top:4px;overflow-wrap:anywhere}.experience-card em{position:absolute;inset:16px 16px auto auto;font-style:normal;color:color-mix(in srgb,var(--tool-b,var(--b)) 70%,var(--text));font-weight:800}.blind-experience{--tool-a:#7c3aed;--tool-b:#22d3ee}.battle-experience{--tool-a:#ef4444;--tool-b:#f59e0b}.group-experience{--tool-a:#0ea5e9;--tool-b:#8b5cf6}@keyframes toolFloat{50%{transform:translate(12px,10px) scale(1.08)}}@keyframes toolPulse{50%{transform:scale(1.14);opacity:.55}}
.score-strip,.spec-strip{display:flex;flex-wrap:wrap;gap:7px 9px;margin-block:8px}.score-strip span{font-size:.79rem;font-weight:800;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--a) 10%,var(--panel2));border:1px solid color-mix(in srgb,var(--a) 20%,transparent);white-space:nowrap}.spec-strip span{font-size:.75rem;color:var(--muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.card [data-info]{cursor:pointer}.empty-smart{padding:24px;border:1px dashed color-mix(in srgb,var(--a) 25%,transparent);border-radius:var(--radius);display:grid;gap:8px;text-align:center;color:var(--muted)}.empty-smart b{color:var(--text);font-family:var(--heading-font);font-size:1.05rem}.detail-loading{min-height:240px;display:grid;place-items:center;align-content:center;gap:12px}.detail-loading span{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--a) 20%,transparent);border-top-color:var(--a);animation:spin .8s linear infinite}.media-detail{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:24px;align-items:start}.detail-poster{width:100%;max-height:440px;object-fit:cover;border-radius:22px;background:var(--panel2)}.detail-copy h2{font-family:var(--heading-font);font-size:clamp(1.55rem,5vw,2.35rem);line-height:1.25;margin:7px 0 14px;overflow-wrap:anywhere}.detail-summary{font-size:.98rem;line-height:2;color:var(--muted);white-space:normal;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.detail-grid>div{padding:12px 13px;border-radius:16px;background:color-mix(in srgb,var(--panel2) 92%,var(--a) 8%);border:1px solid color-mix(in srgb,var(--a) 12%,transparent);display:grid;gap:4px}.detail-grid small{color:var(--muted);font-size:.72rem}.detail-grid b{font-size:.85rem;overflow-wrap:anywhere;line-height:1.65}.detail-id{margin-top:12px;color:var(--muted);font-size:.75rem}
html[data-color-mode="light"] .experience-card{background:linear-gradient(145deg,#fff,color-mix(in srgb,#fff 88%,var(--a) 12%));box-shadow:0 12px 30px rgba(15,23,42,.08)}html[data-color-mode="light"] .score-strip span,html[data-color-mode="light"] .detail-grid>div{background:color-mix(in srgb,#fff 88%,var(--a) 12%)}
@media(max-width:680px){.experience-grid{grid-template-columns:1fr;gap:11px}.experience-card{min-height:116px;display:grid;grid-template-columns:56px 1fr;align-items:center;justify-content:initial;padding:16px 18px}.experience-card em{inset:12px 14px auto auto}.media-detail{grid-template-columns:1fr}.detail-poster{max-width:240px;max-height:360px;margin-inline:auto}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.detail-grid{grid-template-columns:1fr}.score-strip,.spec-strip{gap:6px}.experience-card{grid-template-columns:48px 1fr;padding:14px}.experience-card .experience-orb{width:46px;height:46px;border-radius:15px}}

/* v0.5.0 discovery UX, audio gate, progressive search, filters and compact media actions */
.sound-gate{position:fixed;z-index:80;inset:auto max(12px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:auto;max-width:620px;padding:12px 14px;border-radius:22px;background:color-mix(in srgb,var(--panel) 92%,var(--a) 8%);border:1px solid color-mix(in srgb,var(--a) 25%,transparent);box-shadow:0 18px 55px rgba(0,0,0,.28),0 0 36px var(--glow);display:flex;align-items:center;justify-content:space-between;gap:10px;backdrop-filter:blur(18px)}.sound-gate>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.sound-gate>div:first-child>span{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--a) 14%,var(--panel2));flex:0 0 auto}.sound-gate b,.sound-gate small{display:block;overflow-wrap:anywhere}.sound-gate small{color:var(--muted);font-size:.74rem;margin-top:2px}.sound-gate-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.sound-gate-actions button{border:0;border-radius:13px;padding:9px 12px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font:inherit;font-weight:800}.sound-gate-actions button:last-child{background:transparent;color:var(--muted);font-size:1.15rem;padding:8px}
.search-progress{position:fixed;z-index:75;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 24px));padding:12px 14px;border-radius:20px;background:color-mix(in srgb,var(--panel) 94%,var(--a) 6%);border:1px solid color-mix(in srgb,var(--a) 22%,transparent);box-shadow:0 16px 50px rgba(0,0,0,.25);backdrop-filter:blur(18px);transition:opacity .2s,transform .2s}.search-progress.hidden{display:block!important;opacity:0;pointer-events:none;transform:translate(-50%,-12px)}.search-progress-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.search-orb{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--a) 22%,var(--panel2)),color-mix(in srgb,var(--b) 14%,var(--panel)));color:var(--a);animation:searchPulse 1.4s ease-in-out infinite}.search-progress-head b,.search-progress-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-progress-head small{color:var(--muted);font-size:.7rem;margin-top:2px}.search-progress-head strong{font-size:.78rem;color:var(--a)}.search-progress-track{height:5px;border-radius:999px;background:color-mix(in srgb,var(--muted) 18%,transparent);overflow:hidden;margin-top:9px}.search-progress-track i{display:block;height:100%;width:8%;border-radius:inherit;background:linear-gradient(90deg,var(--a),var(--b));box-shadow:0 0 14px var(--glow);transition:width .25s ease}
@keyframes searchPulse{50%{transform:scale(1.08);box-shadow:0 0 18px var(--glow)}}
.type-filter{margin:8px 0 2px}.mini-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:9px}.mini-head b{font-family:var(--heading-font);font-size:.92rem}.mini-head small{color:var(--muted);font-size:.72rem}.type-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.type-chips::-webkit-scrollbar{display:none}.type-chips button{white-space:nowrap;min-height:40px;padding:8px 13px;border-radius:15px;border:1px solid color-mix(in srgb,var(--muted) 18%,transparent);background:var(--panel);color:var(--muted);font:inherit;transition:.2s transform,.2s border-color,.2s background,.2s color}.type-chips button.active{color:var(--text);border-color:color-mix(in srgb,var(--a) 45%,transparent);background:color-mix(in srgb,var(--panel) 82%,var(--a) 18%);box-shadow:0 8px 26px color-mix(in srgb,var(--glow) 45%,transparent)}.type-chips button:active{transform:scale(.96)}
.keyword-deck{display:grid;gap:8px;margin:4px 0 14px}.keyword-deck details{border:1px solid color-mix(in srgb,var(--muted) 14%,transparent);background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:18px;overflow:hidden}.keyword-deck summary{list-style:none;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:12px 14px;cursor:pointer}.keyword-deck summary::-webkit-details-marker{display:none}.keyword-deck summary>b{font-family:var(--heading-font);font-size:.88rem}.keyword-deck summary>small{color:var(--muted);font-size:.68rem}.keyword-deck details[open] summary{border-bottom:1px solid color-mix(in srgb,var(--muted) 12%,transparent)}.keyword-strip{display:flex;gap:8px;overflow-x:auto;padding:11px 12px 13px;scroll-snap-type:x proximity;scrollbar-width:none}.keyword-strip::-webkit-scrollbar{display:none}.keyword-strip button{scroll-snap-align:start;white-space:nowrap;padding:9px 13px;border-radius:14px;border:1px solid color-mix(in srgb,var(--a) 16%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 94%,var(--a) 6%),var(--panel));color:var(--text);font:inherit;position:relative;overflow:hidden}.keyword-strip button:after{content:"";position:absolute;inset:-60% -20%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);transform:translateX(-80%);transition:.5s}.keyword-strip button:hover:after,.keyword-strip button.picked:after{transform:translateX(80%)}.keyword-strip button.picked{border-color:var(--a);box-shadow:0 0 22px var(--glow);transform:translateY(-1px)}
.card-title-row{display:flex;align-items:start;justify-content:space-between;gap:8px}.vote-count{color:var(--muted);font-size:.66rem;white-space:nowrap;margin-top:4px}.card-actions.compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 42px;gap:7px;margin-top:12px}.card-actions.compact button{min-width:0;height:45px;border-radius:14px;padding:5px;border:1px solid color-mix(in srgb,var(--muted) 15%,transparent);background:color-mix(in srgb,var(--panel2) 95%,var(--a) 5%);color:var(--text);display:grid;place-items:center;grid-template-rows:1fr auto;font:inherit;transition:.18s transform,.18s border-color,.18s background}.card-actions.compact button span{font-size:.57rem;color:var(--muted);line-height:1}.card-actions.compact button:active{transform:scale(.94)}.card-actions.compact .action-main:hover{border-color:color-mix(in srgb,var(--a) 45%,transparent)}.card-actions.compact .action-more{display:grid;font-size:1.1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 88%,var(--a) 12%),var(--panel2))}.action-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.action-sheet-grid button{min-height:48px;text-align:start;padding:11px 13px;border-radius:15px;border:1px solid color-mix(in srgb,var(--muted) 15%,transparent);background:var(--panel2);color:var(--text);font:inherit}.full-btn{width:100%;margin-top:12px}
.poster-wrap.image-failed:before{content:"◈";position:absolute;inset:0;display:grid;place-items:center;font-size:2.2rem;color:var(--muted);background:linear-gradient(145deg,var(--panel2),color-mix(in srgb,var(--panel2) 88%,var(--a) 12%))}.noimg{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(145deg,var(--panel2),color-mix(in srgb,var(--panel2) 88%,var(--a) 12%));color:var(--muted)}.noimg span{font-size:2.3rem}.noimg small{font-size:.7rem}.detail-noimg{display:grid;place-items:center;min-height:300px;font-size:2.4rem}.detail-cta{display:flex;gap:8px;margin-top:14px}.detail-cta .send{width:100%}
.load-more-wrap{grid-column:1/-1;display:grid;justify-items:center;gap:6px;padding:16px 0 6px}.load-more-btn{min-width:min(260px,80vw);height:48px;border:1px solid color-mix(in srgb,var(--a) 32%,transparent);border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 85%,var(--a) 15%),color-mix(in srgb,var(--panel) 88%,var(--b) 12%));color:var(--text);font:inherit;font-weight:800;box-shadow:0 10px 30px color-mix(in srgb,var(--glow) 38%,transparent)}.load-more-wrap small{color:var(--muted);font-size:.7rem;text-align:center}
.roulette-modes{display:grid;gap:10px}.roulette-modes button{display:grid;gap:4px;text-align:start;padding:15px;border-radius:18px;border:1px solid color-mix(in srgb,var(--a) 18%,transparent);background:var(--panel2);color:var(--text);font:inherit}.roulette-modes small{color:var(--muted);line-height:1.6}.blind-reveal{text-align:center;display:grid;gap:14px}.blind-symbol{width:68px;height:68px;border-radius:24px;margin:auto;display:grid;place-items:center;font-size:2rem;color:var(--a);background:color-mix(in srgb,var(--panel2) 84%,var(--a) 16%);box-shadow:0 0 30px var(--glow);animation:searchPulse 1.8s ease-in-out infinite}.battle-intro,.battle-done,.group-guide{display:grid;gap:14px}.battle-hero-icon,.group-hero-icon{font-size:2.5rem}.battle-steps,.guide-steps{display:grid;gap:8px}.battle-steps span,.guide-steps div{padding:10px 12px;border-radius:14px;background:var(--panel2);color:var(--muted)}.guide-steps div{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px}.guide-steps b{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 15%,var(--panel));color:var(--a)}.battle-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.battle-progress{height:5px;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);overflow:hidden;margin:6px 0 14px}.battle-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--a),var(--b));border-radius:inherit}.battle-card small{color:var(--muted);font-size:.7rem}.battle-done{text-align:center}.battle-done>span{font-size:2.6rem;color:#22c55e}.room-status{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;padding:12px;border-radius:15px;background:var(--panel2);margin:10px 0}.room-status>span{color:#22c55e}.room-status small{grid-column:2;color:var(--muted);line-height:1.6}.field-label{font-size:.76rem;color:var(--muted)}
html[data-color-mode="light"] .sound-gate,html[data-color-mode="light"] .search-progress{box-shadow:0 16px 40px rgba(15,23,42,.12)}html[data-color-mode="light"] .keyword-deck details,html[data-color-mode="light"] .card-actions.compact button{background:rgba(255,255,255,.82)}
@media(max-width:440px){.card-actions.compact{grid-template-columns:repeat(4,minmax(0,1fr)) 38px;gap:5px}.card-actions.compact button{height:43px}.card-actions.compact button span{font-size:.53rem}.sound-gate{align-items:stretch;flex-direction:column}.sound-gate-actions{justify-content:flex-end}.search-progress{top:calc(66px + env(safe-area-inset-top))}.keyword-deck summary{grid-template-columns:26px 1fr auto;padding:11px 12px}.action-sheet-grid{grid-template-columns:1fr 1fr}}

/* v0.5.1 - in-app trailer player */
.trailer-loading,.trailer-fallback{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;gap:10px;padding:20px}.trailer-loader,.trailer-big-icon{width:70px;height:70px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--a) 18%,var(--panel2)),color-mix(in srgb,var(--b) 12%,var(--panel)));color:var(--a);font-size:1.6rem;box-shadow:0 0 34px var(--glow)}.trailer-loader{animation:trailerPulse 1.2s ease-in-out infinite}.trailer-player{display:grid;gap:14px}.trailer-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-inline-end:42px}.trailer-head h2{margin:3px 0 0;padding:0!important}.trailer-head small{color:var(--muted)}.trailer-source{white-space:nowrap;border:1px solid color-mix(in srgb,#ff0033 30%,transparent);background:color-mix(in srgb,#ff0033 9%,var(--panel2));color:var(--text);border-radius:999px;padding:6px 9px;font-size:.7rem}.trailer-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 18px 50px rgba(0,0,0,.28)}.trailer-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.trailer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trailer-actions button{min-height:46px}.trailer-fallback p{color:var(--muted);max-width:480px;line-height:1.8}@keyframes trailerPulse{50%{transform:scale(1.07);box-shadow:0 0 48px var(--glow)}}html[data-color-mode="light"] .trailer-frame-wrap{box-shadow:0 18px 44px rgba(15,23,42,.15)}@media(max-width:520px){.trailer-head{align-items:start;flex-direction:column;padding-inline-end:42px}.trailer-actions{grid-template-columns:1fr}.trailer-frame-wrap{border-radius:16px}}


/* v0.5.2 stable controls + overflow-safe filters */
.top-actions .icon-btn{width:42px;height:42px;flex:0 0 42px;padding:0;display:grid;place-items:center;font-size:1rem;transition:.2s transform,.2s border-color,.2s background,.2s color}
.top-actions .icon-btn:active{transform:scale(.94)}.top-actions .icon-btn.active{border-color:color-mix(in srgb,var(--a) 45%,transparent);background:color-mix(in srgb,var(--a) 15%,var(--panel));color:var(--text)}
.appearance-sheet{position:fixed;z-index:34;top:calc(70px + env(safe-area-inset-top));inset-inline-end:64px;width:min(300px,calc(100vw - 28px));padding:12px;border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,var(--a) 4%);border:1px solid color-mix(in srgb,var(--a) 22%,transparent);box-shadow:0 22px 60px rgba(0,0,0,.32);backdrop-filter:blur(18px)}
.appearance-sheet>b{display:block;margin:2px 4px 10px}.appearance-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.appearance-modes button{min-width:0;border:1px solid color-mix(in srgb,var(--muted) 16%,transparent);background:var(--panel2);color:var(--text);border-radius:13px;padding:9px 6px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appearance-modes button.active{border-color:var(--a);box-shadow:0 0 18px var(--glow);background:color-mix(in srgb,var(--a) 13%,var(--panel2))}.appearance-sheet label{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--muted)}
.type-chips,.keyword-strip,.moods{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.type-chips button,.keyword-strip button,.moods>button{flex:0 0 auto!important;flex-shrink:0!important;min-width:max-content!important;max-width:min(82vw,270px);white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important;word-break:keep-all!important}.type-chips button span,.keyword-strip button span,.moods>button span{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important}.type-chips{padding-inline:3px;scroll-padding-inline:12px}.keyword-strip{padding-inline:12px;scroll-padding-inline:12px}.keyword-deck details[open] .keyword-strip{min-height:62px;align-items:center}.keyword-deck summary{position:relative;z-index:1}.keyword-deck summary>*{min-width:0}.keyword-deck summary>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyword-deck summary>small{white-space:nowrap}
html[dir="rtl"] .type-chips,html[dir="rtl"] .keyword-strip{direction:rtl}html[dir="ltr"] .type-chips,html[dir="ltr"] .keyword-strip{direction:ltr}
html[data-color-mode="light"] .appearance-sheet{background:rgba(255,255,255,.94);border-color:rgba(15,23,42,.09);box-shadow:0 18px 45px rgba(15,23,42,.13)}html[data-color-mode="light"] .appearance-modes button{background:#f8fafc;color:#1f2937;border-color:rgba(15,23,42,.09)}
@media(max-width:480px){.app-shell{padding:14px}.topbar{gap:8px}.brand-mark{width:42px;height:42px;flex-basis:42px}.top-actions{gap:4px}.top-actions .icon-btn{width:38px;height:38px;flex-basis:38px}.brand-copy small{display:none}.appearance-sheet{top:calc(64px + env(safe-area-inset-top));inset-inline-end:52px}.type-chips button,.keyword-strip button,.moods>button{max-width:76vw}}

/* v0.5.3 */
.sound-sheet{position:fixed;z-index:35;top:calc(70px + env(safe-area-inset-top));inset-inline-end:110px;width:min(330px,calc(100vw - 28px));padding:14px;border-radius:20px;background:color-mix(in srgb,var(--panel) 96%,var(--a) 4%);border:1px solid color-mix(in srgb,var(--a) 22%,transparent);box-shadow:0 22px 60px rgba(0,0,0,.32);backdrop-filter:blur(18px)}.sound-sheet>b{display:block;font-size:1rem;margin-bottom:6px}.sound-sheet>p{margin:0 0 12px;color:var(--muted);font-size:.75rem;line-height:1.65}.sound-state{display:flex;align-items:center;gap:10px;padding:10px;border-radius:15px;background:var(--panel2);border:1px solid color-mix(in srgb,var(--muted) 14%,transparent)}.sound-state>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--a) 14%,var(--panel))}.sound-state small,.sound-state strong{display:block}.sound-state small{color:var(--muted);font-size:.68rem}.sound-state strong{font-size:.78rem;line-height:1.55}.sound-volume{display:grid;gap:7px;margin:12px 2px;font-size:.74rem;color:var(--muted)}.sound-volume input{width:100%;accent-color:var(--a)}.sound-actions{display:grid;grid-template-columns:1fr;gap:7px}.sound-actions button{min-height:43px}.localize-status{display:block;color:color-mix(in srgb,var(--a) 72%,var(--muted));font-size:.66rem;line-height:1.55;margin:4px 0 6px}.trailer-webview-note{padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--a) 7%,var(--panel2));border:1px solid color-mix(in srgb,var(--a) 16%,transparent)}html[data-color-mode="light"] .sound-sheet{background:rgba(255,255,255,.96);color:#111827;border-color:rgba(15,23,42,.09);box-shadow:0 18px 45px rgba(15,23,42,.13)}html[data-color-mode="light"] .sound-state{background:#f8fafc;border-color:rgba(15,23,42,.08)}@media(max-width:480px){.sound-sheet{top:calc(64px + env(safe-area-inset-top));inset-inline-end:96px;width:min(320px,calc(100vw - 28px))}}

/* v0.5.4 stable utility dock, language grid, poster/trailer states */
.topbar{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center}.top-actions{display:grid;grid-auto-flow:column;grid-auto-columns:42px;gap:6px;justify-content:end;overflow:visible}.top-actions .icon-btn{position:relative;z-index:2}
.lang-sheet,.appearance-sheet,.sound-sheet{position:fixed!important;top:calc(72px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;inset-inline-start:auto!important;inset-inline-end:auto!important;transform:translateX(-50%);width:min(360px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px);max-height:min(72vh,620px);overflow:auto;z-index:80!important;border-radius:20px!important;overscroll-behavior:contain}
.utility-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:3px 5px 10px}.utility-sheet-head b{font-size:.95rem}.utility-sheet-head small{font-size:.68rem;color:var(--muted)}
.lang-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lang-grid button{position:relative;display:grid!important;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:0 7px;width:100%;padding:10px!important;border:1px solid color-mix(in srgb,var(--muted) 14%,transparent)!important;background:var(--panel2)!important;color:var(--text)!important;border-radius:14px!important;text-align:start!important}.lang-grid button>span{grid-row:1/3;font-size:1.1rem}.lang-grid button>b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-grid button>small{font-size:.58rem;color:var(--muted)}.lang-grid button>em{position:absolute;top:7px;inset-inline-end:8px;font-style:normal;color:var(--a)}.lang-grid button.active{border-color:var(--a)!important;background:color-mix(in srgb,var(--a) 13%,var(--panel2))!important;box-shadow:0 0 18px var(--glow)}
.appearance-modes{grid-template-columns:1fr 1fr!important}.appearance-modes button{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.4;min-height:46px}.appearance-modes button[data-color-mode="system"]{grid-column:1/-1}
#resultSection{scroll-margin-top:92px}.poster-pending small{max-width:78%;text-align:center;line-height:1.55}.poster-wrap.image-failed:after{content:attr(data-poster-status);position:absolute;inset-inline:12px;bottom:12px;color:var(--muted);font-size:.65rem;text-align:center}
.trailer-alt-links{display:grid;gap:8px;margin:10px 0}.trailer-alt-btn{width:100%;min-height:44px;border-radius:14px}.trailer-source{white-space:nowrap}.trailer-frame-wrap iframe{width:100%;height:100%;border:0}
html[data-color-mode="light"] .lang-grid button{background:#f8fafc!important;color:#111827!important;border-color:rgba(15,23,42,.08)!important}
@media(max-width:520px){.app-shell{padding:12px}.topbar{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}.brand-mark{width:40px;height:40px;flex-basis:40px}.top-actions{grid-auto-columns:36px;gap:4px}.top-actions .icon-btn{width:36px!important;height:36px!important;flex-basis:36px!important}.brand-copy strong{font-size:.92rem}.lang-sheet,.appearance-sheet,.sound-sheet{top:calc(64px + env(safe-area-inset-top))!important}.lang-grid{grid-template-columns:1fr 1fr}.appearance-sheet label{align-items:flex-start}.sound-sheet{padding:12px!important}}
@media(max-width:360px){.brand-copy small{display:none}.top-actions{grid-auto-columns:34px}.top-actions .icon-btn{width:34px!important;height:34px!important}.lang-grid{grid-template-columns:1fr}.lang-sheet,.appearance-sheet,.sound-sheet{width:calc(100vw - 16px)!important}}

/* v0.5.5 - viewport-safe utility portals + terminal poster state */
body>.lang-sheet,body>.appearance-sheet,body>.sound-sheet{
 position:fixed!important;
 top:calc(74px + env(safe-area-inset-top))!important;
 left:max(10px,env(safe-area-inset-left))!important;
 right:max(10px,env(safe-area-inset-right))!important;
 inset-inline-start:auto!important;
 inset-inline-end:auto!important;
 transform:none!important;
 width:auto!important;
 max-width:390px!important;
 margin-inline:auto!important;
 max-height:min(72dvh,640px)!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior:contain;
 z-index:999!important;
 contain:layout paint;
}
body>.lang-sheet *,body>.appearance-sheet *,body>.sound-sheet *{max-width:100%;min-width:0}
body>.appearance-sheet .mode-grid,body>.appearance-sheet .appearance-modes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body>.appearance-sheet button,body>.sound-sheet button{white-space:normal;overflow-wrap:anywhere}
.noimg.poster-final small{max-width:80%;text-align:center;color:var(--muted);line-height:1.55}
@media(max-width:430px){body>.lang-sheet,body>.appearance-sheet,body>.sound-sheet{top:calc(66px + env(safe-area-inset-top))!important;left:8px!important;right:8px!important;max-width:none!important;max-height:min(76dvh,620px)!important}.lang-grid{grid-template-columns:1fr!important}}
@media(max-height:640px){body>.lang-sheet,body>.appearance-sheet,body>.sound-sheet{top:calc(58px + env(safe-area-inset-top))!important;max-height:calc(100dvh - 78px)!important}}

/* v0.5.9 - native direct trailer playback */
.trailer-video-wrap video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;object-fit:contain}
.trailer-video-status{position:absolute;inset:auto 12px 12px 12px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.62);color:#fff;text-align:center;font-size:.72rem;pointer-events:none;backdrop-filter:blur(8px)}
.trailer-video-wrap video::-webkit-media-controls-panel{background:linear-gradient(transparent,rgba(0,0,0,.62))}


/* v0.5.11 - clearer source ratings + less intrusive missing-poster state */
.score-strip{align-items:center}.score-strip span{font-variant-numeric:tabular-nums}.vote-count{color:var(--muted);white-space:nowrap}
.poster-wrap:has(.noimg.poster-final){aspect-ratio:16/10;min-height:180px}.noimg.poster-final{font-size:32px}.noimg.poster-final small{font-size:.72rem}
@media(max-width:430px){.score-strip span{font-size:.73rem;padding:5px 7px}.poster-wrap:has(.noimg.poster-final){min-height:160px}}

/* v0.5.12 - deterministic compact missing-poster layout (no :has dependency) */
.poster-wrap.poster-missing-final{aspect-ratio:auto!important;height:112px!important;min-height:112px!important;max-height:112px!important}
.poster-wrap.poster-missing-final .noimg{min-height:112px!important;height:112px!important}
.poster-wrap.image-failed.poster-missing-final{aspect-ratio:auto!important;height:112px!important;min-height:112px!important;max-height:112px!important}
.score-strip{display:flex;flex-wrap:wrap;gap:6px}
.score-strip span{max-width:100%;white-space:normal;line-height:1.35}
@media(max-width:430px){.poster-wrap.poster-missing-final,.poster-wrap.poster-missing-final .noimg,.poster-wrap.image-failed.poster-missing-final{height:96px!important;min-height:96px!important;max-height:96px!important}}

/* v0.5.17 People Graph + clickable cast */
.detail-people{margin-top:14px;padding:13px;border-radius:18px;border:1px solid color-mix(in srgb,var(--a) 18%,transparent);background:color-mix(in srgb,var(--panel2) 94%,var(--a) 6%)}
.detail-people>small{display:block;color:var(--muted);margin-bottom:9px}.person-chip-row{display:flex;flex-wrap:wrap;gap:7px}.person-link-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:7px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--a) 24%,transparent);background:color-mix(in srgb,var(--panel) 90%,var(--a) 10%);color:var(--text);font:inherit;font-size:.76rem;cursor:pointer;transition:.18s transform,.18s border-color}.person-link-chip:hover{border-color:color-mix(in srgb,var(--a) 55%,transparent)}.person-link-chip:active{transform:scale(.96)}
.people-results{display:grid;gap:10px;grid-column:1/-1}.person-result-card{display:grid;grid-template-columns:72px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:12px;border-radius:20px;border:1px solid color-mix(in srgb,var(--a) 16%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,var(--a) 4%),var(--panel));cursor:pointer;box-shadow:0 10px 28px color-mix(in srgb,var(--glow) 18%,transparent)}.person-result-photo{width:72px;height:88px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--panel2);font-size:1.6rem}.person-result-photo img{width:100%;height:100%;object-fit:cover}.person-result-photo.no-photo:before{content:'👤'}.person-result-copy{min-width:0}.person-result-copy h3{margin:3px 0 5px;font-family:var(--heading-font);overflow:hidden;text-overflow:ellipsis}.person-result-copy p,.person-result-copy small{display:block;margin:2px 0;color:var(--muted);font-size:.7rem;line-height:1.45}.person-result-arrow{font-size:1.5rem;color:var(--muted)}
.person-profile{display:grid;gap:18px}.person-hero{display:grid;grid-template-columns:116px minmax(0,1fr);gap:15px;align-items:center}.person-hero-photo{width:116px;height:150px;object-fit:cover;border-radius:22px;background:var(--panel2);box-shadow:0 14px 34px color-mix(in srgb,var(--glow) 22%,transparent)}.person-no-photo{display:grid;place-items:center;font-size:2.6rem}.person-hero-copy{min-width:0}.person-hero-copy h2{margin:5px 0 8px;overflow-wrap:anywhere}.person-hero-copy small{display:block;color:var(--muted);margin-bottom:9px}.person-bio{margin:0;line-height:1.9;color:var(--muted)}
.person-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.person-meta-grid>div{min-width:0;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--panel2) 94%,var(--a) 6%);border:1px solid color-mix(in srgb,var(--a) 13%,transparent)}.person-meta-grid small{display:block;color:var(--muted);margin-bottom:5px}.person-meta-grid b{display:block;overflow-wrap:anywhere;font-size:.85rem}
.person-source-status{display:flex;flex-wrap:wrap;gap:6px}.person-source-status span{padding:6px 9px;border-radius:999px;background:var(--panel2);border:1px solid color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted);font-size:.67rem}.person-source-status span.ok{color:#22c55e}.person-source-status span.warn{color:#f59e0b}
.person-section{display:grid;gap:11px}.person-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.person-section-head small{color:var(--muted)}.person-section-head h3{margin:2px 0 0}.person-section-head>span{color:var(--muted);font-size:.8rem}.person-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.person-tabs::-webkit-scrollbar{display:none}.person-tabs button{white-space:nowrap;min-height:36px;padding:7px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--muted) 18%,transparent);background:var(--panel2);color:var(--muted);font:inherit;font-size:.72rem}.person-tabs button.active{color:var(--text);border-color:color-mix(in srgb,var(--a) 48%,transparent);background:color-mix(in srgb,var(--panel2) 84%,var(--a) 16%)}
.person-empty{grid-column:1/-1;display:grid;gap:7px;text-align:center;padding:20px 14px;border:1px dashed color-mix(in srgb,var(--muted) 24%,transparent);border-radius:18px;color:var(--muted)}.person-empty b{color:var(--text)}.person-empty span{line-height:1.7;font-size:.76rem}.person-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.person-gallery-item{position:relative;overflow:hidden;aspect-ratio:3/4;padding:0;border:0;border-radius:15px;background:var(--panel2);cursor:pointer}.person-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.person-gallery-item span{position:absolute;inset-inline:5px;bottom:5px;padding:4px 6px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:.58rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-loading{grid-column:1/-1;min-height:100px;display:grid;place-items:center;color:var(--muted);font-size:.78rem}
@media(max-width:520px){.person-hero{grid-template-columns:92px minmax(0,1fr)}.person-hero-photo{width:92px;height:120px;border-radius:18px}.person-meta-grid{grid-template-columns:1fr 1fr}.person-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.person-result-card{grid-template-columns:62px minmax(0,1fr) 18px}.person-result-photo{width:62px;height:78px}}


/* v0.5.18 cinematic theme intros */
.cinematic-fx{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden;contain:layout paint}.cinematic-kiss-mark{position:absolute;left:50%;top:48%;font-size:clamp(72px,24vw,150px);filter:drop-shadow(0 16px 34px rgba(225,29,72,.32));opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-18deg);animation:vynoraKissIntro 1.9s cubic-bezier(.18,.8,.22,1) forwards}.cinematic-heart-wave{position:absolute;left:50%;top:53%;font-family:serif;font-size:clamp(28px,9vw,58px);letter-spacing:.35em;color:#fb7185;text-shadow:0 0 24px rgba(251,113,133,.58);white-space:nowrap;opacity:0;transform:translate(-50%,0);animation:vynoraHeartWave 3.8s 1.25s ease-out forwards}.cinematic-zombie{position:absolute;bottom:5%;left:-28vw;font-size:clamp(100px,35vw,230px);filter:drop-shadow(0 20px 30px rgba(0,0,0,.55));transform:rotate(7deg);animation:vynoraZombieWalk 4.8s cubic-bezier(.16,.75,.2,1) forwards}.cinematic-zombie-shadow{position:absolute;left:0;right:0;bottom:0;height:42%;background:radial-gradient(ellipse at 45% 100%,rgba(41,65,42,.34),transparent 60%);opacity:0;animation:vynoraZombieFog 4.9s ease-out forwards}.cinematic-blood-curtain{position:absolute;inset:0;display:flex;align-items:flex-start;gap:0;filter:drop-shadow(0 14px 18px rgba(80,0,14,.25))}.cinematic-blood-curtain i{display:block;width:15%;height:0;background:linear-gradient(180deg,rgba(115,0,20,.95),rgba(185,0,42,.86) 58%,rgba(90,0,20,.15));border-radius:0 0 48% 52%;transform-origin:top;animation:vynoraBloodDrop 2.35s cubic-bezier(.22,.72,.26,1) forwards}.cinematic-blood-curtain i:nth-child(2){animation-delay:.09s;height:0}.cinematic-blood-curtain i:nth-child(3){animation-delay:.18s}.cinematic-blood-curtain i:nth-child(4){animation-delay:.05s}.cinematic-blood-curtain i:nth-child(5){animation-delay:.22s}.cinematic-blood-curtain i:nth-child(6){animation-delay:.12s}.cinematic-blood-curtain i:nth-child(7){animation-delay:.26s}
@keyframes vynoraKissIntro{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-20deg)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.13) rotate(7deg)}48%{transform:translate(-50%,-50%) scale(.94) rotate(-4deg)}68%{opacity:1;transform:translate(-50%,-50%) scale(1.02) rotate(0)}100%{opacity:0;transform:translate(-50%,-56%) scale(1.16) rotate(3deg)}}@keyframes vynoraHeartWave{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-65vh) scale(1.25);letter-spacing:.7em}}@keyframes vynoraZombieWalk{0%{left:-34vw;opacity:0;transform:translateY(10%) rotate(8deg) scale(.82)}16%{opacity:1}48%{transform:translateY(-2%) rotate(-4deg) scale(1.02)}75%{left:44vw;opacity:1;transform:translateY(2%) rotate(5deg) scale(1.08)}100%{left:105vw;opacity:0;transform:translateY(-5%) rotate(-3deg) scale(1.1)}}@keyframes vynoraZombieFog{0%,10%{opacity:0}35%{opacity:1}100%{opacity:0}}@keyframes vynoraBloodDrop{0%{height:0;opacity:0}12%{opacity:1}62%{height:72vh}78%{height:88vh;opacity:.82}100%{height:105vh;opacity:0}}
@media(prefers-reduced-motion:reduce){.cinematic-fx{display:none}}

/* v0.5.19 mode-aware discovery: circular random people profiles */
.mode-hidden{display:none!important}.people-discovery-head{align-items:center}.people-discovery-head>div{display:grid;gap:3px;min-width:0}.people-discovery-head small{display:block}.spotlight-refresh{border:1px solid color-mix(in srgb,var(--a) 24%,transparent);background:color-mix(in srgb,var(--panel) 88%,var(--a) 12%);color:var(--text);border-radius:13px;padding:8px 11px;font:inherit;font-size:.72rem;white-space:nowrap}.people-spotlight{display:flex;gap:13px;overflow-x:auto;padding:5px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:none}.people-spotlight::-webkit-scrollbar{display:none}.spotlight-person{appearance:none;border:0;background:transparent;color:var(--text);padding:0;min-width:76px;width:76px;display:grid;justify-items:center;gap:7px;scroll-snap-align:start;font:inherit}.spotlight-avatar{width:68px;height:68px;border-radius:50%;padding:2px;background:linear-gradient(145deg,var(--a),var(--b));box-shadow:0 8px 24px color-mix(in srgb,var(--glow) 55%,transparent);position:relative;overflow:hidden;display:grid;place-items:center}.spotlight-avatar:after{content:"";position:absolute;inset:2px;border-radius:50%;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--panel) 80%,transparent);pointer-events:none}.spotlight-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:var(--panel2);position:relative;z-index:1}.spotlight-avatar i{position:absolute;inset:2px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 82%,var(--a) 18%),var(--panel));font-style:normal;font-weight:900;font-size:1.15rem}.spotlight-avatar.no-photo img{display:none}.spotlight-person b{width:100%;font-size:.68rem;line-height:1.45;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotlight-person:active{transform:scale(.96)}.spotlight-loading{min-height:82px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:.76rem}.spotlight-loading span{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--a) 20%,transparent);border-top-color:var(--a);animation:spin .8s linear infinite}@media(max-width:380px){.spotlight-person{min-width:70px;width:70px}.spotlight-avatar{width:62px;height:62px}}

/* v0.5.20 people lane fixes */
.mode-hidden{display:none!important}
.person-credit-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 1px 10px}.person-credit-tabs::-webkit-scrollbar{display:none}.person-credit-tabs button{flex:0 0 auto;appearance:none;border:1px solid rgba(127,127,127,.2);border-radius:999px;padding:9px 13px;background:rgba(127,127,127,.06);color:inherit;font:inherit;font-size:12px}.person-credit-tabs button.active{border-color:var(--a);background:color-mix(in srgb,var(--a) 16%,transparent)}

/* v0.5.44 unified animated rating deck */
.rating-deck{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;margin:10px 0 9px}.rating-deck span{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px!important;padding:8px 10px!important;border-radius:14px!important;white-space:normal!important;text-align:center;line-height:1.35!important;background:linear-gradient(135deg,color-mix(in srgb,var(--a) 13%,var(--panel2)),color-mix(in srgb,var(--b) 7%,var(--panel2)))!important;border:1px solid color-mix(in srgb,var(--a) 22%,transparent)!important;box-shadow:0 7px 22px color-mix(in srgb,var(--a) 8%,transparent);animation:ratingRise .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--ri,0)*55ms);overflow:hidden}.rating-deck span:after{content:"";position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.12) 50%,transparent 58%);transform:translateX(-70%);animation:ratingShine 5.5s ease-in-out infinite;animation-delay:calc(var(--ri,0)*.35s)}.rating-deck .rating-missing{grid-column:1/-1;color:var(--muted);font-weight:700!important;border-style:dashed!important;background:color-mix(in srgb,var(--panel2) 94%,var(--a) 6%)!important}.card:hover .rating-deck span,.card:focus-within .rating-deck span{transform:translateY(-1px)}@keyframes ratingRise{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes ratingShine{0%,72%,100%{transform:translateX(-70%)}86%{transform:translateX(70%)}}@media(max-width:360px){.rating-deck{grid-template-columns:1fr}}

/* v0.5.45 search reliability + compact progress copy */
.search-progress-head{grid-template-columns:38px minmax(0,1fr) 44px;align-items:center}
.search-progress-head>div{min-width:0;overflow:hidden}
.search-progress-head b{font-size:clamp(.82rem,3.7vw,.96rem);line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.search-progress-head small{font-size:clamp(.62rem,2.8vw,.72rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-progress-head strong{width:44px;text-align:center;font-size:.78rem;white-space:nowrap}
@media(max-width:380px){.search-progress{padding:10px 11px}.search-progress-head{grid-template-columns:34px minmax(0,1fr) 40px;gap:7px}.search-orb{width:34px;height:34px;border-radius:12px}.search-progress-head b{font-size:.8rem}.search-progress-head strong{width:40px;font-size:.72rem}}


/* v0.5.46 premium animated rating deck + duplicate-free source cards */
.card .rating-deck{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:11px 0 10px;perspective:700px}
.card .rating-pill{--tone:var(--a);position:relative;isolation:isolate;display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:0;min-height:52px!important;padding:8px 10px!important;border-radius:16px!important;overflow:hidden;color:var(--text);background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 13%,var(--panel2)),color-mix(in srgb,var(--b) 5%,var(--panel2)))!important;border:1px solid color-mix(in srgb,var(--tone) 28%,transparent)!important;box-shadow:0 8px 24px color-mix(in srgb,var(--tone) 9%,transparent);animation:ratingCardIn .55s cubic-bezier(.16,.84,.2,1) both;animation-delay:calc(var(--ri,0)*70ms);transform-origin:50% 100%}
.card .rating-pill>i{grid-row:1/3;width:30px;height:30px;border-radius:11px;display:grid;place-items:center;font-style:normal;font-size:.9rem;background:color-mix(in srgb,var(--tone) 17%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 20%,transparent)}
.card .rating-pill>b{min-width:0;font-size:.66rem;line-height:1.15;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}
.card .rating-pill>strong{min-width:0;font-size:.82rem;line-height:1.25;font-weight:950;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.card .rating-pill:before{content:"";position:absolute;z-index:-1;inset:auto -20% -90% 20%;height:120%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tone) 19%,transparent),transparent 67%);animation:ratingGlow 4.8s ease-in-out infinite alternate;animation-delay:calc(var(--ri,0)*.4s)}
.card .rating-pill:after{content:"";position:absolute;inset:-80% -60%;background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,.16) 49%,rgba(255,255,255,.04) 53%,transparent 59%);transform:translateX(-55%) rotate(6deg);animation:ratingSweep 6.2s ease-in-out infinite;animation-delay:calc(1.1s + var(--ri,0)*.55s);pointer-events:none}
.card .rating-pill.vynora{--tone:var(--b)}.card .rating-pill.great{--tone:#22c55e}.card .rating-pill.good{--tone:#84cc16}.card .rating-pill.mid{--tone:#f59e0b}.card .rating-pill.low{--tone:#f97316}.card .rating-pill.community{--tone:#38bdf8}
.card .rating-pill.rating-missing{grid-column:1/-1!important;grid-template-columns:auto 1fr;grid-template-rows:1fr;min-height:44px!important;border-style:dashed!important;--tone:#94a3b8}.card .rating-pill.rating-missing>i{grid-row:auto}.card .rating-pill.rating-missing>b{font-size:.73rem;color:var(--muted);white-space:normal}
.card:active .rating-pill{transform:translateY(-1px)}
@keyframes ratingCardIn{0%{opacity:0;transform:translateY(12px) rotateX(-9deg) scale(.96)}100%{opacity:1;transform:none}}
@keyframes ratingSweep{0%,72%,100%{transform:translateX(-55%) rotate(6deg);opacity:0}80%{opacity:.8}90%{transform:translateX(55%) rotate(6deg);opacity:0}}
@keyframes ratingGlow{from{transform:scale(.85);opacity:.45}to{transform:scale(1.12);opacity:.9}}
@media(max-width:380px){.card .rating-deck{grid-template-columns:1fr}.card .rating-pill{min-height:48px!important}}
@media(prefers-reduced-motion:reduce){.card .rating-pill,.card .rating-pill:before,.card .rating-pill:after{animation:none!important}}


/* v0.5.48 animated cinematic card action buttons */
.card-actions.compact button{position:relative;isolation:isolate;overflow:hidden;border:0!important;background:transparent!important;box-shadow:none!important}
.card-actions.compact button:before{content:"";position:absolute;z-index:-2;inset:0;border-radius:14px;background:conic-gradient(from var(--orbit,0deg),#8b5cf6,#d946ef,#22d3ee,#34d399,#f59e0b,#8b5cf6);animation:vynoraActionOrbit 4.6s linear infinite;filter:saturate(1.18) brightness(1.08);opacity:.88}
.card-actions.compact button:after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 95%,var(--a) 5%),color-mix(in srgb,var(--panel) 96%,var(--b) 4%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 16px color-mix(in srgb,var(--glow) 18%,transparent)}
.card-actions.compact button:nth-child(2):before{animation-delay:-.9s}.card-actions.compact button:nth-child(3):before{animation-delay:-1.8s}.card-actions.compact button:nth-child(4):before{animation-delay:-2.7s}.card-actions.compact button:nth-child(5):before{animation-delay:-3.6s}
.card-actions.compact button>span,.card-actions.compact button{color:var(--text)!important}.card-actions.compact button>span{position:relative;z-index:1;color:var(--muted)!important;font-weight:750}
.card-actions.compact button.action-main:first-child:before{background:conic-gradient(from var(--orbit,0deg),#a78bfa,#d946ef,#60a5fa,#a78bfa)}
.card-actions.compact button[data-trailer]:before{background:conic-gradient(from var(--orbit,0deg),#fb7185,#f97316,#facc15,#fb7185)}
.card-actions.compact button[data-watch]:before{background:conic-gradient(from var(--orbit,0deg),#22d3ee,#3b82f6,#8b5cf6,#22d3ee)}
.card-actions.compact button[data-reaction="seen"]:before{background:conic-gradient(from var(--orbit,0deg),#34d399,#22c55e,#a3e635,#34d399)}
.card-actions.compact button.action-more:before{background:conic-gradient(from var(--orbit,0deg),#94a3b8,#8b5cf6,#64748b,#94a3b8)}
.card-actions.compact button:hover:before,.card-actions.compact button:focus-visible:before{opacity:1;filter:saturate(1.35) brightness(1.18)}
.card-actions.compact button:hover:after,.card-actions.compact button:focus-visible:after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 0 23px color-mix(in srgb,var(--glow) 35%,transparent)}
.card-actions.compact button:active{transform:scale(.94)!important}.card-actions.compact button:active:before{animation-duration:1.6s}
html[data-color-mode="light"] .card-actions.compact button:after{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,250,252,.95));box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 5px 16px rgba(76,29,149,.08)}
@keyframes vynoraActionOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.card-actions.compact button:before{animation:none!important}}


/* v0.5.49 cinematic media cards: stronger frames, separators, typography and day/night polish */
.cards{gap:18px!important;position:relative}
.cards>.media-card{position:relative}
.cards>.media-card:not(:last-child)::after{content:"";position:absolute;inset-inline:9%;bottom:-10px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--a) 28%,transparent),color-mix(in srgb,var(--b) 28%,transparent),transparent);opacity:.72;box-shadow:0 0 12px color-mix(in srgb,var(--a) 18%,transparent)}
.media-card{border:1px solid color-mix(in srgb,var(--a) 19%,rgba(255,255,255,.12))!important;border-radius:28px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,var(--a) 6%),color-mix(in srgb,var(--panel2) 92%,var(--b) 8%))!important;box-shadow:0 24px 65px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--b) 6%,transparent),inset 0 1px 0 rgba(255,255,255,.07)!important;overflow:hidden;isolation:isolate;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.media-card::before{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:29px;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--a) 55%,transparent),transparent 35%,color-mix(in srgb,var(--b) 45%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;animation:cardFramePulse 5.5s ease-in-out infinite}
.media-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--a) 42%,transparent)!important;box-shadow:0 30px 75px rgba(0,0,0,.28),0 0 35px color-mix(in srgb,var(--glow) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.1)!important}
.poster-wrap{border-bottom:1px solid color-mix(in srgb,var(--a) 15%,transparent);box-shadow:inset 0 -30px 45px rgba(0,0,0,.18)}
.poster-wrap::after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,color-mix(in srgb,var(--panel2) 48%,transparent));pointer-events:none}
.poster-shine{position:absolute;inset:-30% -70%;z-index:3;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.16) 50%,transparent 58%);transform:translateX(-55%) rotate(8deg);animation:posterSweep 8s ease-in-out infinite;pointer-events:none}
.card-body{padding:15px 15px 16px!important}
.card-title-row{display:flex!important;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px!important}
.title-block{min-width:0;flex:1}
.title-kicker{display:block;color:color-mix(in srgb,var(--a) 70%,var(--text) 30%);font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;opacity:.9}
.media-card h3{font-size:clamp(1.05rem,4vw,1.32rem)!important;line-height:1.28!important;margin:0!important;font-weight:950!important;letter-spacing:-.015em}
.original-title{display:block;color:var(--muted);font-size:.64rem;line-height:1.35;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-kind-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:var(--text);font-size:.61rem;font-weight:850;background:linear-gradient(135deg,color-mix(in srgb,var(--a) 16%,transparent),color-mix(in srgb,var(--b) 12%,transparent));border:1px solid color-mix(in srgb,var(--a) 25%,transparent);box-shadow:0 5px 16px color-mix(in srgb,var(--glow) 10%,transparent)}
.cinematic-meta{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:4px 0 12px!important}
.cinematic-meta span{font-size:.65rem!important;line-height:1.35!important;padding:6px 8px!important;border:1px solid color-mix(in srgb,var(--muted) 12%,transparent)!important;background:color-mix(in srgb,var(--panel2) 88%,var(--a) 5%)!important;color:var(--muted)!important;border-radius:10px!important}
.description-box{position:relative;margin:0 0 12px;padding:11px 12px;border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 84%,transparent),color-mix(in srgb,var(--a) 5%,transparent));border:1px solid color-mix(in srgb,var(--muted) 10%,transparent);overflow:hidden}
.description-box::before{content:"";position:absolute;inset-inline-start:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--a),var(--b));opacity:.9}
.description-box p{margin:0!important;padding-inline-start:8px!important;font-size:.72rem!important;line-height:1.85!important;color:color-mix(in srgb,var(--text) 74%,var(--muted) 26%)!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.localize-status{display:flex!important;align-items:center;gap:5px;margin-top:8px!important;padding-inline-start:8px;color:color-mix(in srgb,var(--a) 74%,var(--text) 26%)!important;font-size:.62rem!important;line-height:1.5!important}
.localize-status i{font-style:normal;animation:statusSpark 1.4s ease-in-out infinite}
.card-actions.compact{gap:7px!important;margin-top:10px!important;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--muted) 10%,transparent)}
.card-actions.compact button{min-height:48px!important;border-radius:15px!important}
html[data-color-mode="light"] body{color:#172033}
html[data-color-mode="light"] .media-card{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,247,255,.96))!important;border-color:color-mix(in srgb,var(--a) 18%,#d7dbea)!important;box-shadow:0 20px 55px rgba(65,45,120,.10),inset 0 1px 0 rgba(255,255,255,.9)!important}
html[data-color-mode="light"] .media-card::before{opacity:.52}
html[data-color-mode="light"] .poster-wrap{box-shadow:inset 0 -25px 40px rgba(35,25,60,.10)}
html[data-color-mode="light"] .description-box{background:linear-gradient(145deg,rgba(248,250,255,.95),rgba(247,240,255,.85));border-color:rgba(110,90,160,.11)}
html[data-color-mode="light"] .description-box p{color:#4f5870!important}
html[data-color-mode="light"] .cinematic-meta span{background:rgba(245,247,252,.92)!important;color:#687187!important;border-color:rgba(100,110,140,.13)!important}
html[data-color-mode="light"] .original-title{color:#778096}
@keyframes cardFramePulse{0%,100%{opacity:.42;filter:saturate(.9)}50%{opacity:.86;filter:saturate(1.25)}}
@keyframes posterSweep{0%,72%,100%{transform:translateX(-60%) rotate(8deg);opacity:0}80%{opacity:.55}91%{transform:translateX(55%) rotate(8deg);opacity:0}}
@keyframes statusSpark{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.18);opacity:1}}
@media(max-width:520px){.media-card{border-radius:24px!important}.media-card::before{border-radius:25px}.card-body{padding:14px 13px 15px!important}.media-card h3{font-size:1.04rem!important}.description-box p{-webkit-line-clamp:4}.cinematic-meta span{font-size:.61rem!important;padding:5px 7px!important}.card-actions.compact button{min-height:46px!important}}
@media(prefers-reduced-motion:reduce){.media-card::before,.poster-shine,.localize-status i{animation:none!important}.media-card:hover{transform:none}}
