/* IMPOSTOR V6 — Premium graphite / neon-lime interface. No fonts, images or CDN. */
:root {
  --v6-bg:#080b0e;
  --v6-surface:#11161b;
  --v6-surface-high:#171e24;
  --v6-border:#2b363e;
  --v6-text:#f4f8f7;
  --v6-muted:#9cadb5;
  --v6-lime:#c4f86c;
  --v6-green:#94eac7;
  --v6-violet:#b5a4ff;
}
body:not(.tv11-body){
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:radial-gradient(ellipse 680px 450px at 15% -260px,rgba(151,220,117,.13),transparent),
             radial-gradient(ellipse 740px 480px at 110% 13%,rgba(114,91,236,.095),transparent),
             #080b0e!important;
  color:var(--v6-text);
}
body:not(.tv11-body)::before{opacity:.13;background-image:radial-gradient(#c4d6d1 .7px,transparent .7px);background-size:33px 33px}
body:not(.tv11-body) .glass-card,body:not(.tv11-body) .card{
  background:linear-gradient(153deg,#192026,#10151a)!important;
  border:1px solid var(--v6-border)!important;
  border-radius:24px!important;
  box-shadow:0 24px 65px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body:not(.tv11-body) .glass-card::before{display:none}
body:not(.tv11-body) input:not([type=checkbox]):not([type=radio]),body:not(.tv11-body) select,body:not(.tv11-body) textarea{
  background:#0c1116!important;color:#fff!important;border:1px solid #37454b!important;border-radius:13px!important;
}
body:not(.tv11-body) input:not([type=checkbox]):not([type=radio]):focus,body:not(.tv11-body) select:focus{
  border-color:var(--v6-lime)!important;box-shadow:0 0 0 4px rgba(196,248,108,.11)!important;
}
body:not(.tv11-body) input::placeholder{color:#7e929b}
body:not(.tv11-body) form > button:not(.btn-start):not(.btn-new-game):not(.btn-lobby):not(.btn-back):not(.kick-btn):not(.btn-delete),
body:not(.tv11-body) .btn-call-vote{
  background:linear-gradient(120deg,#d4ff8e,#b6f069)!important;color:#19260a!important;font-weight:900!important;
  box-shadow:0 12px 28px rgba(182,240,105,.08)!important;
}
body:not(.tv11-body) .btn-start,body:not(.tv11-body) .btn-new-game{background:linear-gradient(120deg,#d4ff8e,#b6f069)!important;color:#1a2b11!important}
body:not(.tv11-body) button:focus-visible,body:not(.tv11-body) a:focus-visible,body:not(.tv11-body) summary:focus-visible{outline:3px solid #c4f86c;outline-offset:3px}
/* Landing: generous grid with editorial heading and distinct actions. */
body.v6-landing .container{max-width:980px!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding-bottom:55px}
body.v6-landing .landing-hero{grid-column:1/-1;padding:50px 10px 13px!important;margin:0!important;text-align:center}
body.v6-landing .hero-kicker{background:#202b20!important;border:1px solid #435a36!important;color:#c4f86c!important;letter-spacing:.11em!important}
body.v6-landing .hero-pulse{background:#c4f86c;box-shadow:0 0 0 5px rgba(196,248,108,.13)}
body.v6-landing .landing-hero h1{font-size:clamp(4.2rem,12vw,7.2rem)!important;letter-spacing:-.09em!important;line-height:.95!important;text-shadow:none!important;color:#f5f8f4}
body.v6-landing .hero-period{color:var(--v6-lime)!important}
body.v6-landing .landing-hero .subtitle{color:#b7c2c0;font-size:clamp(1rem,2.6vw,1.17rem);margin-top:19px}
body.v6-landing .hero-tags span{background:#121b1d;border:1px solid #2c3b37;color:#bed2cc;padding:9px 14px}
body.v6-landing .landing-hero+.glass-card,body.v6-landing .landing-hero+.glass-card+.glass-card{padding:28px!important;min-width:0}
body.v6-landing .glass-card h2{font-size:1.52rem!important;letter-spacing:-.045em!important}
body.v6-landing .glass-card h2 .icon{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #45513e;background:#293824;color:#c4f86c!important;border-radius:12px;font-size:1.35rem}
body.v6-landing .glass-card:nth-of-type(3) h2 .icon{color:#cbbaff!important;background:#28263b;border-color:#47405b}
body.v6-landing .glass-card{display:flex;flex-direction:column}
body.v6-landing .glass-card form{flex:1;display:flex;flex-direction:column}
body.v6-landing .glass-card form>button[type=submit]{margin-top:auto!important;min-height:56px!important}
body.v6-landing .field-label{margin-top:18px!important}
body.v6-landing .code-choice{margin-top:17px}
body.v6-landing .code-choice-card{background:#10171c!important;border:1px solid #35434a!important;border-radius:14px!important}
body.v6-landing .code-choice-card.is-active{background:#273323!important;border-color:#a5dc68!important}
body.v6-landing .code-choice-card.is-active .code-choice-icon{color:#c4f86c}
/* Host setup: less clutter; clear visual hierarchy. */
body.setup-host-body .container{width:min(100% - 28px,1120px)!important;max-width:1120px!important;padding:12px 0 52px}
body.setup-host-body .room-header{border-color:#273139;margin:3px 2px 17px}
body.setup-host-body .room-code{color:#f5fbf4!important;background:none!important;-webkit-text-fill-color:initial;font-size:2.4rem!important;font-weight:950;letter-spacing:.13em}
body.setup-host-body .live-status{background:#223825!important;color:#c4f86c!important;border-color:#456541!important}
body.setup-host-body .setup-shell{gap:22px}
body.setup-host-body .setup-hero{padding:20px 2px 2px;align-items:center}
body.setup-host-body .setup-eyebrow,body.setup-host-body .setup-mini-tag{color:#b6ef91;font-size:10px;letter-spacing:.17em}
body.setup-host-body .setup-dot{background:#c4f86c;box-shadow:0 0 0 5px rgba(196,248,108,.12)}
body.setup-host-body .setup-hero h1{font-size:clamp(2.5rem,5vw,3.85rem)!important;letter-spacing:-.065em!important;margin:17px 0 13px}
body.setup-host-body .setup-hero h1 span{color:var(--v6-lime)!important}
body.setup-host-body .setup-hero p{color:#a8b9bd;font-size:.94rem}
body.setup-host-body .setup-tv-shortcut{background:#202a30;border:1px solid #45565d;color:#edf8f3;border-radius:13px}
body.setup-host-body .setup-invite,body.setup-host-body .setup-section,body.setup-host-body .setup-players{
  background:linear-gradient(140deg,#182127,#11171b);border:1px solid #334047;border-radius:23px;
  box-shadow:0 18px 60px rgba(0,0,0,.19);
}
body.setup-host-body .setup-invite{display:grid;grid-template-columns:minmax(0,1fr) 252px;align-items:stretch;gap:25px;padding:27px 28px;overflow:visible;position:relative}
body.setup-host-body .setup-invite:after{content:"";position:absolute;width:330px;height:230px;left:40%;top:-80px;background:radial-gradient(ellipse,rgba(163,235,117,.075),transparent 70%);pointer-events:none}
body.setup-host-body .setup-invite-main{padding:8px 5px;min-width:0;position:relative;z-index:1}
body.setup-host-body .setup-invite h2{font-size:clamp(1.7rem,3vw,2.3rem)!important;margin:16px 0 12px!important;letter-spacing:-.055em!important}
.v6-accent-dot{color:var(--v6-lime)}
body.setup-host-body .setup-invite p{font-size:.88rem;line-height:1.65;color:#b5c5ca;max-width:480px}
.v6-room-code-label{font-size:10px;font-weight:900;letter-spacing:.13em;color:#91a4a7;margin-top:23px}
body.setup-host-body .setup-invite-actions{gap:9px;margin-top:9px}
body.setup-host-body .setup-code-box{background:#0c1214;color:#e4ffd0;border:1px solid #55754c;border-radius:12px;font-size:1.78rem;padding:10px 17px;letter-spacing:.17em;min-height:49px}
body.setup-host-body .setup-copy,body.setup-host-body .v6-copy-code{border:1px solid #5c7351!important;background:#26382c!important;color:#e2ffc9!important;font-weight:850!important;min-height:49px!important;border-radius:12px!important;padding:10px 14px!important;font-size:.82rem!important;box-shadow:none!important;margin:0!important}
body.setup-host-body .v6-copy-code{border-color:#425157!important;background:#1c282b!important;color:#d4e7e3!important}
.v6-invite-link{color:#9cadb5;background:#0d1316;border:1px solid #2e3b40;padding:12px 14px;border-radius:10px;font-size:.77rem;line-height:1.5;margin-top:16px;overflow-wrap:anywhere;user-select:all}
.v6-invite-hint{color:#8fad9d;font-size:.77rem;margin-top:12px;line-height:1.5}
.v6-invite-hint.v6-invite-warning{color:#f3cb86}
.v6-qr-card{background:#0d1417;border:1px solid #37464b;border-radius:21px;padding:15px;display:flex;flex-direction:column;align-items:stretch;gap:11px;position:relative;z-index:1}
.v6-qr-top{display:flex;align-items:center;justify-content:space-between;color:#b9c9c9;font-size:10px;font-weight:900;letter-spacing:.12em;gap:6px}
.v6-qr-top>span+span{font-size:1.3rem;color:#bdf282;letter-spacing:0}
.v6-qr-paper{background:white;border-radius:12px;padding:9px;aspect-ratio:1/1;width:100%;display:grid;place-items:center;box-shadow:0 10px 24px #0005}
#joinQr{display:grid;place-items:center;width:100%;height:100%;max-width:215px;max-height:215px;overflow:hidden}
#joinQr svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.v6-qr-placeholder{color:#444;font-size:.8rem;text-align:center;line-height:1.4;padding:10px}
.v6-qr-bottom{font-size:.72rem;color:#b6c9c1;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}
.v6-qr-status-dot{height:7px;width:7px;background:#c4f86c;border-radius:50%;box-shadow:0 0 0 3px #c4f86c20}
.v6-qr-link{color:#d8f9ae;font-weight:800;font-size:.75rem;text-align:center;text-decoration:none;border-top:1px solid #2c3b3e;padding-top:12px}
.v6-qr-link:hover{text-decoration:underline}
body.setup-host-body .setup-topline{padding:1px 4px 0}
body.setup-host-body .setup-topline h2{font-size:1.95rem!important}
body.setup-host-body .setup-presets{background:#121b1d;color:#a9bdb4;border-color:#31413f}
body.setup-host-body .setup-section{padding:26px 28px}
body.setup-host-body .setup-section-head{margin-bottom:22px}
body.setup-host-body .setup-step{border:1px solid #536349;background:#263423;color:#c4f86c;width:38px;height:38px}
body.setup-host-body .setup-section-head h3{color:#f7f9f6;font-size:1.17rem!important}
body.setup-host-body .setup-section-head p{color:#98aeb1}
body.setup-host-body .setup-mode-content{background:#0e1519;border:1px solid #36444a;min-height:197px;border-radius:17px;padding:20px 18px 16px}
body.setup-host-body .setup-mode-content small{color:#a0b4b9;font-size:.77rem}
body.setup-host-body .setup-mode-emoji{font-size:1.8rem}
body.setup-host-body .setup-mode-card:hover .setup-mode-content{border-color:#7d996d;background:#172017;transform:translateY(-2px)}
body.setup-host-body .setup-mode-card input:checked+.setup-mode-content{background:linear-gradient(145deg,#273728,#172820);border-color:#b3eb83;box-shadow:0 0 0 1px #c4f86c27,inset 0 1px 0 #ffffff0d}
body.setup-host-body .setup-selected-mark{color:#d0ff9d}
body.setup-host-body .setup-setting{background:#0e1519;border:1px solid #36434a;border-radius:14px;padding:14px 13px;margin-bottom:10px}
body.setup-host-body .setup-setting:hover{background:#182322;border-color:#577359}
body.setup-host-body .setup-setting:has(input:checked){background:#1b2820;border-color:#60854a}
body.setup-host-body .setup-setting-icon{background:#273631;border:1px solid #405148;border-radius:11px}
body.setup-host-body .setup-setting-copy strong{color:#eff8f1}
body.setup-host-body .setup-setting-copy small{color:#9dafb0}
body.setup-host-body .setup-switch{background:#344046;border-color:#536269}
body.setup-host-body .setup-toggle-input:checked+.setup-switch{background:#b8f37d;border-color:#b8f37d}
body.setup-host-body .setup-toggle-input:checked+.setup-switch:after{background:#172417}
body.setup-host-body .setup-chance span{background:#0b1417;border:1px solid #3d4b52;color:#bbc9c9;padding:13px 3px}
body.setup-host-body .setup-chance input:checked+span{background:#c4f86c;color:#1a2d15;border-color:#c4f86c;box-shadow:0 0 0 2px #c4f86c25}
body.setup-host-body .setup-field-heading strong{color:#f0f8f0}
body.setup-host-body .setup-field-heading small{color:#96abad}
body.setup-host-body .setup-timer-select{color:#c3d5d5}
body.setup-host-body .setup-timer-select select{border-color:#415457!important;background:#0f171a!important}
body.setup-host-body .setup-bottom-bar{background:rgba(18,26,25,.98);border:1px solid #53684e;box-shadow:0 22px 60px #0009;border-radius:18px;padding:17px 19px;bottom:14px;backdrop-filter:blur(15px)}
body.setup-host-body .setup-summary-label{color:#c4f86c}
body.setup-host-body .setup-summary strong{color:#f3f9f1}
body.setup-host-body .setup-summary small{color:#a8e9bd}
body.setup-host-body .setup-save-btn{border:1px solid #627168!important;background:#283830!important;color:#e7f6ed!important}
body.setup-host-body .setup-launch-btn{background:linear-gradient(115deg,#d5ff99,#b2eb70)!important;color:#223614!important;border:0!important;font-weight:950!important;min-height:53px!important;box-shadow:0 8px 26px #c4f86c15!important}
body.setup-host-body .setup-players{padding:26px 28px}
body.setup-host-body .setup-players-total{background:#2b3d28;color:#cefaad}
body.setup-host-body .setup-players .player-item{background:#10181d!important;border:1px solid #334149!important;border-radius:14px!important}
body.setup-host-body .setup-players .player-item:hover{border-color:#748c69!important}
body.setup-host-body .setup-players-foot a{color:#cefb95}
/* Players and in-round visuals */
body.setup-player-body .container{max-width:820px!important}
body.setup-player-body .glass-card{padding:30px!important}
body.setup-player-body .lobby-note{color:#adc0bd}
body:not(.tv11-body) .host-chip{background:#2d3c27!important;color:#d3ff9a!important;border-color:#4e6749!important}
body.v6-game .container{max-width:870px!important}
body.v6-game .gameplay-header{border-bottom:1px solid #2b3838;padding-bottom:18px;margin-bottom:22px}
body.v6-game .game-live-pill{background:#223424!important;color:#c4f86c!important;border-color:#536e48!important}
body.v6-game .gameplay-header h1{letter-spacing:-.05em!important}
body.v6-game .role-card{background:linear-gradient(145deg,#1b2629,#12191d)!important;border:1px solid #435456!important;border-radius:24px!important;box-shadow:0 18px 60px #0004!important}
body.v6-game .role-card.impostor{background:linear-gradient(145deg,#35212d,#19191f)!important;border-color:#885260!important}
body.v6-game .role-card.jester{background:linear-gradient(145deg,#31263d,#1c1d26)!important;border-color:#76638e!important}
body.v6-game .role-card.devil{background:linear-gradient(145deg,#40241f,#1e1b19)!important;border-color:#995946!important}
body.v6-game .secret-warning{color:#c4f86c!important}
body.v6-game .special-round-banner{border:1px solid #53664b!important;background:linear-gradient(120deg,#243426,#171e1b)!important;border-radius:18px!important}
body.v6-game .oral-instructions{border-color:#536850;background:#1e2b22}
body.v6-game .oral-instructions strong{color:#dbffc1}
body.v6-game .oral-instructions p{color:#b5cabd}
body.v6-join .container{max-width:540px!important;padding-top:55px}
body.v6-join .glass-card{padding:35px!important}
body.v6-join .join-brand .eyebrow{color:#c4f86c}
body.v6-join .join-brand h1{font-size:2.55rem;letter-spacing:-.06em}
/* TV: visual-only refinements; no confidential state. */
body.tv11-body{background:#090d10!important;color:#f5faf7}
body.tv11-body .tv11-panel,body.tv11-body .tv11-clock{border-color:#3f5352!important;background:#131c20!important}
body.tv11-body .tv11-brand b{letter-spacing:-.04em}
/* Accessibility and mobile layout */
@media(max-width:780px){
  body.v6-landing .container{grid-template-columns:1fr;max-width:570px!important}
  body.v6-landing .landing-hero{padding-top:25px!important}
  body.setup-host-body .setup-invite{grid-template-columns:1fr 216px;gap:15px}
  body.setup-host-body .setup-qr-top{font-size:9px}
}
@media(max-width:640px){
  body.setup-host-body .container{width:calc(100% - 22px)!important}
  body.setup-host-body .setup-hero{padding-top:8px}
  body.setup-host-body .setup-invite{grid-template-columns:1fr;padding:21px 19px;gap:17px}
  body.setup-host-body .setup-invite-main{padding:0}
  body.setup-host-body .setup-invite h2{margin-top:10px!important}
  .v6-qr-card{max-width:none;display:grid;grid-template-columns:1fr 150px;grid-template-rows:auto auto auto;align-items:center;padding:14px;gap:8px 12px}
  .v6-qr-top{grid-column:1;grid-row:1}
  .v6-qr-paper{grid-column:2;grid-row:1/4;width:150px;height:150px;max-width:100%}
  .v6-qr-bottom{grid-column:1;grid-row:2;justify-content:flex-start;line-height:1.5;text-align:left}
  .v6-qr-link{grid-column:1;grid-row:3;text-align:left;line-height:1.5}
  .v6-invite-link{font-size:.69rem}
  body.setup-host-body .setup-section,body.setup-host-body .setup-players{padding:20px 16px}
  body.setup-host-body .setup-mode-grid{grid-template-columns:1fr}
  body.setup-host-body .setup-mode-content{min-height:unset;padding:15px 15px 15px 61px}
  body.setup-host-body .setup-mode-content .setup-mode-emoji{left:15px;top:17px}
  body.setup-host-body .setup-mode-content small{max-width:100%;padding-right:5px}
  body.setup-host-body .setup-mode-content .setup-selected-mark{right:12px;top:16px}
  body.setup-host-body .setup-bottom-bar{bottom:8px;padding:12px;gap:10px}
  body.setup-host-body .setup-summary strong{font-size:.75rem}
  body.setup-host-body .setup-players .player-list{grid-template-columns:1fr}
  body.v6-landing .landing-hero h1{font-size:clamp(3.25rem,15.5vw,5.4rem)!important}
  body.v6-landing .landing-hero+.glass-card,body.v6-landing .landing-hero+.glass-card+.glass-card{padding:22px!important}
}
@media(max-width:390px){
  body.setup-host-body .setup-invite-actions{gap:8px}
  .v6-qr-card{grid-template-columns:1fr 120px}
  .v6-qr-paper{width:120px;height:120px;padding:4px}
  body.setup-host-body .setup-code-box{font-size:1.45rem}
  body.setup-host-body .setup-chance-grid{gap:4px}
  body.setup-host-body .setup-chance span{font-size:.73rem;padding:10px 1px}
  body.setup-host-body .setup-bottom-buttons{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body:not(.tv11-body) *{transition-duration:0ms!important}}

/* Keep the main actions after the settings instead of masking controls. */
body.setup-host-body .setup-bottom-bar{position:relative!important;bottom:auto!important;z-index:2}
/* Clip decorative glow to avoid horizontal scrolling on small phones. */
body.setup-host-body .setup-invite{overflow:hidden!important}
