:root{--bg-app:#070b09;--bg-secondary:#0b110e;--bg-card:#0d1511;--bg-card-alt:#111a15;--bg-hover:#142019;--bg-input:#0b110e;--bg-overlay:#040806d6;--border:#1d2c24;--border-light:#263a30;--text-primary:#f1f5f2;--text-secondary:#b7c1bb;--text-muted:#75827a;--text-dim:#536059;--text-on-primary:#06120d;--color-primary:#19c98a;--color-primary-hover:#27d997;--color-primary-dark:#073c2b;--color-primary-subtle:#19c98a1f;--color-primary-border:#19c98a4d;--color-cyan:#18c7ed;--color-cyan-dark:#0d5361;--color-cyan-subtle:#18c7ed1f;--color-cyan-border:#18c7ed4d;--color-warning:#d8a63c;--color-warning-subtle:#d8a63c1f;--color-warning-border:#d8a63c4d;--color-danger:#e45d67;--color-danger-subtle:#e45d671f;--color-danger-border:#e45d674d;--color-success:#1dcc8b;--color-success-subtle:#1dcc8b1f;--color-success-border:#1dcc8b4d;--radius-sm:8px;--radius-card:14px;--radius-panel:18px;--radius-btn:10px;--radius-input:10px;--radius-chip:8px;--radius-pill:999px;--radius-track:4px;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 8px 24px #0000002e;--shadow-lg:0 16px 40px #00000038;--transition-fast:.15s ease;--transition-base:.18s ease;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-main:var(--text-primary);--border-subtle:var(--border);--border-medium:var(--border-light);--border-color:var(--border);--border-accent:var(--color-primary-border);--border-cyan:var(--color-cyan-border);--primary-color:var(--color-primary);--color-primary-gradient:var(--color-primary);--color-primary-dim:var(--color-primary-subtle);--color-cyan-dim:var(--color-cyan-subtle);--color-warning-dim:var(--color-warning-subtle);--color-danger-dim:var(--color-danger-subtle);--color-success-dim:var(--color-success-subtle);--shadow-glow-mint:var(--shadow-sm);--shadow-glow-cyan:var(--shadow-sm);--font-main:var(--font-sans)}:root[data-theme=light]{--bg-app:#f3f6f5;--bg-secondary:#fff;--bg-card:#fff;--bg-card-alt:#f6f9f8;--bg-hover:#ebf0ee;--bg-input:#fff;--bg-overlay:#0f171473;--border:#dce3e0;--border-light:#c6d0cc;--text-primary:#0e1613;--text-secondary:#3d4a44;--text-muted:#5e6b65;--text-dim:#606b65;--text-on-primary:#fff;--color-primary:#097750;--color-primary-hover:#096b47;--color-primary-dark:#d9f0e6;--color-primary-subtle:#0977501a;--color-primary-border:#09775047;--color-cyan:#09738f;--color-cyan-dark:#d7eff6;--color-cyan-subtle:#09738f1a;--color-cyan-border:#09738f47;--color-warning:#8a6410;--color-warning-subtle:#8a64101a;--color-warning-border:#8a641047;--color-danger:#b32834;--color-danger-subtle:#b328341a;--color-danger-border:#b3283447;--color-success:#0a8358;--color-success-subtle:#0977501a;--color-success-border:#09775047;--shadow-sm:0 1px 2px #1018140f;--shadow-md:0 8px 24px #10181414;--shadow-lg:0 16px 40px #1018141a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-container{flex-direction:column;width:100%;max-width:900px;min-height:100vh;margin:0 auto;display:flex;position:relative}.main-content{flex:1;width:100%;padding:20px 18px 56px}.qf-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), background var(--transition-fast);padding:18px}.qf-card-interactive{cursor:pointer;text-align:left;width:100%;display:block}.qf-card-interactive:hover{background:var(--bg-card-alt);border-color:var(--border-light)}.section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.section-block{flex-direction:column;gap:10px;display:flex}.btn-primary,.btn-secondary,.btn-danger{font-family:var(--font-sans);border-radius:var(--radius-btn);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:14px 18px;font-size:15px;font-weight:700;line-height:1.2;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:var(--bg-card-alt);color:var(--text-secondary);border-color:var(--border-light);font-weight:600}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.btn-danger{background:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger-border);font-weight:600}.btn-danger:hover:not(:disabled){background:#e45d6733}:root[data-theme=light] .btn-danger:hover:not(:disabled){background:#b3283424}.theme-segment{border-radius:var(--radius-btn);background:var(--bg-card-alt);border:1px solid var(--border);gap:4px;padding:4px;display:inline-flex}.theme-segment-option{border-radius:calc(var(--radius-btn) - 4px);min-height:46px;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;line-height:1.2;display:inline-flex}.theme-segment-option:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-segment-option[data-selected=true]{background:var(--bg-card);border-color:var(--color-primary-border);color:var(--color-primary);font-weight:700}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.45;cursor:not-allowed}.form-group{margin-bottom:16px}.form-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-input,.qf-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-input);width:100%;color:var(--text-primary);font-family:var(--font-sans);min-height:46px;transition:border-color var(--transition-fast);outline:none;padding:12px 14px;font-size:14px}.form-input::placeholder{color:var(--text-dim)}.form-input:focus,.qf-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}select.qf-input option,select.form-input option{background:var(--bg-card);color:var(--text-primary)}.badge{border-radius:var(--radius-chip);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg-card-alt);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.badge-waiting{background:var(--color-warning-subtle);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-called{background:var(--color-cyan-subtle);color:var(--color-cyan);border-color:var(--color-cyan-border)}.badge-serving{background:var(--color-primary-subtle);color:var(--color-primary);border-color:var(--color-primary-border)}.badge-completed{background:var(--color-success-subtle);color:var(--color-success);border-color:var(--color-success-border)}.badge-skipped,.badge-cancelled{background:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-expired{background:var(--bg-card-alt);color:var(--text-muted);border-color:var(--border-light)}.crowd-card{flex-direction:column;gap:12px;display:flex}.crowd-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.crowd-figure{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.crowd-count{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:-.01em;font-size:26px;font-weight:700;line-height:1.05}.crowd-inside{color:var(--text-muted);font-size:13px}.crowd-chip{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.crowd-chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.crowd-track{border-radius:var(--radius-track);background:var(--bg-card-alt);border:1px solid var(--border);height:6px;overflow:hidden}.crowd-fill{border-radius:var(--radius-track);height:100%;transition:width .4s}.crowd-note{color:var(--text-muted);font-size:10.5px;line-height:1.45}.metric-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.metric-tile{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:var(--radius-card);text-align:center;padding:14px}.metric-tile-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:700}.metric-tile-value{font-family:var(--font-mono);color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.1}.metric-tile-value.is-cyan{color:var(--color-cyan)}.metric-tile-value.is-green{color:var(--color-primary)}.metric-tile-value.is-muted{color:var(--text-muted);font-size:15px}.ticket-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden}.ticket-header{background:var(--bg-card-alt);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.ticket-body{padding:20px 18px}.ticket-footer{border-top:1px solid var(--border);background:var(--bg-card-alt);padding:14px 18px}.token-hero-code{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1.1}.pulse-mint{animation:2.4s ease-in-out infinite pulse-soft}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}@keyframes skeleton-loading{0%{opacity:.45}50%{opacity:.8}to{opacity:.45}}.skeleton{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:var(--radius-sm);animation:1.4s ease-in-out infinite skeleton-loading}.offline-banner{background:var(--color-danger-subtle);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@media (width>=720px){.main-content{padding:28px 24px 64px}.qf-card{padding:22px}}@media (width<=520px){.main-content{padding:16px 14px 48px}.qf-card{border-radius:var(--radius-card);padding:16px}.metric-pair{grid-template-columns:1fr}.token-hero-code{font-size:2rem}.crowd-count{font-size:22px}.metric-tile-value{font-size:21px}.btn-primary,.btn-secondary,.btn-danger{width:100%;min-height:50px}.theme-segment{width:100%}.theme-segment-option{flex:1;padding:12px 10px}.form-input,.qf-input{min-height:48px}}
