@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2) format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff) format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-400-normal-CjyVwvJV.woff) format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2) format("woff2"),url(/assets/hanken-grotesk-latin-600-normal-NEn2C4Q3.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{--bg: #0e1116;--raise: #161b22;--line: #2a313c;--text: #f3f1ea;--text-muted: #98a1ae;--accent: #d6ff3f;--accent-ink: #10130a;--warning: #ffb224;--danger: #ff6a5e;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 36px;--display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;--font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--tap: 44px;--gutter: var(--space-4);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:linear-gradient(to bottom,transparent,var(--bg) 220px) no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px,rgba(255,255,255,.05) 9px 14px,transparent 14px 17px,rgba(255,255,255,.05) 17px 18px,transparent 18px 29px) top / 100% 220px no-repeat,var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.display{font-family:var(--display);font-weight:800;font-size:clamp(2.5rem,11vw,3.75rem);line-height:.92;letter-spacing:.005em;text-transform:uppercase;overflow-wrap:anywhere}.eyebrow{font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.muted{color:var(--text-muted)}.mono{font-family:var(--mono);letter-spacing:.02em}.app-shell{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--gutter) var(--space-3)}.wordmark{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);font-family:var(--display);font-weight:800;font-size:1.375rem;letter-spacing:.06em;text-transform:uppercase}.wordmark h1{font:inherit}.barcode-mark{width:26px;height:18px;background:repeating-linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 5px,var(--accent) 5px 6px,transparent 6px 9px,var(--accent) 9px 11px,transparent 11px 13px)}.app-main{flex:1;padding:var(--space-3) var(--gutter) var(--space-6)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.page{display:flex;flex-direction:column;gap:var(--space-5)}.page>*{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}.page>:nth-child(2){animation-delay:.06s}.page>:nth-child(3){animation-delay:.12s}.page>:nth-child(n+4){animation-delay:.18s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.row{display:flex;align-items:center;gap:var(--space-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-5);border:1.5px solid var(--text);border-radius:3px;background:transparent;color:var(--text);font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;transition:transform .12s ease,background .12s ease}.btn:hover:not(:disabled){background:#ffffff14}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:#e4ff7a}.btn-stop{border-color:var(--danger);color:var(--danger)}.btn-block{width:100%}.link-danger{align-self:center;min-height:var(--tap);padding:0 var(--space-3);border:0;background:none;color:var(--danger);font-family:var(--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}.field{display:flex;flex-direction:column;gap:var(--space-1)}input,textarea{width:100%;min-height:var(--tap);padding:var(--space-2) 0;background:transparent;border:0;border-bottom:1.5px solid var(--line);border-radius:0;color:var(--text);font:inherit;font-size:1.0625rem;transition:border-color .15s ease}input::placeholder,textarea::placeholder{color:#6f7885}input:focus,textarea:focus{border-bottom-color:var(--accent)}textarea{resize:vertical}.link-quiet{align-self:center;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--space-2);border:0;background:none;color:var(--text-muted);font-family:var(--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}.link-quiet:hover{color:var(--text)}.link-back{align-self:flex-start;padding-left:0}.row-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-4)}.code-input{font-family:var(--display);font-weight:800;font-size:2.5rem;line-height:1.1;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.code-input::placeholder{color:#3a424e}.note{padding-left:var(--space-4);border-left:3px solid var(--warning);color:var(--text-muted);font-size:.9375rem}.card{padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:3px solid var(--danger);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.stubs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.stub{position:relative;width:100%;padding:0;border:0;color:inherit;font:inherit;text-align:left;display:grid;grid-template-columns:84px 1fr auto;align-items:center;min-height:92px;background:var(--raise);transition:transform .15s ease}.stub:hover{transform:translate(4px)}.stub-date{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:2px dashed var(--bg);font-family:var(--display);font-weight:800;line-height:.9;text-transform:uppercase}.stub-date b{font-size:2.5rem;color:var(--accent)}.stub-date span{font-size:1rem;letter-spacing:.12em}.stub:before,.stub:after{content:"";position:absolute;left:75px;width:18px;height:18px;border-radius:50%;background:var(--bg)}.stub:before{top:-9px}.stub:after{bottom:-9px}.stub-body{min-width:0;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px}.stub-body strong{font-size:1.125rem;line-height:1.25;overflow-wrap:anywhere}.stub-body span{color:var(--text-muted);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stub-code{padding-right:var(--space-4);display:flex;flex-direction:column;align-items:flex-end;gap:2px}.stub-code .mono{font-size:1.125rem;font-weight:500;letter-spacing:.12em;color:var(--accent)}.stub-code .eyebrow{font-size:.625rem}.stub-go{padding-right:var(--space-4);font-family:var(--display);font-size:1.75rem;color:var(--text-muted)}.empty{padding:var(--space-5) 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);color:var(--text-muted)}.event-hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1.5px solid var(--line)}.event-hero .display{font-size:clamp(1.75rem,8vw,2.75rem);margin-top:var(--space-1)}.tally{display:flex;flex-direction:column;align-items:flex-end}.tally-num{font-family:var(--display);font-weight:800;font-size:clamp(4rem,20vw,6rem);line-height:.82;color:var(--accent);font-variant-numeric:tabular-nums}.scan-stage{margin-inline:calc(-1 * var(--gutter))}.scanner-frame{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#000}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-guide{--c: var(--accent);--t: 3px;--l: 26px;position:absolute;top:30%;right:10%;bottom:30%;left:10%;pointer-events:none;box-shadow:0 0 0 100vmax #00000073;background:linear-gradient(var(--c),var(--c)) top left / var(--l) var(--t),linear-gradient(var(--c),var(--c)) top left / var(--t) var(--l),linear-gradient(var(--c),var(--c)) top right / var(--l) var(--t),linear-gradient(var(--c),var(--c)) top right / var(--t) var(--l),linear-gradient(var(--c),var(--c)) bottom left / var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom left / var(--t) var(--l),linear-gradient(var(--c),var(--c)) bottom right / var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom right / var(--t) var(--l);background-repeat:no-repeat}.scanner-guide:after{content:"";position:absolute;left:4%;right:4%;top:8%;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:sweep 1.8s ease-in-out infinite alternate}@keyframes sweep{to{top:92%}}.scan-status{min-height:64px;display:flex;background:var(--raise);overflow:hidden}.scan-hint,.toast{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-3) var(--gutter);text-align:center}.scan-hint{color:var(--text-muted);font-size:.9375rem}.toast{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.05;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere;color:var(--accent-ink);animation:stamp .28s cubic-bezier(.2,.9,.3,1.2) both}.toast-success{background:var(--accent)}.toast-warning{background:var(--warning)}.toast-error{background:var(--danger)}@keyframes stamp{0%{opacity:0;transform:scale(1.06)}}.sync{text-align:center}.sync-offline{color:var(--warning)}.manual summary{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);cursor:pointer;list-style:none;font-family:var(--mono);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1.5px solid var(--line)}.manual summary::-webkit-details-marker{display:none}.manual summary:after{content:"+";font-size:1.25rem;color:var(--accent)}.manual[open] summary:after{content:"−"}.manual form{padding-top:var(--space-4)}.ledger-head{display:flex;align-items:baseline;justify-content:space-between}.ledger-rows{list-style:none;margin:0;padding:0}.ledger-rows li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.ledger-rows li:first-child{animation:rise .3s ease both}.ledger-rows strong{display:block;line-height:1.3;overflow-wrap:anywhere}.ledger-rows span{font-size:.875rem;color:var(--text-muted)}.ledger-rows time{font-family:var(--mono);font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
