@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/unbounded-latin-600-normal-oRSANpZr.woff2)format("woff2"),url(/assets/unbounded-latin-600-normal-BPdB_PEv.woff)format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/unbounded-latin-800-normal-CN2Hxyoo.woff2)format("woff2"),url(/assets/unbounded-latin-800-normal-Cjred_zf.woff)format("woff")}:root{--ink:#0f0d14;--surface:#1c1826;--surface-raised:#241f30;--paper:#f6f3fa;--pulse:#7c3aed;--pulse-dim:#5b2fb3;--flare:#ff3d81;--gold:#ffb020;--paper-dim:color-mix(in srgb, var(--paper) 62%, var(--ink));--hairline:color-mix(in srgb, var(--paper) 14%, transparent);--hairline-strong:color-mix(in srgb, var(--paper) 26%, transparent);--display:"Unbounded", ui-sans-serif, system-ui, sans-serif;--body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", monospace;--nav-height:4.5rem;--header-height:3.25rem;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);background-image:radial-gradient(ellipse 60% 40% at 15% 0%, color-mix(in srgb, var(--pulse) 20%, transparent), transparent), radial-gradient(ellipse 50% 35% at 100% 15%, color-mix(in srgb, var(--flare) 12%, transparent), transparent);min-height:100svh;color:var(--paper);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-repeat:no-repeat}h1,h2{font-family:var(--display);letter-spacing:-.01em;color:var(--paper);margin:0 0 .75rem;font-weight:800;line-height:1.1}h1{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:1.05rem;font-weight:600}h2{font-size:1.15rem}p{color:var(--paper-dim);margin:0 0 .75rem}a{color:var(--flare)}#app{flex-direction:column;max-width:30rem;min-height:100svh;margin:0 auto;display:flex;position:relative}#app>header{z-index:10;height:var(--header-height);background:color-mix(in srgb, var(--ink) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);align-items:center;gap:.5rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.brand-dot{background:var(--flare);width:.5rem;height:.5rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--flare) 18%, transparent);border-radius:999px;flex:none;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}#app>main{padding:1.25rem 1.25rem calc(var(--nav-height) + 1.5rem);flex:1;min-height:0}nav.tabs{width:100%;max-width:30rem;height:var(--nav-height);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--hairline);z-index:10;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav.tabs button{all:unset;cursor:pointer;color:var(--paper-dim);font:600 .6rem/1 var(--body);letter-spacing:.03em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;transition:color .15s;display:flex}nav.tabs button svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem;transition:transform .15s}nav.tabs button.active{color:var(--paper)}nav.tabs button.active svg{stroke:var(--flare);transform:translateY(-1px)}nav.tabs button:active svg{transform:scale(.88)}nav.tabs button:focus-visible{outline:2px solid var(--flare);outline-offset:-2px;border-radius:6px}.eyebrow{font:600 .68rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim)}.big-number{font-family:var(--display);color:var(--paper);font-size:2rem;font-weight:800;line-height:1}label{font:600 .72rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--paper-dim);margin:0 0 .4rem;display:block}input,select,textarea{width:100%;font:500 .95rem/1.3 var(--body);color:var(--paper);background:var(--surface);border:1px solid var(--hairline-strong);border-radius:10px;margin:0 0 1rem;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--paper-dim)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--pulse);box-shadow:0 0 0 3px color-mix(in srgb, var(--pulse) 35%, transparent);outline:none}input[type=number]{font-family:var(--mono)}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}textarea{resize:vertical;min-height:6rem;font-family:var(--mono);font-size:.85rem}button{font:600 .85rem/1 var(--body);color:var(--paper);background:var(--surface-raised);border:1px solid var(--hairline-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;margin:0 .4rem .5rem 0;padding:.65rem 1rem;transition:transform .1s,background .15s,border-color .15s}button:hover{border-color:var(--hairline-strong);background:color-mix(in srgb, var(--surface-raised) 80%, var(--pulse))}button:active{transform:translateY(1px)scale(.98)}button:focus-visible{outline:2px solid var(--flare);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed;transform:none}form button[type=submit]{background:var(--pulse);border-color:var(--pulse)}form button[type=submit]:hover{background:color-mix(in srgb, var(--pulse) 85%, white)}ul,ol{flex-direction:column;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.ticket{--notch:.55rem;background:var(--surface);border:1px dashed var(--hairline-strong);border-radius:12px;padding:.85rem 1rem;position:relative;overflow:visible}.ticket:before,.ticket:after{content:"";width:var(--notch);height:var(--notch);background:var(--ink);border:1px dashed var(--hairline-strong);border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.ticket:before{left:calc(var(--notch) / -2 - 1px)}.ticket:after{right:calc(var(--notch) / -2 - 1px)}.ticket-text{font-family:var(--display);color:var(--paper);margin:0 0 .5rem;font-size:.95rem;font-weight:600;line-height:1.35}.ticket-foot{border-top:1px dashed var(--hairline);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.ticket-code{font-family:var(--mono);letter-spacing:.05em;color:var(--paper-dim);text-transform:uppercase;font-size:.68rem}.ticket-points{font-family:var(--mono);color:var(--gold);font-size:.8rem;font-weight:700}.ticket-actions{gap:.4rem;margin-top:.6rem;display:flex}.ticket-actions button{margin:0;padding:.4rem .7rem;font-size:.72rem}.chip{background:var(--surface);border:1px solid var(--hairline-strong);font:600 .8rem/1 var(--body);color:var(--paper);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem .35rem .55rem;display:inline-flex}.chip-dot{width:.55rem;height:.55rem;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);border-radius:999px;flex:none}.chip-name{color:var(--paper);flex:1;font-weight:600}.chip-row{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.65rem .85rem;display:flex}.chip-row button{margin:0;padding:.4rem .7rem;font-size:.72rem}section{margin-bottom:1.75rem}.segmented{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:flex}.segmented button{color:var(--paper-dim);background:0 0;border:none;border-radius:8px;flex:1;margin:0}.segmented button:hover{background:color-mix(in srgb, var(--surface-raised) 70%, transparent)}.segmented button.active{background:var(--pulse);color:var(--paper)}.segmented button.active:hover{background:color-mix(in srgb, var(--pulse) 85%, white)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.1rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.75rem;display:grid}.stat-grid .card{margin-bottom:0}.stat-grid h2{letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:.35rem;font-size:.7rem;font-weight:600}.stat-grid .big-number{margin:0;font-size:1.5rem}.action-grid{flex-direction:column;gap:.5rem;display:flex}.action-grid button{text-align:left;margin:0;padding:.85rem 1rem;font-size:.9rem}.empty{color:var(--paper-dim);padding:.75rem 0;font-size:.85rem;font-style:italic}[role=alert]{background:color-mix(in srgb, var(--flare) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--flare) 45%, transparent);color:var(--paper);border-radius:10px;margin:0 0 .75rem;padding:.7rem .9rem;font-size:.85rem}[role=status]{background:color-mix(in srgb, var(--pulse) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--pulse) 45%, transparent);color:var(--paper);border-radius:10px;margin:.75rem 0 0;padding:.7rem .9rem;font-size:.85rem;animation:.25s ease-out dispense}@keyframes dispense{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}img[alt="Pack QR code"],img[alt="Results QR code"]{background:var(--paper);border-radius:12px;width:100%;max-width:16rem;margin:.5rem auto;padding:.75rem;display:block}video{background:var(--surface);border-radius:12px;width:100%}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
