
:root{
  --red:#ff315e;
  --deep:#cf173f;
  --pink:#ff77ad;
  --blush:#ffd9e5;
  --cream:#fff8f5;
  --ink:#4b2734;
  --muted:#8a6873;
  --glass:rgba(255,255,255,.74);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:ui-rounded,"SF Pro Rounded","Avenir Next",system-ui,-apple-system,sans-serif;color:var(--ink)}
body{
  min-height:100vh;min-height:100dvh;overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 15%, #ffd7e5 0 13%, transparent 36%),
    radial-gradient(circle at 88% 10%, #ffc1d3 0 11%, transparent 34%),
    linear-gradient(155deg,#fff7f8 0%,#ffe8ef 46%,#ffd4df 100%);
}
button,input,select{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.blob{position:fixed;border-radius:50%;filter:blur(8px);opacity:.45;pointer-events:none}
.b1{width:240px;height:240px;background:#ff8eb7;left:-120px;bottom:4%}
.b2{width:280px;height:280px;background:#ff4d73;right:-160px;top:22%;opacity:.18}
.float{position:fixed;z-index:0;opacity:.28;font-size:30px;animation:floaty 4.4s ease-in-out infinite}
.f1{left:7%;top:13%}.f2{right:8%;top:30%;animation-delay:.8s}.f3{left:11%;bottom:12%;animation-delay:1.5s}
@keyframes floaty{50%{transform:translateY(-10px) rotate(7deg)}}
.app{position:relative;z-index:2;max-width:760px;margin:auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom))}
.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.icon-btn{width:40px;height:40px;border:0;border-radius:14px;background:rgba(255,255,255,.7);color:var(--ink);box-shadow:0 8px 26px rgba(107,54,70,.11);font-size:20px}
.hidden{visibility:hidden}
.mini-brand{font-size:11px;font-weight:950;letter-spacing:.16em;opacity:.72;text-align:center;flex:1}
.screen{display:none;min-height:calc(100dvh - 84px);align-items:center;justify-content:center;padding:12px 0 28px}
.screen.active{display:flex;animation:in .22s ease}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.card{
  width:100%;background:var(--glass);border:1.5px solid rgba(255,255,255,.9);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 24px 70px rgba(112,51,70,.15);border-radius:32px;
}
.hero,.panel{padding:30px 22px}
.hero{text-align:center}
.flag-badge{
  width:88px;height:88px;border-radius:28px;margin:0 auto 18px;display:grid;place-items:center;
  font-size:44px;background:linear-gradient(145deg,#fff,#ffe6ec);transform:rotate(-5deg);
  box-shadow:0 14px 30px rgba(204,23,63,.16)
}
.eyebrow{font-size:12px;font-weight:950;letter-spacing:.18em;color:#c63e63;margin:6px 0 10px}
h1{font-size:clamp(45px,13vw,76px);line-height:.91;letter-spacing:-.055em;margin:8px 0 18px}
h1 span{background:linear-gradient(90deg,var(--red),#f1689b);color:transparent;background-clip:text;-webkit-background-clip:text}
h2{font-size:clamp(28px,8vw,42px);line-height:1.05;letter-spacing:-.035em;margin:8px 0 14px}
.tagline{font-size:18px;color:var(--muted);line-height:1.4;margin:0 0 24px}
.muted{color:var(--muted);line-height:1.5}
.primary,.secondary{
  width:100%;border:0;border-radius:18px;padding:16px 18px;font-weight:950;letter-spacing:.035em;margin-top:12px
}
.primary{color:#fff;background:linear-gradient(100deg,var(--deep),var(--red),#ff6f9f);box-shadow:0 13px 28px rgba(207,23,63,.25)}
.primary:disabled{opacity:.38;box-shadow:none}
.primary:active{transform:translateY(1px)}
.primary.jumbo{padding:18px}
.secondary{background:rgba(255,255,255,.55);color:var(--ink)}
.micro{text-align:center;font-size:11px;letter-spacing:.05em;color:#98747f;margin-top:16px}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}
.how-grid div{background:rgba(255,255,255,.55);border-radius:18px;padding:14px 8px;text-align:center}
.how-grid span{font-size:28px;display:block}.how-grid b{display:block;font-size:13px;margin:5px 0}.how-grid p{font-size:11px;color:var(--muted);margin:0}
.mode-grid{display:grid;gap:10px;margin:20px 0}
.mode-card{
  text-align:left;border:1.5px solid rgba(255,255,255,.9);background:rgba(255,255,255,.58);
  color:var(--ink);border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(93,51,67,.07)
}
.mode-card.selected{background:#fff;outline:3px solid rgba(255,49,94,.2)}
.mode-card .emoji{font-size:28px;margin-right:8px}.mode-card b{font-size:18px}.mode-card small{display:block;color:var(--muted);margin:6px 0 0 38px;line-height:1.3}
.round-label{display:flex;align-items:center;justify-content:space-between;font-weight:900;margin:8px 0}
select{border:1px solid #f0c8d6;background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink)}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.category{
  min-height:108px;border:1.5px solid #fff;border-radius:22px;background:rgba(255,255,255,.56);padding:14px;text-align:left;color:var(--ink)
}
.category.selected{background:#fff;outline:3px solid rgba(255,49,94,.18)}
.category span{font-size:28px;display:block}.category b{display:block;margin-top:6px}.category small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.3}
.game-wrap{width:100%}
.progressbar{height:8px;background:rgba(255,255,255,.6);border-radius:99px;overflow:hidden;margin-bottom:10px}
#progressFill{height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--pink));transition:width .25s ease}
.game-meta{display:flex;justify-content:space-between;color:#9a7480;font-size:12px;font-weight:900;margin:0 4px 16px}
.statement-card{
  min-height:340px;border-radius:32px;background:linear-gradient(160deg,#fff,#fff1f5);
  border:1.5px solid #fff;box-shadow:0 24px 60px rgba(109,47,66,.14);
  padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  position:relative;overflow:hidden;
}
.statement-card:before{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#ffd2df;right:-55px;top:-55px;opacity:.55
}
.statement-emoji{font-size:50px;margin-bottom:16px;position:relative;z-index:1}
.statement-card p{font-size:clamp(28px,8vw,42px);font-weight:950;letter-spacing:-.035em;line-height:1.08;margin:0;position:relative;z-index:1}
.vote-prompt{text-align:center;color:var(--muted);font-size:13px;font-weight:900;margin:18px 0 10px}
.vote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vote{
  border:0;border-radius:20px;padding:14px 8px;background:#fff;color:var(--ink);box-shadow:0 10px 26px rgba(98,48,64,.09)
}
.vote span{font-size:27px;display:block;margin-bottom:6px}.vote b{font-size:11px;letter-spacing:.035em}
.vote.valid:active{background:#eaffee}.vote.questionable:active{background:#fff7d9}.vote.redflag:active{background:#ffe5eb}
.center{text-align:center}
.big-emoji{font-size:70px;margin:4px 0 2px}
.reveal-statement{font-size:18px;font-weight:850;line-height:1.35;color:#6d4a56;background:rgba(255,255,255,.54);padding:14px;border-radius:18px}
.result-bars{display:grid;gap:14px;margin:22px 0;text-align:left}
.bar-label{display:flex;justify-content:space-between;font-size:13px;font-weight:900;margin:0 3px 6px}
.bar-track{height:10px;background:#f3dce4;border-radius:99px;overflow:hidden}
.bar-fill{height:100%;width:0;background:linear-gradient(90deg,#d81d48,#ff6c99);border-radius:99px;transition:width .45s ease}
.commentary{background:#fff0f5;border-radius:18px;padding:14px 16px;font-weight:850;line-height:1.4;color:#78495a}
.summary-grid{display:grid;gap:10px;margin:20px 0}
.summary-row{display:flex;justify-content:space-between;background:rgba(255,255,255,.58);border-radius:16px;padding:13px 14px;font-weight:850}
@media (min-width:650px){
  .hero,.panel{padding:38px}
  .mode-grid{grid-template-columns:repeat(3,1fr)}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .statement-card{min-height:380px}
}
