:root{--color-surface-page:#fff;--color-surface-alt:#f1f1f1;--color-surface-section:#d9d9d7;--color-surface-inverse:#000;--color-text-primary:#000;--color-text-secondary:#26282a;--color-text-muted:#56585a;--color-border-decorative:#b4b6b4;--color-border-control:#888a8c;--color-border-strong:#000;--color-action-background:#000;--color-action-text:#fff;--color-feedback-error:#8c1c1c;--color-feedback-warning:#6b4a00;--color-feedback-success:#1c5c2e;--color-state-hover:#f6f6f5;--color-state-pressed:#e9e9e7;--color-state-selected:#eaeef2;--color-focus-ring:#000;--color-focus-ring-inverse:#fff;--typography-family-core:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--typography-family-accent:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--typography-weight-regular:400;--typography-weight-medium:500;--typography-weight-semibold:600;--typography-size-heading:24px;--typography-size-kiosk-heading:30px;--typography-size-body-phone:16px;--typography-size-body-ipad:17px;--typography-size-label:14px;--typography-leading-headline:.9;--typography-leading-body:1;--typography-leading-ui:1.1;--typography-leading-card:1.2;--typography-leading-body-density:1.35;--typography-tracking-headline:-.02em;--typography-tracking-body:-.01em;--typography-tracking-accent:-.02em;--typography-tracking-none:0em;--typography-accent-text-transform:uppercase;--spacing-scale-4:4px;--spacing-scale-8:8px;--spacing-scale-12:12px;--spacing-scale-16:16px;--spacing-scale-24:24px;--spacing-scale-32:32px;--spacing-scale-48:48px;--spacing-inset-phone:24px;--spacing-inset-ipad:32px;--spacing-stack-sm:8px;--spacing-stack-md:16px;--spacing-stack-lg:32px;--radius-pill:100px;--radius-circle:50%;--radius-field:10px;--radius-none:0px;--control-size-tap:56px;--control-size-hero:84px;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:#000;--focus-ring-color-inverse:#fff}.type-accent{font-family:var(--typography-family-accent);text-transform:var(--typography-accent-text-transform)}@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{height:100%}body{padding:var(--spacing-inset-phone);background:var(--color-surface-page);color:var(--color-text-primary);font-family:var(--typography-family-core);font-size:var(--typography-size-body-phone);line-height:var(--typography-leading-body-density);letter-spacing:var(--typography-tracking-body);margin:0}#app{min-height:calc(100vh - 2 * var(--spacing-inset-phone));flex-direction:column;display:flex}h1,h2{font-weight:var(--typography-weight-medium);line-height:var(--typography-leading-ui);letter-spacing:var(--typography-tracking-headline);margin:0}h2{font-size:var(--typography-size-heading)}p{margin:0}.mast{padding-bottom:var(--spacing-stack-md);margin-bottom:var(--spacing-stack-md);border-bottom:1px solid var(--color-border-decorative);justify-content:space-between;align-items:center;display:flex}.mast-logo{width:auto;height:18px;display:block}.mast-label{color:var(--color-text-secondary);font-size:var(--typography-size-label);font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-tracking-accent)}.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}.tap-target{min-height:var(--control-size-tap);min-width:var(--control-size-tap);font-size:var(--typography-size-body-phone);box-sizing:border-box;font-family:inherit}input.tap-target{border:1px solid var(--color-border-control);border-radius:var(--radius-field);padding:0 var(--spacing-stack-sm);color:var(--color-text-primary);background:var(--color-surface-page)}section:not(.startup-failure)>*+*{margin-top:var(--spacing-stack-md)}form{gap:var(--spacing-stack-md);flex-direction:column;display:flex}form label{display:block}form input.tap-target{width:100%}.pill{width:100%;min-height:var(--control-size-tap);border-radius:var(--radius-pill);background:var(--color-action-background);color:var(--color-action-text);font-family:var(--typography-family-accent);text-transform:var(--typography-accent-text-transform);font-weight:var(--typography-weight-medium);font-size:var(--typography-size-body-phone);box-sizing:border-box;cursor:pointer;border:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.pill-outline{width:100%;min-height:var(--control-size-tap);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text-primary);font-family:var(--typography-family-accent);text-transform:var(--typography-accent-text-transform);font-weight:var(--typography-weight-medium);font-size:var(--typography-size-body-phone);box-sizing:border-box;cursor:pointer;background:0 0;justify-content:center;align-items:center;text-decoration:none;display:flex}.pill:focus-visible,.pill-outline:focus-visible,input.tap-target:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.startup-failure{justify-content:center;gap:var(--spacing-stack-md);flex-direction:column;flex:1;max-width:34rem;display:flex}.startup-failure .pill,.startup-failure .pill-outline{margin-top:var(--spacing-stack-lg)}.js-boot-fallback{visibility:hidden;animation:0s 3s forwards cosmo-reveal-js-boot-fallback}@keyframes cosmo-reveal-js-boot-fallback{to{visibility:visible}}.ref{padding:var(--spacing-stack-sm) var(--spacing-scale-12);background:var(--color-surface-section);color:var(--color-text-primary);font-size:var(--typography-size-label);letter-spacing:var(--typography-tracking-none);align-self:flex-start;margin:0;display:inline-block}.camera-view{width:100%}.camera-view>*+*{margin-top:var(--spacing-stack-md)}.camera-view video{width:100%;max-width:100%;height:auto;display:block}
