@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-cyrillic-ext-400-normal-BLTEyOai.woff2)format("woff2"),url(/assets/hanken-grotesk-cyrillic-ext-400-normal-C910xUUL.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-vietnamese-400-normal-BLrFBAHj.woff2)format("woff2"),url(/assets/hanken-grotesk-vietnamese-400-normal-C-iWyKLC.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-ext-400-normal-DR7lHpW4.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-ext-400-normal-DI-aIsWt.woff)format("woff");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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-400-normal-CjyVwvJV.woff)format("woff");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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-cyrillic-ext-500-normal-DJxU5DEV.woff2)format("woff2"),url(/assets/hanken-grotesk-cyrillic-ext-500-normal-klSdyF8A.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-vietnamese-500-normal-DxwlvJEc.woff2)format("woff2"),url(/assets/hanken-grotesk-vietnamese-500-normal-DkDHNoXI.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-ext-500-normal-DLb9JDK8.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-ext-500-normal-BNvrJ0Ju.woff)format("woff");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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-500-normal-Bo-NxEKf.woff)format("woff");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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-cyrillic-ext-600-normal-gC6IfhiA.woff2)format("woff2"),url(/assets/hanken-grotesk-cyrillic-ext-600-normal-CZKgvMB-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-vietnamese-600-normal-Cp8QQjQf.woff2)format("woff2"),url(/assets/hanken-grotesk-vietnamese-600-normal-DHaFH8q1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-ext-600-normal-FY8kSObK.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-ext-600-normal-DHIm05DD.woff)format("woff");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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-600-normal-NEn2C4Q3.woff)format("woff");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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-cyrillic-ext-700-normal-t5HJuhUd.woff2)format("woff2"),url(/assets/hanken-grotesk-cyrillic-ext-700-normal-CANZoffZ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-vietnamese-700-normal-C4RNfQp6.woff2)format("woff2"),url(/assets/hanken-grotesk-vietnamese-700-normal-CslVg6dq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-ext-700-normal-CK2OfQqO.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-ext-700-normal-BXHnjv6S.woff)format("woff");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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-700-normal-6IGCzoPh.woff)format("woff");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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-cyrillic-ext-800-normal-Dh-A818z.woff2)format("woff2"),url(/assets/hanken-grotesk-cyrillic-ext-800-normal-B-DARoqs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-vietnamese-800-normal-rhXM_bnk.woff2)format("woff2"),url(/assets/hanken-grotesk-vietnamese-800-normal-Botv5QzP.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-latin-ext-800-normal-BUyj4f7g.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-ext-800-normal-Cj41HOW_.woff)format("woff");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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/hanken-grotesk-latin-800-normal-KQ5tvtTT.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-800-normal-BTy3IUcF.woff)format("woff");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:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-ext-400-normal-BfWvPoNT.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-400-normal-BkT5i7fe.woff)format("woff");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}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-400-normal-mUpA6Mve.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-400-normal-739QRW1l.woff)format("woff");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:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-ext-500-normal-OEIRRHyd.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-500-normal-CMfDuBbn.woff)format("woff");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}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-500-normal-Cy_wwipl.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-500-normal-DuiJ5LHB.woff)format("woff");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:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spline-sans-mono-latin-ext-600-normal-CYO0557q.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-600-normal-es3wdE0V.woff)format("woff");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}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spline-sans-mono-latin-600-normal-BrWm9FVc.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-600-normal-ZCqv2Jod.woff)format("woff");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}:root{--lp-yellow:#fcdd2b;--lp-yellow-600:#f0ce00;--lp-yellow-100:#fff6c7;--lp-blue:#315bf9;--lp-blue-700:#2543c9;--lp-blue-300:#97a9fc;--lp-blue-50:#edf0ff;--lp-ink:#121112;--lp-n-0:#fff;--lp-n-25:#fbfbfa;--lp-n-50:#f5f5f3;--lp-n-100:#ecece8;--lp-n-200:#dededa;--lp-n-300:#c7c7c1;--lp-n-400:#a1a19a;--lp-n-500:#76766f;--lp-n-600:#565651;--lp-n-700:#3c3c39;--lp-n-800:#262624;--lp-n-900:#161615;--lp-success:#1f9d55;--lp-success-50:#e6f5ed;--lp-warning:#e08a00;--lp-warning-50:#fcf1dc;--lp-danger:#dd3a2e;--lp-danger-50:#fce9e7;--lp-info:#315bf9;--lp-zone-standard:#f4d43b;--lp-zone-ev:#4fa3f7;--lp-zone-large:#2e9b57;--lp-zone-bike:#d9762e;--text-primary:var(--lp-ink);--text-secondary:var(--lp-n-600);--text-tertiary:var(--lp-n-500);--text-disabled:var(--lp-n-400);--text-inverse:var(--lp-n-0);--text-link:var(--lp-blue);--text-on-yellow:var(--lp-ink);--surface-page:var(--lp-n-50);--surface-card:var(--lp-n-0);--surface-sunken:var(--lp-n-100);--surface-inverse:var(--lp-ink);--surface-brand:var(--lp-yellow);--surface-accent:var(--lp-blue);--surface-selected:var(--lp-blue-50);--border-subtle:var(--lp-n-200);--border-default:var(--lp-n-300);--border-strong:var(--lp-ink);--border-focus:var(--lp-blue);--action-primary:var(--lp-blue);--action-primary-hover:var(--lp-blue-700);--action-primary-text:var(--lp-n-0);--action-brand:var(--lp-yellow);--action-brand-hover:var(--lp-yellow-600);--action-brand-text:var(--lp-ink);--focus-ring:0 0 0 3px color-mix(in srgb, var(--lp-blue) 35%, transparent);--font-sans:"Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, "SF Mono", Menlo, monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extra:800;--fs-display:34px;--fs-h1:27px;--fs-h2:22px;--fs-h3:18px;--fs-body-lg:17px;--fs-body:15px;--fs-label:14px;--fs-caption:13px;--fs-micro:11px;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.45;--lh-relaxed:1.6;--ls-tight:-.02em;--ls-snug:-.01em;--ls-normal:0;--ls-wide:.04em;--ls-plate:.08em;--text-display:var(--fw-extra) var(--fs-display)/var(--lh-tight) var(--font-sans);--text-h1:var(--fw-bold) var(--fs-h1)/var(--lh-snug) var(--font-sans);--text-h2:var(--fw-bold) var(--fs-h2)/var(--lh-snug) var(--font-sans);--text-h3:var(--fw-semibold) var(--fs-h3)/var(--lh-snug) var(--font-sans);--text-body:var(--fw-regular) var(--fs-body)/var(--lh-normal) var(--font-sans);--text-label:var(--fw-semibold) var(--fs-label)/var(--lh-snug) var(--font-sans);--text-caption:var(--fw-regular) var(--fs-caption)/var(--lh-normal) var(--font-sans);--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-pill:999px;--shadow-xs:0 1px 2px #1211120f;--shadow-sm:0 1px 3px #12111214, 0 1px 2px #1211120a;--shadow-md:0 4px 12px #12111214, 0 2px 4px #1211120a;--shadow-lg:0 12px 28px #1211121f, 0 4px 8px #1211120d;--shadow-sheet:0 -8px 30px #1211121f;--border-w:1px;--border-w-2:2px;--container-app:430px;--container-page:1200px;--tap-min:44px;--nav-h:64px;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s}*{box-sizing:border-box}body{font:var(--text-body);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--lp-yellow);color:var(--lp-ink)}.lp-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lp-plate{font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:var(--ls-plate);text-transform:uppercase;background:var(--lp-n-0);border:2px solid var(--lp-ink);border-radius:var(--radius-xs);color:var(--lp-ink);padding:2px 8px;display:inline-block}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs);outline:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lp-yellow-100:#2f2810;--lp-blue-50:#17224d;--lp-success:#40d17b;--lp-warning:#ffb340;--lp-danger:#ff5a66;--lp-success-50:#0f2e1c;--lp-warning-50:#3a2a0b;--lp-danger-50:#3a1215;--text-primary:#f3f4f6;--text-secondary:#a8abb3;--text-tertiary:#8b8e96;--text-disabled:#5d6069;--text-link:#8ea2ff;--surface-page:#0f1013;--surface-card:#1a1b20;--surface-sunken:#24252b;--surface-inverse:#050609;--surface-selected:#17224d;--border-subtle:#353741;--border-default:#454856;--border-strong:#f3f4f6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lp-yellow-100:#2f2810;--lp-blue-50:#17224d;--lp-success:#40d17b;--lp-warning:#ffb340;--lp-danger:#ff5a66;--lp-success-50:#0f2e1c;--lp-warning-50:#3a2a0b;--lp-danger-50:#3a1215;--text-primary:#f3f4f6;--text-secondary:#a8abb3;--text-tertiary:#8b8e96;--text-disabled:#5d6069;--text-link:#8ea2ff;--surface-page:#0f1013;--surface-card:#1a1b20;--surface-sunken:#24252b;--surface-inverse:#050609;--surface-selected:#17224d;--border-subtle:#353741;--border-default:#454856;--border-strong:#f3f4f6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.startup{place-content:center;justify-items:center;gap:var(--sp-5);min-height:100dvh;padding:var(--sp-6) var(--sp-4);text-align:center;background:var(--surface-page);display:grid}.startup-message{font:var(--text-h3);max-width:32ch}.button-primary{background:var(--action-primary);color:var(--action-primary-text);border-radius:var(--radius-pill);padding:14px var(--sp-6);font:var(--text-label);cursor:pointer;border:0;min-height:48px}.button-primary:focus-visible{box-shadow:var(--focus-ring);outline:none}.app{background:var(--surface-page);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.app-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:calc(env(safe-area-inset-top) + var(--sp-3)) var(--sp-4) var(--sp-3);background:var(--surface-page);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.app-logo{height:28px}.offline-badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);background:var(--lp-warning-50);color:var(--text-primary);font:var(--text-caption);font-weight:600;display:inline-flex}.app-content{padding:var(--sp-4);padding-bottom:var(--sp-8)}.screen{gap:var(--sp-4);max-width:640px;margin:0 auto;display:grid}.screen-title{font:var(--text-h1)}.tab-bar{padding:var(--sp-2) var(--sp-2) calc(env(safe-area-inset-bottom) + var(--sp-2));background:var(--surface-card);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);display:grid;position:sticky;bottom:0}.tab-link{min-height:48px;padding:var(--sp-1);color:var(--text-secondary);font:var(--text-caption);border-radius:var(--radius-md);justify-items:center;gap:2px;font-weight:600;text-decoration:none;display:grid}.tab-link:hover{text-decoration:none}.tab-link[aria-current=page]{color:var(--text-link)}.tab-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.sheet-backdrop{z-index:50;background:color-mix(in srgb, var(--lp-ink) 45%, transparent);align-items:end;display:grid;position:fixed;inset:0}.sheet{background:var(--surface-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);outline:none;overflow:auto}.sheet-header{padding:var(--sp-4);background:var(--surface-card);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sheet-header h2{font:var(--text-h3)}.sheet-body{padding:0 var(--sp-4) var(--sp-6)}.icon-button{border-radius:var(--radius-pill);background:var(--surface-sunken);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border:0;place-items:center;display:inline-grid}.icon-button:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (min-width:768px){.sheet-backdrop{place-items:center}.sheet{border-radius:var(--radius-xl);width:min(560px,100%)}}.button-secondary{justify-content:center;align-items:center;gap:var(--sp-2);min-height:48px;padding:12px var(--sp-5);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-primary);font:var(--text-label);cursor:pointer;display:inline-flex}.button-secondary:focus-visible{box-shadow:var(--focus-ring);outline:none}.support-link{align-items:center;gap:var(--sp-2);display:inline-flex}.auth{align-content:start;gap:var(--sp-6);max-width:440px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + var(--sp-10)) var(--sp-4) var(--sp-8);margin:0 auto;display:grid}.auth-logo{justify-self:center;height:44px}.auth-intro{gap:var(--sp-2);text-align:center;display:grid}.auth-intro h1{font:var(--text-h1)}.auth-intro p{color:var(--text-secondary)}.auth-secondary{justify-items:center;gap:var(--sp-2);display:grid}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-4)}.auth-card{gap:var(--sp-4);display:grid}.field{gap:var(--sp-2);display:grid}.field-label{font:var(--text-label)}.input{width:100%;min-height:48px;padding:12px var(--sp-4);border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:var(--text-body);font-size:16px}.input:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring);outline:none}.code-input{letter-spacing:.4em;text-align:center;font-size:22px}.button-primary:disabled,.button-secondary:disabled{opacity:.5;cursor:default}.button-link{align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-2);color:var(--text-link);font:var(--text-label);cursor:pointer;background:0 0;border:0;display:inline-flex}.button-link:disabled{color:var(--text-disabled);cursor:default}.button-link:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.form-message{color:var(--text-primary);font:var(--text-caption);font-weight:600}.profile-identity{gap:var(--sp-1);display:grid}.profile-identity span{color:var(--text-secondary)}.sheet-actions{gap:var(--sp-3);margin-top:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.consent{gap:var(--sp-4);display:grid}.consent-document{gap:var(--sp-2);padding:var(--sp-3) 0;border-top:1px solid var(--border-subtle);display:grid}.consent-title{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:44px;color:var(--text-link);font:var(--text-label);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.consent-title:disabled{color:var(--text-disabled);cursor:default}.checkbox{align-items:center;gap:var(--sp-3);min-height:44px;font:var(--text-body);display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--action-primary)}.legal-body{max-height:50dvh;padding:var(--sp-3);border-radius:var(--radius-md);background:var(--surface-sunken);overflow:auto}.legal-body h1,.legal-body h2,.legal-body h3{font:var(--text-h3);margin:var(--sp-3) 0 var(--sp-2)}.legal-body p,.legal-body li{margin:0 0 var(--sp-2)}.legal-body table{border-collapse:collapse;width:100%;font:var(--text-caption)}.legal-body td,.legal-body th{border:1px solid var(--border-subtle);padding:var(--sp-1) var(--sp-2);text-align:left}.legal-frame{border-radius:var(--radius-md);background:var(--lp-n-0);border:0;width:100%;height:50dvh}.discovery-heading,.results-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.results-heading h2{font:var(--text-h3)}.count{min-width:32px;padding:2px var(--sp-2);border-radius:var(--radius-pill);background:var(--surface-sunken);text-align:center}.caption{color:var(--text-secondary);font:var(--text-caption)}.time-card{gap:var(--sp-3);display:grid}.segmented{border-radius:var(--radius-pill);border:1px solid var(--border-default);grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{border-radius:var(--radius-pill);min-height:40px;color:var(--text-secondary);font:var(--text-label);cursor:pointer;background:0 0;border:0}.segmented button[aria-checked=true]{background:var(--action-primary);color:var(--action-primary-text)}.segmented button:focus-visible{box-shadow:var(--focus-ring);outline:none}.time-rows{gap:var(--sp-2);display:grid}.time-row{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:44px;display:flex}.time-row>span{color:var(--text-secondary)}.time-input{width:auto;min-height:40px;padding:6px var(--sp-3)}.stepper{align-items:center;gap:var(--sp-2);display:flex}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-primary);font:var(--text-label);cursor:pointer}.chip[aria-pressed=true]{border-color:var(--action-primary);background:var(--surface-selected);color:var(--text-link)}.chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.garage-map{border-radius:var(--radius-lg);background:var(--surface-sunken);border:1px solid var(--border-subtle);width:100%;margin:0;overflow:hidden}.garage-map svg{width:100%;height:auto;max-height:60dvh;display:block}.map-floor{fill:var(--surface-card);stroke:var(--border-default);stroke-width:1.5px}.map-road{fill:var(--surface-sunken)}.map-stall polygon{stroke:var(--surface-card);stroke-width:1px}.map-stall.status-available polygon{fill:color-mix(in srgb, var(--lp-success) 78%, transparent)}.map-stall.status-available.ev polygon{fill:color-mix(in srgb, var(--lp-blue) 76%, transparent)}.map-stall.status-booked polygon,.map-stall.status-occupied polygon{fill:color-mix(in srgb, var(--lp-warning) 52%, transparent)}.map-stall.status-unavailable polygon{fill:color-mix(in srgb, var(--text-secondary) 16%, transparent)}.map-stall.selected polygon{fill:var(--lp-blue);stroke:var(--text-primary);stroke-width:2px}.map-stall[role=button]:not([aria-disabled=true]){cursor:pointer}.map-stall:focus-visible polygon{stroke:var(--border-focus);stroke-width:3px}.map-stall:focus{outline:none}.spot-list{gap:var(--sp-2);display:grid}.spot-card{align-items:center;gap:var(--sp-3);text-align:left;width:100%;min-height:64px;color:var(--text-primary);cursor:pointer;grid-template-columns:auto 1fr auto auto;display:grid}.spot-card:disabled{opacity:.6;cursor:default}.spot-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.spot-code{font:var(--text-h3);font-family:var(--font-mono)}.spot-main{gap:2px;display:grid}.spot-location{color:var(--text-secondary);font:var(--text-caption)}.spot-badges{gap:var(--sp-1);flex-wrap:wrap;display:flex}.spot-price{white-space:nowrap;font-weight:600}.badge{padding:1px var(--sp-2);border-radius:var(--radius-pill);background:var(--surface-selected);color:var(--text-primary);font:var(--text-caption);align-items:center;gap:2px;display:inline-flex}.badge-muted{background:var(--surface-sunken)}.empty-state{gap:var(--sp-1);text-align:center;display:grid}.spot-detail{gap:var(--sp-3);display:grid}.facts{gap:var(--sp-6);margin:0;display:flex}.facts dt{color:var(--text-secondary);font:var(--text-caption)}.facts dd{font:var(--text-label);margin:0}.spot-detail-price{font:var(--text-h2);font-family:var(--font-mono)}.detail-row{align-items:flex-start;gap:var(--sp-2);display:flex}.checkout{gap:var(--sp-3);display:grid}.checkout-summary{align-items:center;gap:var(--sp-3);grid-template-columns:auto 1fr auto;display:grid}.checkout-row{align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:var(--text-body);text-align:left;cursor:pointer;grid-template-columns:auto auto 1fr auto;display:grid}.checkout-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.checkout-row-label{font:var(--text-label)}.checkout-row-value{color:var(--text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel,.option-list{gap:var(--sp-2);display:grid}.option{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:48px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);text-align:left;cursor:pointer;display:flex}.option[aria-pressed=true]{border-color:var(--action-primary);background:var(--surface-selected)}.form-grid{gap:var(--sp-3);display:grid}.form-row{gap:var(--sp-3);grid-template-columns:1fr 2fr;display:grid}.form-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.coupon-form{gap:var(--sp-2);grid-template-columns:1fr auto;align-items:center;display:grid}.price-card{gap:var(--sp-1);display:grid}.price-total{font:var(--text-h3);justify-content:space-between;display:flex}.line-items{gap:var(--sp-1);margin:0;display:grid}.line-items>div{justify-content:space-between;gap:var(--sp-3);display:flex}.line-items dd{margin:0}.issues{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.issues li{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);background:var(--lp-warning-50);flex-wrap:wrap;display:flex}.checkout-legal{display:grid}.disclosure{margin-top:var(--sp-1)}.checkout-submit{padding:var(--sp-3) 0 var(--sp-1);background:var(--surface-card);position:sticky;bottom:0}.checkout-submit .button-primary{width:100%}.card-step{gap:var(--sp-4);display:grid}.card-step .button-primary{width:100%}.card-step-back{justify-self:start;padding-left:0}.express-host:empty,.payment-host:empty{display:none}.booking-group{gap:var(--sp-2);display:grid}.booking-group h2{font:var(--text-h3)}.booking-row{align-items:center;gap:var(--sp-3);text-align:left;width:100%;min-height:64px;color:var(--text-primary);cursor:pointer;grid-template-columns:auto 1fr auto;display:grid}.booking-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.booking-row-main{justify-items:start;gap:2px;display:grid}.status-pill{padding:1px var(--sp-2);border-radius:var(--radius-pill);font:var(--text-caption);background:var(--surface-sunken);color:var(--text-primary);font-weight:600;display:inline-block}.status-pill.status-active,.status-pill.status-exit_grace{background:var(--lp-success-50)}.status-pill.status-booked,.status-pill.status-pending_payment{background:var(--surface-selected)}.status-pill.status-failed{background:var(--lp-danger-50)}.unpaid-card{gap:var(--sp-2);background:var(--lp-warning-50);display:grid}.unpaid-card strong{align-items:center;gap:var(--sp-2);display:flex}.booking-detail-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.countdown{gap:var(--sp-1);justify-items:center;display:grid}.countdown-value{font:var(--text-display);font-family:var(--font-mono)}.notice{gap:var(--sp-2);background:var(--lp-warning-50);align-items:flex-start;display:flex}.facts-list{gap:var(--sp-2);margin:0;display:grid}.facts-list>div{justify-content:space-between;gap:var(--sp-3);display:flex}.facts-list dt{color:var(--text-secondary)}.facts-list dd{margin:0}.booking-actions{gap:var(--sp-2);display:grid}.extension{gap:var(--sp-3);display:grid}.access-panel{gap:var(--sp-2);display:grid}.access-panel h2{font:var(--text-h3)}.contract-card{gap:var(--sp-2);justify-items:start;display:grid}.contract-card h2{font:var(--text-h3);align-items:center;gap:var(--sp-2);margin:0;display:flex}.contract-documents{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.access-tiles{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.access-tile{justify-items:center;gap:var(--sp-1);min-height:96px;padding:var(--sp-3);border-radius:var(--radius-lg);background:var(--action-primary);color:var(--action-primary-text);font:var(--text-label);cursor:pointer;text-align:center;border:0;display:grid}.access-tile:disabled{background:var(--surface-sunken);color:var(--text-secondary);cursor:default}.access-tile:disabled .caption{color:var(--text-secondary)}.access-tile .caption{color:var(--action-primary-text)}.access-tile:focus-visible{box-shadow:var(--focus-ring);outline:none}.access-sheet{gap:var(--sp-3);display:grid}.instruction{gap:var(--sp-1);display:grid}.access-code{font:var(--text-display);font-family:var(--font-mono);letter-spacing:.2em;text-align:center}.access-primary{min-height:64px;font-size:18px}.form-message.success{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);background:var(--lp-success-50);color:var(--text-primary)}a.button-secondary{text-decoration:none}.balance-card{gap:var(--sp-2);background:var(--lp-warning-50);display:grid}.balance-heading{justify-content:space-between;gap:var(--sp-3);font:var(--text-h3);display:flex}.balance-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.card-replacement{gap:var(--sp-3);display:grid}.invoice-row{align-items:center;gap:var(--sp-3);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;grid-template-columns:1fr auto auto;display:grid}.invoice-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.invoice-row-main{gap:2px;display:grid}.invoice-documents{gap:var(--sp-3);display:grid}.invoice-document{gap:var(--sp-1);display:grid}.profile-menu{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);display:grid;overflow:hidden}.menu-link{align-items:center;gap:var(--sp-3);min-height:52px;padding:0 var(--sp-4);border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font:var(--text-body);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto 1fr auto;display:grid}.menu-link:last-child{border-bottom:0}.menu-link:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.vehicle-card{gap:var(--sp-2);display:grid}.vehicle-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.update-toast{left:var(--sp-4);right:var(--sp-4);bottom:calc(env(safe-area-inset-bottom) + 88px);z-index:40;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex;position:fixed}.update-toast span{font:var(--text-label);flex:1}
