@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2)format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff)format("woff")}@font-face{font-family:Bodoni Moda;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bodoni-moda-latin-400-normal-CIWtV3SY.woff2)format("woff2"),url(/assets/bodoni-moda-latin-400-normal-9rKXKbpF.woff)format("woff")}:root{--cl-black:#000;--cl-white:#fff;--cl-charcoal:#a8a8a8;--cl-hot-pink:#f43f7a;--cl-burgundy:#6b1a2a;--cl-neutral-50:#0a0a0a;--cl-neutral-100:#111;--cl-neutral-150:#161616;--cl-neutral-200:#1a1a1a;--cl-neutral-300:#242424;--cl-neutral-400:#2a2a2a;--cl-neutral-500:#3a3a3a;--cl-neutral-600:#5c5c5c;--cl-neutral-650:#757575;--cl-neutral-700:#8a8a8a;--cl-neutral-800:var(--cl-charcoal);--cl-neutral-900:#d4d4d4;--cl-neutral-950:#f2f2f2;--cl-pink-50:#fff0f5;--cl-pink-100:#ffd6e4;--cl-pink-200:#ffadc9;--cl-pink-300:#fb7fa6;--cl-pink-400:#f75e8f;--cl-pink-500:var(--cl-hot-pink);--cl-pink-600:#d92a64;--cl-pink-700:#b51e51;--cl-pink-800:#8c1740;--cl-pink-900:#5e0f2b;--cl-burgundy-100:#f3dde2;--cl-burgundy-200:#dda9b4;--cl-burgundy-300:#c97e8e;--cl-burgundy-400:#8e3346;--cl-burgundy-500:var(--cl-burgundy);--cl-burgundy-600:#561522;--cl-burgundy-700:#42101a;--cl-burgundy-800:#2e0b12;--cl-burgundy-900:#1c060b;--cl-success:#4cc38a;--cl-success-bg:#0f2a1d;--cl-warning:#f2b33d;--cl-warning-bg:#2e2208;--cl-error:#ff8a5b;--cl-error-bg:#2e140b;--color-bg:var(--cl-black);--color-surface-1:var(--cl-neutral-100);--color-surface-2:var(--cl-neutral-200);--color-surface-3:var(--cl-neutral-300);--color-surface-tint:var(--cl-burgundy-800);--color-glass:#0a0a0ab8;--color-glass-filter:blur(20px) saturate(140%);--color-scrim:#0009;--color-text:var(--cl-white);--color-heading:var(--cl-pink-500);--color-text-2:var(--cl-charcoal);--color-text-3:var(--cl-neutral-700);--color-text-disabled:var(--cl-neutral-600);--color-text-accent:var(--cl-pink-300);--color-text-tint:var(--cl-burgundy-300);--color-border:#ffffff1a;--color-border-strong:var(--cl-neutral-650);--color-action:var(--cl-pink-500);--color-action-hover:var(--cl-pink-400);--color-action-press:var(--cl-pink-300);--color-on-action:var(--cl-black);--color-action-disabled:var(--cl-neutral-500);--color-on-action-disabled:var(--cl-neutral-700);--color-brand-pink:var(--cl-hot-pink);--color-brand-burgundy:var(--cl-burgundy);--color-on-burgundy:var(--cl-white);--color-selected-bg:var(--cl-neutral-500);--color-selected-indicator:var(--cl-white);--color-row-selected:var(--cl-burgundy-700);--color-focus:var(--cl-white);--color-focus-gap:var(--cl-black);--color-reward:var(--cl-pink-500);--color-success:var(--cl-success);--color-success-bg:var(--cl-success-bg);--color-warning:var(--cl-warning);--color-warning-bg:var(--cl-warning-bg);--color-error:var(--cl-error);--color-error-bg:var(--cl-error-bg);--font-sans:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--font-reveal:"Bodoni Moda", "Bodoni MT", Didot, serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-extrabold:800;--type-display-xl:800 44px/44px var(--font-sans);--type-display-xl-track:-.01em;--type-display-l:800 34px/36px var(--font-sans);--type-display-l-track:-.005em;--type-display-m:800 24px/28px var(--font-sans);--type-display-m-track:0;--type-title:600 20px/26px var(--font-sans);--type-title-track:0;--type-body-l:400 18px/28px var(--font-sans);--type-body:400 16px/24px var(--font-sans);--type-body-s:400 14px/20px var(--font-sans);--type-label:600 12px/16px var(--font-sans);--type-label-track:.14em;--type-button:800 15px/20px var(--font-sans);--type-button-track:.06em;--type-code:800 40px/44px var(--font-sans);--type-code-track:.08em;--type-reveal:400 26px/32px var(--font-reveal);--type-signature:800 13px/16px var(--font-sans);--type-signature-track:.24em;--type-page-title:800 28px/34px var(--font-sans);--type-card-title:600 18px/24px var(--font-sans);--type-table:400 14px/20px var(--font-sans);--type-table-head:600 11px/16px var(--font-sans);--type-table-head-track:.1em;--type-menu:500 14px/20px var(--font-sans);--space-0:0;--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-80:80px;--space-gutter:20px;--radius-pill:999px;--radius-card:24px;--radius-inner:16px;--radius-input:14px;--elev-1:inset 0 0 0 1px var(--color-border);--elev-2:inset 0 0 0 1px var(--color-border), inset 0 1px 0 #ffffff0f, 0 12px 32px #00000080;--elev-3:inset 0 0 0 1px var(--color-border), 0 24px 64px #000000b3;--dur-press:80ms;--dur-fast:.16s;--dur-base:.24s;--dur-sheet:.38s;--dur-reveal:1.1s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--z-below:-1;--z-base:0;--z-raised:1;--z-map-ui:2;--z-sticky:10;--z-header:20;--z-nav:30;--z-drawer:100;--z-toast:120;--z-dialog:150;--z-dev:200;--z-popover:300;--z-popover-nested:320;--z-tooltip:330}@media (prefers-reduced-motion:reduce){:root{--dur-reveal:.16s}}:root.app-admin{--color-bg:var(--cl-neutral-50);--color-surface-1:var(--cl-neutral-150);--color-surface-tint:var(--cl-burgundy-900);--color-scrim:#000000b8;--color-text:var(--cl-neutral-950);--color-border:#ffffff14;--color-selected-bg:var(--cl-burgundy);--color-selected-indicator:var(--cl-hot-pink);--type-body:400 15px/22px var(--font-sans);--type-button:600 13px/16px var(--font-sans);--type-button-track:.04em;--radius-card:12px;--radius-inner:8px;--radius-input:8px}:root{--gut:var(--space-gutter);--tabbar:92px;--col:460px;--btn-h-lg:52px;--btn-h-md:44px;--btn-primary-bg:var(--color-action);--btn-primary-fg:var(--color-on-action);--btn-secondary-bg:var(--color-brand-burgundy);--btn-secondary-bg-hover:var(--cl-burgundy-400);--btn-secondary-fg:var(--color-on-burgundy);--field-bg:var(--color-surface-2);--field-border:var(--color-border-strong);--field-border-error:var(--color-error);--card-bg:var(--color-surface-1);--card-border:var(--color-border);--price-bg:var(--color-brand-burgundy);--price-fg:var(--color-on-burgundy);--frame:var(--color-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:var(--type-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}*,:before,:after{box-sizing:border-box}html,body{margin:0}html{scroll-padding-top:76px;scroll-padding-bottom:calc(var(--tabbar) + 16px)}html:has(.city-bar){scroll-padding-top:140px}*{scrollbar-width:none}::-webkit-scrollbar{display:none}body{background:var(--color-bg);-webkit-tap-highlight-color:transparent;min-height:100dvh;overflow-x:hidden}body:before{content:"";z-index:var(--z-below);pointer-events:none;background:radial-gradient(70% 45% at 0% 0%, var(--color-surface-tint), transparent 70%);position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit}button,input{font:inherit;color:inherit}button{cursor:pointer}p{margin:0}h1,h2,h3{font-family:var(--font-sans);font-weight:var(--weight-extrabold);text-transform:uppercase;color:var(--color-heading);text-wrap:balance;margin:0}h1{letter-spacing:var(--type-display-xl-track);line-height:1.04}h2{letter-spacing:var(--type-display-l-track);line-height:1.1}h3{letter-spacing:0;line-height:1.16}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-gap)}.eyebrow,.label{font:var(--type-label);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--color-text-2)}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pill{border-radius:var(--radius-pill);min-height:28px;font:var(--type-label);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--color-text);background:var(--color-surface-3);box-shadow:inset 0 0 0 1px var(--color-border);align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.pill-incoming:before{content:"";background:var(--color-brand-burgundy);width:7px;height:7px;box-shadow:0 0 0 1px var(--color-text-tint);border-radius:50%;flex:none}.pill-muted{color:var(--color-text-2);background:var(--color-surface-2)}.pill-done{color:var(--color-text);background:var(--color-surface-3)}.pill-reward{color:var(--color-reward);background:var(--color-surface-tint);box-shadow:none}.glass{background:var(--color-glass);-webkit-backdrop-filter:var(--color-glass-filter);backdrop-filter:var(--color-glass-filter);box-shadow:inset 0 1px 0 #ffffff0f, inset 0 0 0 1px var(--color-border)}.btn{min-height:var(--btn-h-lg);border-radius:var(--radius-pill);white-space:nowrap;font:var(--type-button);letter-spacing:var(--type-button-track);text-transform:uppercase;text-align:center;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn .arrow{letter-spacing:0;width:28px;height:28px;transition:transform var(--dur-fast) var(--ease-out);background:#00000014;border-radius:50%;place-items:center;margin-right:-12px;font-size:15px;display:grid}.btn-1{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn-1:active{background:var(--color-action-press)}.btn-2{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);box-shadow:inset 0 0 0 1px var(--color-border)}.btn-2 .arrow{background:#ffffff14}@media (hover:hover){.btn-1:hover{background:var(--color-action-hover)}.btn-1:active{background:var(--color-action-press)}.btn-2:hover{background:var(--btn-secondary-bg-hover)}.btn:hover .arrow{transform:translate(2px)}}.btn[disabled]{background:var(--color-action-disabled);color:var(--color-on-action-disabled);box-shadow:none;cursor:default;transform:none}.btn-danger{color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error);background:0 0}@media (hover:hover){.btn-danger:hover{background:var(--color-error-bg)}}.btn-block{width:100%}.cass-slot{aspect-ratio:1;background:var(--color-selected-bg);box-shadow:0 0 0 1.5px var(--color-text);color:var(--color-text);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.cass-sm{width:44px}.cass-lg{width:72px}.cass-initial{font:800 1em/1 var(--font-sans)}.cass-sm .cass-initial{font-size:17px}.cass-lg .cass-initial{font-size:28px}.cass{grid-template-columns:auto 1fr;align-items:end;gap:12px;display:grid}.cass p{background:var(--color-glass);-webkit-backdrop-filter:var(--color-glass-filter);backdrop-filter:var(--color-glass-filter);box-shadow:inset 0 0 0 1px var(--color-border);font:400 15px/22px var(--font-sans);border-radius:20px 20px 20px 6px;padding:12px 16px}.cass .label{margin-bottom:2px;font-size:12px;display:block}.btn-sm{min-height:var(--btn-h-md);padding:0 18px;font-size:13px}.round{width:46px;height:46px;color:var(--color-text);transition:transform var(--dur-press) var(--ease-out);border:0;border-radius:50%;place-items:center;padding:0;font-size:20px;line-height:1;text-decoration:none;display:grid}.round:active{transform:scale(.94)}.field{gap:8px;display:grid}.field>span:first-child{font:600 13px/18px var(--font-sans);color:var(--color-text-2);padding-left:4px}.field-input{display:block;position:relative}.field input{border:1px solid var(--field-border);border-radius:var(--radius-input);width:100%;height:54px;color:var(--color-text);background:var(--field-bg);transition:border-color var(--dur-fast) var(--ease-out);padding:0 18px;font-size:16px}.field input:focus{border-color:var(--color-focus);outline:none}.field input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field.bad input,.field.bad input:focus{border-color:var(--field-border-error)}.field-input.has-reveal input{padding-right:52px}.field input::-ms-reveal{display:none}.field input::-ms-clear{display:none}.reveal{width:44px;height:44px;color:var(--color-text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}@media (hover:hover){.reveal:hover{color:var(--color-text)}}.auth{min-height:100dvh;padding:96px 16px calc(16px + env(safe-area-inset-bottom,0px));isolation:isolate;align-content:end;justify-items:center;display:grid;position:relative}.auth:before{content:"";z-index:var(--z-below);background:linear-gradient(180deg, #0000004d, #000000b3), url(/assets/sign-in-laneway.webp) center top / cover no-repeat, var(--color-surface-2);position:absolute;inset:0}.auth-stage{width:100%;max-width:420px}.auth-card{border-radius:var(--radius-card);background:var(--color-surface-2);box-shadow:var(--elev-3);padding:44px 20px 18px;position:relative}.auth-card:before{content:"";filter:drop-shadow(0 6px 12px #0000008c);background:url(/assets/seal-wax.webp) 50%/contain no-repeat;width:72px;height:64px;position:absolute;top:-36px;left:50%;transform:translate(-50%)rotate(-8deg)}@media (orientation:landscape){.auth:before{background:url(/assets/envelope-sealed.webp) center 58% / min(1100px, 88vw) auto no-repeat, radial-gradient(ellipse 60% 55% at 50% 58%, #6b1a2a8c, transparent 70%), var(--color-bg)}}.auth .cass{margin:0 4px 52px}.auth-logo{width:132px;height:auto;margin:0 auto 10px;display:block}.auth h1{font:var(--type-display-m);text-transform:uppercase;text-align:center;margin:0 0 6px}.auth-sub{color:var(--color-text-2);text-align:center;margin:0 0 6px}.auth form{gap:14px;margin-top:16px;display:grid}.auth button[type=submit]{min-height:var(--btn-h-lg);border-radius:var(--radius-pill);font:var(--type-button);letter-spacing:var(--type-button-track);text-transform:uppercase;background:var(--btn-primary-bg);color:var(--btn-primary-fg);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border:0;margin-top:6px}.auth button[type=submit]:active{background:var(--color-action-press);transform:scale(.98)}@media (hover:hover){.auth button[type=submit]:hover{background:var(--color-action-hover)}}.auth button[type=submit]:disabled{background:var(--color-action-disabled);color:var(--color-on-action-disabled);cursor:progress;transform:none}.auth-links{font:400 13px/18px var(--font-sans);color:var(--color-text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 4px;margin:10px 0 0;display:flex}.auth-links:not(:has(a+a)){justify-content:center}.auth-links a{min-height:44px;color:var(--color-text-2);align-items:center;padding:0 4px;text-decoration:none;display:inline-flex}.auth-back{z-index:var(--z-raised);top:calc(14px + env(safe-area-inset-top,0px));box-shadow:inset 0 0 0 1px var(--color-border);background:#0000008c;position:absolute;left:16px}@media (hover:hover){.auth-links a:hover{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.glass,.auth-card{background:var(--color-surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--color-border:#ffffff80;--color-text-2:var(--cl-neutral-900)}.glass{background:var(--color-surface-2)}}.shell{min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom,0px))}.topbar{z-index:var(--z-header);padding:calc(6px + env(safe-area-inset-top,0px)) var(--gut) 6px;background:linear-gradient(180deg, var(--color-bg) 55%, #0000);position:sticky;top:0}.topbar-inner{width:min(100%, calc(var(--col) - 2 * var(--gut)));align-items:center;margin:0 auto;display:flex}.logo{border-radius:8px;align-items:center;min-height:44px;margin-left:-4px;padding:2px 4px;text-decoration:none;display:inline-flex}.logo-img{width:auto;height:48px}.topbar-signin{margin-left:auto}.screen{width:min(100%, var(--col));padding:0 var(--gut);margin:0 auto}.tabbar{z-index:var(--z-nav);left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-pill);gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.tab{border-radius:var(--radius-pill);height:50px;font:600 15px/20px var(--font-sans);color:var(--color-text-2);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:flex}.tab:active{transform:scale(.96)}.tab svg{width:21px;height:21px}@media (hover:hover){.tab:hover{color:var(--color-text)}}.tab.active{background:var(--color-action);color:var(--color-on-action)}@media (width<=400px){.tab{gap:6px;padding:0 13px;font-size:14px}.tab svg{width:20px;height:20px}}.shell.bare{padding-bottom:0}.page-head{gap:8px;padding:14px 0 18px;display:grid}.page-head h1{font:var(--type-display-l);letter-spacing:var(--type-display-l-track)}.page-sub{color:var(--color-text-2);font:var(--type-body-s);overflow-wrap:break-word}.nowrap{white-space:nowrap}.section-title{font:var(--type-display-m);margin:32px 0 16px}.city-bar{z-index:var(--z-sticky);top:calc(64px + env(safe-area-inset-top,0px));margin:0 calc(var(--gut) * -1) 4px;padding:0 var(--gut) 14px;background:linear-gradient(180deg, var(--color-bg) 70%, #0000);position:sticky}@media (height<=500px){.city-bar{position:static}}.segmented{border-radius:var(--radius-pill)}.segmented-track{overscroll-behavior-x:contain;scrollbar-width:none;border-radius:inherit;--fade-start:0px;--fade-end:0px;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);gap:2px;padding:4px;display:flex;position:relative;overflow:auto hidden}.segmented-track::-webkit-scrollbar{display:none}.segmented-track[data-more-start]{--fade-start:28px}.segmented-track[data-more-end]{--fade-end:28px}.segmented button{z-index:1;border-radius:var(--radius-pill);min-width:max-content;min-height:44px;font:600 14px/18px var(--font-sans);color:var(--color-text-2);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:1 0 0;padding:0 14px;position:relative}.segmented button[aria-pressed=true]{color:var(--color-text)}.segmented button:focus-visible{outline-offset:-2px;box-shadow:none}.segmented .thumb{z-index:0;width:var(--w,0px);border-radius:var(--radius-pill);background:var(--color-selected-bg);transform:translateX(var(--x,0px));transition:transform var(--dur-sheet) var(--ease-out), width var(--dur-sheet) var(--ease-out);position:absolute;top:4px;bottom:4px;left:0}.segmented .thumb[data-still]{transition:none}@media (width<=400px){.segmented button{padding:0 10px;font-size:13px}}@media (width<=370px){.segmented button{letter-spacing:-.01em;padding:0 8px;font-size:12px}}.city-pager{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin:0 calc(var(--gut) * -1);align-items:flex-start;display:flex;overflow:auto hidden}.city-panel{scroll-snap-align:start;scroll-snap-stop:always;min-width:0;padding:8px var(--gut) 28px;contain:layout paint;flex:0 0 100%}.wallet{gap:20px;margin:0;padding:0;list-style:none;display:grid}.pass{border-radius:var(--radius-card);height:300px;color:var(--color-text);isolation:isolate;border:3px solid var(--frame);transition:transform var(--dur-base) var(--ease-out);align-content:space-between;padding:20px 20px 18px;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000080}.pass>img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pass:after{content:"";z-index:-1;background:linear-gradient(#000000b3 0%,#00000047 34%,#0000001f 58%,#000000b3 100%);position:absolute;inset:0}@media (hover:hover){.pass:hover{transform:translateY(-4px)}}.pass:active{transform:scale(.985)}.pass-top{justify-content:space-between;align-items:start;gap:14px;display:flex}.pass .eyebrow{color:var(--color-text);opacity:.8}.pass h2{font:var(--type-display-m);color:var(--color-text);margin-top:6px}.pass-price{font:600 14px/20px var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:var(--radius-pill);background:var(--price-bg);color:var(--price-fg);flex:none;padding:6px 12px}.pass-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.pass-bottom{justify-items:start;gap:12px;display:grid}.pass-bottom .pass-foot{width:100%}.pass-meta{font:600 13px/18px var(--font-sans);color:var(--color-text);text-wrap:balance}.pips{flex:none;gap:5px;display:flex}.pips i{background:#ffffff2e;border-radius:50%;width:10px;height:10px}.pips i:first-child{background:var(--color-text)}.empty{gap:12px;display:grid}.empty-photo{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--color-surface-2);border:3px solid var(--frame);overflow:hidden}.empty-photo img{object-fit:cover;filter:blur(4px)saturate(.6)brightness(.65);width:100%;height:100%;transform:scale(1.08)}.empty h2{font:var(--type-display-l);margin-top:12px}.empty-teaser{font:var(--type-reveal);color:var(--color-text-2);font-size:22px;line-height:30px}.detail{padding-bottom:8px}.detail-hero{margin:0 calc(var(--gut) * -1);background:var(--color-surface-2);height:64vh;min-height:380px;max-height:600px;position:relative}.detail-hero>img{object-fit:cover;width:100%;height:100%}.detail-hero:after{content:"";background:linear-gradient(180deg, #0000008c 0%, transparent 22%, transparent 42%, #0000008c 68%, var(--color-bg) 100%);pointer-events:none;position:absolute;inset:0}.detail-hero .round{z-index:2;top:calc(14px + env(safe-area-inset-top,0px));left:var(--gut);box-shadow:inset 0 0 0 1px var(--color-border);background:#0000008c;position:absolute}.detail-title{z-index:2;gap:8px;margin-top:-132px;display:grid;position:relative}.detail-codename{font:var(--type-reveal);color:var(--color-text);text-shadow:0 1px 16px #000000b3;font-size:24px}.detail-title h1{font:var(--type-display-xl);letter-spacing:var(--type-display-xl-track);text-shadow:0 2px 24px #00000080;font-size:clamp(34px,11vw,44px)}.detail-where{color:var(--color-text-2)}.detail-desc{font:var(--type-body-l);max-width:60ch;margin-top:16px}.facts{border-radius:var(--radius-card);background:var(--card-bg);box-shadow:var(--elev-1);grid-template-columns:1fr 1fr;margin:24px 0 0;padding:6px;display:grid}.facts div{gap:2px;padding:12px 14px;display:grid}.facts dt{font:var(--type-label);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--color-text-2)}.facts dd{font:600 16px/24px var(--font-sans);text-wrap:balance;margin:0}.stops{gap:12px;margin-top:32px;display:grid}.stops ol{align-items:center;margin:0;padding:0;list-style:none;display:flex}.stops li{display:contents}.stop{width:42px;height:42px;color:var(--color-text-2);box-shadow:inset 0 0 0 1px var(--color-border-strong);border-radius:50%;flex:none;place-items:center;display:grid}.stop svg{width:17px;height:17px}.stops li:first-child .stop{background:var(--color-text);color:var(--color-bg);box-shadow:none}.stops .road{background:repeating-linear-gradient(90deg, var(--color-text-3) 0 3px, transparent 3px 8px);flex:1;min-width:8px;height:2px}.how{border-radius:var(--radius-card);background:var(--color-surface-tint);margin-top:32px;padding:24px 20px}.how h2{font:var(--type-display-m);margin-bottom:16px}.how ol{counter-reset:b;gap:14px;margin:0;padding:0;list-style:none;display:grid}.how li{color:var(--color-text);grid-template-columns:30px 1fr;gap:10px;display:grid}.how li:before{counter-increment:b;content:counter(b);width:26px;height:26px;color:var(--color-text);font:600 13px/1 var(--font-sans);font-variant-numeric:tabular-nums;background:#ffffff1a;border-radius:50%;place-items:center;display:grid}.fineprint{font:400 13px/18px var(--font-sans);color:var(--color-text-2);text-align:center;text-wrap:balance;margin-top:24px}.detail-cta{z-index:var(--z-sticky);margin:18px calc(var(--gut) * -1) 0;padding:16px var(--gut) calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg, #0000, var(--color-bg) 40%);position:sticky;bottom:0}.opens.pill{width:100%;min-height:var(--btn-h-lg);background:var(--color-surface-2);justify-content:center;display:flex}.team-screen .page-head{padding-top:4px}.team-back{margin-bottom:8px}.team-card{border-radius:24px;gap:10px;margin-top:14px;padding:18px;display:grid}.team-card h2.label{font-family:var(--font-sans);letter-spacing:.08em}.team-code{font-family:var(--font-sans);font-weight:var(--weight-extrabold);letter-spacing:.08em;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:clamp(38px,12vw,48px);line-height:1.1}.team-code-wait{color:var(--color-text-2);opacity:.5}.team-hint{color:var(--color-text-2);font-size:14.5px}.team-join{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.team-join .field{grid-column:1}.team-join .field input{text-transform:uppercase;letter-spacing:.12em;font-weight:700}.team-join .field input::placeholder{color:var(--color-text-disabled);letter-spacing:.12em}.team-join .btn{grid-area:1/2;align-self:start;min-height:54px;margin-top:27px}.team-join .f-err{grid-column:1/-1}.lobby-head{justify-content:space-between;align-items:baseline;display:flex}.lobby-count{color:var(--color-text);font-size:13.5px;font-weight:700}.lobby{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lobby li{align-items:center;gap:10px;font-weight:600;display:flex}.lobby-dot{background:var(--color-selected-bg);width:34px;height:34px;color:var(--color-text);font:var(--weight-extrabold) 13px/1 var(--font-sans);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:grid}.lobby li.me .lobby-dot{box-shadow:0 0 0 1.5px var(--color-text)}.lobby-left{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-2);background:#ffffff14;margin-left:auto;padding:4px 10px;font-size:12.5px;font-weight:700}.lobby-face,.friend-face{flex:none;display:grid;position:relative}.lobby li.online .lobby-face:after,.friend-list li.online .friend-face:after{content:"";background:var(--color-success);width:11px;height:11px;box-shadow:0 0 0 2px var(--color-bg);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.lobby-online,.friend-online{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--color-success);background:var(--color-success-bg);margin-left:auto;padding:4px 10px;font-size:12.5px;font-weight:700}.team-problem p{color:var(--color-text)}.team-screen .detail-cta{background:0 0;margin:18px 0 0;padding:0 0 8px;position:static}.cta-err{margin-bottom:10px}.play{background:var(--cl-neutral-50);position:fixed;inset:0;overflow:hidden}.play-top{z-index:var(--z-map-ui);padding:calc(12px + env(safe-area-inset-top,0px)) max(12px, calc(50% - var(--col) / 2 + 12px)) 0;pointer-events:none;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid;position:absolute;top:0;left:0;right:0}.play-top>*{pointer-events:auto}.play-title{text-align:center;border-radius:22px;justify-self:center;min-width:0;max-width:100%;padding:8px 16px}.play-title h1{font:800 13px/18px var(--font-sans);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.play-progress{font:600 12px/16px var(--font-sans);color:var(--color-text-2)}.files{gap:4px;width:120px;margin:5px auto 3px;display:flex}.files i{background:#ffffff2e;border-radius:3px;flex:1;height:6px}.files i.on{background:var(--color-action)}.play-timer{border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:relative}.play-timer svg{position:absolute;inset:4px;transform:rotate(-90deg)}.play-timer circle{fill:none;stroke-width:3px}.play-timer .track{stroke:#ffffff24}.play-timer .sweep{stroke:var(--color-text);stroke-linecap:round;transition:stroke-dashoffset .95s linear}.play-timer.low .sweep{stroke:var(--color-warning)}.play-timer .num{font:800 15px/1 var(--font-sans);font-variant-numeric:tabular-nums;position:relative}.play-timer.low .num{color:var(--color-warning)}.play-bottom{z-index:var(--z-map-ui);width:min(100%, var(--col));max-height:calc(100dvh - 86px - var(--ask-h,0px) - env(safe-area-inset-top,0px));padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;margin:0 auto;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-grab{cursor:grab;touch-action:none;place-items:center;height:24px;margin:-8px -16px 0;display:grid}.sheet-grab span{background:#ffffff4d;border-radius:2px;width:36px;height:4px}.sheet-grab:active{cursor:grabbing}.handler{grid-template-columns:44px 1fr;align-items:start;gap:10px;margin-bottom:14px;display:grid}.handler p{font:400 15px/22px var(--font-sans);background:#ffffff14;border-radius:18px 18px 18px 6px;padding:10px 14px}.handler .label{margin-bottom:2px;font-size:12px;display:block}.clue{box-shadow:inset 0 0 0 1px var(--color-border);background:#ffffff0d;border-radius:20px;padding:18px;position:relative}.clue-seal{filter:drop-shadow(0 4px 6px #00000080);pointer-events:none;width:48px;position:absolute;top:-14px;right:14px;transform:rotate(10deg)}.clue-envelope{filter:drop-shadow(0 0 1px #ffffff59)drop-shadow(0 10px 16px #0009);width:168px;height:auto;margin:4px auto 6px;display:block}.clue-head{text-align:left;cursor:pointer;touch-action:none;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;margin:-6px 0 6px;padding:0 64px 0 0;display:flex}.clue-no{border-radius:var(--radius-pill);color:var(--color-text);font:var(--type-label);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:#ffffff1a;padding:4px 10px;display:inline-block}.clue-fold{font:600 13px/18px var(--font-sans);color:var(--color-text-2);white-space:nowrap}.clue-fold:after{content:" ▾";content:" ▾" / ""}.clue.folded .clue-fold:after{content:" ▴";content:" ▴" / ""}.clue.folded .clue-head{margin:-6px 0}.clue-text{font:var(--type-body-l)}.answer{gap:10px;margin-top:16px;display:grid}.sheet-stage{gap:12px;display:grid}.sheet-text{font-size:16.5px;line-height:1.5}.sheet-text strong{color:var(--color-text);font-weight:700}.sheet-tag{margin-bottom:10px}.sheet-title{margin-bottom:8px;font-size:28px}.clue>.btn,.clue>.sheet-text{margin-top:12px}.tries{color:var(--color-text-2);padding-left:4px;font-size:13.5px}.hint-text{background:var(--color-surface-tint);box-shadow:var(--elev-1);border-radius:16px;padding:12px 14px;font-size:15.5px}.hint-text .label{color:var(--color-text-tint);margin-bottom:2px;font-size:11.5px;display:block}.venue{box-shadow:var(--elev-1);background:#ffffff0f;border-radius:18px;gap:8px;padding:16px;display:grid}.venue-name{font-size:24px}.venue-address{color:var(--color-text-2)}.venue .answer-actions{grid-template-columns:1fr 1fr;margin-top:4px}.here-now{background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-action);color:var(--color-text-accent);border-radius:14px;padding:10px 12px;font-weight:700}.checkin{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:4px;display:grid}.checkin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkin-close,.link{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-weight:700;text-decoration:underline}.checkin-close[disabled]{opacity:.5;cursor:default}.checkin-photo{position:relative}.checkin-photo img{object-fit:cover;border:3px solid var(--frame);border-radius:16px;width:100%;max-height:28dvh;display:block}.checkin-retake{min-height:40px;padding:0 16px;position:absolute;bottom:10px;right:10px}.checkin-where.warn{color:var(--color-warning)}.stay-clock{font:var(--weight-extrabold) 44px/1 var(--font-sans);color:var(--color-text);font-variant-numeric:tabular-nums}.stay-line{font:var(--weight-semibold) 14.5px/20px var(--font-sans);color:var(--color-text-2)}.stay-line .num{color:var(--color-text);font-weight:var(--weight-extrabold);font-variant-numeric:tabular-nums}.board{box-shadow:inset 0 0 0 1px var(--color-border);background:#ffffff0a;border-radius:18px;gap:10px;padding:14px 12px 12px;display:grid}.clue>.board{margin-top:14px}.board-head{grid-template-columns:1fr auto;align-items:center;column-gap:8px;padding:0 4px;display:grid}.board-head .label{color:var(--color-text-2);grid-column:1;font-size:12px}.board-head h3{font:var(--weight-extrabold) 21px/26px var(--font-sans);color:var(--color-heading);grid-column:1}.board-head h3 span{font:var(--weight-semibold) 15px/20px var(--font-sans);color:var(--color-text-2)}.board-close{width:44px;height:44px;color:var(--color-text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;grid-area:1/2/3;margin:-4px -6px 0 0;padding:0;font-size:24px;line-height:1}@media (hover:hover){.board-close:hover{color:var(--color-text)}}.board-list{overscroll-behavior:contain;gap:6px;max-height:clamp(150px,100dvh - 430px,420px);margin:0;padding:2px;list-style:none;display:grid;position:relative;overflow-y:auto}.board-row{background:#ffffff0d;border-radius:14px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:44px;padding:6px 12px 6px 6px;display:grid}.board-rank{width:30px;height:30px;font:var(--weight-extrabold) 14px/1 var(--font-sans);color:var(--color-text);background:#ffffff1a;border-radius:50%;place-items:center;display:grid}.board-name{min-width:0;font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:8px;display:flex}.board-name>span{text-overflow:ellipsis;overflow:hidden}.board-out{font-size:12px;font-weight:var(--weight-semibold);color:var(--color-text-2);flex:none}.board-name em{font-size:12px;font-style:normal;font-weight:var(--weight-extrabold);letter-spacing:.08em;text-transform:uppercase;color:var(--cl-black);background:var(--color-text);border-radius:var(--radius-pill);flex:none;padding:2px 7px}.board-time{font-size:16px;font-weight:var(--weight-extrabold);font-variant-numeric:tabular-nums}.board-row.lead .board-rank{background:var(--color-brand-pink);color:var(--color-on-action)}.board-row.me{box-shadow:inset 0 0 0 2px var(--color-text);background:#ffffff14}.board-row.away,.board-row.away .board-rank{color:var(--color-text-2);background:0 0}.board-row.away .board-time{font-size:13.5px;font-weight:var(--weight-semibold)}.board-wait{color:var(--color-text-2);padding:0 4px;font-size:14.5px;animation:.4s .4s both board-wait}@keyframes board-wait{0%{opacity:0}}.board-err{color:var(--color-error);font-size:14.5px;font-weight:var(--weight-semibold);padding:0 4px}.board-err .link{padding:0 2px}@media (width<=370px){.board-row{gap:8px;padding-right:10px}.board-time{font-size:15px}}@media (height<=560px){.with-board>.sheet-text{display:none}.board-list{max-height:150px}.board-head h3{font-size:18px}}.stats.lb-me{grid-template-columns:1fr 1fr;margin:0 0 16px}.lb-of,.run-of{font-weight:var(--weight-semibold);color:var(--color-text-2)}.lb-of{font-size:14px}.lb .board-list{max-height:none;overflow:visible}.lb .board-rank{border-radius:var(--radius-pill);width:auto;min-width:30px;padding:0 7px}.lb .board-row{grid-template-columns:minmax(30px,auto) 1fr auto}.lb-gap{text-align:center;color:var(--color-text-3);letter-spacing:.2em;line-height:16px}.lb-more{color:var(--color-text-2);font:var(--type-body-s);padding:0 4px}.detail-board{margin-top:16px}.run-record>.btn{margin-top:14px}.play-timer-space{width:62px;height:62px}.answer-actions{grid-template-columns:auto 1fr;gap:8px;display:grid}.answer-actions>:only-child{grid-column:1/-1}@media (height<=560px){.handler{display:none}}@media (height<=560px) and (orientation:landscape){.play-bottom{--ask-h:0px;border-radius:28px 28px 0 0;width:min(50%,420px);margin:0 76px 0 auto}}.dossier-head{grid-template-columns:1fr auto;align-items:center;gap:14px;padding-top:10px}.dossier-head h1{overflow-wrap:anywhere}.stats{border-radius:var(--radius-card);text-align:center;background:var(--card-bg);box-shadow:var(--elev-1);grid-template-columns:repeat(3,1fr);margin:4px 0 0;padding:20px 6px;display:grid}.stats div{gap:4px;min-width:0;display:grid}.stats div+div{box-shadow:-1px 0 0 var(--color-border)}.stats dt{font:600 12px/16px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-2);white-space:nowrap;order:-1}.stats dd{font:800 clamp(18px, 5.6vw, 22px)/1.2 var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.history-note{color:var(--color-text-2);gap:12px;padding:4px;display:grid}.history{gap:12px;margin:0;padding:0;list-style:none;display:grid}.run{background:var(--card-bg);box-shadow:var(--elev-1);border-radius:20px}.run-head{cursor:pointer;border-radius:20px;align-content:center;justify-items:start;gap:4px;min-height:100px;padding:16px 52px 16px 18px;list-style:none;display:grid;position:relative}.run-head::-webkit-details-marker{display:none}.run-head .pill{margin-bottom:6px}.run-title{font:800 18px/22px var(--font-sans)}.run-date{font:var(--type-body-s);color:var(--color-text-2)}.run-line{font:600 14px/20px var(--font-sans);font-variant-numeric:tabular-nums}.run-head:after{content:"+";content:"+" / "";color:var(--color-text-2);transition:rotate var(--dur-base) var(--ease-out);font-size:24px;font-weight:400;line-height:1;position:absolute;top:50%;right:18px;translate:0 -50%}.run[open] .run-head:after{rotate:45deg}.run-record{border-radius:var(--radius-inner);background:var(--color-surface-2);margin:0 12px 12px;padding:14px}.run-record h4{font:var(--type-label);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--color-text-2);margin:0 0 12px}.run-facts{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;display:grid}.run-facts div{gap:1px;display:grid}.run-facts dt{font:400 12px/16px var(--font-sans);color:var(--color-text-2)}.run-facts dd{font:600 15px/20px var(--font-sans);font-variant-numeric:tabular-nums;margin:0}.dossier-actions{grid-template-columns:1fr 1fr;gap:10px;margin:26px 0 24px;display:grid}.profile-form{gap:12px;display:grid}.profile-visibility{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.profile-visibility input{width:24px;height:24px;accent-color:var(--color-action);cursor:pointer;flex:none;margin:10px}.profile-visibility input:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.profile-visibility input:disabled{cursor:wait}.profile-form input[readonly]{color:var(--color-text-2)}.field-input.has-prefix input{padding-left:40px}.field-prefix{color:var(--color-text-2);pointer-events:none;font-weight:600;position:absolute;top:50%;left:20px;translate:0 -50%}.activity{margin:0;padding:0;list-style:none;display:grid}.activity li{border-top:1px solid var(--color-border);grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px;padding:10px 0;font-size:14.5px;display:grid}.activity li:first-child{border-top:0;padding-top:2px}.activity time{color:var(--color-text-2);white-space:nowrap;font-size:12.5px}.avatar{background:var(--color-selected-bg);color:var(--color-text);font-family:var(--font-sans);font-weight:var(--weight-extrabold);border-radius:50%;flex:none;place-items:center;line-height:1;display:grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.avatar img.shown{opacity:1}.avatar.loading .avatar-initial{opacity:.45}.dossier-avatar{width:64px;height:64px;box-shadow:0 0 0 2px var(--color-text);margin-bottom:12px;font-size:26px}.profile-photo{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.profile-photo-side{gap:10px;display:grid}.profile-avatar{width:112px;height:112px;box-shadow:0 0 0 3px var(--color-text);font-size:44px}.profile-avatar.busy:after{content:"";background:var(--color-scrim);border-radius:50%;position:absolute;inset:0}.profile-avatar.busy:before{content:"";z-index:1;border:3px solid #ffffff4d;border-top-color:var(--color-text);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite avatar-spin;position:absolute}@keyframes avatar-spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.profile-avatar.busy:before{animation-duration:2.4s}}@media (width<=359px){.profile-photo{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-photo-side{width:100%}}.tickets .section-title{margin-top:8px}.tickets{margin-bottom:28px}.ticket-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ticket{background:var(--card-bg);box-shadow:var(--elev-1);color:var(--color-text);transition:transform var(--dur-press) var(--ease-out);border-radius:20px;grid-template-columns:76px 1fr;align-items:center;gap:14px;padding:12px;text-decoration:none;display:grid}.ticket:active{transform:scale(.985)}.ticket>img{object-fit:cover;border:2px solid var(--frame);border-radius:14px;width:76px;height:76px}.ticket-text{justify-items:start;gap:4px;min-width:0;display:grid}.ticket-title{font:800 17px/21px var(--font-sans);text-transform:uppercase;color:var(--color-heading)}.ticket-meta{font:var(--type-body-s);color:var(--color-text-2)}.ticket .pill{margin-top:4px}@media (hover:hover){.ticket:hover{background:var(--color-surface-2)}}.home{isolation:isolate;padding-bottom:28px;position:relative}.home-bg{z-index:var(--z-below);width:100vw;max-width:var(--col);background:linear-gradient(180deg, var(--color-bg) 0%, #00000080 16%, #0000008c 60%, var(--color-bg) 100%), url(/assets/sign-in-laneway.webp) center 30% / cover no-repeat;pointer-events:none;height:400px;position:absolute;top:0;left:50%;translate:-50%}.home-hero{gap:8px;padding:18px 0 26px;display:grid;position:relative}.home-hero>:not(.envelope-photo){max-width:calc(100% - 124px)}.home-hero h1{font:var(--type-display-l);letter-spacing:var(--type-display-l-track);text-shadow:0 2px 20px #0009}.home-teaser{font:var(--type-reveal);color:var(--color-text);text-shadow:0 1px 14px #000000b3;font-size:22px;line-height:28px}.home-hero .envelope-photo{width:112px;position:absolute;top:22px;right:0}.home-label{font:600 20px/26px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--color-heading);margin:0 0 12px;display:block}.home-feature{margin-bottom:16px}.feature-rail{margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 4px;scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);overscroll-behavior-x:contain;gap:12px;list-style:none;display:flex;overflow-x:auto}.feature{isolation:isolate;scroll-snap-align:start;border-radius:var(--radius-card);border:3px solid var(--frame);background:var(--color-surface-2);flex:0 0 100%;grid-template-rows:auto 1fr;min-height:380px;padding:16px;display:grid;position:relative;overflow:hidden}.feature-rail.several .feature{flex-basis:calc(100% - 32px)}.feature>img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.feature:after{content:"";z-index:-1;background:linear-gradient(#00000073 0%,#0000000d 30%,#00000059 52%,#000000b3 100%);position:absolute;inset:0}.feature-top{justify-content:flex-end;display:flex}.feature-body{align-self:end;gap:6px;display:grid}.feature-body .eyebrow{color:var(--color-text);opacity:.8}.feature h3{font:var(--type-display-m);color:var(--color-text);text-shadow:0 2px 16px #00000080}.feature h3 a{text-decoration:none}.feature-meta{font:600 13px/18px var(--font-sans);color:var(--color-text);flex-wrap:wrap;gap:4px 16px;margin-bottom:10px;display:flex}.feature-meta span{align-items:center;gap:6px;display:inline-flex}.feature-meta svg{flex:none;width:16px;height:16px}.home-stats{align-items:end;margin:8px 0 0}.home-stats dt{white-space:normal}.home-stats dd{font-size:clamp(22px,7vw,28px)}.shortcuts{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 28px;display:grid}.shortcut{border-radius:var(--radius-card);background:var(--card-bg);box-shadow:var(--elev-1);color:var(--color-text);transition:transform var(--dur-press) var(--ease-out);justify-items:center;gap:8px;padding:14px 4px 12px;text-decoration:none;display:grid}.shortcut:active{transform:scale(.96)}.shortcut-icon{background:var(--color-selected-bg);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.shortcut-title{font:600 13px/16px var(--font-sans)}@media (hover:hover){.shortcut:hover{background:var(--color-surface-2)}}.home-soon{margin-bottom:20px}.home-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.home-section-head .home-label{margin:0}.home-more{min-height:44px;font:600 14px/20px var(--font-sans);color:var(--color-text-accent);align-items:center;text-decoration:none;display:inline-flex}.ticket-go{grid-template-columns:76px 1fr auto}.ticket-chevron{color:var(--color-text-2)}.home .how{background:var(--card-bg);box-shadow:var(--elev-1);margin:12px 0 28px}.home-signup{margin-top:8px}.gmap{inset:0 0 env(safe-area-inset-bottom,0px);z-index:var(--z-base);background:var(--cl-neutral-50);opacity:0;transition:opacity .5s var(--ease-out);position:absolute}.gmap.ready{opacity:1}.gmap:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 35%,#0000 0 28%,#0009 75%);position:absolute;inset:0}.play:has(.gmap) .play-bottom{bottom:calc(28px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 86px - var(--ask-h,0px) - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:28px;padding-bottom:14px}.gmap-pin{background:var(--color-reward);width:28px;height:28px;box-shadow:0 0 0 3px var(--color-bg), 0 0 0 5px var(--color-text), 0 4px 12px #0009;opacity:.75;border-radius:50%;display:block}.you{pointer-events:none;place-items:center;width:34px;height:34px;display:grid;position:relative}.you>*{grid-area:1/1}.you-arrow{width:30px;height:30px;transform:rotate(var(--turn,0deg));fill:var(--color-text);stroke:var(--color-bg);stroke-width:2px;stroke-linejoin:round;filter:drop-shadow(0 2px 4px #0009)}.you-pulse{border-radius:50%;width:16px;height:16px}@media (prefers-reduced-motion:no-preference){.you-pulse{border:2px solid var(--color-text);animation:you-pulse 2s var(--ease-out) infinite}}@keyframes you-pulse{to{opacity:0;transform:scale(3.2)}}.compass{width:20px;height:20px}.compass path{fill:var(--color-text-3);stroke:none}.compass .compass-n{fill:var(--color-text)}.map-controls{z-index:var(--z-raised);right:max(12px, env(safe-area-inset-right,0px));top:calc(86px + var(--ask-h,0px) + env(safe-area-inset-top,0px));bottom:calc(var(--panel-h,0px) + 36px + env(safe-area-inset-bottom,0px));pointer-events:none;width:208px;position:absolute;container-type:size}.map-controls-in{flex-direction:column;justify-content:center;align-items:flex-end;gap:8px;height:100%;display:flex}.map-ctrl{pointer-events:auto;background:var(--color-glass);width:46px;height:46px;-webkit-backdrop-filter:var(--color-glass-filter);backdrop-filter:var(--color-glass-filter);box-shadow:inset 0 1px 0 #ffffff0f, inset 0 0 0 1px var(--color-border);color:var(--color-text);cursor:pointer;transition:transform var(--dur-press) var(--ease-out);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.map-ctrl:active{transform:scale(.94)}.map-ctrl svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:18px;height:18px}@container (height<=153px){.map-controls-in{flex-direction:row;justify-content:flex-end;align-items:flex-end}}@container (height<=207px){.map-controls-in:has(.map-north){flex-direction:row;justify-content:flex-end;align-items:flex-end}}@container (height<=45px){.map-ctrl{display:none}}@media (width>=680px){.map-controls{top:calc(86px + env(safe-area-inset-top,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px))}}.under-top{z-index:3;top:calc(86px + env(safe-area-inset-top,0px));width:min(calc(100% - 2 * var(--gut)), calc(var(--col) - 2 * var(--gut)));pointer-events:none;gap:8px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.under-top>*{pointer-events:auto}.locate-ask{border-radius:20px;gap:2px;padding:14px 16px;display:grid}.locate-ask h2{font:600 17px/22px var(--font-sans);text-transform:none}.locate-ask p{font:var(--type-body-s);color:var(--color-text-2)}.locate-ask-actions{grid-template-columns:auto 1fr;gap:8px;margin-top:10px;display:grid}.locate-ask-actions .btn{min-height:var(--btn-h-md);padding:0 18px;font-size:13px}.play:has(.locate-ask) .answer .btn-1{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);box-shadow:inset 0 0 0 1px var(--color-border)}.play:has(.locate-ask) .answer .btn-1 .arrow{background:#ffffff14}@media (hover:hover){.play:has(.locate-ask) .answer .btn-1:hover{background:var(--btn-secondary-bg-hover)}}.locate-block{z-index:var(--z-dialog);padding:calc(16px + env(safe-area-inset-top,0px)) var(--gut) calc(16px + env(safe-area-inset-bottom,0px));background:#000000db;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.locate-block-card{background:var(--color-surface-2);width:min(100%,400px);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:24px;gap:10px;padding:24px 20px 20px;display:grid}.locate-block-card h2{color:var(--color-heading)}.locate-block-card p{font:var(--type-body);color:var(--color-text-2)}.locate-block-card .locate-block-note{font:var(--type-body-s)}.locate-block-card .btn:first-of-type{margin-top:6px}@media (height<=560px) and (orientation:landscape){.under-top{left:max(var(--gut), env(safe-area-inset-left,0px));width:min(360px, calc(100% - min(50%, 420px) - 76px - 2 * var(--gut) - 12px));transform:none}}.you.stale .you-arrow{filter:grayscale()brightness(.8);opacity:.6}.you.stale .you-pulse{display:none}.friends{pointer-events:none;justify-self:start;justify-items:start;gap:8px;width:min(300px,100% - 46px);display:grid}.friends>*{pointer-events:auto}.friends-toggle{border-radius:var(--radius-pill);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border:0;align-items:center;gap:8px;padding:0 8px 0 16px;font-size:14px;font-weight:700;transition:transform .1s ease-out;display:inline-flex}.friends-toggle:active{transform:scale(.96)}.friends-toggle:after{content:" ▾";content:" ▾" / "";color:var(--color-text-2);margin-left:-4px;margin-right:6px;font-size:12px}.friends-toggle[aria-expanded=true]:after{content:" ▴";content:" ▴" / ""}.friends-count{border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-text-2);padding:3px 9px;font-size:12.5px}.friends-panel{width:100%;max-height:calc(100dvh - 86px - 52px - var(--panel-h,0px) - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));background:var(--color-glass);border-radius:22px;min-height:64px;padding:10px 14px;overflow-y:auto}.friend-list{margin:0;padding:0;list-style:none;display:grid}.friend-list li{border-top:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 0;display:flex}.friend-list li:first-child{border-top:0}.friend-list .friend-avatar{width:34px;height:34px;font-size:13px}.friend-text{min-width:0;line-height:1.3;display:grid}.friend-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.friend-text span{color:var(--color-text-2);font-size:13px}.friend-list .friend-online{padding:3px 8px;font-size:11px}@media (height<=560px) and (orientation:landscape){.friends{width:100%}}.friend{cursor:pointer;width:38px;height:38px;display:grid;position:relative}.friend .friend-avatar{width:38px;height:38px;box-shadow:0 0 0 2px var(--color-text), 0 4px 10px #0009;font-size:14px}.friend.online .friend-avatar{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-success), 0 4px 10px #0009}.friend.old .friend-avatar{filter:grayscale()brightness(.8);opacity:.6}.friend-tag{background:var(--color-glass);box-shadow:inset 0 0 0 1px var(--color-border);white-space:nowrap;border-radius:12px;justify-items:center;padding:5px 12px;line-height:1.25;display:grid;position:absolute;top:100%;left:50%;translate:-50% 8px}.friend-tag strong{color:var(--color-text);font-size:13.5px}.friend-tag span{color:var(--color-text-2);font-size:12px}.checkin-help{background:var(--color-surface-2);border-radius:16px;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;display:grid}.checkin-help p{margin:0;line-height:1.4}.checkin-help-note{color:var(--color-text-2);font-size:14px}.checkin-help-acts{flex-wrap:wrap;gap:10px;display:flex}.checkin-help-acts .btn{flex:auto}.checkin-help .btn{white-space:normal;padding-block:10px}.envelope-photo{filter:drop-shadow(0 0 1px #ffffff59)drop-shadow(0 8px 14px #0009);width:120px;height:auto;rotate:-6deg}.map{position:absolute;inset:0}.map>img{object-fit:cover;opacity:.85;width:100%;height:100%}.map:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 30%,#0000 0 22%,#000000bf 70%);position:absolute;inset:0}.map-you{background:var(--color-text);border:3px solid var(--color-bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--color-text);border-radius:50%;position:absolute;top:calc(30% - 9px);left:calc(50% - 9px)}@media (prefers-reduced-motion:no-preference){.map-you:after{content:"";border:2px solid var(--color-text);animation:ping 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-3px}}@keyframes ping{to{opacity:0;transform:scale(2.8)}}.f-err{font:600 14px/20px var(--font-sans);color:var(--color-error);align-items:center;gap:8px;padding-left:4px;display:flex}.f-err:before{content:"!";background:var(--color-error);width:17px;height:17px;color:var(--color-bg);font:800 11px/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;display:grid}.auth-error,.auth-notice{font:600 14px/20px var(--font-sans);color:var(--color-error);align-items:flex-start;gap:8px;margin:0;display:flex}.auth-error:before,.auth-notice:before{content:"!";background:var(--color-error);width:17px;height:17px;color:var(--color-bg);font:800 11px/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.auth-notice{color:var(--color-success)}.auth-notice:before{content:"✓";background:var(--color-success)}.toasts{z-index:var(--z-toast);left:16px;right:16px;bottom:calc(var(--tabbar) + 6px + env(safe-area-inset-bottom,0px));pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed}.auth~.toasts,.shell.bare~.toasts{bottom:calc(16px + env(safe-area-inset-bottom,0px))}.play~.toasts{top:calc(84px + env(safe-area-inset-top,0px));bottom:auto}.toast{pointer-events:auto;cursor:pointer;width:min(400px,100%);color:var(--color-text);background:var(--color-glass);-webkit-backdrop-filter:var(--color-glass-filter);backdrop-filter:var(--color-glass-filter);box-shadow:var(--elev-3);animation:t-in var(--dur-base) var(--ease-out);border-radius:20px;padding:14px 18px 14px 62px;position:relative}.toast.out{animation:t-out var(--dur-fast) var(--ease-in-out) forwards}@keyframes t-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes t-out{to{opacity:0;transform:translateY(8px)scale(.98)}}.t-seal{filter:drop-shadow(0 4px 6px #00000059);width:34px;position:absolute;top:50%;left:14px;transform:translateY(-50%)rotate(-8deg)}.t-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.t-label{font:600 12px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-2);align-items:center;gap:8px;display:flex}.t-label i{letter-spacing:.04em;color:var(--color-text-3);font-style:normal}.t-label i:before{content:"·";margin-right:8px}.k-removed .t-label{color:var(--color-error)}.t-copy b{font:600 15px/20px var(--font-sans);color:var(--color-text)}.t-copy small{font:var(--type-body-s);color:var(--color-text-2);overflow-wrap:anywhere}.ask{z-index:var(--z-dialog);padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));opacity:0;transition:opacity var(--dur-fast) var(--ease-out);place-items:end center;display:grid;position:fixed;inset:0}.ask.on{opacity:1}.ask-scrim{background:var(--color-scrim);position:absolute;inset:0}.ask .sheet{border-radius:var(--radius-card);text-align:center;width:min(420px,100%);color:var(--color-text);background:var(--color-surface-2);box-shadow:var(--elev-3);transition:transform var(--dur-sheet) var(--ease-out);gap:8px;padding:44px 20px 16px;display:grid;position:relative;transform:translateY(40px)scale(.96)}.ask.on .sheet{transform:none}.ask .wax{filter:drop-shadow(0 8px 16px #0009);width:62px;position:absolute;top:-30px;left:50%;transform:translate(-50%)rotate(-8deg)}.ask h2{font:var(--type-title);text-transform:none}.ask p{color:var(--color-text-2)}.ask .foot{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.ask .foot .btn{padding:0 16px}@media (width>=600px){.ask{place-items:center}}button.play-exit{cursor:pointer}.ask .ask-also{color:var(--color-error);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:center;margin-top:6px;padding:10px 14px;font-size:14.5px;font-weight:700;text-decoration:underline}.install-card{border-radius:var(--radius-inner);grid-template-columns:44px 1fr;align-items:center;gap:12px 14px;margin:0 0 18px;padding:14px;display:grid}.install-card img{border-radius:11px}.install-copy{line-height:1.3;display:grid}.install-copy b{font-weight:700}.install-copy span{color:var(--color-text-2);font-size:14px}.install-acts{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.install-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.dossier-actions .install-btn{grid-column:1/-1}.install-steps{text-align:left;gap:10px;margin:6px 0 2px;padding:0;list-style:none;display:grid}.install-steps li{grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.install-steps b{font-weight:600;display:block}.install-steps small{color:var(--color-text-2);font-size:14px;display:block}.install-icon{width:44px;height:44px;color:var(--color-text);background:var(--color-surface-2);box-shadow:var(--elev-1);border-radius:14px;place-items:center;display:grid}.ask .foot.one{grid-template-columns:1fr}.cass-slot:has(canvas){box-shadow:none;height:auto;aspect-ratio:var(--cass-crop-ratio,600 / 750);background:0 0;border:0;border-radius:0;display:block;overflow:hidden}.cass-slot.cass-full-body{aspect-ratio:var(--cass-stage-ratio,600 / 1000)}.cass-slot canvas{width:100%;max-width:none;height:auto;display:block}.cass-narrator{grid-template-columns:90px minmax(0,1fr);align-items:end;gap:12px;margin:0 0 16px;display:grid}.cass-narrator .cass-slot{width:90px}.cass-narrator .cass-copy{background:#ffffff0f;border-radius:16px;min-width:0;padding:12px}.cass-transcript{white-space:pre-line;overflow-wrap:anywhere;max-height:10rem;margin:6px 0;font-size:14px;line-height:1.6;overflow-y:auto}.cass-controls{flex-wrap:wrap;gap:8px;display:flex}.cass-controls .btn{min-height:44px;padding:8px 12px;font-size:12px}.cass-centred{grid-template-columns:minmax(0,1fr);justify-items:center}.cass-centred .cass-slot{width:156px;max-width:100%}.cass-centred .cass-copy{box-sizing:border-box;width:100%}@media (height<=740px){.cass-centred .cass-slot{width:120px}.cass-centred .cass-transcript{max-height:6rem}}.cass-slot,.cass-slot canvas{pointer-events:none}.cass-slot{height:auto;aspect-ratio:var(--cass-crop-ratio,600 / 750);box-shadow:none;background:0 0;border-radius:0;display:block;overflow:hidden}.cass-copy[hidden]{display:none}.auth-stage:has(.cass){padding-top:300px;position:relative}.auth .cass{margin:0;display:block}.auth .cass .cass-slot{aspect-ratio:600/750;width:240px;height:300px;position:absolute;top:0;left:calc(50% - 120px)}.auth .cass p{z-index:2;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;padding:0;position:absolute;top:344px;left:20px;right:20px}.auth-stage:has(.cass) .auth-card{z-index:1;padding-top:140px}.cass-how-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.cass-how-heading h2{flex:1}.cass-how-heading .cass-slot{aspect-ratio:600/750;flex:none;width:128px;height:160px}.cass-mission-stage{z-index:var(--z-map-ui);pointer-events:none;left:max(16px, calc(50% - var(--col) / 2 + 16px));top:calc(var(--cass-sheet-top,586px) - var(--cass-figure-height,160px));width:var(--cass-figure-width,128px);height:var(--cass-figure-height,160px);position:absolute}.cass-mission-stage .cass-slot{width:100%}.play .cass-narrator{margin-bottom:12px;display:block}.play .cass-narrator:has(.cass-copy[hidden]){margin:0}.play .cass-transcript{max-height:4rem}.cass-mode-celebration .cass-mission-stage,.cass-mode-results .cass-mission-stage{width:var(--cass-figure-width,240px);height:var(--cass-figure-height,300px);left:calc(50% - var(--cass-figure-width,240px) / 2)}.cass-mode-briefing{background:var(--color-bg)}.cass-mode-briefing>.map,.cass-mode-briefing .gmap,.cass-mode-briefing .map-controls,.cass-mode-briefing>.under-top{visibility:hidden}.cass-mode-briefing .cass-mission-stage{inset:calc(104px + env(safe-area-inset-top,0px)) 0 auto;width:min(100%, calc((100dvh - 198px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * .6));height:auto;margin:0 auto}.cass-mode-briefing .play-bottom{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;overflow:visible}.cass-mode-briefing .cass-copy{background:0 0;padding:0}.cass-mode-briefing .cass-copy>.label{display:none}.cass-briefing-transcript{position:relative}.cass-briefing-transcript summary{cursor:pointer;min-height:44px;padding:10px 0}.cass-briefing-transcript[open] .cass-transcript{background:var(--color-bg);width:100%;max-height:40dvh;padding:16px;position:absolute;bottom:100%;left:0}.cass-mode-briefing .cass-controls{justify-content:space-between}.play{bottom:auto;top:var(--play-viewport-top,0px);height:var(--play-viewport-height,100dvh)}.play .play-bottom{max-height:calc(var(--play-viewport-height,100dvh) - 86px - var(--ask-h,0px) - env(safe-area-inset-top,0px))}.cass-mode-play .cass-copy{background:0 0;flex-wrap:wrap;align-items:start;gap:8px;padding:0;display:flex}.cass-play-transcript{flex:1 0 100%;min-width:0}.cass-mode-play .cass-copy{row-gap:4px}.cass-mode-play .cass-play-transcript .label{display:none}.cass-mode-play .cass-play-transcript .cass-transcript{max-height:none;margin:0;overflow:visible}.cass-play-transcript[hidden],.play[data-keyboard=true] .cass-narrator,.play[data-keyboard=true] .sheet-grab{display:none}.play[data-keyboard=true] .clue{padding:12px}.play[data-keyboard=true] .clue-head{min-height:32px;margin:0 0 4px}.play[data-keyboard=true] .clue-text{font-size:15px;line-height:1.4}.play[data-keyboard=true] .sheet-stage{gap:6px}.play[data-keyboard=true] .answer{gap:4px;margin-top:6px}.play[data-keyboard=true] .answer .field-input input{min-height:44px;padding-top:10px;padding-bottom:10px}.play[data-keyboard=true] .answer-actions .btn{min-height:44px}:is(.play[data-keyboard=true] .answer:has(.f-err) #answer-note,.play[data-keyboard=true] #hint-note:empty){display:none}.play[data-keyboard=true] .hint-text{padding:6px 8px;font-size:14px;line-height:1.35}.play[data-keyboard=true] .hint-text .label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
