:root{--bg:#0d0a0b;--panel:#191114;--line:#3a2025;--text:#fbf3ee;--muted:#b59d98;--fire:#ff4d12;--gold:#ffb81f;--ok:#37d67a;--ink:#1a0600;
--display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--body:"Rajdhani","Trebuchet MS","Segoe UI",sans-serif}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:18px;line-height:1.5;min-height:100vh;
background-image:radial-gradient(900px 500px at 50% -120px,#4a1608,transparent 70%)}
.wrap{max-width:520px;margin:0 auto;padding:18px 18px 40px}
.brand{font-family:var(--display);font-size:1.6rem;letter-spacing:.06em;padding:6px 0 14px}.brand b{color:var(--fire);font-weight:400}
h1{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,12vw,4rem);line-height:.95;text-align:center;text-shadow:0 4px 0 #7a1d05,0 0 40px rgba(255,77,18,.45)}
h1 span{display:block;color:var(--fire)}
.lead{color:var(--muted);text-align:center;margin:12px 0 20px}
.card{background:linear-gradient(160deg,#2a1217,#170c0f);border:1px solid #5a2a2f;border-radius:14px;padding:22px 20px;margin-top:16px;box-shadow:0 18px 50px rgba(255,77,18,.18)}
.card h2{font-family:var(--display);font-weight:400;font-size:1.8rem;letter-spacing:.04em}
.card p{color:var(--muted);margin:2px 0 14px}
.btn{display:block;width:100%;border:0;cursor:pointer;text-align:center;text-decoration:none;font-family:var(--display);font-size:1.6rem;letter-spacing:.06em;
padding:13px;border-radius:10px;margin-top:12px;color:var(--ink);background:linear-gradient(180deg,var(--gold),var(--fire));box-shadow:0 5px 0 #8a2504,0 10px 24px rgba(255,77,18,.4)}
.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 #8a2504}
.btn.green{background:linear-gradient(180deg,#7cf0a8,var(--ok));box-shadow:0 5px 0 #14733c,0 10px 24px rgba(55,214,122,.35)}
.btn.dark{background:#2c1a1e;color:var(--text);box-shadow:0 5px 0 #170c0f}
.btn:disabled{background:#3b2a2d;color:var(--muted);box-shadow:0 5px 0 #231619;cursor:not-allowed}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.stat{padding:8px 4px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}
.stat b{display:block;font-family:var(--display);font-weight:400;font-size:1.3rem;color:var(--gold)}.stat small{color:var(--muted);font-size:.75rem}
.note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:10px}
.steps{display:flex;gap:6px;margin-bottom:6px}.steps i{flex:1;height:10px;background:#2c1a1e;transform:skew(-20deg);border-radius:2px}.steps i.on{background:var(--fire)}.steps i.ok{background:var(--ok)}
footer{margin-top:30px;text-align:center;color:var(--muted);font-size:.8rem}
/* wheel */
.wheelbox{position:relative;width:min(320px,86vw);margin:10px auto}
.wheelbox canvas{width:100%;height:auto;display:block;border-radius:50%;border:6px solid var(--gold);box-shadow:0 0 40px rgba(255,77,18,.5);transition:transform 5s cubic-bezier(.12,.7,.1,1)}
.pointer{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid #fff;filter:drop-shadow(0 2px 2px #000);z-index:2}
.result{display:none;text-align:center;margin-top:14px}.result h2{color:var(--gold)}
@media (prefers-reduced-motion:reduce){.wheelbox canvas{transition-duration:.01s}}

.fake{background:#3b1010;border:2px solid #ff4d4d;color:#ffd6d6;border-radius:8px;padding:10px 12px;font-weight:700;margin-bottom:10px}
