@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-brand-background:#fff;--color-text-primary:#000;--color-text-negative:#fff;--color-text-disabled:#666;--color-background-negative:#000;--color-background-disabled:#b2b2b2;--color-background-surface:#b2b2b2;--color-border-strong:#000;--color-border-subtle:#b2b2b2;--color-success-text:#295214;--color-success-background:#e0f5d6;--color-info-text:#143352;--color-info-background:#d6e5f5;--color-warning-text:#523314;--color-warning-background:#f5e5d6;--color-error-text:#521414;--color-error-background:#f5d6d6;--radius-sm:2px;--radius-lg:12px;--font-size-xs:.75rem;--font-size-sm:1rem;--color-accent:#0d46f2;--color-cta-hover:#262626;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nav-height:4rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-brand-background:#000;--color-text-primary:#fff;--color-text-negative:#000;--color-text-disabled:#8c8c8c;--color-background-negative:#fff;--color-background-disabled:#333;--color-background-surface:#333;--color-border-strong:#fff;--color-border-subtle:#3a3a3a;--color-success-text:#c9f0b4;--color-success-background:#1b3310;--color-info-text:#c4daf3;--color-info-background:#10233a;--color-warning-text:#f0dcc4;--color-warning-background:#33200c;--color-error-text:#f0c4c4;--color-error-background:#330c0c;--color-accent:#4d6bff;--color-cta-hover:#d9d9d9}}*{box-sizing:border-box}html,body{overscroll-behavior-x:none;margin:0;padding:0;overflow-x:hidden}body{touch-action:pan-y;font-family:var(--font-sans);background:var(--color-brand-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}.app{flex-direction:column;min-height:100dvh;display:flex}.content{width:100%;max-width:30rem;padding:1rem 1rem calc(var(--nav-height) + 2.5rem);flex:1;margin:0 auto}h1,h2,h3{font-family:var(--font-mono);font-weight:600}.view h1{letter-spacing:-.01em;margin:.75rem 0 1rem;font-size:1.35rem}.brand{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--color-text-primary);margin:2.5rem 0 0;font-size:2.2rem;font-weight:500}.card{background:var(--color-brand-background);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin:0 0 1rem;padding:1rem}.card>h1:first-child,.card>h2:first-child{margin-top:0}.muted{color:var(--color-text-disabled);font-size:.9rem}.checkin-card{border:2px solid var(--color-accent)}.checkin-card h1{margin:0 0 .25rem}.checkin-card .muted{margin:0}form{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-disabled);font-size:.8rem;font-weight:500}div.card>label{margin-bottom:.5rem;display:block}input,select{width:100%;max-width:100%;min-height:3rem;font-size:1rem;font-family:var(--font-sans);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-brand-background);color:var(--color-text-primary);padding:0 .9rem;transition:border-color .15s}input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}input[type=file]{width:100%;min-height:0;padding:.6rem .9rem}button{white-space:normal;max-width:100%;min-height:3rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);background:var(--color-background-negative);color:var(--color-text-negative);cursor:pointer;touch-action:manipulation;border:none;margin:.5rem 0 0;padding:0 1.25rem;font-size:.9rem;font-weight:500;transition:transform 80ms,background-color .15s}button:active{transform:scale(.98)}button:hover{background:var(--color-cta-hover)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button.secondary{color:var(--color-text-primary);border:1px solid var(--color-border-strong);background:0 0}button:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);transform:none}button+button{margin-left:.5rem}.error{color:var(--color-error-text);background:var(--color-error-background);border-radius:var(--radius-sm);margin:.5rem 0 1rem;padding:.5rem .75rem}.notice{color:var(--color-info-text);background:var(--color-info-background);border-radius:var(--radius-sm);margin:.5rem 0 1rem;padding:.5rem .75rem}.notice p{margin:0 0 .25rem}.notice button{margin:.25rem 0}.offline-banner{background:var(--color-warning-background);color:var(--color-warning-text);text-align:center;padding:.5rem 1rem;padding-top:calc(.5rem + env(safe-area-inset-top));font-size:.9rem}.install-hint{background:var(--color-background-negative);color:var(--color-text-negative);padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top));align-items:center;gap:.75rem;font-size:.9rem;display:flex}.install-hint span{flex:1}.install-hint button{color:inherit;cursor:pointer;background:0 0;border:none;min-height:0;margin:0;padding:0 .25rem;font-size:1.4rem;line-height:1}.passkey-list{flex-direction:column;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.passkey-list li{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:0 0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.passkey-list li>span:first-child{font-weight:600}.passkey-list button{min-height:2.25rem;margin:0 0 0 auto;font-size:.8rem}.venue-actions{gap:.5rem;margin-left:auto;display:flex}.venue-actions button{margin-left:0}.scan-video{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);background:#000;width:100%}.qr-card{aspect-ratio:1;background:#fff;padding:1rem}.qr-card img{width:100%;height:auto;display:block}.presence-toolbar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.presence-toolbar button{margin:0}.presence-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.presence-list li{background:var(--color-brand-background);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.presence-name{flex:1;font-weight:600}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:2.75rem;height:2.75rem}.avatar-fallback{background:var(--color-background-negative);color:var(--color-text-negative);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:1.2rem;font-weight:500;display:inline-flex}.profile-picture{margin-bottom:.5rem}.profile-picture .avatar{width:5rem;height:5rem}.bottom-nav{height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-brand-background);border-top:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-text-disabled);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav svg{width:1.5rem;height:1.5rem}.bottom-nav a.active{color:var(--color-accent)}
