:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fbf7f2;--surface:#fff;--text:#1f1a15;--muted:#6f655b;--border:#e3d9cd;--accent:#d9480f;--accent-soft:#fff0e6;--accent-text:#fff;--ok:#2b8a3e;--ok-soft:#e9f7ec;--warn:#b45309;--warn-soft:#fff4e0;--bad:#c92a2a;--bad-soft:#fdecec;--radius:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#17130f;--surface:#221c17;--text:#f3ece4;--muted:#a99d90;--border:#3a3129;--accent:#ff7a3d;--accent-soft:#3a2316;--accent-text:#1a0e07;--ok:#69db7c;--ok-soft:#173020;--warn:#ffc078;--warn-soft:#3a2a12;--bad:#ff8787;--bad-soft:#3b1a1a}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font:17px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:520px;margin:0 auto;padding:24px 16px 48px}h1{margin:8px 0 12px;font-size:1.6rem;line-height:1.2}h2{margin:0 0 4px;font-size:1.15rem}p{margin:0 0 12px}.muted{color:var(--muted);font-size:.95rem}.btn{border-radius:var(--radius);background:var(--accent);width:100%;min-height:56px;color:var(--accent-text);font:inherit;cursor:pointer;border:0;padding:14px 18px;font-weight:650;display:block}.btn:disabled{opacity:.6;cursor:default}.btn:focus-visible{outline:3px solid var(--text);outline-offset:2px}.link-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:.9rem;text-decoration:underline}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.alert{border-radius:var(--radius);background:var(--bad-soft);color:var(--bad);margin-bottom:16px;padding:12px 14px}fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}legend{margin-bottom:4px;padding:0;font-size:1.1rem;font-weight:650}.hint{color:var(--muted);margin:0 0 10px;font-size:.92rem}.option{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:12px;min-height:56px;margin-bottom:8px;padding:14px 16px;display:flex}.option input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:2px 0 0}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.option:has(input:focus-visible){outline:3px solid var(--text);outline-offset:2px}.option-label{font-weight:550}.option-sub{color:var(--muted);font-size:.92rem;font-weight:400;display:block}.text-input{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:var(--text);font:inherit;padding:14px 16px}.text-input:focus{border-color:var(--accent);outline:none}.ticket{text-align:center;margin-bottom:16px}.ticket-img{aspect-ratio:1080/1350;border-radius:var(--radius);background:var(--accent);width:100%;height:auto;margin-bottom:14px;display:block}.ticket .btn{margin-top:12px;text-decoration:none}.ticket-code{margin-top:12px}.ticket-code b{letter-spacing:.06em;color:var(--text);font-family:ui-monospace,Menlo,monospace}.screenshot{font-size:1.1rem;font-weight:650}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:12px}.stat b{font-variant-numeric:tabular-nums;font-size:1.6rem;display:block}.stat span{color:var(--muted);font-size:.85rem}.bars{margin:8px 0 0;padding:0;list-style:none}.bars li{margin-bottom:10px}.bar-head{justify-content:space-between;gap:8px;font-size:.95rem;display:flex}.bar-head span:last-child{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.bar{background:var(--border);border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.redeem{gap:8px;display:flex}.redeem .text-input{text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,Menlo,monospace}.redeem .btn{flex:none;width:auto}.result{border-radius:var(--radius);margin-top:12px;padding:12px 14px;font-weight:650}.result.valid{background:var(--ok-soft);color:var(--ok)}.result.redeemed{background:var(--warn-soft);color:var(--warn)}.result.fake{background:var(--bad-soft);color:var(--bad)}.big-num{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}table{border-collapse:collapse;width:100%;font-size:.95rem}td{border-bottom:1px solid var(--border);padding:6px 0}td:last-child{text-align:right;font-variant-numeric:tabular-nums}.footer{text-align:center;margin-top:40px;font-size:.85rem}.footer a{color:var(--muted)}.btn-secondary{background:var(--surface);color:var(--text);border:2px solid var(--border)}.redeem,.result .btn{margin-top:12px}.scanner{aspect-ratio:1;border-radius:var(--radius);background:#000;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border:3px solid #ffffffd9;border-radius:18px;position:absolute;inset:18%;box-shadow:0 0 0 999px #00000059}.refresh{align-items:center;gap:12px;margin-bottom:16px;display:flex}.refresh .btn{width:auto;min-height:44px;padding:10px 18px}.export{text-align:center;margin-bottom:16px;text-decoration:none}.redeem input[type=number]{text-transform:none;letter-spacing:normal;font-family:inherit}.toolbar{flex-wrap:wrap;align-items:flex-start;gap:0 12px;margin-bottom:16px;display:flex}.toolbar .refresh{flex:1;margin-bottom:0}.toolbar>.btn{width:auto;min-height:44px;padding:10px 18px}.reset-message{flex-basis:100%;margin:8px 0 0}.btn-danger{background:var(--bad);color:var(--bg)}.btn-danger-outline{color:var(--bad);border:2px solid var(--bad);background:0 0}.danger-box{border:2px solid var(--bad);border-radius:var(--radius);background:var(--bad-soft);flex-basis:100%;margin-top:12px;padding:14px}.danger-box b{color:var(--bad)}.danger-box p{margin:8px 0;font-size:.95rem}.danger-actions{gap:8px;margin-top:12px;display:flex}.danger-actions .btn{min-height:48px}.group-search{margin-bottom:10px}.group-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.option.chip{text-align:center;justify-content:center;align-items:center;min-height:52px;margin:0;padding:10px 8px;position:relative}.option.chip input{opacity:0;pointer-events:none;position:absolute}.option.chip .option-label{font-variant-numeric:tabular-nums}
