:root{--bg: #0a0d14;--bg-raised: #101624;--bg-inset: #070a10;--line: #1d2637;--line-strong: #2b3a55;--ink: #e8ecf4;--ink-dim: #97a1b5;--ink-faint: #5c667d;--violet: #7c6cff;--cyan: #6ee7ff;--gold: #fbbf24;--green: #4ade80;--font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-display);background:radial-gradient(1100px 500px at 80% -10%,rgba(124,108,255,.14),transparent 60%),radial-gradient(900px 480px at 10% 110%,rgba(110,231,255,.08),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}button{font-family:inherit}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,4vw,44px);max-width:1080px;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:1.1rem;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1.5px solid var(--violet);color:var(--cyan);font-family:var(--font-mono);font-weight:700;background:#7c6cff1f}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a,.nav-command{color:var(--ink-dim);text-decoration:none;font-size:.92rem;padding:8px 12px;border-radius:8px;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.site-nav a:hover,.nav-command:hover{color:var(--ink);background:#ffffff0d}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--bg-raised);color:var(--ink-dim);cursor:pointer}.icon-button:hover{color:var(--ink);border-color:var(--line-strong)}.site-footer{max-width:1080px;margin:56px auto 0;padding:24px clamp(16px,4vw,44px) 36px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--ink-faint);font-size:.85rem}.site-footer a{color:var(--ink-dim)}.game-shell{max-width:1080px;margin:0 auto;padding:clamp(12px,3vw,32px) clamp(16px,4vw,44px) 0}.hero-copy{text-align:center;margin-bottom:28px}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);margin:0 0 10px}.hero-copy h1{margin:0;font-size:clamp(2rem,5.4vw,3.4rem);line-height:1.05;letter-spacing:-.02em}.hero-copy h1 em{font-style:normal;background:linear-gradient(100deg,var(--violet),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:14px auto 0;max-width:520px;color:var(--ink-dim);font-size:1.02rem;line-height:1.55}.machine{max-width:720px;margin:0 auto;background:linear-gradient(180deg,var(--bg-raised),rgba(16,22,36,.6));border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,36px);box-shadow:0 24px 70px #00000073,inset 0 1px #ffffff0a}.date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}.date-row .mode-tag{color:var(--cyan);border:1px solid rgba(110,231,255,.3);border-radius:999px;padding:3px 10px}.reel-window{margin:22px auto 8px;background:var(--bg-inset);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,4vw,30px) 12px;display:flex;justify-content:center;gap:clamp(4px,1.6vw,10px);box-shadow:inset 0 4px 18px #0009}.digit-cell{font-family:var(--font-mono);font-weight:700;font-size:clamp(2rem,8vw,3.6rem);color:var(--ink-faint);min-width:1.1ch;text-align:center;transition:color .25s,text-shadow .25s,transform .25s}.digit-cell.is-live{color:var(--violet);animation:digit-flicker .09s infinite}.digit-cell.is-locked{color:var(--ink);text-shadow:0 0 22px rgba(110,231,255,.35);transform:translateY(-2px)}@keyframes digit-flicker{0%{opacity:.55}to{opacity:1}}.machine-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px}.roll-button{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;border:none;border-radius:14px;font-size:1.06rem;font-weight:700;letter-spacing:.01em;color:#0b0e14;background:linear-gradient(100deg,var(--violet),var(--cyan));cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 10px 30px #7c6cff59}.roll-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06)}.roll-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.free-roll-link{border:none;background:none;color:var(--ink-dim);font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.free-roll-link:hover{color:var(--ink)}.result-panel{margin-top:8px}.rank-line{margin:14px 0 0;text-align:center;color:var(--cyan);font-family:var(--font-mono);font-size:.85rem}.score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.score-card{background:var(--bg-inset);border:1px solid var(--line);border-radius:14px;padding:14px 12px;text-align:center}.score-card .label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.score-card .value{display:block;margin-top:6px;font-family:var(--font-mono);font-weight:700;font-size:1.35rem}.score-card .value.tier-name{color:var(--gold)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:20px}.badge-card{position:relative;border:1px solid var(--line);border-left:3px solid var(--badge-color, var(--line-strong));border-radius:12px;background:var(--bg-inset);padding:12px 14px;animation:badge-in .4s ease both;animation-delay:calc(var(--i, 0) * 90ms)}@keyframes badge-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.badge-card .badge-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge-card .badge-name{font-weight:700;font-size:.95rem}.badge-card .badge-rarity{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--badge-color, var(--ink-dim))}.badge-card .badge-desc{margin:6px 0 0;font-size:.82rem;color:var(--ink-dim);line-height:1.45}.badge-card .badge-meta{margin-top:8px;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);display:flex;justify-content:space-between}.badge-card .badge-meta .ep{color:var(--cyan)}.no-badges{margin-top:20px;text-align:center;color:var(--ink-dim);border:1px dashed var(--line-strong);border-radius:12px;padding:18px}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.ghost-button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:11px;border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--ink);font-size:.92rem;font-weight:600;cursor:pointer}.ghost-button:hover{border-color:var(--violet)}.info-section{max-width:780px;margin:64px auto 0;padding:0 clamp(16px,4vw,44px)}.info-section h2{font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.01em;margin:0 0 14px}.info-section p{color:var(--ink-dim);line-height:1.65}.step-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:22px;padding:0;list-style:none;counter-reset:step}.step-list li{counter-increment:step;background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;padding:16px;color:var(--ink-dim);font-size:.9rem;line-height:1.5}.step-list li:before{content:"0" counter(step);display:block;font-family:var(--font-mono);color:var(--cyan);font-size:.78rem;letter-spacing:.14em;margin-bottom:8px}.step-list strong{display:block;color:var(--ink);margin-bottom:4px}.faq-list{margin-top:20px;display:grid;gap:10px}.faq-list details{border:1px solid var(--line);border-radius:12px;background:var(--bg-raised);padding:4px 16px}.faq-list summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:var(--cyan);font-family:var(--font-mono)}.faq-list details[open] summary:after{content:"–"}.faq-list details p{margin-top:0;padding-bottom:12px}.rarity-legend{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}.rarity-chip{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px;border:1px solid var(--line-strong)}.catalogue{display:grid;gap:10px}.catalogue-row{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);border-left:3px solid var(--badge-color, var(--line-strong));border-radius:12px;background:var(--bg-raised);padding:14px 16px}.catalogue-row .badge-name{font-weight:700}.catalogue-row .badge-desc{color:var(--ink-dim);font-size:.88rem;line-height:1.5}.catalogue-row .badge-odds{font-family:var(--font-mono);font-size:.78rem;color:var(--cyan);text-align:right;white-space:nowrap}.catalogue-row .badge-odds small{display:block;color:var(--ink-faint);margin-top:2px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--line-strong);color:var(--ink);padding:11px 18px;border-radius:11px;font-size:.9rem;box-shadow:0 14px 40px #00000080;z-index:60}.streak-strip[hidden]{display:none}.streak-strip{display:flex;justify-content:center;gap:18px;margin-top:16px;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-faint)}.streak-strip b{color:var(--cyan);font-weight:700}@media(max-width:560px){.score-row{grid-template-columns:1fr 1fr}.score-card:last-child{grid-column:1 / -1}.catalogue-row{grid-template-columns:1fr;gap:6px}.catalogue-row .badge-odds{text-align:left}.site-footer{flex-direction:column}}
