/* Who Boxd It? — film-festival identity layer.
   Shared components live here; the investigation's noir palette remains in app.css. */
:root{
  --cinema-night:#0c1218;
  --cinema-base:#121d25;
  --cinema-surface:#1b2a34;
  --cinema-raised:#243541;
  --cinema-line:#46606b;
  --cinema-cream:#f7f3e8;
  --cinema-muted:#b6c6ce;
  --cinema-mint:#1bd466;
  --cinema-sky:#72d2fa;
  --cinema-amber:#efaf62;
  --cinema-shadow:0 20px 55px #02080c80;
  --cinema-radius:14px;
}

body:not(.deep-case-active):not(.investigation-lobby-active){
  background-color:var(--cinema-night);
  background-image:
    radial-gradient(ellipse 68% 42% at 76% -10%,#47647452,transparent 83%),
    radial-gradient(ellipse 36% 54% at -8% 38%,#285b4840,transparent 85%),
    linear-gradient(180deg,#141e26 0%,#0c141a 58%,#0b1116 100%);
}
body{color:var(--cinema-cream);font-family:"Segoe UI",Arial,sans-serif}
button,input,select,textarea{font-family:inherit}
button{border-radius:6px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}
button:hover:not(:disabled){filter:none;transform:none}
button:active:not(:disabled){transform:translateY(0)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{
  outline:3px solid #9be3ff!important;outline-offset:3px;
}
.primary,.secondary,.ghost{font-weight:700;box-shadow:none}
.primary{background:#00c84f;color:#071c12;border:1px solid #00c84f}
.primary:hover:not(:disabled){background:#00df59;border-color:#00df59;box-shadow:none}
.secondary{background:#35baf1;color:#08232f;border:1px solid #35baf1}
.secondary:hover:not(:disabled){background:#52c7f5;border-color:#52c7f5;box-shadow:none}
.ghost{background:#283b46;color:#eaf5f7;border:1px solid #506570}
.ghost:hover:not(:disabled){background:#354c59;border-color:#8ba9b7;box-shadow:none}
button:disabled{box-shadow:none;filter:saturate(.5);opacity:.64}
input:not([type=checkbox]),select,textarea{border-radius:8px;background:#0f1a21;border-color:#536974;color:var(--cinema-cream)}
input:not([type=checkbox]):focus,select:focus,textarea:focus{border-color:#82d8fa;box-shadow:0 0 0 3px #72d2fa29}
input::placeholder,textarea::placeholder{color:#a4b4bd;opacity:1}
.status,.sub{color:var(--cinema-muted);line-height:1.5}
.wrap{max-width:1180px;padding-top:clamp(24px,4vw,50px)}

/* Marquee: three brand lights stay unchanged; the frame does the work. */
.site-header{height:72px;background:#0b1116f5;border-bottom:1px solid #3e535e;box-shadow:0 7px 28px #03080c99;position:relative;z-index:30}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:linear-gradient(90deg,transparent,#edac5799 23%,#55bf8a99 52%,#6dc8ec99 77%,transparent);pointer-events:none}
.header-inner{width:min(1160px,calc(100% - 32px))}
.brand{font-family:"Arial Black","Segoe UI",sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:-.055em;white-space:nowrap;text-shadow:0 2px 14px #0008}
.brand-dots i{box-shadow:inset 0 2px #ffffff65,0 0 12px #ffffff18}
.header-tag{color:#b8c8ce;font-size:.7rem;letter-spacing:.18em}
.language-toggle,.game-mode-toggle{min-height:43px;border:1px solid #607783;border-radius:6px;background:#202f39;color:var(--cinema-cream);box-shadow:none}
.language-toggle:hover:not(:disabled),.game-mode-toggle:hover:not(:disabled){background:#314651;border-color:#9ac5d1}
.game-mode-menu{border-right-color:#738c95;background:radial-gradient(circle at -30% -10%,#35505b66,transparent 42%),linear-gradient(160deg,#20313b,#101c23 66%);box-shadow:22px 0 70px #000b}
.game-mode-menu-header{border-bottom-color:#607681}
.game-mode-option::before{display:grid;place-items:center;grid-column:1;width:42px;height:42px;border-radius:9px;border:1px solid color-mix(in srgb,var(--mode-accent) 48%,#435965);background:color-mix(in srgb,var(--mode-accent) 14%,#14232c);color:var(--mode-accent);font:900 .79rem/1 "Segoe UI",sans-serif}
.game-mode-option[data-game-mode="quiz"]::before{content:"01"}
.game-mode-option[data-game-mode="investigation"]::before{content:"02"}
.game-mode-option[data-game-mode="festival"]::before{content:"03"}
.game-mode-option[data-game-mode="spectrum"]::before{content:"04"}
.game-mode-option[data-game-mode="telephone"]::before{content:"05"}
.game-mode-option[data-game-mode="counterfeit"]::before{content:"06"}
.game-mode-option[data-game-mode="solo"]::before{content:"07"}
.game-mode-option.active{border-color:var(--mode-accent);background:linear-gradient(110deg,color-mix(in srgb,var(--mode-accent) 20%,#1b2b34),#1b2b34 75%)}

/* Secondary layers use the same materials, without competing with the game. */
body:not(.deep-case-active):not(.investigation-lobby-active) :is(.audio-settings,.player-profile-panel,.chat-panel,.app-modal-card){border-color:#607985;border-radius:12px;background:linear-gradient(160deg,#263944,#14232c 78%);box-shadow:0 24px 65px #000b}
.audio-settings h3,.player-profile-panel h3,.app-modal-card h2{color:var(--cinema-cream)}
.audio-setting output{color:#a5e2f7;font-variant-numeric:tabular-nums}
.sound-category-settings label,.achievement-item{border-color:#425f6d;border-radius:8px;background:#192c36}
.chat-header,.chat-compose{background:#14242d;border-color:#496371}
.chat-bubble{border-radius:9px;background:#293f4c}
.chat-message.mine .chat-bubble{background:#21503c}
.app-modal-actions button{min-height:44px}

/* Foyer: one clear entrance to play, with profile and spectator paths subordinate. */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,390px);align-items:center;gap:clamp(22px,4vw,54px);max-width:1100px;margin:5px auto 30px;padding:0 0 28px;border-bottom:1px solid #55707c;overflow:hidden}
body:not(.account-home) .home-mode-preview{display:none}
.hero-guest-art{position:relative;display:none;width:min(100%,355px);height:260px;justify-self:center;overflow:hidden;pointer-events:none}
body:not(.account-home) .hero-guest-art{display:block}
.hero-guest-glow{position:absolute;inset:20px 0 8px;border-radius:50%;background:radial-gradient(ellipse,#386f6270 0%,#1c50653b 39%,transparent 72%);filter:blur(15px)}
.hero-guest-poster{position:absolute;top:42px;left:calc(50% - 60px);display:block;width:120px;height:178px;overflow:hidden;border:2px solid var(--poster-edge);border-radius:8px;background:linear-gradient(155deg,var(--poster-light),#14222a 65%);box-shadow:0 18px 32px #0009,inset 0 0 0 7px #101920a8;opacity:var(--slot-opacity,0);transform:translate(var(--slot-x,250px),var(--slot-y,30px)) rotate(var(--slot-rotate,13deg)) scale(var(--slot-scale,.86));transition:transform 780ms cubic-bezier(.22,.75,.25,1),opacity 500ms ease}
.hero-guest-poster::before{content:"";position:absolute;inset:11px 11px 43px;border:1px solid #ffffff69;border-radius:4px;background:linear-gradient(145deg,#ffffff18,transparent 48%),radial-gradient(circle at 64% 36%,var(--poster-glow),transparent 58%)}
.hero-guest-poster i{position:absolute;z-index:1;top:50px;left:34px;display:grid;place-items:center;width:48px;height:48px;border:4px solid #ecf5eacc;border-radius:50%;color:#f7fff8;font:900 1.8rem/1 "Segoe UI",sans-serif;font-style:normal;box-shadow:0 0 24px var(--poster-glow)}
.hero-guest-poster i span{display:block;transform:translateY(-1px)}
.hero-guest-poster i svg{width:27px;height:27px;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.hero-guest-poster[data-mode="spectrum"] i svg,.hero-guest-poster[data-mode="telephone"] i svg{stroke-width:2.5}
.hero-guest-poster strong{position:absolute;left:6px;right:6px;bottom:17px;z-index:1;color:#eef6f2;font:900 .61rem/1.1 "Segoe UI",sans-serif;letter-spacing:.035em;text-align:center;text-shadow:0 2px 6px #000c}
.hero-guest-poster[data-mode="investigation"]{--poster-edge:#f8a94d;--poster-light:#7e4b27;--poster-glow:#f7ae526b}
.hero-guest-poster[data-mode="quiz"]{--poster-edge:#2cdb79;--poster-light:#286c50;--poster-glow:#4bde8f82}
.hero-guest-poster[data-mode="festival"]{--poster-edge:#77cfee;--poster-light:#255575;--poster-glow:#7dd4f281}
.hero-guest-poster[data-mode="spectrum"]{--poster-edge:#c89be7;--poster-light:#594074;--poster-glow:#bb80e181}
.hero-guest-poster[data-mode="telephone"]{--poster-edge:#efbd73;--poster-light:#795038;--poster-glow:#e9ad6380}
.hero-guest-poster[data-mode="solo"]{--poster-edge:#7cdce5;--poster-light:#285f66;--poster-glow:#70dbe881}
.hero-guest-poster[data-slot="-1"]{--slot-x:-250px;--slot-y:34px;--slot-rotate:-20deg;--slot-scale:.84;--slot-opacity:0;z-index:0}
.hero-guest-poster[data-slot="0"]{--slot-x:-100px;--slot-y:30px;--slot-rotate:-14deg;--slot-scale:1;--slot-opacity:1;z-index:1}
.hero-guest-poster[data-slot="1"]{--slot-x:0px;--slot-y:-19px;--slot-rotate:-2deg;--slot-scale:1;--slot-opacity:1;z-index:3;box-shadow:0 22px 40px #000b,inset 0 0 0 7px #101920a8}
.hero-guest-poster[data-slot="2"]{--slot-x:100px;--slot-y:30px;--slot-rotate:13deg;--slot-scale:1;--slot-opacity:1;z-index:2}
.hero-guest-poster[data-slot="3"]{--slot-x:250px;--slot-y:34px;--slot-rotate:20deg;--slot-scale:.84;--slot-opacity:0;z-index:0}
.hero-guest-poster[data-slot="4"]{--slot-x:390px;--slot-y:34px;--slot-rotate:20deg;--slot-scale:.84;--slot-opacity:0;z-index:0}
.hero-guest-poster[data-slot="5"]{--slot-x:530px;--slot-y:34px;--slot-rotate:20deg;--slot-scale:.84;--slot-opacity:0;z-index:0}
.hero-guest-poster[data-slot="6"]{--slot-x:670px;--slot-y:34px;--slot-rotate:20deg;--slot-scale:.84;--slot-opacity:0;z-index:0}
.hero-guest-poster[data-mode="counterfeit"]{--poster-edge:#e8a4a0;--poster-light:#965b63;--poster-glow:#e8a4a080}
.hero-guest-poster.is-recycling{transition:none}
@media(prefers-reduced-motion:reduce){.hero-guest-poster{transition:none}}
.hero::after{content:"";position:absolute;left:0;bottom:-2px;width:min(215px,36%);height:3px;background:linear-gradient(90deg,#efaf62,#28d670,#70ccf1)}
.hero-copy{min-width:0}
.hero h1{max-width:700px;font-family:"Arial Black","Segoe UI",sans-serif;font-size:clamp(2.45rem,5.15vw,4.55rem);line-height:1.04;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 5px 28px #0009}
.hero h1 #homeHeroLead{color:var(--cinema-cream)}
.hero h1 .hero-accent{display:block;color:#27d96b}
.hero .sub{max-width:580px;margin:19px 0 0;font-size:clamp(1rem,1.5vw,1.18rem)}
.home-mode-preview{--preview-accent:#27d96b;position:relative;isolation:isolate;min-width:0;min-height:236px;padding:22px 24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--preview-accent) 54%,#536974);border-radius:14px;background:radial-gradient(circle at 90% 18%,color-mix(in srgb,var(--preview-accent) 24%,transparent),transparent 44%),linear-gradient(130deg,#20313b,#101a22 76%);box-shadow:0 18px 38px #0008}
.home-mode-preview::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#15232cf2 0%,#172630ed 42%,#17263044 100%)}
.home-mode-preview[data-mode="investigation"]{--preview-accent:#d4ae79;background:radial-gradient(circle at 86% 20%,#a275503c,transparent 48%),linear-gradient(130deg,#302b2a,#14191b 76%)}
.home-mode-preview[data-mode="investigation"]::before{background:linear-gradient(90deg,#241f1ef2 0%,#24211ee8 42%,#24211e40 100%)}
.home-mode-preview[data-mode="festival"]{--preview-accent:#efc17c;background:radial-gradient(circle at 86% 20%,#ae6f674f,transparent 48%),linear-gradient(130deg,#402631,#1d1920 76%)}
.home-mode-preview[data-mode="fictional"]{--preview-accent:#f2d392;background:radial-gradient(circle at 86% 20%,#b68a4c4f,transparent 48%),linear-gradient(130deg,#3b3024,#191b1b 76%)}
.home-mode-preview[data-mode="festival"]::before{background:linear-gradient(90deg,#2a1e25f2 0%,#2c2028e8 42%,#2c202840 100%)}
.home-mode-preview[data-mode="solo"]{--preview-accent:#6dcff4;background:radial-gradient(circle at 86% 20%,#4bb8e04f,transparent 48%),linear-gradient(130deg,#1b3340,#111c28 76%)}
.home-mode-preview-copy{position:relative;z-index:2;max-width:215px}
.home-mode-preview-kicker{display:block;color:var(--preview-accent);font-size:.68rem;font-weight:900;letter-spacing:.16em;line-height:1.3}
.home-mode-preview h2{margin:9px 0 7px;color:#fff;font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:900;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.home-mode-preview p{max-width:245px;margin:0;color:#d2dce0;font-size:.84rem;line-height:1.43}
.home-mode-preview-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.home-mode-preview-meta span{padding:5px 7px;border:1px solid color-mix(in srgb,var(--preview-accent) 44%,#475864);border-radius:5px;background:#111c24cf;color:#eef5f4;font-size:.69rem;font-weight:800;line-height:1.2}
.home-mode-preview-art{position:absolute;z-index:1;top:0;right:0;bottom:0;width:155px;overflow:hidden;pointer-events:none}
.preview-art-beam{position:absolute;top:-24px;right:5px;width:180px;height:290px;transform:rotate(-18deg);background:linear-gradient(90deg,transparent,#ffffff0b,transparent)}
.preview-art-card{position:absolute;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:74px;height:112px;padding:8px;border:2px solid color-mix(in srgb,var(--preview-accent) 64%,#d8e5e4);border-radius:7px;background:linear-gradient(160deg,#17252f,#384954 63%,#14202b);box-shadow:0 9px 16px #0009,inset 0 0 0 4px #07111778}
.preview-art-card i{position:absolute;inset:8px 8px 32px;border-radius:3px;background:linear-gradient(145deg,#627687,#192d38 65%,#0b141a)}
.preview-art-card b{z-index:1;color:#fff;font-family:"Arial Black",sans-serif;font-size:1.05rem;line-height:1;text-shadow:0 2px 6px #000}
.preview-art-card-one{top:79px;right:111px;transform:rotate(-17deg)}
.preview-art-card-two{top:38px;right:56px;transform:rotate(2deg)}
.preview-art-card-three{top:82px;right:2px;transform:rotate(17deg)}
.home-mode-preview[data-mode="investigation"] .preview-art-card{border-color:#aa805e;background:linear-gradient(155deg,#4d453b,#1a1b1b)}
.home-mode-preview[data-mode="investigation"] .preview-art-card i{background:repeating-linear-gradient(180deg,#9b8c7380 0 2px,transparent 2px 10px),linear-gradient(150deg,#49413a,#161716)}
.home-mode-preview[data-mode="investigation"] .preview-art-card b{color:#e7cda9}
.home-mode-preview[data-mode="festival"] .preview-art-card{border-color:#d7a56d;background:linear-gradient(155deg,#5a3540,#211b22)}
.home-mode-preview[data-mode="festival"] .preview-art-card i{background:linear-gradient(145deg,#c5a368,#4c2b32 62%,#20191f)}
.home-mode-preview[data-mode="festival"] .preview-art-card-one{top:85px;right:135px;transform:rotate(-9deg)}
.home-mode-preview[data-mode="festival"] .preview-art-card-two{top:70px;right:69px;transform:none}
.home-mode-preview[data-mode="festival"] .preview-art-card-three{top:85px;right:3px;transform:rotate(9deg)}
.home-mode-preview[data-mode="solo"] .preview-art-card{border-color:#78c9e6;background:linear-gradient(160deg,#174c65,#172733)}
.home-mode-preview[data-mode="solo"] .preview-art-card i{background:linear-gradient(145deg,#69bcd8,#236379 62%,#152d3b)}
.home-mode-preview[data-mode="solo"] .preview-art-card-one{top:74px;right:128px;transform:rotate(-8deg)}
.home-mode-preview[data-mode="solo"] .preview-art-card-two{top:69px;right:67px;transform:none}
.home-mode-preview[data-mode="solo"] .preview-art-card-three{top:74px;right:6px;transform:rotate(8deg)}
.card,.ui-panel,.home-account-panel,.home-lobby-panel,.solo-mode-card,.final-gallery-card{
  border:1px solid var(--cinema-line);border-radius:var(--cinema-radius);
  background:linear-gradient(155deg,#1e2d37f9 0%,#14212afc 80%);
  box-shadow:var(--cinema-shadow);
}
.card{padding:clamp(18px,2.7vw,30px)}
.home{max-width:1000px;margin:28px auto}
#home:has(#homeDashboard.hidden){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch;gap:20px;border:0;background:transparent;box-shadow:none;padding:0}
#home:has(#homeDashboard.hidden)>#profileLogin,#home:has(#homeDashboard.hidden)>#guestSpectatorJoin{min-width:0;margin:0;padding:clamp(22px,3vw,32px);border:1px solid #4e6773;border-radius:var(--cinema-radius);background:linear-gradient(155deg,#243742,#182630 75%);box-shadow:var(--cinema-shadow)}
#home:has(#homeDashboard.hidden)>#profileLogin{border-top:4px solid #27d96b}
#home:has(#homeDashboard.hidden)>#guestSpectatorJoin{border-top:4px solid #74cdef}
#home:has(#homeDashboard.hidden) .profile-login-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
#home:has(#homeDashboard.hidden) .profile-login-heading>div{min-width:0}
#home:has(#homeDashboard.hidden) .profile-login-heading h2{margin:0;padding:0;border:0;font-size:clamp(1.15rem,2vw,1.42rem)}
#home:has(#homeDashboard.hidden) .profile-login-heading p{margin:6px 0 0;color:#b9cdd3;font-size:.88rem;line-height:1.4}
.profile-login-mark{flex:none;display:grid;place-items:center;width:50px;height:50px;border:1px solid #35b86c;border-radius:10px;background:linear-gradient(145deg,#256344,#133b2a);box-shadow:inset 0 1px #ffffff12,0 5px 15px #0004}
.profile-login-mark svg{display:block;width:40px;height:40px;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.profile-login-mark .profile-icon-card{stroke:#f3f8f8}
.profile-login-mark .profile-icon-person{stroke:#f3f8f8}
#home:has(#homeDashboard.hidden) #profileStatus:empty{display:none}
#home h2,.solo-setup h2,#lobby h3,.home-lobby-panel h2{font-family:"Segoe UI",Arial,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.18;text-transform:uppercase;text-wrap:balance}
#home h2{margin-top:0;color:var(--cinema-cream);border-bottom-color:#506674}
#home .row{align-items:stretch}
#home .row>button{min-height:48px}
.home-account-panel{border-top:4px solid #75cbed}
.home-lobby-panel{border-top:4px solid #23d268}
@media(min-width:761px){#home:has(#homeDashboard.hidden)>#profileLogin{align-self:center}}
.home-profile-avatar{box-shadow:0 0 0 5px #15242c,0 0 0 8px #5f8291,0 16px 30px #0008}
.public-lobby-browser{border-top-color:#536c78}
.public-lobby-choice,.invite-panel,.spectator-join{border-radius:10px}
.public-lobby-choice{background:#13232b;border:1px solid #4d6874;padding:12px}
.invite-panel{background:linear-gradient(120deg,#192d37,#12212a);border-color:#4d7080}
.code{font-family:Consolas,monospace;font-variant-numeric:tabular-nums;border-left-color:#f0ae5e;border-radius:7px;box-shadow:inset 0 1px #ffffff12}
#lobby .layout{gap:20px}
#lobby .layout>aside.card{align-self:start}
#lobby .p{border:1px solid #3a5360;border-radius:9px;background:#13222b}
#lobby .lobby-avatar{border-color:#6d8d9d}
#hostControls{border-radius:10px}
.question-type-details{border-radius:9px;overflow:hidden}

/* Solo setup is a programme, not an oversized empty form. */
.solo-setup{max-width:1080px;margin-inline:auto}
.solo-setup-heading{border-bottom:1px solid #516975;padding-bottom:16px}
.solo-mode-grid{gap:18px;align-items:stretch}
.solo-mode-card{position:relative;overflow:hidden;border-top-width:4px;padding:clamp(19px,2.5vw,26px)}
.solo-mode-card:first-child{border-top-color:#69cfee;background:radial-gradient(circle at 100% 0%,#2d617354,transparent 58%),#182934}
.solo-mode-card:last-child{border-top-color:#27d871;background:radial-gradient(circle at 100% 0%,#256b4652,transparent 58%),#182934}
.solo-mode-card::before{position:absolute;right:14px;top:-22px;color:#d5e9ed11;font:900 7rem/1 "Arial Black",sans-serif;pointer-events:none}
.solo-mode-card:first-child::before{content:"01"}
.solo-mode-card:last-child::before{content:"02"}
.solo-mode-card h3{position:relative;max-width:85%;font-family:"Segoe UI",Arial,sans-serif;font-weight:800;letter-spacing:-.035em;text-transform:uppercase}
.solo-mode-card .status{position:relative}
.home-dashboard.solo-selected{grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start}
.home-lobby-panel #soloSetup{max-width:none;margin:0}
.home-lobby-panel #soloSetup .solo-mode-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.home-lobby-panel #soloSetup .solo-mode-card{padding:18px}
.home-lobby-panel #soloSetup .solo-mode-card:first-child>.status{margin-bottom:14px}
.solo-trivia-questions{border-radius:10px;border-color:#5d7480;background:#14232c}
.solo-trivia-questions label{border-radius:7px}

/* The shared round: a framed screen, a readable prompt, clear selectable tickets. */
#gameCard:not(:has(.deep-case)){position:relative;overflow:hidden;border-color:#4b6571;background:radial-gradient(ellipse at 50% -35%,#314c5b88,transparent 72%),linear-gradient(160deg,#1e303b,#14222c 76%);box-shadow:0 28px 70px #0009}
#gameCard:not(:has(.deep-case))::after{content:"";position:absolute;inset:11px;pointer-events:none;border:1px solid #a9c7d015;border-radius:8px}
#roundLabel{border:1px solid #6c8790;border-radius:6px;background:#182d36;color:#cce5e7;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
#prompt{font-family:"Segoe UI",Arial,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.13;color:#fffdf8;text-wrap:balance}
#filmTitle{color:#cde5e9}
#gameCard .poster{border:5px solid #334d5a;border-radius:8px;background:#0b1318;box-shadow:0 16px 38px #0009,0 0 0 1px #8197a055}
#gameCard .poster img{object-fit:contain}
#choices:not(.rating-scale)>.choice{position:relative;min-height:70px;border:1px solid #617b87;border-radius:6px;background:#253a46;color:#f5f8f6;font-size:1rem;font-weight:700;box-shadow:none}
#choices:not(.rating-scale)>.choice:hover:not(:disabled){border-color:#a1d6e7;background:#304b59;box-shadow:none}
#choices>.choice.correct{border-color:#52e38b;outline:2px solid #32cc69;background:#173b2c}
#choices>.choice.wrong{border-color:#fa9191;outline:2px solid #dc5656;background:#45292d}
#gameCard[data-phase="reveal"] #result:not(:empty):not(.waiting-state){border-radius:10px}
.score-player{border-color:#58717d;border-radius:10px;background:#172731;box-shadow:0 10px 26px #0004}
.score-avatar{border-color:#7395a3}

/* A small presentation contract lets new games inherit an identity without new shell markup. */
#game[data-presentation="quiz"]{--cinema-mode-accent:#74d1f3}
#game[data-presentation="card-table"]{--cinema-mode-accent:#8ed7a4}
#game[data-presentation="auction"]{--cinema-mode-accent:#e6b477}
#game[data-presentation="creative"]{--cinema-mode-accent:#a6b9ef}
#game[data-presentation="timeline"]{--cinema-mode-accent:#c2b9e8}
#game[data-presentation="counterfeit"]{--cinema-mode-accent:#e8a4a0}
#game[data-presentation="counterfeit"] #gameCard{background:radial-gradient(ellipse at 50% -20%,#75515a55,transparent 70%),linear-gradient(160deg,#322b32,#18252d 75%);border-color:#8d6b70}
#game:not([data-presentation="noir"]) .game-toolbar{border-color:#5c7580;border-left-color:var(--cinema-mode-accent,#74d1f3);border-radius:10px;background:#172832ed;box-shadow:0 8px 20px #0004}
#game:not([data-presentation="noir"]) #roundLabel{border-color:var(--cinema-mode-accent,#74d1f3)}
#game[data-presentation="auction"] #gameCard{background:radial-gradient(ellipse at 50% -22%,#6b523555,transparent 70%),linear-gradient(160deg,#302b28,#1a242a 75%);border-color:#86684c}
#game[data-presentation="auction"] #prompt{color:#fbe6c6}
#game[data-presentation="auction"] .auction-bid .primary,#game[data-presentation="auction"] .auction-table>.primary{background:#e9a548;color:#2b1b0b;border-color:#e9a548;box-shadow:none}
#game[data-presentation="auction"] .auction-bid .primary:hover:not(:disabled),#game[data-presentation="auction"] .auction-table>.primary:hover:not(:disabled){background:#f2b760;border-color:#f2b760}
#game[data-presentation="creative"] #gameCard{background:radial-gradient(ellipse at 70% -20%,#485a8455,transparent 64%),linear-gradient(160deg,#233441,#17252f 77%)}
#game[data-presentation="creative"] .drawing-review-panel,#game[data-presentation="creative"] .meme-like-meter{border-color:#7388a9;border-radius:12px;background:#1b2936}
#game[data-presentation="creative"] #drawingCanvas,#game[data-presentation="creative"] .drawing-question-image{border-color:#8394b0;border-radius:8px}
#game[data-presentation="timeline"] .timeline-game{gap:22px}
#game[data-presentation="timeline"] .timeline-track{position:relative;padding:20px 8px}
#game[data-presentation="timeline"] .timeline-track::before{content:"";position:absolute;z-index:0;left:0;right:0;top:50%;height:3px;background:#a99dd080;pointer-events:none}
#game[data-presentation="timeline"] .timeline-card,#game[data-presentation="timeline"] .timeline-slot{position:relative;z-index:1;box-shadow:0 10px 22px #0008}
#game[data-presentation="timeline"] .timeline-candidate{border-color:#c3b2e0;box-shadow:0 16px 32px #0008}

/* Distinct stages within the same festival. Keep game-critical layouts intact. */
.movie49-table{border-color:#52765f;background:radial-gradient(ellipse at 50% 14%,#285841,#17392c 57%,#0b211a 100%);box-shadow:inset 0 0 85px #04140c99,0 22px 48px #0008}
.movie49-card{box-shadow:0 10px 22px #0006}
.movie49-card:hover:not(:disabled){box-shadow:0 16px 32px #0009}
.auction-table{border-color:#987554;background:radial-gradient(ellipse at 50% 0%,#64432b77,transparent 61%),linear-gradient(145deg,#302920,#1a2328 75%);box-shadow:inset 0 0 70px #120c08aa,0 20px 42px #0008}
.auction-player,.auction-collection{border-radius:10px}
#drawingPhase .drawing-workspace,#memePhase .meme-workspace{min-width:0}
#drawingCanvas,.drawing-question-image,.meme-editor,.meme-display{box-shadow:0 18px 38px #0008}
.drawing-sidebar,.meme-draw-controls{border-radius:10px;background:#172732}

/* Premiere night: celebration belongs to the finish, not every answer. */
.game-over{position:relative}
.game-over>h2{font-family:"Arial Black","Segoe UI",sans-serif;letter-spacing:-.06em;text-transform:uppercase;text-shadow:0 8px 32px #0009}
body:not(.deep-case-active) .game-over>h2{color:#ffe4b2}
.reveal-moment{--moment-ink:#d8fce7;--moment-line:#27d96b;--moment-duration:1.25s;position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:24px;pointer-events:none;background:#081710d9;animation:reveal-moment-veil var(--moment-duration) ease both}
.reveal-moment-frame{position:relative;display:grid;justify-items:center;gap:12px;width:min(640px,100%);padding:clamp(26px,5vw,54px) clamp(18px,4vw,40px);border-block:2px solid var(--moment-line);background:linear-gradient(90deg,#10211a,#193127 50%,#10211a);color:var(--moment-ink);text-align:center;box-shadow:0 25px 80px #0009;animation:reveal-moment-frame var(--moment-duration) cubic-bezier(.2,.8,.2,1) both}
.reveal-moment-label{color:var(--moment-line);font-size:.72rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.reveal-moment-frame strong{font-family:"Arial Black","Segoe UI",sans-serif;font-size:clamp(1.9rem,6vw,3.8rem);font-weight:900;line-height:1.05;letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance}
.reveal-moment-detail{max-width:100%;color:#f5f7f0;font-size:clamp(1rem,2vw,1.3rem);font-weight:700;overflow-wrap:anywhere}
.reveal-moment[data-mode="quiz"]{--moment-duration:2.8s}
.reveal-moment[data-mode="quiz"][data-result="wrong"]{--moment-ink:#ffe3e6;--moment-line:#ff626d;background:#260d14e8}
.reveal-moment[data-mode="quiz"][data-result="wrong"] .reveal-moment-frame{background:linear-gradient(90deg,#29151b,#482027 50%,#29151b)}
.reveal-moment[data-mode="quiz"][data-result="neutral"]{--moment-ink:#e0f3ff;--moment-line:#74cdef;background:#0c1e29e8}
.reveal-moment[data-mode="quiz"][data-result="neutral"] .reveal-moment-frame{background:linear-gradient(90deg,#122631,#1d3a48 50%,#122631)}
.reveal-moment[data-mode="case"]{--moment-ink:#f0dec0;--moment-line:#d4ae79;background:#12100ef0}
.reveal-moment[data-mode="case"] .reveal-moment-frame{border:2px solid #b59164;background:repeating-linear-gradient(0deg,#2b2723 0 3px,#302b25 3px 6px);box-shadow:0 25px 80px #000c,inset 0 0 0 8px #171715}
.reveal-moment[data-mode="case"] .reveal-moment-label{letter-spacing:.38em}
.reveal-moment[data-mode="festival"]{--moment-ink:#ffe4bb;--moment-line:#efc17c;background:#220e18e8}
.reveal-moment[data-mode="festival"] .reveal-moment-frame{border:1px solid #d8ab75;border-block-width:3px;border-radius:10px;background:radial-gradient(circle at 50% 0,#69384a,#2b1b25 72%);box-shadow:0 25px 80px #000c,inset 0 0 0 7px #21171d}
@keyframes reveal-moment-veil{0%{opacity:0}12%,84%{opacity:1}100%{opacity:0}}
@keyframes reveal-moment-frame{0%{opacity:0;transform:translateY(22px) scale(.94)}22%,84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px) scale(1.02)}}
.podium{position:relative;gap:14px;padding-bottom:14px}
.podium::after{content:"";position:absolute;z-index:-1;bottom:0;left:5%;right:5%;height:34px;border-radius:50%;background:#c9954933;filter:blur(18px)}
.podium-place{border-radius:12px 12px 6px 6px;background:linear-gradient(170deg,#2e414c,#14232b 78%);box-shadow:0 14px 25px #0007}
.podium-place.first{background:linear-gradient(165deg,#5d4928,#213039 60%);box-shadow:0 0 0 1px #e5b93f55,0 20px 42px #0009}
.podium-rank{font-family:"Arial Black",sans-serif}
.final-gallery{border-top:1px solid #59727e;padding-top:24px}
.final-gallery-card{border-radius:12px;background:linear-gradient(145deg,#243945,#15242d);overflow:hidden}
.final-gallery-card h3{overflow-wrap:anywhere}
.final-gallery-drawing{background:#101820}
.rank-row{border-radius:7px;background:#182832}

/* Comfortable controls on phones and optional quiet motion. */
@media(max-width:760px){
  .wrap{padding:24px 12px 52px}
  #home:has(#homeDashboard.hidden){grid-template-columns:minmax(0,1fr)}
  .hero{display:block;margin-bottom:20px;padding-bottom:20px}
  .hero-guest-art{display:none!important}
  .hero h1{font-size:clamp(2.35rem,10vw,4.3rem)}
  .hero .sub{margin-top:12px}
  .home-mode-preview{min-height:184px;margin-top:18px;padding:17px 19px}
  .home-mode-preview-copy{max-width:215px}
  .home-mode-preview h2{font-size:1.3rem}
  .home-mode-preview-art{right:0;width:145px}
  .preview-art-card{width:62px;height:94px}
  .preview-art-card-one{right:103px}.preview-art-card-two{right:51px}.preview-art-card-three{right:0}
  body.account-home .home-account-panel{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:6px 14px;text-align:left}
  body.account-home .home-account-panel .home-profile-avatar{grid-column:1;grid-row:1/3;width:64px;height:64px;border-width:3px;box-shadow:0 0 0 3px #15242c,0 0 0 5px #5f8291}
  body.account-home .home-account-panel>h2{grid-column:2;grid-row:1;margin:0;font-size:1.25rem;line-height:1.1;text-align:left}
  body.account-home .home-account-panel>#profilePreview{grid-column:2;grid-row:2;margin:0;padding:0;font-size:.8rem;text-align:left}
  body.account-home .home-account-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
  body.account-home .home-account-actions button{min-width:0;min-height:44px;padding:8px 7px;font-size:.82rem;line-height:1.15}
  body.account-home .home-account-actions #changeHomeProfile{grid-column:1/-1}
  body.account-home .home-account-panel #homeMicrophoneSlot{grid-column:1/-1}
  #gameCard:not(:has(.deep-case))::after{inset:6px}
  #choices:not(.rating-scale)>.choice{min-height:60px}
  .solo-mode-card::before{font-size:5.5rem}
}
@media(max-width:430px){
  .site-header{height:65px}
  .header-inner{width:calc(100% - 20px);gap:6px}
  .brand{font-size:1rem;gap:6px}
  .brand-dots i{width:15px;height:15px}
  .header-actions{gap:5px}
  .language-toggle{min-width:42px;padding:8px}
  #home:has(#homeDashboard.hidden)>#profileLogin,#home:has(#homeDashboard.hidden)>#guestSpectatorJoin{padding:19px}
  .home-mode-preview{min-height:194px}
  .home-mode-preview-copy{max-width:min(215px,60%)}
  .home-mode-preview-art{opacity:.72}
  .home-mode-preview p{font-size:.8rem}
  .home-mode-preview-meta{margin-top:11px}
  .podium{gap:6px}
}
@media(prefers-reduced-motion:reduce){
  button{transition:none!important}
  button:hover:not(:disabled),button:active:not(:disabled){transform:none!important}
  .reveal-moment{display:none!important}
}
/* The festival has a velvet-and-brass identity distinct from the noir case files. */
body.festival-active #game[data-presentation="festival"]{--festival-gold:#efc17c;--festival-velvet:#51232c;background:linear-gradient(145deg,#301c24,#171a21 58%);}
body.festival-active #game[data-presentation="festival"] #gameCard{background:radial-gradient(ellipse at 50% -25%,#5c303f88,transparent 65%),linear-gradient(160deg,#302128,#171c23 75%);border-color:#8f6753}
body.festival-active .wrap:has(#game:not(.hidden)){max-width:1500px}
body.festival-active #game>div,body.festival-active.tv-mode #game>div{grid-template-columns:minmax(0,1fr)}
body.festival-active #game #gameCard{grid-column:1/-1}
body.festival-active #game #scores,body.festival-active #scoreToggle,body.festival-active #gamePlayerProgress,body.festival-active #gameMyScore{display:none!important}
.festival-active #choices.festival-game{max-width:1320px}
.festival-active #choices.festival-game>.primary,.festival-active #choices.festival-game .festival-vote-actions>.primary{background:#edbb6d;border-color:#edbb6d;color:#211b1b}
.festival-active #choices.festival-game>.primary:hover:not(:disabled),.festival-active #choices.festival-game .festival-vote-actions>.primary:hover:not(:disabled){background:#ffd18b;border-color:#ffd18b}
.festival-active #choices.festival-game .festival-vote-actions>.danger{background:#962f43;border-color:#ae4255;color:#fff}
.festival-game{display:grid;gap:1rem;max-width:1320px;margin-inline:auto;color:#f7eee6}
.festival-header{border-bottom:1px solid #a1785c;padding-bottom:.75rem}
.festival-header h2{color:#ffe0a6;margin:.2rem 0;font-size:clamp(1.5rem,4vw,2.5rem);text-transform:uppercase;letter-spacing:.04em}
.festival-header p{margin:.4rem 0;line-height:1.45}
.festival-score,.festival-role,.festival-curator{background:#3d2730;border:1px solid #906d55;border-radius:8px;padding:.7rem .9rem}
.festival-role{border-left:4px solid #efc17c}
.festival-film-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}
.festival-film-grid.proposed{grid-template-columns:repeat(3,minmax(0,1fr));max-width:700px}
.festival-film{display:flex;flex-direction:column;gap:.4rem;min-width:0;text-align:left;color:#fff;background:#222831;border:2px solid #665a55;border-radius:8px;padding:.45rem;cursor:default}
.festival-film{position:relative}
.festival-film-order{position:absolute;top:.7rem;left:.7rem;display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:#efc17c;color:#241b1c;font-weight:900;box-shadow:0 2px 8px #0009}
button.festival-film{cursor:pointer}
button.festival-film:hover,button.festival-film:focus-visible{border-color:#efc17c}
.festival-film.selected{border-color:#ffc15d;background:#4c3340;box-shadow:0 0 0 2px #ffc15d55}
.festival-film img{width:100%;aspect-ratio:2/3;object-fit:cover;background:linear-gradient(140deg,#42343a,#181d25);border-radius:4px}
.festival-poster-missing{display:grid;place-items:center;width:100%;aspect-ratio:2/3;border:1px dashed #9c8074;border-radius:4px;padding:.6rem;background:linear-gradient(140deg,#42343a,#181d25);color:#d6bb9e;text-align:center;font-size:.8rem}
.festival-film img.missing{display:block}
.festival-film strong{font-size:clamp(.9rem,1.35vw,1.05rem);line-height:1.3;overflow-wrap:anywhere}
.festival-film small{color:#ffdc9c}
.festival-film .ghost{margin-top:auto;font-size:.85rem;white-space:normal}
.festival-vote-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.festival-vote-actions button{min-height:48px}
.festival-verdict,.festival-final{background:#291f25;border:1px solid #bd9466;border-radius:10px;padding:1.3rem;line-height:1.5}
.festival-evidence-board{border:1px solid #826a60;border-radius:9px;background:#251f26;padding:1rem}
.festival-evidence-board h3{margin:.1rem 0 .35rem;color:#ffdb9f}
.festival-evidence-board>p{margin:.35rem 0 .75rem;color:#d7c5b7}
.festival-evidence-list{display:grid;gap:.45rem}
.festival-claim{margin:0;border-left:3px solid #d5ac74;background:#392b30;padding:.55rem .7rem;line-height:1.4;overflow-wrap:anywhere}
.festival-office-memo{background:#423628;border-left-color:#efc17c}
.festival-claim.truthful{border-color:#77b991}.festival-claim.falsehood{border-color:#e77d79}
.festival-memo-controls{background:#30252a;border:1px solid #8e6c50;border-radius:9px;padding:1rem}
.festival-memo-controls h3{color:#ffdb9f;margin:0 0 .4rem}
.festival-memo-controls>.secondary{margin-top:.7rem}
.festival-testimony-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.festival-testimony-form select,.festival-testimony-form input{min-height:42px;background:#1c2229;color:#fff;border:1px solid #8d7062;border-radius:5px;padding:.4rem .6rem}
.festival-testimony-form input{width:9rem}
.festival-verdict h3,.festival-final h2{color:#ffdb9f;margin-top:0}
.festival-final{max-width:780px;margin:1rem auto}
.festival-final li{margin:.6rem 0}
.festival-final button{margin:.5rem .5rem 0 0}
.festival-lobby-guide,.festival-lobby-settings{background:#30252a;border:1px solid #8e6c50;border-radius:9px;padding:1rem;margin:1rem 0}
.festival-lobby-guide h3,.festival-lobby-settings h3{color:#ffdb9f}
@media(max-width:800px){.festival-film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.festival-film-grid.proposed{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:490px){.festival-film-grid,.festival-film-grid.proposed{grid-template-columns:repeat(2,minmax(0,1fr))}.festival-game{gap:.7rem}.festival-film strong{font-size:.82rem}}

/* Small programme cards carry the home preview's visual language into play. */
.experience-card{--experience-accent:#29d36b;position:relative;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--experience-accent) 58%,#455e6b);border-radius:11px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--experience-accent) 20%,transparent),transparent 45%),linear-gradient(135deg,#21343e,#14232c 78%);box-shadow:0 10px 25px #0005}
.experience-card[data-mode="investigation"]{--experience-accent:#d3ae7b;background:radial-gradient(circle at 100% 0%,#a47e4f38,transparent 48%),linear-gradient(135deg,#302a26,#1c1c1d 80%)}
.experience-card[data-mode="festival"]{--experience-accent:#efc17c;background:radial-gradient(circle at 100% 0%,#9e627044,transparent 48%),linear-gradient(135deg,#392831,#211d24 80%)}
.experience-card[data-mode="solo"]{--experience-accent:#6dcff4}
.experience-kicker{display:block;color:var(--experience-accent);font-size:.68rem;font-weight:900;letter-spacing:.15em;line-height:1.3;text-transform:uppercase}
.lobby-session-card{display:flex;align-items:center;min-height:128px;padding:17px 21px;border-left:4px solid var(--experience-accent)}
.lobby-session-card .experience-card-copy{position:relative;z-index:1;max-width:80%}
#lobby .lobby-session-card h3{margin:5px 0 4px;color:#fff;font-size:clamp(1.02rem,1.8vw,1.28rem)}
.lobby-session-card p{margin:0;color:#cdd8dd;font-size:.88rem;line-height:1.4}
.experience-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.experience-meta span{padding:3px 7px;border:1px solid color-mix(in srgb,var(--experience-accent) 45%,#475f68);border-radius:5px;background:#111d24a8;color:#eff5f3;font-size:.7rem;font-weight:800}
.experience-card-emblem{position:absolute;right:-8px;top:50%;width:122px;height:122px;border:3px solid color-mix(in srgb,var(--experience-accent) 65%,transparent);border-radius:14px;opacity:.28;transform:translateY(-50%) rotate(-13deg)}
.experience-card-emblem::before,.experience-card-emblem::after{content:"";position:absolute;inset:12px;border:2px solid currentColor;border-radius:8px;color:var(--experience-accent)}
.experience-card-emblem::after{inset:28px;transform:rotate(17deg)}
#lobby .lobby-player-card{position:relative;overflow:hidden;padding:12px;border-left:3px solid #68808d;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
#lobby .lobby-player-card[data-ready="true"]{border-left-color:#28d26c;background:linear-gradient(115deg,#173529,#13222b 70%);box-shadow:inset 0 0 0 1px #27d96b18}
#lobby .lobby-player-card[data-host="true"]{border-left-color:#efba72}
#lobby .lobby-player-card[data-connected="false"]{opacity:.62}
#lobby .lobby-player-card .lobby-avatar{width:42px;height:42px;transition:border-color .22s ease,box-shadow .22s ease}
#lobby .lobby-player-card[data-ready="true"] .lobby-avatar{border-color:#2cda70;box-shadow:0 0 0 3px #28d26c24}
#lobby .lobby-player-card.player-ready-pop{animation:experience-ready-turn .55s ease both}
.round-result-feature{display:grid;gap:4px;margin:16px 0 8px;padding:17px 20px;border-left:5px solid var(--experience-accent);overflow-wrap:anywhere}
.round-result-feature[data-tone="wrong"]{--experience-accent:#ee6868;background:radial-gradient(circle at 100% 0%,#a7323e48,transparent 50%),linear-gradient(135deg,#39252b,#211b21 80%)}
.round-result-feature[data-tone="correct"]{--experience-accent:#2ddb73}
.round-result-feature strong{font-size:clamp(1.15rem,2vw,1.55rem);color:#fff;line-height:1.2}
.round-result-feature>span:last-child{color:#e8f0ec;font-size:1rem;font-weight:700;line-height:1.35}
#questionArea:has(.round-result-feature:not(.hidden)) #result{font-size:.88rem;color:#bfcdd2}
@keyframes experience-ready-turn{0%{transform:perspective(500px) rotateY(-10deg)}55%{transform:perspective(500px) rotateY(4deg);box-shadow:0 0 20px #29d36b42}100%{transform:none}}
@media(max-width:600px){.lobby-session-card{min-height:0;padding:15px}.lobby-session-card .experience-card-copy{max-width:100%}.experience-card-emblem{opacity:.12}.round-result-feature{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){#lobby .lobby-player-card.player-ready-pop{animation:none}#lobby .lobby-player-card,#lobby .lobby-player-card .lobby-avatar{transition:none}}

/* Movie Spectrum: a warm, tactile scale rather than another answer grid. */
.home-mode-preview[data-mode="spectrum"]{--preview-accent:#d9a7f2;background:radial-gradient(circle at 83% 14%,#6b4c924f,transparent 48%),linear-gradient(130deg,#322843,#17222b 78%)}
.home-mode-preview[data-mode="spectrum"]::before{background:linear-gradient(90deg,#1b202ef2 0%,#20212be8 42%,#20212b40 100%)}
.home-mode-preview[data-mode="spectrum"] .preview-art-card{border-color:#c697e1;background:linear-gradient(155deg,#61417e,#202533)}
.home-mode-preview[data-mode="spectrum"] .preview-art-card i{background:linear-gradient(145deg,#bf83da,#4c3868 62%,#18232d)}
.home-mode-preview[data-mode="spectrum"] .preview-art-card-one{top:86px;right:133px;transform:rotate(-12deg)}
.home-mode-preview[data-mode="spectrum"] .preview-art-card-two{top:69px;right:69px;transform:none}
.home-mode-preview[data-mode="spectrum"] .preview-art-card-three{top:86px;right:5px;transform:rotate(12deg)}
.experience-card[data-mode="spectrum"]{--experience-accent:#c99de6;background:radial-gradient(circle at 100% 0%,#8452a744,transparent 48%),linear-gradient(135deg,#30273f,#1b232c 80%)}
.spectrum-lobby-guide,.spectrum-lobby-settings{background:#292638;border:1px solid #8f76aa;border-radius:9px;padding:1rem;margin:1rem 0}
.spectrum-lobby-guide h3,.spectrum-lobby-settings h3{color:#e6c7f5}
.reveal-moment[data-mode="spectrum"]{--moment-ink:#f4dcff;--moment-line:#c99de6;background:#181127ed}
.reveal-moment[data-mode="spectrum"] .reveal-moment-frame{border:2px solid #bd92db;border-radius:18px;background:radial-gradient(circle at 50% 0,#594071,#1e2433 72%);box-shadow:0 25px 80px #000c}
.public-lobby-mode.spectrum{color:#e6c7f5;border-color:#8f76aa}
.spectrum-board{display:flex;flex-direction:column;gap:22px;width:min(100%,760px);margin:16px auto 0;padding:26px;border:1px solid #75648c;border-radius:18px;background:radial-gradient(circle at 50% 0%,#62477855,transparent 55%),#1b2530;box-shadow:0 20px 50px #0004}
.spectrum-intro{text-align:center}.spectrum-intro strong{display:block;font-size:clamp(1.2rem,3vw,1.8rem);color:#eed4ff}.spectrum-intro p{margin:8px 0 0;color:#d4cadf;line-height:1.5}
.spectrum-axis{display:grid;grid-template-columns:minmax(90px,1fr) minmax(140px,3fr) minmax(90px,1fr);align-items:center;gap:14px;font-weight:800;color:#f1ebf6;text-align:center}
.spectrum-track{position:relative;height:20px;border-radius:20px;background:linear-gradient(90deg,#62b8d6,#af91df 52%,#f1a17d);box-shadow:inset 0 2px 5px #0008,0 0 0 4px #ffffff1a}
.spectrum-target-marker,.spectrum-guess-marker{position:absolute;top:50%;width:24px;height:32px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:11px;background:#202633;box-shadow:0 3px 12px #0009;z-index:2}
.spectrum-guess-marker{top:calc(50% + 28px);width:14px;height:14px;border:2px solid #d6b1ea;border-radius:50%;background:#6b4c92;z-index:1}
.spectrum-control{display:grid;gap:12px;justify-items:center;padding:20px;border:1px solid #6c627b;border-radius:14px;background:#19212b}
.spectrum-range{width:min(100%,580px);height:32px;accent-color:#d9a7f2;cursor:pointer}
.spectrum-readout{font-size:1.35rem;font-weight:900;color:#f1d7ff;font-variant-numeric:tabular-nums}
.spectrum-control button{min-width:190px}.spectrum-progress,.spectrum-reveal-label{text-align:center}.spectrum-reveal-label{font-size:1.3rem;color:#f4d5ff}
.spectrum-guess-list{display:grid;gap:8px}.spectrum-guess-row{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid #6a587a;border-radius:9px;background:#25313e;color:#f2eef5}.spectrum-guess-row span{color:#d6c2e5}
@media(max-width:600px){.spectrum-board{padding:18px 12px}.spectrum-axis{grid-template-columns:1fr 1fr;gap:12px}.spectrum-axis span{font-size:.9rem}.spectrum-axis .spectrum-track{grid-column:1/-1;grid-row:1;margin:10px 16px 15px}.spectrum-guess-row{flex-direction:column;gap:2px}}
.home-mode-preview[data-mode="telephone"]{--preview-accent:#efbd73;background:radial-gradient(circle at 83% 14%,#bd764853,transparent 48%),linear-gradient(130deg,#403027,#17222b 78%)}
.home-mode-preview[data-mode="telephone"]::before{background:linear-gradient(90deg,#211d1af2 0%,#292320e8 42%,#29232040 100%)}
.home-mode-preview[data-mode="telephone"] .preview-art-card{border-color:#e0ae72;background:linear-gradient(155deg,#6e4b34,#242730)}
.home-mode-preview[data-mode="telephone"] .preview-art-card i{background:linear-gradient(145deg,#dba970,#76553c 62%,#18232d)}
.home-mode-preview[data-mode="telephone"] .preview-art-card-one{top:86px;right:133px;transform:rotate(-12deg)}
.home-mode-preview[data-mode="telephone"] .preview-art-card-two{top:69px;right:69px;transform:none}
.home-mode-preview[data-mode="telephone"] .preview-art-card-three{top:86px;right:5px;transform:rotate(12deg)}
.experience-card[data-mode="telephone"]{--experience-accent:#efbd73;background:radial-gradient(circle at 100% 0%,#aa704244,transparent 48%),linear-gradient(135deg,#392b27,#1b232c 80%)}
.telephone-lobby-guide,.telephone-lobby-settings{background:#292824;border:1px solid #9a8064;border-radius:9px;padding:1rem;margin:1rem 0}
.telephone-lobby-guide h3,.telephone-lobby-settings h3{color:#f1ce9c}
.public-lobby-mode.telephone{color:#f1ce9c;border-color:#9a8064}
.reveal-moment[data-mode="telephone"]{--moment-ink:#ffefd9;--moment-line:#efbd73;background:#20170fed}
.reveal-moment[data-mode="telephone"] .reveal-moment-frame{border:2px solid #dfaa70;border-radius:18px;background:radial-gradient(circle at 50% 0,#68503c,#202934 72%);box-shadow:0 25px 80px #000c}
.telephone-board{display:flex;flex-direction:column;gap:20px;width:min(100%,900px);margin:16px auto 0;padding:26px;border:1px solid #937859;border-radius:16px;background:radial-gradient(circle at 50% 0%,#85563444,transparent 55%),#1c2730;box-shadow:0 20px 50px #0004}
.telephone-heading{text-align:center}.telephone-heading span{color:#efbd73;font-size:.8rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.telephone-heading h3{margin:8px 0 0;color:#fff4e7;font-size:clamp(1.3rem,3vw,2rem)}
.telephone-instruction,.telephone-wait,.telephone-verdict{text-align:center;color:#e3d3c3;line-height:1.5;margin:0}.telephone-verdict{color:#f5d9ae;font-size:1.18rem;font-weight:800}
.telephone-private-film{display:grid;justify-items:center;gap:10px;color:#fff4e7;font-size:1.2rem}.telephone-poster{display:grid;place-items:center;aspect-ratio:2/3;width:140px;max-width:100%;overflow:hidden;border:2px solid #ab8a66;border-radius:9px;background:#27313a;color:#d5c3ad;text-align:center;font-size:.8rem}.telephone-poster img{width:100%;height:100%;object-fit:cover}
.telephone-form{display:grid;gap:12px}.telephone-form textarea{width:100%;padding:14px;border:1px solid #b2926e;border-radius:9px;background:#16232b;color:#fff;resize:vertical;font:inherit}.telephone-form button{justify-self:center;min-width:190px}
.telephone-description{margin:0;padding:20px 24px;border-left:4px solid #efbd73;border-radius:8px;background:#28343b;color:#fff4e7;font-size:clamp(1.1rem,2.5vw,1.45rem);line-height:1.45}
.telephone-guess-form{display:flex;align-items:start;justify-content:center;gap:10px;width:min(100%,600px);margin:auto}.telephone-guess-input{position:relative;flex:1;min-width:0}.telephone-guess-form input{width:100%;min-width:0;padding:14px;border:1px solid #b2926e;border-radius:9px;background:#16232b;color:#fff;font:inherit}.telephone-guess-form input::placeholder{color:#aeb7ba}.telephone-guess-form>button{min-width:150px}.telephone-suggestions{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;padding:5px;border:1px solid #b2926e;border-radius:9px;background:#17242c;box-shadow:0 14px 28px #0009}.telephone-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#fff4e7;text-align:left;font:inherit;cursor:pointer}.telephone-suggestion:hover,.telephone-suggestion:focus-visible{background:#394850;outline:2px solid #efbd73}.telephone-suggestion span{overflow-wrap:anywhere}.telephone-suggestion small{flex:none;color:#efbd73}.telephone-suggestions p{margin:6px 9px;color:#d2c4b7;font-size:.9rem}
.telephone-chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.telephone-chain-card{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #8a765f;border-radius:11px;background:#25333c;text-align:center}.telephone-chain-card small{color:#f3c487;font-weight:800}.telephone-chain-card strong{overflow-wrap:anywhere}.telephone-chain-card blockquote{margin:auto 0;color:#fff4e7;font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:750px){.telephone-board{padding:18px 12px}.telephone-chain{grid-template-columns:1fr}.telephone-chain-card{min-height:100px}.telephone-chain-card .telephone-poster{width:110px}.telephone-guess-form{flex-direction:column}.telephone-guess-input{width:100%}.telephone-suggestions{position:static;margin-top:4px}.telephone-guess-form>button{width:100%}}
.home-mode-preview[data-mode="counterfeit"]{--preview-accent:#e8a4a0;background:radial-gradient(circle at 82% 20%,#b76b7755,transparent 48%),linear-gradient(125deg,#49303b,#17232b 80%)}
.home-mode-preview[data-mode="counterfeit"]::before{background:linear-gradient(90deg,#281c24f2 0%,#32242de8 42%,#32242d40 100%)}
.home-mode-preview[data-mode="counterfeit"] .preview-art-card{border-color:#e8a4a0;background:linear-gradient(155deg,#8d5663,#242730)}
.home-mode-preview[data-mode="counterfeit"] .preview-art-card i{background:linear-gradient(145deg,#dba9b2,#76505b 62%,#18232d)}
.experience-card[data-mode="counterfeit"]{--experience-accent:#e8a4a0;background:radial-gradient(circle at 100% 0%,#a6596844,transparent 48%),linear-gradient(135deg,#3b2932,#1b232c 80%)}
.counterfeit-lobby-guide,.counterfeit-lobby-settings{background:#2b252b;border:1px solid #a37980;border-radius:9px;padding:1rem;margin:1rem 0}
.counterfeit-lobby-guide h3,.counterfeit-lobby-settings h3{color:#f5c5c3}
.public-lobby-mode.counterfeit{color:#f5c5c3;border-color:#a37980}
.reveal-moment[data-mode="counterfeit"]{--moment-ink:#fff3ee;--moment-line:#e8a4a0;background:#21161bed}
.reveal-moment[data-mode="counterfeit"] .reveal-moment-frame{border:2px solid #e8a4a0;border-radius:18px;background:radial-gradient(circle at 50% 0,#714a57,#202934 72%);box-shadow:0 25px 80px #000c}
.counterfeit-board{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:min(100%,980px);margin:16px auto 0;padding:24px;border:1px solid #a37980;border-radius:17px;background:radial-gradient(circle at 50% 0%,#7b475044,transparent 55%),#1c2730;box-shadow:0 20px 50px #0004}
.counterfeit-hero{text-align:center}.counterfeit-eyebrow{color:#e8a4a0;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.counterfeit-hero h3{margin:6px 0;color:#fff4ef;font-size:clamp(1.3rem,3vw,2rem)}.counterfeit-hero p{margin:0;color:#d8c9c8;line-height:1.5}
.counterfeit-clock{display:inline-block;margin-top:10px;padding:5px 10px;border:1px solid #ba8c8d;border-radius:6px;color:#f7cebe;font-weight:900;font-variant-numeric:tabular-nums}.counterfeit-clock.urgent{color:#ff8383;border-color:#ff8383}
.counterfeit-role{display:grid;gap:3px;padding:12px 16px;border:1px solid #8c847b;border-left:4px solid #e8a4a0;border-radius:9px;background:#293139;color:#fff7ef}.counterfeit-role small{color:#e8a4a0;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.counterfeit-role.outsider{border-left-color:#e4c37f}
.counterfeit-canvas{display:block;width:100%;height:auto;aspect-ratio:8/5;border:5px solid #c8aea5;border-radius:12px;background:#fffaf0;box-shadow:0 10px 30px #0006}.counterfeit-canvas.drawing-enabled{touch-action:none;cursor:crosshair}
.counterfeit-artists{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.counterfeit-artists span{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #6f6d72;border-radius:20px;background:#27353d;color:#fff5f0;font-size:.82rem;font-weight:700}.counterfeit-artists i{width:12px;height:12px;flex:none;border-radius:50%;box-shadow:0 0 0 2px #fff7}
.counterfeit-actions,.counterfeit-guess{display:flex;justify-content:center;gap:10px}.counterfeit-votes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.counterfeit-vote{padding:14px;border:1px solid #c69a9a;border-radius:9px;background:#303b44;color:#fff5f1;font-weight:800;cursor:pointer}.counterfeit-vote:hover{background:#5c3b48}.counterfeit-vote:disabled{opacity:.6;cursor:default}.counterfeit-status{text-align:center;color:#e9d6d0}.counterfeit-guess input{min-width:0;flex:1;max-width:430px;padding:12px;background:#15242d;border:1px solid #aa8b88;border-radius:8px;color:#fff}
.counterfeit-reveal{display:flex;align-items:center;gap:18px;padding:15px;border:1px solid #d9aaa4;border-radius:12px;background:#322c31;color:#fff5f0}.counterfeit-reveal img{width:94px;aspect-ratio:2/3;object-fit:cover;border-radius:6px;background:#202a33}.counterfeit-reveal strong{display:block;font-size:1.2rem}.counterfeit-reveal p{margin:7px 0}.counterfeit-reveal small{color:#e8b5ad}
@media(max-width:650px){.counterfeit-board{padding:14px 10px}.counterfeit-actions,.counterfeit-guess{flex-wrap:wrap}.counterfeit-actions button,.counterfeit-guess button{flex:1}.counterfeit-reveal img{width:72px}}

/* Editorial finish: posters and play are the color; the interface is the frame. */
:root{
  --cinema-night:#151a1e;
  --cinema-base:#192026;
  --cinema-surface:#202930;
  --cinema-raised:#27323a;
  --cinema-line:#3b4851;
  --cinema-cream:#f2f4f3;
  --cinema-muted:#acbac2;
  --cinema-mint:#29c66a;
  --cinema-sky:#a8c0cb;
  --cinema-shadow:none;
  --cinema-radius:7px;
}
body:not(.deep-case-active):not(.investigation-lobby-active){background:#151a1e;background-image:none}
body{color:var(--cinema-cream)}
.wrap{max-width:1100px}
.site-header{height:62px;background:#151a1e;border-bottom:1px solid #313d45;box-shadow:none}
.site-header::after,.hero::after{display:none}
.header-inner{width:min(1100px,calc(100% - 32px))}
.brand{font-family:"Segoe UI",Arial,sans-serif;font-weight:900;letter-spacing:-.045em;text-shadow:none}
.brand-dots i{box-shadow:none}
.header-tag{color:#9caeb8}
.language-toggle,.game-mode-toggle{min-height:36px;border-color:#485761;background:#252f36}
.language-toggle:hover:not(:disabled),.game-mode-toggle:hover:not(:disabled){background:#303c45;border-color:#70818b}
.game-mode-menu{background:#1c242a;border-right-color:#3c4952;box-shadow:14px 0 35px #0006}
.game-mode-menu-header{border-bottom-color:#3c4952}
.game-mode-option::before{border-color:#52616a;background:#253039;color:#d5e1e4}
.game-mode-option.active{border-color:#548467;background:#263830}
.primary{background:#13b855;border-color:#13b855;color:#081b10}
.primary:hover:not(:disabled){background:#30c66a;border-color:#30c66a}
.secondary,.ghost{background:#2b3841;border:1px solid #52616a;color:#edf2f2}
.secondary:hover:not(:disabled),.ghost:hover:not(:disabled){background:#35444e;border-color:#7b8d97}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid #b1d6c0!important;outline-offset:2px}
input:not([type=checkbox]),select,textarea{background:#1a2228;border-color:#4b5963;border-radius:5px}
input:not([type=checkbox]):focus,select:focus,textarea:focus{border-color:#86b59a;box-shadow:0 0 0 2px #29c66a28}
.status,.sub{color:var(--cinema-muted)}
body:not(.deep-case-active):not(.investigation-lobby-active) :is(.audio-settings,.player-profile-panel,.chat-panel,.app-modal-card){background:#202930;border-color:#45535c;border-radius:7px;box-shadow:0 16px 40px #0007}
.sound-category-settings label,.achievement-item,.chat-bubble,.chat-header,.chat-compose{background:#253039;border-color:#40505a}

/* Home: a clean editorial headline and neutral mode catalogue. */
.hero{max-width:1060px;gap:32px;margin:0 auto 26px;padding-bottom:24px;border-bottom-color:#3d4951}
.hero h1{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(2.3rem,4.6vw,3.8rem);font-weight:900;line-height:1.08;letter-spacing:-.055em;text-shadow:none}
.hero h1 .hero-accent{color:#28c96b}
.hero .sub{margin-top:15px;color:#bdc8ce}
.hero-guest-glow{display:none}
.hero-guest-poster{box-shadow:0 12px 25px #0007,inset 0 0 0 5px #111a20a8}
.hero-guest-poster[data-slot="1"]{box-shadow:0 14px 29px #0008,inset 0 0 0 5px #111a20a8}
.hero-guest-poster i{box-shadow:none}
.home-mode-preview{border-color:color-mix(in srgb,var(--preview-accent) 54%,#47555e);border-radius:7px;box-shadow:none}
.home-mode-preview h2{font-weight:800;letter-spacing:-.035em}
.home-mode-preview p{color:#c1ccd0}
.experience-meta span{background:#222d34;border-color:#56646b;color:#d7e1e1}
.preview-art-card{box-shadow:0 8px 16px #0005}
.card,.ui-panel,.home-account-panel,.home-lobby-panel,.solo-mode-card,.final-gallery-card{background:#202930;border-color:#43515a;box-shadow:none}
#home:has(#homeDashboard.hidden)>#profileLogin,#home:has(#homeDashboard.hidden)>#guestSpectatorJoin{background:#202930;border:1px solid #43515a;border-radius:7px;box-shadow:none}
#home:has(#homeDashboard.hidden)>#profileLogin,#home:has(#homeDashboard.hidden)>#guestSpectatorJoin,.home-account-panel,.home-lobby-panel{border-top:1px solid #43515a}
.profile-login-mark{border-color:#567a66;background:#263d32;box-shadow:none}
#home h2,.solo-setup h2,#lobby h3,.home-lobby-panel h2{letter-spacing:-.025em}
.home-profile-avatar{box-shadow:0 0 0 3px #202930,0 0 0 4px #627780}
.public-lobby-choice,.invite-panel,.spectator-join,#lobby .p,.solo-trivia-questions{background:#1c252b;border-color:#44535d;border-radius:6px}
.code{border-left-color:#91b79f;box-shadow:none}
.solo-setup-heading{border-bottom-color:#43515a}
.solo-mode-card,.solo-mode-card:first-child,.solo-mode-card:last-child{background:#202930;border-color:#43515a;border-top-width:1px}
.solo-mode-card::before{color:#d5e9ed0b}

/* Lobbies: the selected mode is a label, not a full-color backdrop. */
.experience-card,.experience-card[data-mode]{border-color:#485761;border-radius:7px;background:#222c33;box-shadow:none}
.experience-kicker{color:#a4d8b6}
.lobby-session-card{border-left:2px solid #5ca878}
.lobby-session-card p{color:#bdc9cd}
.experience-card-emblem{border-color:#84959c;opacity:.12}
.experience-card-emblem::before,.experience-card-emblem::after{color:#8fa0a7}
#lobby .lobby-player-card{border-left-color:#5c6c75;background:#1c252b}
#lobby .lobby-player-card[data-ready="true"]{border-left-color:#43bd77;background:#21342a;box-shadow:none}
#lobby .lobby-player-card[data-host="true"]{border-left-color:#9eaa9f}
#lobby .lobby-player-card[data-ready="true"] .lobby-avatar{border-color:#76b88d;box-shadow:none}

/* Shared play surfaces. Keep correctness cues, avoid tinted full-page stages. */
#gameCard:not(:has(.deep-case)),#game[data-presentation="counterfeit"] #gameCard,#game[data-presentation="auction"] #gameCard,#game[data-presentation="creative"] #gameCard,body.festival-active #game[data-presentation="festival"] #gameCard{background:#202930;border-color:#43515a;box-shadow:none}
#gameCard:not(:has(.deep-case))::after{display:none}
#game:not([data-presentation="noir"]) .game-toolbar{background:#1b242a;border-color:#43515a;border-left:2px solid #68987b;border-radius:6px;box-shadow:none}
#game:not([data-presentation="noir"]) #roundLabel,#roundLabel{background:#26323a;border-color:#566670;color:#d4dfe1}
#prompt{font-weight:800;letter-spacing:-.025em}
#filmTitle{color:#c4d0d3}
#gameCard .poster{border:2px solid #52616a;border-radius:5px;box-shadow:none}
#choices:not(.rating-scale)>.choice{background:#29353d;border-color:#52616a;border-radius:5px;box-shadow:none}
#choices:not(.rating-scale)>.choice:hover:not(:disabled){background:#34434c;border-color:#8b9da6}
#choices>.choice.correct{background:#243c2d;border-color:#36b86b;outline:1px solid #36b86b}
#choices>.choice.wrong{background:#402a2d;border-color:#c66767;outline:1px solid #c66767}
.score-player,.rank-row,.final-gallery-card,.podium-place,.podium-place.first{background:#202930;border-color:#485761;box-shadow:none}
.podium::after{display:none}
.movie49-table,.auction-table{background:#1b252b;border-color:#52616a;box-shadow:none}
.movie49-card,.movie49-card:hover:not(:disabled),#game[data-presentation="timeline"] .timeline-card,#game[data-presentation="timeline"] .timeline-slot,#game[data-presentation="timeline"] .timeline-candidate{box-shadow:none}
#drawingCanvas,.drawing-question-image,.meme-editor,.meme-display{box-shadow:none}
.drawing-sidebar,.meme-draw-controls{background:#1b252b}
.round-result-feature,.round-result-feature[data-tone="wrong"],.round-result-feature[data-tone="correct"]{background:#222d33;border-color:#52616a;box-shadow:none}
.round-result-feature[data-tone="correct"]{border-left-color:#38bd70}
.round-result-feature[data-tone="wrong"]{border-left-color:#c96d70}

/* Festival, Spectrum, Telephone and Counterfeit retain their mechanics and accents. */
body.festival-active #game[data-presentation="festival"]{background:#151a1e}
.festival-game{color:#ecf0ef}
.festival-header{border-bottom-color:#4a5860}
.festival-header h2,.festival-verdict h3,.festival-final h2,.festival-evidence-board h3,.festival-memo-controls h3,.festival-lobby-guide h3,.festival-lobby-settings h3{color:#f1f2ec}
.festival-score,.festival-role,.festival-curator,.festival-verdict,.festival-final,.festival-evidence-board,.festival-memo-controls,.festival-lobby-guide,.festival-lobby-settings{background:#222b31;border-color:#52616a}
.festival-role{border-left-color:#b99b72}
.festival-film{background:#222b31;border:1px solid #54626a;border-radius:5px}
.festival-film.selected{background:#293934;border-color:#5eb783;box-shadow:0 0 0 1px #5eb783}
.festival-film-order{background:#d8c093;box-shadow:none}
.festival-claim,.festival-office-memo{background:#2a3438;border-left-color:#a6a486}
.festival-active #choices.festival-game>.primary,.festival-active #choices.festival-game .festival-vote-actions>.primary{background:#13b855;border-color:#13b855;color:#081b10}
.festival-active #choices.festival-game>.primary:hover:not(:disabled),.festival-active #choices.festival-game .festival-vote-actions>.primary:hover:not(:disabled){background:#30c66a;border-color:#30c66a}
.spectrum-lobby-guide,.spectrum-lobby-settings,.telephone-lobby-guide,.telephone-lobby-settings,.counterfeit-lobby-guide,.counterfeit-lobby-settings,.spectrum-board,.telephone-board,.counterfeit-board{background:#202930;border:1px solid #4c5b64;border-radius:7px;box-shadow:none}
.spectrum-lobby-guide h3,.spectrum-lobby-settings h3,.telephone-lobby-guide h3,.telephone-lobby-settings h3,.counterfeit-lobby-guide h3,.counterfeit-lobby-settings h3,.spectrum-intro strong,.telephone-heading h3,.counterfeit-hero h3{color:#f1f3f1}
.spectrum-intro p,.telephone-instruction,.telephone-wait,.counterfeit-hero p{color:#bdc9cd}
.spectrum-control,.spectrum-guess-row,.telephone-chain-card,.counterfeit-role,.counterfeit-reveal{background:#27323a;border-color:#52616a}
.spectrum-track{background:linear-gradient(90deg,#648498,#869b93,#c0a47e);box-shadow:none}
.spectrum-range{accent-color:#37b873}
.spectrum-readout,.spectrum-reveal-label,.telephone-heading span,.telephone-verdict,.telephone-chain-card small,.counterfeit-eyebrow{color:#b5d6c0}
.telephone-description{background:#29353b;border-left-color:#72ae87;color:#f0f2ef}
.telephone-poster,.telephone-form textarea,.telephone-guess-form input,.telephone-suggestions,.counterfeit-guess input{border-color:#5a6970;background:#1b252b}
.counterfeit-clock,.counterfeit-vote{border-color:#66747c;background:#29353b;color:#f1f3f0}
.counterfeit-vote:hover{background:#35464e}
.counterfeit-canvas{border:3px solid #75838a;box-shadow:none}
.counterfeit-reveal small{color:#b9c7c8}
.game-over>h2{font-family:"Segoe UI",Arial,sans-serif;text-shadow:none}
body:not(.deep-case-active) .game-over>h2{color:#f1f3f0}
.reveal-moment-frame,.reveal-moment[data-mode="quiz"][data-result="wrong"] .reveal-moment-frame,.reveal-moment[data-mode="quiz"][data-result="neutral"] .reveal-moment-frame,.reveal-moment[data-mode="festival"] .reveal-moment-frame,.reveal-moment[data-mode="spectrum"] .reveal-moment-frame,.reveal-moment[data-mode="telephone"] .reveal-moment-frame,.reveal-moment[data-mode="counterfeit"] .reveal-moment-frame{background:#202b30;border:1px solid var(--moment-line);border-radius:7px;box-shadow:0 18px 48px #0008}
.reveal-moment-frame strong{font-family:"Segoe UI",Arial,sans-serif}
@media(max-width:430px){.site-header{height:60px}}
/* Reserve display lettering for the hero and game moments. */
.home :is(#profileLogin,.home-lobby-panel,.spectator-join) h2,.solo-setup h2,.solo-mode-card h3,#lobby h3{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:700;letter-spacing:-.025em;line-height:1.25;text-transform:none}
.home-mode-preview h2{font-size:clamp(1.2rem,2vw,1.45rem);font-weight:750}
.lobby-session-card h3{font-weight:800;text-transform:uppercase}
