@font-face{font-family:Outfit;src:url(../fonts/outfit.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;src:url(../fonts/outfit-ext.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy-950:#07101e;--navy-900:#0a1628;--navy-800:#112643;--navy-700:#142a4c;--yellow:#fcc521;--yellow-hi:#ffd34d;--yellow-link:#ffd866;--orange:#d96800;--blue:#0069bf;--teal:#1ba39c;--ink:#fff;--ink-dim:#cfe0f5;--line:#8bb4eb29;--line-strong:#8bb4eb47;--grid-line:#78aaeb17;--grid-line-major:#fcc5210d;--font-head:"Outfit", "Segoe UI", system-ui, sans-serif;--font-body:"Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;--radius:16px;--touch:clamp(48px, 7.4vh, 64px);font-family:var(--font-body);color:var(--ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--navy-900)}.page{background:radial-gradient(120% 90% at 50% 0%, var(--navy-700) 0%, var(--navy-900) 60%, var(--navy-950) 100%);justify-content:center;align-items:center;height:100dvh;padding:2.2vmin;display:flex;position:relative;overflow:hidden}.blueprint{pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(var(--grid-line-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-major) 1px, transparent 1px);background-size:72px 72px,72px 72px,288px 288px,288px 288px;position:absolute;inset:0}.sheet{border:1px solid var(--line-strong);background:linear-gradient(#112643b8 0%,#0a162880 100%);border-radius:18px;flex-direction:column;align-self:stretch;gap:clamp(9px,1.6vh,22px);width:100%;padding:3.4vmin 4.2vmin;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 30px 90px #00000073}.sheet-body{flex-direction:column;flex:auto;justify-content:safe center;gap:clamp(9px,1.6vh,22px);width:100%;max-width:min(1040px,100%);min-height:0;margin-inline:auto;display:flex;overflow-y:auto}.sheet-body.is-centered{text-align:center}.sheet-body.is-wide{max-width:100%}.sheet-note{text-align:center;flex:none;justify-content:center;display:flex}.masthead{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-logo{width:auto;height:clamp(22px,3.4vmin,46px)}.masthead-left{align-items:center;gap:clamp(14px,2.4vmin,32px);min-width:0;display:flex}.masthead-label{color:#cfe0f599;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(20px,2.7vmin,33px)}.corner-badge{color:var(--yellow);font-family:var(--font-head);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.6em;font-size:clamp(14px,1.8vmin,22px);display:inline-flex}.corner-badge.is-link{cursor:pointer;text-decoration:none;transition:color .12s}.corner-badge.is-link:hover{color:#fff}.corner-badge.is-link:active{opacity:.75}.corner-badge.is-link:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.corner-tick{background:var(--yellow);width:1.3em;height:1.3em;color:var(--navy-900);border-radius:5px;justify-content:center;align-items:center;font-size:.85em;font-weight:700;display:inline-flex}.step-dots{align-items:center;gap:clamp(8px,1.2vmin,14px);display:flex}.step-dot{background:#8bb4eb47;border-radius:999px;width:clamp(8px,1.1vmin,14px);height:clamp(8px,1.1vmin,14px)}.step-dot.is-done{background:#fcc52173}.step-dot.is-now{background:var(--yellow)}.titlebar{flex-direction:column;gap:10px;display:flex}.screen-title{font-family:var(--font-head);letter-spacing:-.015em;color:#fff;text-wrap:balance;margin:0;font-size:clamp(26px,4.6vmin,58px);font-weight:700;line-height:1.04}.screen-sub{color:var(--ink-dim);margin:0;font-size:clamp(1rem,2.6vw,1.2rem)}.content{flex-direction:column;flex:0 auto;justify-content:safe center;gap:clamp(9px,1.6vh,22px);min-height:0;display:flex}.footer{justify-content:space-between;align-items:center;gap:2vmin;min-height:clamp(26px,3.6vmin,44px);display:flex}.footer-step{color:#cfe0f573;letter-spacing:.14em;text-transform:uppercase;margin-left:auto;font-size:clamp(14px,1.8vmin,22px)}.footer-back{min-height:var(--touch);color:#cfe0f599;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;margin-left:calc(clamp(44px,4.4vmin,54px) + 2vmin);padding:.4em 0;font-family:inherit;font-size:clamp(15px,2vmin,24px)}.footer-back:hover{color:#fff}.rule{border:0;border-top:1px solid var(--line);width:100%;margin:clamp(2px,.6vh,8px) 0}.list-label{font-family:var(--font-head);color:var(--ink);margin:0;font-size:clamp(1rem,2.6vw,1.15rem);font-weight:700}.big-button{min-height:var(--touch);font-family:var(--font-head);letter-spacing:.005em;color:var(--navy-900);background:var(--yellow);cursor:pointer;border:none;border-radius:999px;padding:.7em 1.5em;font-size:clamp(18px,2.8vmin,34px);font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:0 14px 40px #fcc52147}.big-button:hover{background:var(--yellow-hi);transform:translateY(-2px);box-shadow:0 18px 50px #fcc52166}.big-button:active{transform:translateY(0);box-shadow:0 8px 24px #fcc5214d}.big-button:disabled{background:var(--navy-700);color:var(--ink-dim);cursor:not-allowed;box-shadow:none;transform:none}.back-button{min-height:var(--touch);font-family:var(--font-head);color:var(--ink);border:2px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:.7em 1.5em;font-size:clamp(18px,2.8vmin,34px);font-weight:700;transition:border-color .15s,transform 60ms;display:inline-flex}.back-button:hover{border-color:var(--ink-dim)}.back-button:active{transform:translateY(1px)}.back-arrow{font-size:1.15em;line-height:1}.button-row{align-items:stretch;gap:14px;margin-top:4px;display:flex}.button-row .big-button,.button-row .back-button{flex:1 1 0}.button-solo{align-self:center;margin-top:4px}.muted{color:var(--ink-dim)}.callout{color:var(--yellow)}.attract{text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:clamp(18px,3.6vmin,46px);padding:2vmin 0;display:flex}.attract.is-scanner-only{cursor:default}.big-button.is-label{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;align-items:center;display:inline-flex}.attract .big-button{margin-top:1vmin}.attract>form{display:contents}.is-attract .kicker{font-size:clamp(16px,2.4vmin,29px)}.is-attract .lead{font-size:clamp(18px,2.6vmin,31px)}.attract.is-scanning{cursor:default;gap:clamp(18px,3.2vmin,40px)}.is-attract .badge-reader{border:2px solid var(--yellow);background:#0a16288c;border-radius:20px;width:clamp(200px,30vmin,340px);height:clamp(200px,30vmin,340px);min-height:0;position:relative}.is-attract .badge-reader video{object-fit:cover;height:100%;width:100%!important}.is-attract .badge-reader:after{content:"";pointer-events:none;border:2px solid #fcc5218c;border-radius:4px;position:absolute;inset:23%}.attract-scan-title{max-width:22em;font-family:var(--font-head);letter-spacing:-.01em;color:#fff;text-wrap:balance;margin:0;font-size:clamp(22px,3.6vmin,44px);font-weight:700;line-height:1.2}.kicker{font-family:var(--font-head);letter-spacing:.34em;text-transform:uppercase;color:var(--yellow);margin:0;font-size:clamp(14px,2.1vmin,26px);font-weight:600}.attract-title{font-family:var(--font-head);letter-spacing:-.015em;text-wrap:balance;color:#fff;max-width:16em;margin:0;font-size:clamp(38px,8.4vmin,104px);font-weight:700;line-height:1.04}.status-screen{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:clamp(20px,6vh,60px) 0;display:flex}.lead{color:#cfe0f5c7;text-wrap:pretty;max-width:52em;margin:0;font-size:clamp(14px,2.1vmin,26px);line-height:1.5}.status-bad{color:#ffb4a6;max-width:34ch;font-size:1.1rem}.spinner{border:4px solid var(--line-strong);border-top-color:var(--yellow);border-radius:50%;width:46px;height:46px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan{flex-direction:column;gap:16px;display:flex}.scan-status{text-align:center;color:#fff;background:#0a162899;justify-content:center;align-items:center;margin:0;padding:1em;font-size:clamp(12px,1.7vmin,20px);display:flex;position:absolute;inset:0}.scan-catcher-input{opacity:0;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.photo-picker-input{display:none}.selfie-media{object-fit:cover;border-radius:var(--radius);width:100%;height:100%}.selfie-mirrored{transform:scaleX(-1)}.consent-row{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.consent-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--yellow);flex-shrink:0;margin-top:3px}.text-input{min-height:56px;font-size:1.15rem;font-family:var(--font-body);color:var(--ink);border:2px solid var(--line-strong);background:#04132299;border-radius:12px;outline:none;padding:0 16px}.text-input:focus{border-color:var(--yellow)}.text-input.big{letter-spacing:.02em;min-height:66px;font-size:1.5rem}.field{flex-direction:column;gap:8px;display:flex}.field-label{font-family:var(--font-head);color:var(--ink-dim);font-weight:600}.field-hint.bad{color:#ffb4a6;font-size:.95rem}.question{flex-direction:column;gap:clamp(8px,1.6vh,16px);display:flex}.q-count{font-family:var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin:0;font-size:.85rem;font-weight:600}.q-prompt{font-family:var(--font-head);color:#fff;margin:0;font-size:clamp(1.4rem,4vw,2rem);font-weight:700;line-height:1.1}.options{flex-direction:column;gap:clamp(7px,1.3vh,12px);display:flex}.option{min-height:var(--touch);text-align:left;font-family:var(--font-body);color:var(--ink);border:2px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:#0b37634d;align-items:center;gap:16px;padding:clamp(8px,1.4vh,14px) 18px;font-size:clamp(1.05rem,2.6vw,1.25rem);transition:border-color .12s,background .12s;display:flex}.option-mark{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:26px;height:26px}.option.selected{border-color:var(--yellow);background:#fcc5211f}.option.selected .option-mark{border-color:var(--yellow);background:var(--yellow);box-shadow:inset 0 0 0 5px var(--navy-800)}.is-question .question{align-items:center;gap:clamp(14px,2.4vmin,30px);padding:2vmin clamp(12px,4vmin,60px)}.is-question .kicker{font-size:clamp(15px,2.2vmin,27px)}.is-question .q-prompt{text-wrap:balance;max-width:30em;font-size:clamp(20px,3vmin,36px);line-height:1.25}.is-question .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vmin,22px);width:min(100%,62em);display:grid}.is-question .option{color:#fff;background:#0a162866;border:1px solid #8bb4eb47;border-radius:14px;align-items:flex-start;padding:clamp(16px,2vmin,24px);font-size:clamp(16px,2vmin,23px);font-weight:500;line-height:1.4;transition:background .16s,border-color .16s}.is-question .option.selected{border-color:var(--yellow)}@media (hover:hover){.is-question .option:hover{border-color:var(--yellow)}}.is-question .option.selected{background:#fcc52124}.is-question .button-row{width:min(100%,62em)}.is-question .q-next{padding:.65em 1.6em;font-size:clamp(16px,2.3vmin,27px)}.is-question .q-next.is-hidden{visibility:hidden}.sheet:has(.has-pinned-row){overscroll-behavior-y:contain;padding-block:0;overflow-y:auto}.sheet:has(.has-pinned-row) .masthead{z-index:1;background:var(--navy-900);flex:none;margin-inline:-4.2vmin;padding:3.4vmin 4.2vmin 8px;position:sticky;top:0}.sheet-body.has-pinned-row{flex:1 0 auto;justify-content:flex-start;overflow:visible}.has-pinned-row .content,.has-pinned-row .question{flex:1 0 auto}.has-pinned-row .question>:first-child{margin-top:auto}.has-pinned-row .button-row{background:var(--navy-900);box-shadow:0 -12px 12px -4px var(--navy-900);margin-top:auto;padding-block:12px;position:sticky;bottom:0}.q-back{z-index:50;color:#cfe0f599;cursor:pointer;background:0 0;border:none;min-height:clamp(44px,4.4vmin,54px);padding:.4em 0;font-family:inherit;font-size:clamp(15px,2vmin,24px);position:fixed;bottom:calc(5.6vmin + 1px);left:calc(7.6vmin + 1px + clamp(44px,4.4vmin,54px))}.q-back:hover{color:#fff}.sheet-body.is-naming .content,.sheet-body.is-naming .naming{align-items:center;gap:clamp(12px,2vmin,24px)}.sheet-body.is-naming .naming{flex-direction:column;width:100%;display:flex}.sheet-body.is-naming .q-count{letter-spacing:.32em;font-size:clamp(15px,2.2vmin,27px)}.sheet-body.is-naming .q-prompt{letter-spacing:-.012em;text-wrap:balance;max-width:26em;font-size:clamp(24px,4.2vmin,52px);line-height:1.14}.sheet-body.is-naming .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vmin,20px);width:min(100%,50em);display:grid}.sheet-body.is-naming .option{text-align:center;font-family:var(--font-head);background:#0a162873;border-color:#8bb4eb52;border-radius:14px;justify-content:center;padding:clamp(14px,2vmin,24px);font-size:clamp(15px,2.1vmin,26px);font-weight:700;line-height:1.25}.sheet-body.is-naming .option.selected{border-color:var(--yellow);color:var(--yellow);background:#fcc52124}.sheet-body.is-naming .option{position:relative}.sheet-body.is-naming .option.taken{cursor:not-allowed;border-color:#8bb4eb29;animation:.42s both name-taken-shake}.sheet-body.is-naming .option.taken .option-name{opacity:.4;transition:opacity .3s 1.25s}.sheet-body.is-naming .taken-mark{pointer-events:none;justify-content:center;align-items:center;animation:1.6s cubic-bezier(.5,0,.2,1) both name-taken-morph;display:flex;position:absolute;overflow:hidden}.sheet-body.is-naming .taken-mark-text{color:var(--navy-800);white-space:nowrap;font-weight:700;animation:1.6s both name-taken-words}.sheet-body.is-naming .option.leaving{animation:.26s ease-in both name-leave}.sheet-body.is-naming .option.arrive{animation:.42s cubic-bezier(.2,.8,.2,1) both name-arrive}@keyframes name-taken-morph{0%{background:var(--yellow);opacity:0;border-radius:14px;inset:-2px;transform:scale(.94)}12%,62%{background:var(--yellow);opacity:1;border-radius:14px;inset:-2px;transform:scale(1)}to{opacity:1;background:#cfe0f58c;border-radius:2px;inset:calc(50% - 1px) 14%;transform:scale(1)}}@keyframes name-taken-words{0%,55%{opacity:1}68%,to{opacity:0}}@keyframes name-taken-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes name-leave{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes name-arrive{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.sheet-body.is-naming .option.taken.settled,.sheet-body.is-naming .option.taken.settled .taken-mark,.sheet-body.is-naming .option.taken.settled .taken-mark-text{animation:none}.sheet-body.is-naming .option.taken.settled .option-name{transition:none}.sheet-body.is-naming .option.taken.settled .taken-mark{background:#cfe0f58c;border-radius:2px;inset:calc(50% - 1px) 14%}.sheet-body.is-naming .option.taken.settled .taken-mark-text{opacity:0}.sheet-body.is-naming .option.taken.settled.leaving{animation:.26s ease-in both name-leave}@media (prefers-reduced-motion:reduce){.sheet-body.is-naming .option.taken,.sheet-body.is-naming .option.leaving,.sheet-body.is-naming .option.taken.settled.leaving,.sheet-body.is-naming .option.arrive,.sheet-body.is-naming .taken-mark,.sheet-body.is-naming .taken-mark-text{animation:none}.sheet-body.is-naming .option.taken .option-name{transition:none}.sheet-body.is-naming .taken-mark{background:#cfe0f58c;border-radius:2px;inset:calc(50% - 1px) 14%}.sheet-body.is-naming .taken-mark-text,.sheet-body.is-naming .option.leaving{opacity:0}}.sheet-body.is-naming .name-notice{color:var(--yellow);margin:0;font-size:clamp(14px,1.9vmin,22px);font-weight:600}.sheet-body.is-naming .big-button{padding:.7em 1.8em;font-size:clamp(17px,2.6vmin,32px)}.regen-button{color:#cfe0f5bf;font-family:var(--font-head);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5em;padding:.4em .6em;font-size:clamp(13px,1.9vmin,22px);font-weight:500;transition:color .16s;display:inline-flex}.regen-button:hover{color:var(--ink)}.regen-button svg{width:1.1em;height:1.1em;display:block}.progress-screen{flex-direction:column;align-items:stretch;gap:18px;display:flex}.station-list{flex-direction:column;gap:clamp(6px,1.1vh,10px);margin:0;padding:0;list-style:none;display:flex}.station-row{border:1px solid var(--line);background:#0b376338;border-radius:12px;align-items:center;gap:14px;padding:clamp(8px,1.4vh,14px) 16px;display:flex}.station-check{border:2px solid var(--line-strong);width:28px;height:28px;font-family:var(--font-head);border-radius:8px;flex:none;place-items:center;font-size:.95rem;font-weight:700;line-height:1;display:grid}.station-check.done{border-color:var(--yellow);background:var(--yellow);color:var(--navy-900)}.station-check.done:after{content:"✓"}.station-name{flex:1;font-size:1.1rem}.station-complete-tag{font-family:var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);flex:none;margin-left:auto;font-size:clamp(.62rem,1.6vw,.74rem);font-weight:700}.progress-hint{color:var(--ink-dim);margin:0;font-size:clamp(1rem,2.6vw,1.2rem)}.sheet-body.is-already{--gap:clamp(12px, 2.2vmin, 28px);gap:var(--gap);align-items:center}.is-already .titlebar{align-items:center;gap:var(--gap)}.is-already .kicker{font-size:clamp(15px,2.2vmin,27px)}.is-already .screen-title{letter-spacing:-.012em;max-width:24em;line-height:1.12}.is-already .screen-sub{color:#d6e4f6e0;text-wrap:pretty;max-width:38em;font-size:clamp(18px,2.6vmin,31px);line-height:1.5}.is-already .screen-sub strong{color:var(--yellow);font-weight:700}.is-already .content{align-items:center;gap:var(--gap);width:100%}.is-already .progress-screen{border-top:1px solid #8bb4eb38;align-items:center;gap:clamp(10px,1.6vmin,20px);width:min(100%,44em);padding-top:clamp(12px,2vmin,24px)}.is-menu .content:first-child .progress-screen{border-top:0;padding-top:0}.is-already .list-label{font-size:clamp(14px,2.1vmin,26px)}.is-already .station-list{gap:clamp(6px,1vmin,12px);width:100%}.is-already .station-row{border-color:var(--station-edge,#8bb4eb42);color:#e6effb;text-align:left;background:#0a162873;gap:.8em;padding:.62em 1.1em;font-size:clamp(13px,2vmin,24px);font-weight:500}.is-already .station-check{font-size:inherit;border-color:var(--station,#fcc521bf);border-radius:5px;width:1.15em;height:1.15em}.is-already .station-check.done{border-color:var(--station,var(--yellow));background:var(--station,var(--yellow))}.is-already .station-name{font-size:inherit;color:#fff}.is-already .station-row.is-done{border-color:var(--station-edge-done,#fcc52173);background:var(--station-tint,#fcc5211a)}.is-already .station-complete-tag{letter-spacing:.14em;font-size:.72em;font-weight:500}.is-already:not(.is-progress) .station-check.done:after{font-size:.8em}.sheet-body.is-progress{--gap:clamp(12px, 2.1vmin, 26px)}.is-progress .screen-title{letter-spacing:-.015em;max-width:22em;font-size:clamp(28px,5vmin,62px);line-height:1.1}.is-progress .screen-sub{color:#d6e4f6e6;text-wrap:initial;font-size:clamp(18px,2.6vmin,31px)}.is-progress .screen-sub strong{color:#fff}.is-progress .progress-screen{gap:clamp(8px,1.4vmin,16px);width:min(100%,46em);padding-top:clamp(12px,2vmin,22px)}.is-progress .station-list{gap:clamp(5px,.9vmin,10px)}.is-progress .station-check{font-size:.8em}.is-progress .station-name{font-size:1.25em;font-weight:600}.is-progress .progress-hint{color:#fff;font-size:clamp(14px,2.1vmin,26px);font-weight:500;line-height:1.5}.is-menu .station-row{appearance:none;width:100%;font-family:inherit}.is-menu button.station-row{cursor:pointer;transition:background-color .12s,border-color .12s}.is-menu button.station-row:hover{border-color:var(--station,#fcc5218c)}.is-menu button.station-row:not(.is-done):hover{background:#0a16289e}.is-menu button.station-row:active{transform:translateY(1px)}.is-menu button.station-row:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.is-menu .progress-hint{color:#fff;font-size:clamp(14px,2.1vmin,26px);font-weight:500;line-height:1.5}.is-menu .menu-intro{text-align:left;flex-direction:column;gap:clamp(6px,1vmin,12px);width:100%;margin-bottom:clamp(6px,1.2vmin,14px);display:flex}.is-menu .menu-steps{counter-reset:step;color:#fff;flex-direction:column;gap:clamp(6px,1vmin,12px);margin:0;padding:0;font-size:clamp(14px,2.1vmin,26px);font-weight:500;line-height:1.5;list-style:none;display:flex}.is-menu .menu-steps li{counter-increment:step;gap:.6em;display:flex}.is-menu .menu-steps li:before{content:counter(step);width:1.6em;height:1.6em;font-family:var(--font-head);color:var(--yellow);border:1.5px solid var(--yellow);border-radius:50%;flex:none;place-items:center;font-size:.85em;display:grid}.is-menu .station-go{font-family:var(--font-head);color:var(--yellow);flex:none;margin-left:auto;font-size:1.5em;line-height:1}.sheet-body.is-hero{gap:var(--hero-gap);align-items:center}.is-hero .titlebar{align-items:center;gap:var(--hero-gap)}.is-hero .kicker{font-size:var(--hero-kicker,clamp(13px, 1.9vmin, 24px))}.is-hero .screen-title{max-width:var(--hero-title-max,none);font-size:var(--hero-title);line-height:var(--hero-lh,1.14);letter-spacing:var(--hero-ls,-.01em)}.is-hero .screen-sub{max-width:var(--hero-sub-max);color:rgba(214, 228, 246, var(--hero-sub-alpha,.86));font-size:var(--hero-sub-size,clamp(14px, 2.1vmin, 26px));text-wrap:pretty;line-height:1.5}.is-hero .screen-sub strong{color:#fff;font-weight:700}.is-hero .content,.is-hero .question,.is-hero .scan{align-items:center;gap:var(--hero-gap);width:100%}.is-hero .big-button{margin-top:var(--hero-btn-mt,0);padding:var(--hero-btn-pad,.7em 1.6em);font-size:var(--hero-btn-size,clamp(17px, 2.6vmin, 32px));letter-spacing:normal}.is-hero .big-button.is-compact,.is-hero .ghost-button{padding:.72em 1.6em;font-size:clamp(14px,2vmin,24px)}.ghost-button{min-height:var(--touch);color:#cfe0f5;cursor:pointer;background:0 0;border:1px solid #8bb4eb73;border-radius:999px;font-family:inherit;font-weight:500;transition:background .16s,color .16s}.ghost-button:hover{color:#fff;background:#8bb4eb24}.hero-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,1.8vmin,22px);display:flex}.is-selfie{--hero-gap:clamp(14px, 2.2vmin, 28px);--hero-kicker:clamp(15px, 2.2vmin, 27px);--hero-sub-size:clamp(18px, 2.6vmin, 31px);--hero-title:clamp(24px, 4.2vmin, 52px);--hero-lh:1.15;--hero-title-max:24em;--hero-sub-max:38em;--hero-btn-size:clamp(16px, 2.4vmin, 30px)}.is-phone{--hero-gap:clamp(12px, 2vmin, 26px);--hero-kicker:clamp(15px, 2.2vmin, 27px);--hero-sub-size:clamp(18px, 2.6vmin, 31px);--hero-title:clamp(24px, 4.2vmin, 52px);--hero-lh:1.15;--hero-title-max:24em;--hero-sub-max:40em;--hero-btn-size:clamp(16px, 2.4vmin, 30px);--hero-btn-pad:.7em 2em}.scan-frame{aspect-ratio:1;background:#0a16288c;border:2px solid #8bb4eb73;border-radius:16px;justify-content:center;align-items:center;width:clamp(160px,26vmin,320px);max-width:100%;height:auto;margin:0 auto;display:flex;position:relative;overflow:hidden}.scan-frame .selfie-media{border-radius:0}.selfie-actions{flex-direction:column;align-items:center;gap:clamp(10px,1.8vmin,22px);display:flex}.skip-link{min-height:var(--touch);color:#cfe0f599;text-underline-offset:4px;cursor:pointer;background:0 0;border:none;padding:.2em .4em;font-family:inherit;font-size:clamp(15px,1.8vmin,21px);text-decoration:underline}.skip-link:hover{color:#fff}.skip-link:disabled{opacity:.5;cursor:default}.scan-status.is-inline{color:#cfe0f5b3;background:0 0;padding:0;position:static}.scan-frame .status-bad{text-align:center;margin:0;padding:1em;font-size:clamp(12px,1.7vmin,20px)}.selfie-popup{z-index:50;color:#fff;text-align:center;text-shadow:0 4px 24px #0009;pointer-events:none;background:#0a1628e6;flex-direction:column;justify-content:center;align-items:center;gap:1.5vh;display:flex;position:fixed;inset:0}.selfie-popup-video{object-fit:cover;background:#000;border:3px solid #8bb4eb99;border-radius:20px;width:min(70vh,92vw);height:min(70vh,92vw)}.selfie-popup-stage{line-height:0;position:relative}.face-brackets{position:absolute}.face-brackets span{border:0 solid var(--bracket);width:22%;height:22%;position:absolute}.selfie-fps{color:#fff;background:#0009;border-radius:6px;margin:0;padding:4px 8px;font:600 14px/1.2 ui-monospace,monospace;position:absolute;top:8px;left:8px}.face-brackets span:first-child{border-width:5px 0 0 5px;border-top-left-radius:12px;top:0;left:0}.face-brackets span:nth-child(2){border-width:5px 5px 0 0;border-top-right-radius:12px;top:0;right:0}.face-brackets span:nth-child(3){border-width:0 0 5px 5px;border-bottom-left-radius:12px;bottom:0;left:0}.face-brackets span:nth-child(4){border-width:0 5px 5px 0;border-bottom-right-radius:12px;bottom:0;right:0}.selfie-hint{color:#0a1628;min-height:1.6em;text-shadow:none;background:#ff6b5b;border-radius:999px;align-items:center;margin:0;padding:0 1.1em;font-size:clamp(20px,4vh,48px);font-weight:800;line-height:1.6;display:flex}.selfie-hint[data-state=turned]{background:#ffd23f}.selfie-hint:empty{background:0 0}.selfie-count-number{margin:0;font-size:clamp(48px,11vh,150px);font-weight:800;line-height:1}.selfie-flash{z-index:52;opacity:0;pointer-events:none;background:#fff;animation:.35s ease-out selfie-flash;position:fixed;inset:0}@keyframes selfie-flash{0%{opacity:.9}to{opacity:0}}@media (prefers-reduced-motion:reduce){.selfie-flash{animation:none}}.is-phone .field{align-items:center;gap:clamp(8px,1.2vmin,14px);width:min(100%,26em)}.is-phone .field-label{color:#cfe0f5b3;letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;font-size:clamp(14px,1.8vmin,22px);font-weight:400}.is-phone .text-input.big{color:#fff;text-align:center;background:#0a162899;border:1px solid #8bb4eb66;width:100%;min-height:0;padding:.5em .6em;font-size:clamp(18px,2.8vmin,34px);font-weight:600}.is-phone .text-input.big:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #fcc52133}.is-phone .consent-row{justify-content:center;align-items:center;max-width:46em}.is-phone .consent-row .muted{color:#cfe0f58c;text-wrap:pretty;font-size:clamp(15px,1.6vmin,19px);line-height:1.5}.sheet:has(.is-finish){gap:0}.sheet-body.is-finish{justify-content:stretch}.is-finish .content{flex:auto}.finish-layout{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(18px,3.4vmin,48px);min-height:0;padding-top:2vmin;display:grid}@media (width<=700px){.finish-layout{grid-template-columns:minmax(0,1fr)}}.finish-text{flex-direction:column;gap:clamp(12px,2vmin,24px);min-width:0;display:flex}.finish-text .kicker{letter-spacing:.32em;font-size:clamp(15px,2.2vmin,27px)}.finish-text .screen-title{line-height:1.08}.finish-text .lead{color:#d6e4f6e0;max-width:none;font-size:clamp(13px,2vmin,24px);line-height:1.45}.finish-profile{border-top:1px solid #8bb4eb38;flex-direction:column;gap:clamp(6px,1vmin,12px);padding-top:clamp(10px,1.8vmin,20px);display:flex}.finish-profile .lead{color:#d6e4f6d9;font-size:clamp(16px,2.3vmin,27px)}.is-all-done .finish-profile .lead{font-size:clamp(18px,2.6vmin,31px)}.finish-card{justify-content:center;align-items:center;height:100%;min-height:0;padding-bottom:clamp(26px,4.4vmin,58px);display:flex}.profile-line{font-family:var(--font-head);margin:0;font-size:clamp(16px,2.6vmin,32px);font-weight:700;line-height:1.2}.profile-line strong{color:#fff;font-weight:700}.profile-line strong.callout.is-phone{color:var(--yellow)}.reward-card{text-align:center;border:2px solid var(--yellow);background:#0a16288c;border-radius:18px;flex-direction:column;align-items:center;gap:clamp(8px,1.3vmin,16px);width:100%;padding:clamp(14px,2.2vmin,26px);display:flex}.reward-pill{background:var(--yellow);color:var(--navy-900);font-family:var(--font-head);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;margin:0;padding:.42em 1em;font-size:clamp(13px,1.7vmin,20px);font-weight:700}.reward-card .unlock-note{background:0 0;border:none;flex-direction:column;align-items:center;gap:clamp(8px,1.3vmin,16px);padding:0;display:flex}.celebrate-art{max-width:100%;line-height:0;display:inline-block;position:relative}.pennant-logo{justify-content:flex-start;align-items:center;width:35%;height:28%;display:flex;position:absolute;top:8%;left:56%}.pennant-logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.celebrate-art-base{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:30vmin;display:block}.unlock-note{border-radius:var(--radius);width:100%;color:var(--yellow);background:#fcc52114;border:1px solid #fcc52166;padding:clamp(8px,1.4vh,16px) 20px}.unlock-title{font-family:var(--font-head);text-wrap:balance;margin:0;font-size:clamp(18px,3vmin,38px);font-weight:700;line-height:1.12}.unlock-body{color:#fff;text-wrap:pretty;margin:0;font-size:clamp(16px,2.3vmin,28px);line-height:1.4}.unlock-body strong{font-weight:700}.celebrate .button-row{width:100%}.idle-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040a14b8;justify-content:center;align-items:center;padding:6vmin;animation:.18s idle-fade;display:flex;position:fixed;inset:0}@keyframes idle-fade{0%{opacity:0}to{opacity:1}}.idle-modal{text-align:center;background:linear-gradient(#114a86,#04223d);border:2px solid #fcc5218c;border-radius:24px;flex-direction:column;gap:18px;width:min(480px,92vw);padding:clamp(26px,4vh,46px);display:flex;box-shadow:0 30px 90px #000000b3}.idle-title{font-family:var(--font-head);color:#fff;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700}.idle-sub{color:var(--ink-dim);margin:0;font-size:clamp(1.05rem,2.4vw,1.25rem)}.idle-sub strong{color:var(--yellow);font-size:1.35em;font-family:var(--font-head)}.home-button{z-index:50;color:#cfe0f5;cursor:pointer;background:#0a162880;border:1px solid #8bb4eb59;border-radius:12px;justify-content:center;align-items:center;width:clamp(44px,4.4vmin,54px);height:clamp(44px,4.4vmin,54px);transition:background .16s,color .16s,border-color .16s;display:flex;position:fixed;bottom:calc(5.6vmin + 1px);left:calc(6.4vmin + 1px)}.home-button:hover{color:#fff;border-color:var(--yellow);background:#8bb4eb29}.home-button svg{width:82%;height:82%;display:block}.home-modal{text-align:center;background:var(--navy-800);border:1px solid #8bb4eb52;border-radius:20px;width:min(700px,88%);padding:clamp(26px,4.6vmin,52px);box-shadow:0 40px 120px #0009}.home-modal-title{color:#fff;text-wrap:pretty;margin:0;font-size:clamp(19px,3vmin,36px);font-weight:600;line-height:1.25}.home-modal-sub{color:#d6e4f6cc;text-wrap:pretty;margin:clamp(10px,1.6vmin,18px) 0 0;font-size:clamp(13px,2vmin,24px);line-height:1.5}.home-modal-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,1.6vmin,20px);margin-top:clamp(22px,3.2vmin,38px);display:flex}.home-modal-keep,.home-modal-actions .ghost-button{min-height:var(--touch);cursor:pointer;border-radius:999px;padding:.72em 1.6em;font-family:inherit;font-size:clamp(14px,2vmin,24px)}.home-modal-keep{background:var(--yellow);color:var(--navy-900);border:none;font-weight:700;transition:background .16s,transform .16s}.home-modal-keep:hover{background:var(--yellow-hi);transform:translateY(-2px)}.conn-dot{z-index:50;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:fixed;bottom:10px;right:12px;box-shadow:0 0 0 2px #00000040}.conn-dot.ok{opacity:.45;background:#37d67a}.conn-dot.ok:hover{opacity:1}.conn-dot.warn{background:var(--yellow)}.conn-dot.bad{background:#ff5a5a}.pairing{justify-content:center;padding:clamp(20px,6vh,60px) 0;display:flex}.pairing-code{font-family:var(--font-head);letter-spacing:.14em;color:var(--yellow);font-size:clamp(3.5rem,16vw,7rem);font-weight:700}.scan-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,2.8vmin,32px);padding:2vmin 0;display:flex}.badge-reader{background:#0a162880;border:1px solid #8bb4eb59;border-radius:16px;width:min(78vw,420px);min-height:min(78vw,420px);overflow:hidden}.badge-reader:has(video){min-height:0}.badge-reader video{width:100%;height:auto;display:block}.badge-reader.is-mirrored video{transform:scaleX(-1)}.scan-start,.scan-trouble{flex-direction:column;align-items:center;gap:clamp(12px,2.4vmin,24px);max-width:34em;display:flex}.scan-trouble-why{color:#cfe0f5;margin:0;font-size:clamp(15px,2.2vmin,20px);line-height:1.45}@media (width<=700px){:root{--p-micro:clamp(13px, 3.4vw, 15px);--p-label:clamp(14px, 3.7vw, 16px);--p-body:clamp(16px, 4.2vw, 19px);--p-prompt:clamp(21px, 5.8vw, 26px);--p-button:clamp(17px, 4.6vw, 20px)}.sheet-body.is-naming .options,.is-question .options{grid-template-columns:minmax(0,1fr)}.kicker,.is-hero .kicker,.is-already .kicker,.is-question .kicker,.finish-text .kicker,.is-attract .kicker,.q-count,.sheet-body.is-naming .q-count,.is-phone .field-label,.field-label,.regen-button,.scan-status{font-size:var(--p-label)}.screen-sub,.is-hero .screen-sub,.is-already .screen-sub,.is-progress .screen-sub,.lead,.finish-text .lead,.finish-profile .lead,.is-all-done .finish-profile .lead,.is-attract .lead,.list-label,.is-already .list-label,.progress-hint,.is-progress .progress-hint,.is-menu .menu-steps,.is-already .station-row,.sheet-body.is-naming .option,.is-question .option,.unlock-body,.scan-frame .status-bad{font-size:var(--p-body)}.q-prompt,.sheet-body.is-naming .q-prompt,.is-question .q-prompt,.unlock-title,.profile-line{font-size:var(--p-prompt)}.footer-step,.footer-back,.skip-link,.reward-pill,.station-complete-tag,.is-already .station-complete-tag,.is-phone .consent-row .muted{font-size:var(--p-micro)}.is-hero .big-button,.sheet-body.is-naming .big-button,.is-question .q-next{font-size:var(--p-button)}.is-hero .big-button.is-compact,.is-hero .ghost-button{font-size:var(--p-label)}.corner-badge{font-size:var(--p-micro);letter-spacing:.06em;margin-left:auto}.masthead-label{font-size:var(--p-micro);letter-spacing:.06em}.masthead{flex-wrap:wrap;row-gap:8px}.is-phone .text-input.big{min-height:var(--touch);font-size:var(--p-prompt)}.consent-row input[type=checkbox]{width:26px;height:26px;margin-top:0}.is-phone .consent-row{gap:14px}.is-menu button.station-row{min-height:44px}.corner-badge.is-link{align-items:center;min-height:44px}.sheet-body.is-question{padding-top:26px}.is-question .button-row .big-button{border:2px solid #0000}.is-question .button-row .big-button,.is-question .button-row .back-button{min-width:0}.celebrate-art-base{max-height:26vh}.page{padding:0}.sheet{box-shadow:none;border-left:0;border-right:0;border-radius:0}.sheet-body.is-finish{justify-content:safe center}.is-finish .content{flex:0 auto}.finish-layout{flex:none;align-items:start;min-height:auto}.finish-card{height:auto;padding-bottom:0}}
