:root{--bg:#fff;--fg:#1b1f24;--muted:#57606a;--border:#c9d1d9;--accent:#0b5fff;--accent-fg:#fff;--danger:#b42318;--danger-bg:#fef3f2;--ok-bg:#ecfdf3;--ok-fg:#05603a;--warn-bg:#fff8e1;--warn-fg:#7a4b00;--surface:#f6f8fa;--focus:#0b5fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1117;--fg:#e6edf3;--muted:#9da7b3;--border:#3d444d;--accent:#4c8dff;--accent-fg:#0d1117;--danger:#ff8a80;--danger-bg:#2d1412;--ok-bg:#0e2a1b;--ok-fg:#7ee2a8;--warn-bg:#2b2208;--warn-fg:#f5cf6b;--surface:#161b22;--focus:#79a8ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1{overflow-wrap:anywhere;margin:.25rem 0 1rem;font-size:1.75rem;line-height:1.25}h2{margin:0 0 .5rem;font-size:1.15rem}main{max-width:52rem;margin:0 auto;padding:1.5rem 1rem 4rem}.skip-link{background:var(--bg);border:2px solid var(--focus);z-index:10;padding:.5rem .75rem;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}.site-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.brand{color:var(--fg);font-weight:700;text-decoration:none}.meta{color:var(--muted);margin:.25rem 0}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--border);background:var(--surface);border-radius:8px;height:100%;padding:1rem}.card-title{overflow-wrap:anywhere;margin:.25rem 0}.badge{border:1px solid;border-radius:999px;margin:.5rem 0 0;padding:.1rem .5rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-sold-out{color:var(--warn-fg);background:var(--warn-bg)}.notice{border:1px solid;border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem}.notice-cancelled{color:var(--danger);background:var(--danger-bg)}.notice-sold-out{color:var(--warn-fg);background:var(--warn-bg)}.facts{gap:.75rem;margin:0 0 1.5rem;display:grid}.facts dt{font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}.description{white-space:pre-line;overflow-wrap:anywhere;max-width:65ch}.empty{border:1px dashed var(--border);text-align:center;color:var(--muted);border-radius:8px;padding:2rem 1rem}nav[aria-label=Pagination]{margin-top:1.5rem}button,.button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:6px;padding:.5rem .9rem;text-decoration:none;display:inline-block}.notice-ok{color:var(--ok-fg);background:var(--ok-bg)}.notice-ended{color:var(--muted);background:var(--surface)}.notice-ok h1,.notice-ok h2{margin-top:0}.form{gap:1rem;max-width:28rem;display:grid}.field{gap:.25rem;display:grid}.field label{font-weight:600}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:6px;max-width:100%;padding:.5rem .6rem}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger);border-width:2px}.field-error{color:var(--danger);margin:0}.error-summary{border:2px solid var(--danger);background:var(--danger-bg);color:var(--fg);border-radius:8px;max-width:28rem;margin:0 0 1rem;padding:.75rem 1rem}.error-summary p{margin:0 0 .25rem;font-weight:600}.error-summary ul{margin:0;padding-left:1.25rem}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}button:disabled{opacity:.6;cursor:progress}section[aria-labelledby=register-heading]{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.ticket-links{margin:0 0 .75rem;padding-left:1.25rem}.ticket-qr{max-width:20rem;margin:0 0 1.5rem}.ticket-qr figcaption{color:var(--muted);gap:.25rem;margin-top:.5rem;display:grid}.ticket-code{color:var(--fg)}.qr{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;height:auto;display:block}@media print{.skip-link,.site-header,.no-print{display:none}body{color:#000;background:#fff}.ticket-qr{max-width:14cm}.qr{border:0}}.cancel{border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;padding:.75rem 1rem}.cancel summary{cursor:pointer;font-weight:600}button.danger,.button.danger{color:var(--danger);border:2px solid var(--danger);background:var(--danger-bg);font-weight:600}
