:root{--bg:#0b0b0f;--surface:#15151c;--border:#2a2a36;--text:#ececf1;--muted:#9a9aab;--accent:#b388ff;--accent-text:#0b0b0f;--danger:#ff6b81;--radius:10px;--tap:48px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}a{color:var(--accent)}main{max-width:440px;margin:0 auto;padding:48px 20px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:1.75rem}.lede{color:var(--muted);margin:0 0 32px}form{gap:18px;display:grid}label{gap:6px;font-size:.95rem;font-weight:600;display:grid}.hint{color:var(--muted);font-size:.85rem;font-weight:400}input{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 14px;font-size:16px}input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}button{min-height:var(--tap);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;font-size:1rem;font-weight:700}button:disabled{opacity:.6;cursor:progress}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.error{border-radius:var(--radius);border:1px solid var(--danger);color:var(--danger);background:#ff6b8114;padding:12px 14px}.aside{color:var(--muted);text-align:center;margin-top:24px}main.wide{max-width:720px}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 20px;display:flex}.topbar .brand{color:var(--text);font-weight:800;text-decoration:none}.topbar .who{color:var(--muted);margin-left:auto;font-size:.9rem}button.link{min-height:auto;color:var(--accent);background:0 0;padding:0;font-weight:600;text-decoration:underline}.button{min-height:var(--tap);border-radius:var(--radius);background:var(--accent);color:var(--accent-text);align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.heading{justify-content:space-between;align-items:center;gap:12px;display:flex}h2{margin:36px 0 12px;font-size:1.1rem}.list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.list a{color:var(--text);text-decoration:none}.grow{flex:1;min-width:0}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.badge-draft{color:var(--muted);background:#2a2a36}.badge-published{color:#5ce18c;background:#5ce18c26}.badge-cancelled{color:var(--danger);background:#ff6b811f}.actions{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.actions button{padding:0 20px}button.danger{color:var(--danger);border-color:var(--danger)}.notice{color:#5ce18c}.row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}select,textarea{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;padding:10px 14px;font-size:16px}form.inline{grid-template-columns:2fr 1fr 1fr auto;gap:8px;display:grid}form.inline button{padding:0 18px}@media (max-width:520px){form.inline{grid-template-columns:1fr 1fr}form.inline input[name=name]{grid-column:1/-1}}main.public{max-width:560px}main.public h1{margin-bottom:6px;font-size:2.2rem;line-height:1.15}.by{color:var(--muted);margin:0 0 20px}.when{margin:0 0 4px;font-size:1.1rem;font-weight:700}.where{color:var(--muted);margin:0}.description{margin-top:24px}.description p{white-space:pre-line;margin:0 0 12px}.banner{border-radius:var(--radius);color:var(--danger);background:#ff6b811f;margin:0 0 20px;padding:12px 14px;font-weight:700}main.ticket{text-align:center}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.85rem;font-weight:700}main.ticket .where{margin-bottom:24px}.qr{border-radius:var(--radius);background:#fff;max-width:320px;margin:24px auto;padding:12px}.qr svg{width:100%;height:auto;display:block}.holder{margin:0 0 8px;font-size:1.1rem}.serial{letter-spacing:.06em;word-break:normal;overflow-wrap:normal;text-wrap:balance;margin:0 0 20px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.05rem}fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}legend{margin-bottom:6px;font-size:.95rem;font-weight:600}.choice{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:0 14px;font-weight:400;display:flex}.choice input{width:20px;height:20px;min-height:auto;accent-color:var(--accent)}.choice.gone{opacity:.5;cursor:not-allowed}.pay{text-align:left;margin-top:8px}.pay-links{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.pay-button{width:100%;color:var(--text);border:1px solid var(--accent);background:0 0;justify-content:space-between;gap:12px}.pay-button:hover{background:#b388ff1a}.pay-handle{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}button.copy{min-height:40px;padding:0 16px}.nudge{margin-top:-6px}.nav{gap:16px;margin-left:12px;display:flex}.nav a{color:var(--muted);font-weight:600;text-decoration:none}.nav a:hover{color:var(--text)}.subhead{margin:20px 0 0;font-size:1rem}.list li.gone{opacity:.55}.paid{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.85rem;font-weight:400;display:flex}.paid input,.consent input{width:18px;height:18px;min-height:auto;accent-color:var(--accent)}.consent{color:var(--muted);flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;display:flex}.consent input{flex:none;margin-top:3px}main.door{max-width:520px;padding-top:16px}.door-status{color:var(--muted);align-items:center;gap:10px;font-size:.9rem;display:flex}.door-status strong{color:var(--text)}.door-status .link{margin-left:auto}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot.online{background:#5ce18c}.dot.offline{background:#ffb020}.door-meta{margin:6px 0 16px}.verdict{border-radius:var(--radius);border:1px solid var(--border);text-align:center;margin-bottom:16px;padding:20px}.verdict-headline{margin:0;font-size:1.4rem;font-weight:800}.verdict-name{margin:6px 0 0;font-size:1.8rem;font-weight:800;line-height:1.1}.verdict-detail{color:var(--muted);margin:6px 0 0}.verdict-checked_in{background:#5ce18c24;border-color:#5ce18c}.verdict-checked_in .verdict-headline{color:#5ce18c}.verdict-already_checked_in{background:#ffb02024;border-color:#ffb020}.verdict-already_checked_in .verdict-headline{color:#ffb020}.verdict-not_found,.verdict-cancelled,.verdict-event_cancelled{border-color:var(--danger);background:#ff6b811f}.verdict-not_found .verdict-headline,.verdict-cancelled .verdict-headline,.verdict-event_cancelled .verdict-headline{color:var(--danger)}.camera{border-radius:var(--radius);background:#000;margin-bottom:16px;overflow:hidden}.camera video{width:100%;display:block}.manual{gap:10px;display:grid}.manual input{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label.button{cursor:pointer}label.button:focus-within{outline:2px solid var(--text);outline-offset:2px}.flyer{margin:0 0 20px;display:block}.flyer img,.flyer-thumb{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;height:auto;display:block}.flyer img{width:auto;max-height:80vh;margin:0 auto}.flyer-thumb{width:auto;max-height:240px;margin-bottom:12px}.link-item{flex-direction:column;align-items:stretch}.link-detail{gap:10px;width:100%;margin-top:10px;display:grid}.link-item .mono{overflow-wrap:anywhere;font-size:.85rem}.qr-panel{justify-items:start;gap:10px;display:grid}.qr-panel .qr{width:min(280px,70vw);margin:0}.save-ticket{max-width:320px;margin:8px auto 12px;display:grid}.home-screen-hint{align-items:flex-start;gap:12px;display:flex}.home-screen-hint p{margin:0}.usb-mode{margin-top:16px}.scan-test-facts{grid-template-columns:max-content 1fr;gap:4px 16px;margin:16px 0;display:grid}.scan-test-facts dt{color:var(--muted)}.scan-test-facts dd{margin:0}.scan-test-camera video,.scan-test-camera #scan-test-camera{border-radius:var(--radius);width:100%;max-width:480px;overflow:hidden}.scan-test-ready{flex:100%;min-height:64px;font-size:1.15rem}.scan-test-result{text-align:center;border-radius:var(--radius);padding:16px;font-size:1.6rem;font-weight:700}.scan-test-result.ok{background:#0f3d24}.scan-test-result.bad{background:#4a1620}.scan-test-codes{color:#000;background:#fff;max-width:none;min-height:100vh;margin:0;padding:16px}.scan-test-codes .hint{color:#444}.scan-test-grid{flex-wrap:wrap;align-items:flex-end;gap:12mm;display:flex}.scan-test-grid figure{text-align:center;margin:0}.scan-test-grid .qr{max-width:none;margin:0;padding:0}@media print{body{background:#fff}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}main.join.embed{max-width:none;margin:0;padding:16px}.signup-done .lede{color:var(--text);font-size:1.25rem}main.kiosk{grid-template-columns:1fr;align-content:center;gap:32px;max-width:1100px;min-height:100vh;padding:32px;display:grid}@media (min-width:900px){main.kiosk{grid-template-columns:3fr 2fr}}main.kiosk h1{font-size:2.4rem}.kiosk-form input,.kiosk-form button{min-height:60px;font-size:1.3rem}.kiosk-done{place-items:center;min-height:320px;display:grid}.kiosk-done .lede{text-align:center;font-size:2rem}.kiosk-qr{text-align:center;color:var(--muted);align-content:center;justify-items:center;gap:12px;display:grid}.kiosk-qr .qr svg,.qr-panel .qr svg{width:100%;height:auto;display:block}.kiosk-status{color:var(--muted);grid-column:1/-1;min-height:1.5em}.kiosk-qr .qr{width:min(320px,70vw)}.scan-test-keyboard input{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.1rem}.scan-test-typed{overflow-wrap:anywhere;margin-top:6px;font-size:.95rem;font-weight:400;display:block}.flyer-picker{border:1px solid var(--border);border-radius:var(--radius);margin:8px 0 16px;padding:12px 16px}.flyer-picker legend{padding:0 6px;font-weight:600}.description h2,.description h3,.description h4{margin:20px 0 8px;line-height:1.25}.description ul,.description ol{margin:0 0 12px;padding-left:1.4em}.description li{margin:2px 0}.description a{color:var(--accent)}.description blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0 0 12px;padding-left:12px}.description code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}.description hr{border:0;border-top:1px solid var(--border);margin:20px 0}.tabs{gap:4px;margin-bottom:8px;display:flex}.tab{color:var(--muted);border:1px solid var(--border);background:0 0;min-height:36px;padding:0 14px}.tab.active{background:var(--surface);color:var(--text);border-color:var(--accent)}.description-preview{border:1px solid var(--border);border-radius:var(--radius);min-height:160px;padding:4px 16px}.formatting-help{margin:8px 0 16px}.formatting-help table{border-collapse:collapse;margin:8px 0}.formatting-help td{vertical-align:top;padding:4px 16px 4px 0}
