:root{--or:#EB3D00;--cr:#FAFBF6;--dk:#2A1A12;--ok:#1f7a3a;--err:#b3261e;--line:#e9b49f}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cr);color:var(--dk);font-family:Inconsolata,ui-monospace,monospace;font-weight:600;-webkit-tap-highlight-color:transparent}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
a{color:var(--or)}
.cond{font-stretch:70%;font-weight:900;text-transform:uppercase;letter-spacing:.01em}
.checker{height:22px;flex-shrink:0;background:conic-gradient(var(--or) 25%,var(--cr) 0 50%,var(--or) 0 75%,var(--cr) 0) 0 0/22px 22px}
header.top{text-align:center;padding:14px 16px 4px}
.logo{color:var(--or);font-size:40px;line-height:1;font-stretch:62.5%;font-weight:900;letter-spacing:.04em}
.sub{font-size:13px;opacity:.7;margin-top:2px}
main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:16px}
.card{background:#fff;border:2px solid var(--or);border-radius:22px;padding:18px;margin-bottom:16px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.muted{opacity:.65;font-size:14px}
.center{text-align:center}
.btn{display:block;width:100%;border:0;border-radius:18px;background:var(--or);color:var(--cr);font-family:inherit;font-size:22px;padding:18px;cursor:pointer;text-align:center;text-decoration:none}
.btn.ghost{background:transparent;color:var(--or);border:2px solid var(--or);font-size:17px;padding:12px}
.btn.green{background:var(--ok)}
.btn.small{font-size:16px;padding:12px}
.btn:disabled{opacity:.45}
.link{background:none;border:0;color:var(--or);font-family:inherit;text-decoration:underline;font-size:14px;cursor:pointer}
.pills{display:flex;gap:8px;margin:10px 0 14px}
.pill{flex:1;border:2px solid var(--or);background:transparent;color:var(--or);border-radius:999px;padding:10px 0;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}
.pill.on{background:var(--or);color:var(--cr)}
input,select{width:100%;font-family:inherit;font-size:20px;padding:12px 14px;border:2px solid var(--or);border-radius:14px;background:var(--cr);color:var(--dk);margin:8px 0 12px}
label{font-size:14px}
.msg{min-height:22px;text-align:center;font-size:15px;margin-top:10px}
.msg.err{color:var(--err)}
.msg.ok{color:var(--ok)}
.hidden{display:none!important}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 8px}
.slot{aspect-ratio:1;border-radius:50%;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--line);font-size:13px}
.slot.full{border:2px solid var(--or);background:var(--or);color:var(--cr)}
.slot.full svg{width:62%;height:62%}
.slot.pop{animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{0%{transform:scale(2.2) rotate(-25deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.toast{position:fixed;left:50%;top:22%;transform:translate(-50%,0) scale(.6);opacity:0;background:var(--dk);color:var(--cr);padding:16px 26px;border-radius:18px;font-size:30px;z-index:50;pointer-events:none;transition:.25s;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0) scale(1)}
.qrbox{background:#fff;border-radius:16px;padding:12px;display:flex;justify-content:center}
.qrbox svg{width:100%;max-width:260px;height:auto;display:block}
footer.foot{text-align:center;font-size:12px;opacity:.7;padding:10px 16px 14px}
footer.foot a{margin:0 6px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:7px 6px;border-bottom:1px dashed var(--line)}
th{font-size:12px;opacity:.7}
.stat{font-size:34px;color:var(--or)}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kv>div{background:#fff;border:2px solid var(--or);border-radius:16px;padding:12px}
