:root{--bg: #121212;--surface: #1e1e1e;--border: #333;--text: #f2f2f2;--muted: #9a9a9a;--accent: #ff6a00;--accent-text: #111;--danger: #ff6b6b;--ok: #5ecb7d;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}.screen{max-width:560px;margin:0 auto;padding:16px 16px 88px}.screen.narrow{padding-top:48px;padding-bottom:32px}h1,h2{margin:0 0 8px}h2{font-size:1.15rem;margin-top:8px}.brand{font-weight:800;letter-spacing:.02em;color:var(--accent);font-size:1.4rem}.muted{color:var(--muted)}.small{font-size:.85rem}.stack{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}input{font:inherit;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}button:disabled{opacity:.6;cursor:default}button.link{background:none;border:none;color:var(--accent);padding:4px 0;text-align:left}.error{color:var(--danger);margin:0}.notice{color:var(--ok);margin:0}.tabs{display:flex;gap:8px;margin:16px 0}.tab{flex:1}.tab.active{border-color:var(--accent);color:var(--accent)}.topbar{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);max-width:560px;margin:0 auto}.cards{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.badge{align-self:flex-start;margin-top:6px;padding:3px 10px;border-radius:999px;background:#2a2a2a;font-size:.85rem}.badge.soldout{background:#4a1f1f;color:var(--danger)}.qr-box{background:#fff;border-radius:12px;padding:12px;align-self:center;min-width:304px;min-height:304px;display:grid;place-items:center;color:#333}
