:root{
  color-scheme:dark;
  --bg:#0d0a10;--panel:#17121b;--panel2:#221a27;--panel3:#2b2131;
  --text:#fff8fc;--muted:#b6a9b7;--muted2:#817584;--line:rgba(255,255,255,.10);
  --pink:#f35f8f;--violet:#a979ff;--orange:#ff8b66;--green:#72d6a0;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Rounded","SF Pro Display","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body{min-height:100%;background:radial-gradient(circle at 50% -12%,rgba(243,95,143,.16),transparent 34rem),var(--bg)}
button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(243,95,143,.52);outline-offset:2px}.hidden{display:none!important}
.app{width:min(100%,540px);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 18px max(34px,env(safe-area-inset-bottom));display:grid;gap:16px}.screen{display:grid;gap:16px}.centerScreen{min-height:70vh;align-content:center}.muted{color:var(--muted)}
.orb{width:66px;height:66px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-weight:950;letter-spacing:-.03em;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 16px 38px rgba(243,95,143,.24)}
.eyebrow{margin:0 0 9px;font-size:.75rem;letter-spacing:.14em;font-weight:900;color:var(--muted);text-transform:uppercase}.hero{text-align:center;padding:28px 4px 12px}.hero h1,.authCard h1{font-size:clamp(2.5rem,10vw,4.2rem);line-height:.94;letter-spacing:-.055em;margin:0}.hero p,.lead{color:var(--muted);line-height:1.55;max-width:390px;margin:14px auto 0}.lead{text-align:center}
.authCard{padding:28px 22px;border:1px solid var(--line);border-radius:28px;background:rgba(23,18,27,.92);backdrop-filter:blur(18px);text-align:center}.loginForm{display:grid;gap:11px;margin-top:26px;text-align:left}.loginForm label{font-size:.82rem;color:var(--muted);font-weight:800}.loginForm input{width:100%;min-height:54px;border-radius:16px;border:1px solid var(--line);background:var(--panel2);color:white;padding:0 15px;font-size:17px}.error{min-height:20px;margin:0;text-align:center;color:#ff9cae;font-size:.82rem}
.startHeader{display:grid;grid-template-columns:1fr auto;align-items:center}.ghostSmall{min-height:42px;padding:0 14px;border-radius:13px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:800}.panel,.resumePanel{padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(23,18,27,.88)}.panel h2{margin:0 0 12px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.quietPanel p,.resumePanel p{margin:0;color:var(--muted);line-height:1.5}.quietPanel strong{color:white}.resumePanel h2{font-size:1.55rem;margin:0 0 8px;letter-spacing:-.03em}.resumePanel .eyebrow{margin-bottom:8px}
.seg{display:grid;gap:8px}.two{grid-template-columns:repeat(2,1fr)}.seg button{min-height:52px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);color:var(--muted);font-weight:850}.seg button.active{color:white;border-color:rgba(243,95,143,.55);background:rgba(243,95,143,.15)}.consent{display:flex;gap:12px;align-items:flex-start;padding:8px 4px;color:var(--muted);font-size:.86rem;line-height:1.45}.consent input{width:20px;height:20px;accent-color:var(--pink);flex:0 0 auto}.primary,.next,.timerStart,.mysteryButton{min-height:56px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--pink),#d24dbc);color:white;font-weight:900;box-shadow:0 12px 28px rgba(243,95,143,.18)}.primary:disabled{opacity:.36;box-shadow:none}.secondary{min-height:54px;border-radius:18px;border:1px solid var(--line);background:var(--panel2);color:white;font-weight:850}.stackActions{display:grid;gap:10px}.micro{margin:-4px 8px 0;text-align:center;color:var(--muted2);font-size:.74rem;line-height:1.45}.topGap{margin-top:16px}
.gameHeader{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}.icon{width:48px;height:48px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:white;font-size:1.25rem}.headerCenter{display:grid;justify-items:center;gap:3px;min-width:0}.pills{display:flex;gap:7px;min-width:0}.pill{padding:7px 10px;border-radius:999px;font-weight:900;font-size:.77rem;white-space:nowrap}.player{background:white;color:#17121b}.phase{background:var(--panel2);border:1px solid var(--line)}.nightTime{font-size:.72rem;color:var(--muted2);font-variant-numeric:tabular-nums}.progressTrack{height:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.progressFill{height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--pink),var(--orange));transition:width .5s ease}.effectsBar{padding:10px 12px;border:1px solid rgba(169,121,255,.24);border-radius:14px;background:rgba(169,121,255,.08);display:flex;gap:8px;align-items:center;overflow:hidden}.effectsBar strong{font-size:.75rem;color:#d6c7ff;white-space:nowrap}.effectsList{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage{min-height:440px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 55%),var(--panel);padding:28px 22px;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;overflow:hidden}.stage h2{margin:0;font-size:clamp(1.9rem,7.5vw,2.85rem);line-height:1.07;letter-spacing:-.04em}.stageLead,.stage>p:not(.eyebrow){max-width:370px;margin:13px auto 0;color:var(--muted);line-height:1.52}.choiceButtons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.choiceBtn{min-height:150px;border:1px solid var(--line);border-radius:22px;color:white;font-size:1.14rem;font-weight:900;background:var(--panel2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.choiceBtn small{font-size:.72rem;color:var(--muted)}.choiceIcon{font-size:1.8rem;line-height:1}.truthChoice{border-color:rgba(169,121,255,.45);background:rgba(169,121,255,.11)}.dareChoice{border-color:rgba(243,95,143,.48);background:rgba(243,95,143,.11)}
.card{text-align:left;justify-content:center}.card:before{content:"";position:absolute;left:-20%;right:-20%;top:-130px;height:280px;border-radius:50%;opacity:.14;filter:blur(10px);pointer-events:none}.card.truth:before{background:var(--violet)}.card.dare:before{background:var(--pink)}.card.mystery:before{background:var(--orange)}.meta{position:absolute;top:22px;left:23px;right:23px;display:flex;justify-content:space-between;color:var(--muted);font-size:.73rem;letter-spacing:.12em;font-weight:900}.card .eyebrow{margin-top:38px}.card h2{margin-top:42px}.card .eyebrow:not(.hidden)+h2{margin-top:0}.for{margin-top:10px!important}.timer{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:15px}.timerTop{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-weight:800}.timerTop select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:white;padding:0 10px}.ring{--p:360deg;width:126px;aspect-ratio:1;margin:auto;border-radius:50%;padding:7px;background:conic-gradient(var(--pink) var(--p),rgba(255,255,255,.08) 0)}.ringInner{height:100%;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-size:2rem;font-weight:900;font-variant-numeric:tabular-nums}.ring.warning .ringInner{font-size:2.5rem}.timerActions{display:grid;grid-template-columns:1fr auto;gap:9px}.reset{min-height:48px;padding:0 15px;border-radius:15px;border:1px solid var(--line);background:var(--panel2);color:white;font-weight:800}.actions{display:grid;grid-template-columns:.8fr 1.7fr;gap:10px}.pass{min-height:56px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--muted);font-weight:900}.timerDone{animation:pulse .42s ease 3}@keyframes pulse{50%{transform:scale(1.02);border-color:rgba(243,95,143,.8)}}
.mysteryStage{background:radial-gradient(circle at 50% 22%,rgba(255,139,102,.18),transparent 16rem),var(--panel)}.mysteryMark,.lockMark,.heatMark,.moonMark,.heartMark,.resultIcon{font-size:3.3rem;line-height:1;margin-bottom:18px}.mysteryMark{color:var(--orange)}.lockMark{color:#cab2ff}.heatMark{color:var(--pink)}.moonMark{color:#cab2ff}.heartMark{color:var(--pink)}.mysteryButton{background:linear-gradient(135deg,#ff8b66,#f35f8f)}
.privateStage,.secretStage,.matchStage,.levelStage,.resultStage,.landingOffer,.landingStage,.finalStage{text-align:center}.privateStage .primary,.secretStage .primary,.resultStage .primary,.landingStage>.primary{margin-top:28px}.matchChoices{display:grid;gap:9px;margin-top:27px}.matchChoices button{min-height:55px;border:1px solid var(--line);border-radius:17px;background:var(--panel2);color:white;font-weight:900}.matchChoices .matchYes{border-color:rgba(114,214,160,.42);background:rgba(114,214,160,.10)}.resultStage p,.landingOffer p,.finalStage p{color:var(--muted);line-height:1.5}.landingTimerBox{border:0;padding-top:0}.landingStage>.primary{width:100%}.landingStage .timerStart{width:100%}.finalStage .secondary{margin-top:28px}.heartMark{animation:heart 1.8s ease-in-out infinite}@keyframes heart{50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:360px){.app{padding-left:14px;padding-right:14px}.stage{min-height:420px;padding-left:19px;padding-right:19px}.choiceBtn{min-height:138px}.pill{font-size:.7rem;padding:7px 8px}}
