:root{color-scheme:dark;--bg:#101321;--surface:#181c2e;--surface-2:#20253b;--line:rgba(255,255,255,.11);--text:#faf9ff;--muted:#aeb1c3;--accent:#8c72ff;--accent-2:#ff628f;--good:#69e2b0;--bad:#ff6b7f;--shadow:0 28px 75px rgba(0,0,0,.36);font-family:Inter,ui-rounded,'SF Pro Rounded','Segoe UI',sans-serif}
body[data-theme='spy']{--accent:#55deb9;--accent-2:#6aa9ff}body[data-theme='wolf']{--accent:#9690ff;--accent-2:#ff6f83}body[data-theme='bomb']{--accent:#ffad55;--accent-2:#ff675d}body[data-theme='who']{--accent:#c2f56d;--accent-2:#56d6a0}body[data-theme='taboo']{--accent:#ff697b;--accent-2:#ffb05f}body[data-theme='clue']{--accent:#65c9ff;--accent-2:#8878ff}body[data-theme='majority']{--accent:#ffd064;--accent-2:#ff8e5d}body[data-theme='quiz']{--accent:#d18cff;--accent-2:#7d89ff}
*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 42%),var(--bg);color:var(--text)}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.game-shell{width:min(100% - 28px,760px);min-height:100vh;margin:auto;padding:22px 0 30px}.game-nav{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:16px}.back-link,.rules-button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);font-size:.79rem;font-weight:800;cursor:pointer}.back-link:hover,.rules-button:hover{color:var(--text)}.game-logo{display:flex;align-items:center;gap:9px;font-size:.86rem;font-weight:850}.game-logo i{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#111;font-style:normal;font-weight:950}
.screen{padding:48px 0 26px}.screen.centered{display:flex;min-height:calc(100vh - 112px);padding-top:25px;align-items:center;flex-direction:column;justify-content:center;text-align:center}.hero{margin-bottom:28px}.eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hero h1,.centered h1{margin:9px 0 13px;font-size:clamp(2.55rem,9vw,4.8rem);line-height:.96;letter-spacing:-.065em}.hero p:not(.eyebrow),.centered .lead{max-width:590px;margin:0;color:var(--muted);line-height:1.65}.panel{padding:clamp(18px,5vw,30px);border:1px solid var(--line);border-radius:27px;background:rgba(24,28,46,.9);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.panel-title{margin:0 0 18px;font-size:1rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:8px;color:var(--muted);font-size:.78rem;font-weight:800}.field input,.field select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:14px;outline:0;background:var(--surface-2);color:var(--text)}.field input:focus,.field select:focus,.player-input:focus{border-color:var(--accent)}.stepper{display:grid;grid-template-columns:45px 1fr 45px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.stepper input{border:0;padding:0;text-align:center;appearance:textfield}.stepper button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.2rem}.stepper button:hover{background:rgba(255,255,255,.06);color:var(--text)}
.players-head{display:flex;margin:24px 0 11px;align-items:end;justify-content:space-between;gap:14px}.players-head strong{font-size:.86rem}.players-head small{display:block;margin-top:3px;color:var(--muted)}.players-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.player-field{position:relative}.player-field span{position:absolute;top:50%;left:12px;display:grid;width:25px;height:25px;place-items:center;transform:translateY(-50%);border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:.69rem;font-weight:900}.player-input{width:100%;height:49px;padding:0 12px 0 47px;border:1px solid var(--line);border-radius:14px;outline:0;background:var(--surface-2);color:var(--text)}.error{min-height:19px;margin:11px 0 0;color:#ff9dac;font-size:.82rem}
.primary,.secondary,.danger,.choice-button{display:flex;min-height:52px;padding:0 19px;align-items:center;justify-content:center;gap:10px;border-radius:15px;cursor:pointer;font-weight:850}.primary{width:100%;margin-top:8px;border:0;background:var(--accent);color:#101321;box-shadow:0 13px 28px color-mix(in srgb,var(--accent) 22%,transparent)}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.04)}.secondary:hover{background:rgba(255,255,255,.08)}.danger{border:1px solid color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent);color:#ff9aaa}.compact{width:min(100%,390px);margin-top:22px}.button-row{display:flex;width:min(100%,540px);margin-top:18px;gap:10px}.button-row>*{flex:1}.text-button{padding:4px;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:.77rem;font-weight:850}
.icon-disc{display:grid;width:88px;height:88px;margin-bottom:25px;place-items:center;border:1px solid var(--line);border-radius:29px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent);font-size:2.4rem;font-weight:900}.player-name{margin:7px 0!important;color:var(--text);font-size:clamp(2.2rem,10vw,4.8rem)!important;font-weight:900;letter-spacing:-.06em}.progress{width:min(100%,450px);margin-bottom:38px;color:var(--muted);font-size:.75rem;font-weight:800}.progress-track{height:6px;margin-top:8px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width 250ms ease}
.reveal-card,.word-card{display:flex;width:min(100%,470px);min-height:300px;padding:30px;align-items:center;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:29px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%),var(--surface);box-shadow:var(--shadow);text-align:center}.reveal-card{cursor:pointer}.reveal-card .covered,.reveal-card .revealed{display:flex;align-items:center;flex-direction:column}.reveal-card .revealed,.reveal-card:not(.is-covered) .covered{display:none}.reveal-card:not(.is-covered) .revealed{display:flex}.card-icon{margin-bottom:15px;color:var(--accent);font-size:3rem}.badge{padding:7px 11px;border-radius:99px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.secret{max-width:100%;margin:20px 0 10px;overflow-wrap:anywhere;font-size:clamp(2.1rem,10vw,4.5rem);line-height:1;letter-spacing:-.055em}.hint{max-width:390px;color:var(--muted);font-size:.88rem;line-height:1.55}.big-value{margin:10px 0;font-size:clamp(3rem,15vw,7rem);line-height:.9;letter-spacing:-.07em}.timer{display:grid;width:145px;height:145px;margin:24px auto;place-items:center;border:8px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;background:var(--surface);color:var(--accent);font-size:3rem;font-weight:950;box-shadow:var(--shadow)}.timer.is-low{border-color:color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad);animation:pulse .7s infinite}.score{color:var(--accent);font-size:clamp(3rem,14vw,6rem);font-weight:950;letter-spacing:-.07em}
.options{display:grid;width:min(100%,560px);margin-top:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-button{min-height:62px;border:1px solid var(--line);background:var(--surface-2);text-align:left}.choice-button:hover{border-color:var(--accent)}.choice-button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface-2))}.choice-button.is-correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 15%,var(--surface-2))}.choice-button.is-wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 15%,var(--surface-2))}.stats{display:flex;margin:20px 0;flex-wrap:wrap;justify-content:center;gap:10px}.stat{min-width:120px;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.stat strong,.stat span{display:block}.stat strong{font-size:1.55rem}.stat span{margin-top:4px;color:var(--muted);font-size:.69rem;text-transform:uppercase}.rule-list{margin:14px 0 0;padding-left:20px;color:var(--muted);line-height:1.7}.rules-box{max-width:620px;margin:18px auto 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03);text-align:left}.forbidden{display:flex;margin-top:15px;flex-wrap:wrap;justify-content:center;gap:8px}.forbidden span{padding:9px 12px;border-radius:10px;background:color-mix(in srgb,var(--bad) 12%,transparent);color:#ff9fac;font-size:.82rem;font-weight:800}.vote-bars{display:grid;width:min(100%,520px);margin-top:25px;gap:14px}.vote-row{text-align:left}.vote-label{display:flex;margin-bottom:7px;justify-content:space-between;font-size:.82rem;font-weight:850}.vote-track{height:19px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.vote-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .5s ease}.winner-list{display:flex;margin-top:18px;flex-wrap:wrap;justify-content:center;gap:8px}.winner-list span{padding:9px 13px;border-radius:99px;background:color-mix(in srgb,var(--good) 12%,transparent);color:var(--good);font-weight:850}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}@keyframes pulse{50%{transform:scale(1.04)}}
@media(max-width:600px){.game-shell{width:min(100% - 20px,760px);padding-top:10px}.screen{padding-top:32px}.settings-grid,.players-list,.options{grid-template-columns:1fr}.screen.centered{min-height:calc(100vh - 82px)}.button-row{flex-direction:column}.panel{border-radius:22px}.game-logo span{display:none}}
@media(prefers-reduced-motion:no-preference){.screen:not([hidden]){animation:screen-in 250ms ease both}.reveal-card:not(.is-covered) .revealed{animation:reveal-in 280ms ease both}@keyframes screen-in{from{opacity:0;transform:translateY(7px)}}@keyframes reveal-in{from{opacity:0;transform:scale(.96)}}}
