:root {
  --bg:#0b0d12;
  --panel:#121620;
  --panel-2:#171c28;
  --text:#f6f2e9;
  --muted:#9ca5b8;
  --line:rgba(255,255,255,.09);
  --gold:#d7b86a;
  --gold-2:#f2d58a;
  --good:#35c98b;
  --bad:#ff6674;
  --skip:#77a8ff;
  --easy:#67d69f;
  --medium:#e3b85b;
  --hard:#ef6b75;
  --shadow:0 20px 70px rgba(0,0,0,.42);
  --radius:26px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{min-height:100svh;overflow-x:hidden;background:
 radial-gradient(circle at 10% -10%, rgba(215,184,106,.16), transparent 34rem),
 radial-gradient(circle at 100% 40%, rgba(82,102,180,.10), transparent 32rem),
 var(--bg)}
button,input,select{font:inherit}.app-shell{width:min(100%,620px);margin:0 auto;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.screen{min-height:calc(100svh - 42px);display:flex;flex-direction:column;animation:fade .22s ease both}@keyframes fade{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border:1px solid rgba(215,184,106,.55);border-radius:14px;display:grid;place-items:center;color:var(--gold-2);font-weight:900;letter-spacing:-.08em;background:linear-gradient(145deg,rgba(215,184,106,.16),rgba(255,255,255,.02))}.brand-text{font-weight:800;letter-spacing:.01em}.brand-text small{display:block;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-top:3px}
.hero{padding:46px 2px 28px}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-size:clamp(42px,12vw,68px);line-height:.92;letter-spacing:-.055em;margin:10px 0 18px}.hero h1 span{display:block;color:var(--gold-2)}.hero p{color:var(--muted);font-size:17px;line-height:1.55;margin:0;max-width:36ch}
.home-actions{display:grid;gap:12px;margin-top:auto}.btn{border:0;border-radius:18px;padding:16px 18px;min-height:56px;font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease}.btn:active{transform:scale(.985)}.btn-primary{background:linear-gradient(135deg,var(--gold-2),#c79a42);color:#17130a;box-shadow:0 12px 30px rgba(199,154,66,.18)}.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn-danger{background:rgba(255,102,116,.11);color:#ff99a2;border:1px solid rgba(255,102,116,.22)}.btn-small{min-height:42px;padding:10px 13px;border-radius:14px;font-size:13px}.btn[disabled]{opacity:.42;cursor:not-allowed}
.header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.back{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:20px}.header h2{font-size:18px;margin:0;flex:1}.header-note{font-size:12px;color:var(--muted)}
.form-section{background:rgba(18,22,32,.84);border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:14px;box-shadow:0 12px 32px rgba(0,0,0,.12)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}.section-title h3{font-size:15px;margin:0}.section-title span{font-size:12px;color:var(--muted)}.field{display:grid;gap:8px;margin-bottom:12px}.field:last-child{margin-bottom:0}.field label{font-size:12px;font-weight:750;color:var(--muted)}.input{width:100%;border:1px solid var(--line);background:#0d1118;color:var(--text);border-radius:15px;padding:14px 15px;outline:none}.input:focus{border-color:rgba(215,184,106,.55);box-shadow:0 0 0 3px rgba(215,184,106,.08)}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segment{border:1px solid var(--line);background:#0d1118;color:var(--muted);border-radius:14px;padding:11px 8px;text-align:center;font-size:13px;font-weight:800}.segment.active{color:#17130a;background:var(--gold-2);border-color:transparent}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#0d1118;color:var(--muted);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}.chip.active{color:var(--text);border-color:rgba(215,184,106,.38);background:rgba(215,184,106,.10)}.chip.easy.active{border-color:rgba(103,214,159,.45);color:#a7f1cc}.chip.medium.active{border-color:rgba(227,184,91,.45);color:#f2d08b}.chip.hard.active{border-color:rgba(239,107,117,.45);color:#ffa4ab}
.show-tools{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.show-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:330px;overflow:auto;padding-right:3px}.show-item{position:relative}.show-item input{position:absolute;opacity:0;pointer-events:none}.show-item label{display:flex;align-items:center;min-height:46px;padding:10px 11px;border:1px solid var(--line);background:#0d1118;color:var(--muted);border-radius:13px;font-size:12px;line-height:1.2;font-weight:700}.show-item input:checked+label{border-color:rgba(215,184,106,.38);background:rgba(215,184,106,.09);color:var(--text)}
.setup-footer{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));margin-top:10px;padding-top:10px;background:linear-gradient(transparent,var(--bg) 24%)}
.top-score{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 10px}.game-nav{display:flex;justify-content:flex-end;margin:0 0 12px}.game-home{border:1px solid var(--line);background:rgba(18,22,32,.86);color:var(--muted);border-radius:999px;min-height:38px;padding:8px 13px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.game-home span{font-size:17px;line-height:1;color:var(--gold-2)}.game-home:active{transform:scale(.98)}.score-player{min-width:0}.score-player:last-child{text-align:right}.score-name{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.score-num{font-size:26px;font-weight:900;letter-spacing:-.04em}.round-pill{font-size:11px;font-weight:800;color:var(--gold-2);border:1px solid rgba(215,184,106,.24);background:rgba(215,184,106,.06);padding:8px 10px;border-radius:999px;white-space:nowrap}
.handoff{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px 6px}.handoff-icon{width:92px;height:92px;border-radius:30px;margin:0 auto 24px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(215,184,106,.16),rgba(82,102,180,.12));border:1px solid rgba(215,184,106,.28);font-size:40px;box-shadow:var(--shadow)}.handoff h1{font-size:36px;letter-spacing:-.04em;margin:0 0 12px}.handoff h1 span{color:var(--gold-2)}.handoff p{color:var(--muted);line-height:1.55;margin:0 auto 26px;max-width:34ch}.privacy-note{font-size:12px;color:#768093;margin-top:12px}
.question-wrap{flex:1;display:flex;flex-direction:column}.question-card{position:relative;flex:1;min-height:430px;background:linear-gradient(160deg,#171d29,#10141d 58%,#131720);border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.question-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(215,184,106,.13),transparent 36%);pointer-events:none}.card-meta{position:relative;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.show-name{font-size:15px;font-weight:900;line-height:1.25;max-width:70%}.scope{font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:.08em;text-transform:uppercase}.difficulty{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:7px 9px;border-radius:999px;border:1px solid currentColor}.difficulty.easy{color:var(--easy);background:rgba(103,214,159,.07)}.difficulty.medium{color:var(--medium);background:rgba(227,184,91,.07)}.difficulty.hard{color:var(--hard);background:rgba(239,107,117,.07)}.category{position:relative;margin-top:35px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.question{position:relative;font-size:clamp(25px,7vw,34px);line-height:1.18;font-weight:830;letter-spacing:-.03em;margin:auto 0}.card-id{position:relative;color:#70798b;font-size:10px;margin-top:26px}.question-actions{display:grid;gap:10px;margin-top:14px}.question-actions .btn{min-height:54px}
.host-card{background:linear-gradient(160deg,#171d29,#0f131b);border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:var(--shadow)}.host-q{font-size:18px;line-height:1.4;font-weight:750;margin:15px 0 18px}.answer-box{border-top:1px solid var(--line);padding-top:17px;display:none}.answer-box.visible{display:block;animation:fade .2s ease}.answer-label{font-size:10px;color:var(--gold);font-weight:900;letter-spacing:.15em;text-transform:uppercase}.answer-text{font-size:23px;line-height:1.3;font-weight:800;margin:8px 0 2px}.swipe-stage{position:relative;margin-top:16px;min-height:210px}.swipe-card{position:absolute;inset:0;background:linear-gradient(160deg,#1b2230,#111720);border:1px solid var(--line);border-radius:25px;padding:19px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;touch-action:none;user-select:none;cursor:grab;transition:transform .22s ease,opacity .22s ease;box-shadow:0 15px 36px rgba(0,0,0,.3)}.swipe-card.dragging{transition:none;cursor:grabbing}.swipe-card.disabled{opacity:.43;pointer-events:none}.swipe-title{font-size:13px;color:var(--muted);font-weight:750}.swipe-hint{font-size:12px;color:#6f788a;margin-top:10px}.swipe-overlay{position:absolute;font-size:30px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;opacity:0;pointer-events:none}.overlay-good{color:var(--good);right:20px;top:20px;transform:rotate(10deg)}.overlay-bad{color:var(--bad);left:20px;top:20px;transform:rotate(-10deg)}.overlay-skip{color:var(--skip);left:50%;bottom:20px;transform:translateX(-50%)}.swipe-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:16px}.swipe-button{border-radius:17px;border:1px solid var(--line);background:var(--panel);min-height:54px;font-size:20px;font-weight:900}.swipe-button.bad{color:var(--bad)}.swipe-button.skip{color:var(--skip)}.swipe-button.good{color:var(--good)}
.result-burst{text-align:center;padding:28px 10px 18px}.result-icon{font-size:62px}.result-burst h1{font-size:34px;margin:10px 0 6px}.result-burst p{color:var(--muted);margin:0}.points-earned{font-size:48px;font-weight:950;color:var(--gold-2);letter-spacing:-.05em;margin:18px 0}.progress{height:6px;background:#1c2330;border-radius:999px;overflow:hidden;margin:8px 0 0}.progress>div{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .3s ease}
.end{padding:18px 0 8px}.trophy{font-size:70px;text-align:center;margin:10px 0}.end h1{text-align:center;font-size:36px;letter-spacing:-.04em;margin:0}.end-sub{text-align:center;color:var(--muted);margin:8px 0 25px}.final-score{display:grid;grid-template-columns:1fr 1fr;gap:12px}.score-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px;text-align:center}.score-card.winner{border-color:rgba(215,184,106,.38);background:rgba(215,184,106,.07)}.score-card .n{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-card .s{font-size:40px;font-weight:950;margin:5px 0}.score-card .a{font-size:11px;color:#7e8798}.summary{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:16px}.summary-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-row:last-child{border:0}.summary-row span:first-child{color:var(--muted)}
.stats-empty{text-align:center;color:var(--muted);padding:60px 20px}.history-item{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px}.history-top{display:flex;justify-content:space-between;gap:10px}.history-title{font-weight:800;font-size:14px}.history-date{font-size:11px;color:var(--muted)}.history-score{font-size:13px;color:var(--gold-2);margin-top:7px}.footer-mini{text-align:center;color:#5f6879;font-size:10px;margin:22px 0 4px}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#f5f1e8;color:#161920;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:50;box-shadow:0 10px 35px rgba(0,0,0,.3)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.app-shell{padding-left:14px;padding-right:14px}.show-list{grid-template-columns:1fr}.question-card{min-height:390px}.question{font-size:25px}.hero h1{font-size:47px}}
@media(min-width:700px){.app-shell{padding-top:28px}.screen{min-height:calc(100svh - 56px)}}

/* v1.1 — game mode selector + Rapid Round */
.mode-grid{display:grid;gap:12px;margin:4px 0 18px}.mode-card{width:100%;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#171c28,#10141d);color:var(--text);padding:17px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.14)}.mode-card:active{transform:scale(.99)}.mode-card.mode-rapid{border-color:rgba(215,184,106,.28);background:linear-gradient(145deg,rgba(215,184,106,.10),#121721 48%,#10141d)}.mode-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#0d1118;border:1px solid var(--line);font-size:23px}.mode-card strong{display:block;font-size:15px}.mode-card small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:4px}.mode-card b{font-size:25px;color:var(--gold-2);font-weight:500}.history-mode{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.rapid-screen{padding-bottom:8px}.rapid-turn{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:11px 13px;border:1px solid rgba(215,184,106,.20);border-radius:15px;background:rgba(215,184,106,.055)}.rapid-turn span{font-size:10px;color:var(--gold);font-weight:900;letter-spacing:.12em}.rapid-turn strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.rapid-stage{position:relative;min-height:500px;flex:1}.rapid-card{position:absolute;inset:0;min-height:0;touch-action:none;user-select:none;cursor:grab;transition:transform .22s ease,opacity .22s ease}.rapid-card.dragging{transition:none;cursor:grabbing}.rapid-card .category{margin-top:26px}.rapid-question{margin:28px 0 26px!important;font-size:clamp(23px,6.6vw,32px)!important}.rapid-reveal{position:relative;z-index:3;width:100%;min-height:50px;margin:0 0 14px}.rapid-card .answer-box{position:relative;z-index:2;margin:0 0 8px}.rapid-card .answer-text{font-size:20px}.rapid-card .card-id{margin-top:auto;padding-top:15px}.rapid-swipe-copy{text-align:center;color:#737d90;font-size:11px;line-height:1.35;margin:12px 6px 0}.rapid-screen .swipe-buttons{margin-top:10px}
@media(max-width:390px){.rapid-stage{min-height:470px}.rapid-question{font-size:23px!important}.mode-card{padding:14px;gap:11px}.mode-icon{width:44px;height:44px}}
