@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_a9dd00d3-module__r1lI4G__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_a9dd00d3-module__r1lI4G__variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4a439e1ba971da1a-s.26nafy4isrpsz.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.0a68ck1yt_ak5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2sp_sjs-a2mdv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.3ec-vq27dq98f.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99ac5753282bcf05-s.1czhp68pnx2kt.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.2opg_g5lzx1nr.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4a439e1ba971da1a-s.26nafy4isrpsz.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.0a68ck1yt_ak5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2sp_sjs-a2mdv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.3ec-vq27dq98f.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/99ac5753282bcf05-s.1czhp68pnx2kt.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.2opg_g5lzx1nr.woff2)format("woff2");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:Roboto Mono Fallback;src:local(Arial);ascent-override:77.84%;descent-override:20.13%;line-gap-override:0.0%;size-adjust:134.61%}.roboto_mono_29a9a885-module__RzheZG__className{font-family:Roboto Mono,Roboto Mono Fallback;font-style:normal}.roboto_mono_29a9a885-module__RzheZG__variable{--font-mono:"Roboto Mono", "Roboto Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#1d70b8;--brand-hover:#10456f;--brand-ink:#10456f;--brand-tint:#e7f0f8;--brand-tint-strong:#d3e4f3;--on-brand:#fff;--green:#00703c;--green-ink:#00703c;--green-tint:#e3f2ea;--red:#d4351c;--red-ink:#a32617;--red-tint:#fbe5e1;--amber-ink:#7a5b00;--amber-tint:#fff4d6;--ink:#0b0c0c;--muted:#505a5f;--faint:#7a8489;--surface:#fff;--surface-raised:#fff;--canvas:#f3f5f7;--subtle:#fafbfc;--sunken:#f0f3f5;--line:#0b0c0c1c;--line-strong:#0b0c0c33;--shadow-sm:0 1px 2px #0b0c0c0f;--shadow-md:0 4px 16px #0b0c0c14;--shadow-lg:0 18px 44px #0b0c0c2e;--shadow-brand:0 8px 20px #1d70b84d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--tap:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--ease:cubic-bezier(.2, .8, .25, 1);--nav-height:58px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#2a7fc7;--brand-hover:#3f92d8;--brand-ink:#8cc4ec;--brand-tint:#13293a;--brand-tint-strong:#1a3b52;--green:#23935c;--green-ink:#74cea0;--green-tint:#11291d;--red:#d4452c;--red-ink:#f5a091;--red-tint:#2e1512;--amber-ink:#e3c169;--amber-tint:#2c2412;--ink:#f1f4f5;--muted:#a7b0b5;--faint:#7e888d;--surface:#15181b;--surface-raised:#1b1f23;--canvas:#0c0e10;--subtle:#1b1f23;--sunken:#0f1214;--line:#ffffff1c;--line-strong:#fff3;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 18px 44px #0009;--shadow-brand:0 8px 20px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#2a7fc7;--brand-hover:#3f92d8;--brand-ink:#8cc4ec;--brand-tint:#13293a;--brand-tint-strong:#1a3b52;--green:#23935c;--green-ink:#74cea0;--green-tint:#11291d;--red:#d4452c;--red-ink:#f5a091;--red-tint:#2e1512;--amber-ink:#e3c169;--amber-tint:#2c2412;--ink:#f1f4f5;--muted:#a7b0b5;--faint:#7e888d;--surface:#15181b;--surface-raised:#1b1f23;--canvas:#0c0e10;--subtle:#1b1f23;--sunken:#0f1214;--line:#ffffff1c;--line-strong:#fff3;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 18px 44px #0009;--shadow-brand:0 8px 20px #00000080}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{background-color:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-sans), system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4,p,figure{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}textarea{resize:vertical}a{color:var(--brand-ink);text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:0;height:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-16px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes tick{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}@keyframes dot-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes rec-pulse{0%{box-shadow:0 0 #d4351c80}to{box-shadow:0 0 0 18px #d4351c00}}@keyframes wave{0%,to{transform:scaleY(.16)}50%{transform:scaleY(1)}}@keyframes road-flow{to{transform:translateY(-64px)}}@keyframes car-bob{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-3px)rotate(.6deg)}}@keyframes logo-in{0%{opacity:0;transform:scale(.72)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{opacity:.5;transform:scale(.6)}to{opacity:0;transform:scale(2.3)}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.site{--measure:1240px;--gutter:clamp(20px, 5vw, 56px);--inner-gap:clamp(28px, 4vw, 72px);--column:calc((var(--measure) - 2 * var(--gutter) - var(--inner-gap)) / 2);--rule:1px solid var(--line);--ink-panel:#0b0c0c;--mono:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--surface);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex}.site__inner{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.masthead{z-index:20;border-bottom:var(--rule);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);position:sticky;top:0}.masthead__row{align-items:center;gap:var(--space-6);min-height:68px;display:flex}.wordmark{letter-spacing:-.03em;color:var(--ink);align-items:center;gap:10px;font-size:19px;font-weight:800;text-decoration:none;display:inline-flex}.wordmark__mark{place-items:center;width:30px;height:30px;display:grid}.foot__base .wordmark{--wordmark-tint:#fff;--wordmark-behind:var(--ink-panel)}.wordmark b{color:var(--brand);font-weight:800}.masthead__nav{align-items:center;gap:var(--space-6);margin-left:auto;font-size:15px;display:flex}.masthead__nav a:not(.sbtn){color:var(--muted);border-bottom:2px solid #0000;padding-block:6px;text-decoration:none}@media (hover:hover){.masthead__nav a:not(.sbtn):hover{color:var(--ink);border-bottom-color:var(--brand)}}.masthead__nav a:not(.sbtn):focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media (max-width:860px){.masthead__nav a:not(.sbtn){display:none}}.sbtn{min-height:var(--tap);border-radius:var(--radius-pill);font:500 13.5px/1 var(--mono);letter-spacing:-.01em;cursor:pointer;transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.sbtn--primary{background:var(--brand);color:var(--on-brand)}.sbtn--ghost{border-color:var(--line-strong);color:var(--ink)}.sbtn--square{border-radius:var(--radius-sm)}.panel-dark .sbtn--ghost{color:#fff;border-color:#ffffff57}.panel-dark .sbtn--light{color:var(--ink-panel);background:#fff}@media (hover:hover){.sbtn--primary:hover{background:var(--brand-hover)}.sbtn--ghost:hover{border-color:var(--brand);color:var(--brand-ink)}.panel-dark .sbtn--ghost:hover{color:#fff;background:#ffffff1a;border-color:#fff}.panel-dark .sbtn--light:hover{background:#e8eef3}}.sbtn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.panel-dark .sbtn:focus-visible{outline-color:#fff}.hero{border-bottom:var(--rule)}.hero__grid{max-width:var(--measure);grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:stretch;margin-inline:auto;display:grid}.hero__copy{padding:clamp(48px, 7vw, 96px) clamp(32px, 4vw, 64px) clamp(48px, 7vw, 96px) var(--gutter);flex-direction:column;justify-content:center;display:flex}.hero__stage{padding:clamp(40px, 6vw, 80px) var(--gutter);justify-content:center;align-items:center;gap:clamp(12px,2vw,26px);display:flex;position:relative}.hero__stage--single .phone{width:min(330px,82vw)}@media (max-width:960px){.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__copy{padding-inline:var(--gutter)}}@media (max-width:720px){.hero__stage{padding-inline:var(--space-4);gap:0}}.eyebrow{margin:0 0 var(--space-5);font:400 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);align-items:center;gap:8px;display:inline-flex}.eyebrow:before{content:"";background:var(--brand);width:26px;height:2px}.hero h1{margin:0 0 var(--space-6);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.4rem,1.3rem + 3.9vw,3.9rem);font-weight:500;line-height:1.03}.hero h1 em{color:var(--brand);font-style:normal}.hero__lede{margin:0 0 var(--space-8);max-width:36ch;color:var(--muted);font-size:clamp(1.02rem,.96rem + .35vw,1.18rem);line-height:1.55}.hero__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.newsline{align-items:center;gap:var(--space-3);margin-top:var(--space-8);font:400 13px/1 var(--mono);color:var(--muted);text-decoration:none;display:inline-flex}.newsline__tag{border-radius:var(--radius-sm);background:var(--ink);color:var(--surface);font:500 10.5px/1.4 var(--mono);letter-spacing:.1em;padding:4px 8px}@media (hover:hover){.newsline:hover{color:var(--ink)}}.newsline:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,88px);padding-block:clamp(48px,7vw,88px);display:grid}@media (max-width:800px){.duo{grid-template-columns:minmax(0,1fr)}}.duo h2{margin:0 0 var(--space-4);letter-spacing:-.028em;font-size:clamp(1.45rem,1.05rem + 1.3vw,2rem);font-weight:500;line-height:1.14}.duo p{margin:0 0 var(--space-5);color:var(--muted);line-height:1.65}.duo__links{gap:var(--space-5);flex-wrap:wrap;display:flex}.arrowlink{font:400 13.5px/1 var(--mono);letter-spacing:-.01em;color:var(--brand-ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.arrowlink:after{content:"›";font-size:1.3em;line-height:0}@media (hover:hover){.arrowlink:hover{text-decoration:underline}}.arrowlink:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.band{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:860px){.band{grid-template-columns:minmax(0,1fr)}.band>.panel:first-child,.band>.panel:last-child,.band>.panel--art{padding-inline:var(--gutter);justify-content:center}}.panel{grid-template-columns:minmax(0, var(--column));align-content:center;gap:var(--space-5);padding:clamp(40px, 5.5vw, 76px) var(--gutter);display:grid}.band>.panel:first-child{padding-right:calc(var(--inner-gap) / 2);justify-content:end}.band>.panel:last-child{padding-left:calc(var(--inner-gap) / 2);justify-content:start}.band>.panel--art{justify-content:center;padding-block:clamp(44px,6vw,84px)}.panel-dark{background:var(--ink-panel);color:#fff}.panel-dark .panel__lede{color:#ffffffb8}.panel-tint{background:var(--canvas)}.panel__kicker{font:400 13px/1 var(--mono);letter-spacing:-.01em;color:var(--muted);margin:0}.panel-dark .panel__kicker{color:#ffffff9e}.panel h2{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.55rem,1.1rem + 1.6vw,2.2rem);font-weight:500;line-height:1.12}.panel__lede{max-width:44ch;color:var(--muted);margin:0;line-height:1.65}.panel__list{gap:var(--space-3);margin:0;padding:0;display:grid}.panel__list li{gap:var(--space-3);color:var(--muted);line-height:1.55;display:flex}.panel-dark .panel__list li{color:#ffffffb8}.panel__list li:before{content:"→";color:var(--brand);flex:none;font-weight:700}.panel-dark .panel__list li:before{color:#7db6e4}.panel__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.asks{border-top:var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:720px){.asks{grid-template-columns:minmax(0,1fr)}}.ask{gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-5) 0;border-bottom:var(--rule);line-height:1.55;display:flex}.ask__q{color:var(--ink);margin:0 0 6px;font-weight:600}.ask__a{color:var(--muted);margin:0;font-size:14.5px}.ask__mark{color:var(--brand);flex:none;font-weight:700}.section{border-bottom:var(--rule);padding-block:clamp(48px,7vw,88px)}.section--flush{border-bottom:0}.section__head{max-width:58ch;margin-bottom:clamp(28px,4vw,48px)}.section__head h2{margin:0 0 var(--space-4);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.4rem);font-weight:500;line-height:1.12}.section__head p{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.6}.faq{border-top:var(--rule)}.faq details{border-bottom:var(--rule);padding-block:var(--space-5)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;letter-spacing:-.015em;font-size:1.05rem;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--brand);flex:none;font-size:1.4rem;font-weight:400;line-height:1}.faq details[open] summary:after{content:"−"}.faq summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}@media (hover:hover){.faq summary:hover{color:var(--brand-ink)}.faq summary:hover:after{transform:scale(1.15)}}.faq summary:after{transition:transform .16s var(--ease)}.faq p{margin:var(--space-4) 0 0;max-width:68ch;color:var(--muted);line-height:1.65}.closer{background:var(--ink-panel);color:#fff;padding-block:clamp(48px,7vw,88px)}.closer__row{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.closer h2{letter-spacing:-.032em;flex:18ch;margin:0;font-size:clamp(1.7rem,1.2rem + 2vw,2.45rem);font-weight:500;line-height:1.1}.foot{background:var(--ink-panel);color:#ffffffb8;padding-bottom:var(--space-8);margin-top:auto}.foot__cols{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid #ffffff24;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (max-width:760px){.foot__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.foot__col h3{margin:0 0 var(--space-4);font:400 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff75}.foot__col ul{gap:var(--space-3);margin:0;padding:0;display:grid}.foot__col a{color:#ffffffc7;font-size:14.5px;text-decoration:none}@media (hover:hover){.foot__col a:hover{color:#fff;text-decoration:underline}}.foot__col a:focus-visible{outline-offset:3px;outline:2px solid #fff}.foot__base{align-items:center;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-6);color:#ffffff80;border-top:1px solid #ffffff24;flex-wrap:wrap;font-size:13.5px;display:flex}.foot__base .wordmark{color:#fff}.foot__base .wordmark b{color:#7db6e4}.foot__legal{gap:var(--space-5);flex-wrap:wrap;margin-left:auto;display:flex}.foot__legal a{color:#ffffff9e;text-decoration:none}@media (hover:hover){.foot__legal a:hover{color:#fff}}.foot__legal a:focus-visible{outline-offset:3px;outline:2px solid #fff}.prose{max-width:68ch;padding-block:clamp(40px,6vw,72px)}.prose h1{margin:0 0 var(--space-3);letter-spacing:-.03em;font-size:clamp(1.9rem,1.4rem + 2vw,2.6rem);font-weight:500;line-height:1.12}.prose .updated{margin:0 0 var(--space-8);color:var(--faint);font-size:14px}.prose h2{margin:var(--space-8) 0 var(--space-4);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.prose p,.prose li{color:var(--muted);line-height:1.7}.prose p{margin:0 0 var(--space-4)}.prose ul{margin:0 0 var(--space-4);padding-left:1.4rem;list-style:outside}.prose ul li::marker{color:var(--brand)}.prose li{margin-bottom:var(--space-2)}.prose strong{color:var(--ink)}.prose a{color:var(--brand-ink)}.prose a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.site [id]{scroll-margin-top:calc(68px + var(--space-6))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.site :target>.site__inner>.section__head,.site :target>.site__inner>.closer__row,.site :target>.site__inner>h2,.site :target>.panel,.site :target>div>h2{animation:arrive .62s var(--ease) both}@keyframes arrive{0%{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site *{transition-duration:1ms!important;animation-duration:1ms!important}}
.phone{--w:clamp(208px, 22vw, 268px);width:var(--w);flex:none}.phone__frame{aspect-ratio:9/19.2;background:linear-gradient(160deg,#3a3f44,#16181a 42%,#0b0c0c);border-radius:13%/6%;padding:9px;position:relative;box-shadow:inset 0 0 0 1px #ffffff17,0 26px 60px #0b0c0c5c,0 6px 18px #0b0c0c38}.phone__island{z-index:3;background:#0b0c0c;border-radius:999px;width:30%;height:4.6%;position:absolute;top:17px;left:50%;transform:translate(-50%)}.phone__screen{height:100%;font-size:calc(var(--w) * .047);color:#0b0c0c;background:#fff;border-radius:11%/5.6%;flex-direction:column;line-height:1.35;display:flex;position:relative;overflow:hidden}.phone__status{letter-spacing:-.01em;justify-content:space-between;align-items:center;padding:1.1em 1.3em .4em;font-size:.82em;font-weight:700;display:flex}.phone__bars{align-items:flex-end;gap:2px;display:inline-flex}.phone__bars i{opacity:.85;background:currentColor;border-radius:1px;width:3px}.phone__bars i:first-child{height:4px}.phone__bars i:nth-child(2){height:6px}.phone__bars i:nth-child(3){height:8px}.phone__bars i:nth-child(4){height:10px}.phone--left{transform:rotate(-4deg)translateY(10px)}.phone--right{transform:rotate(4deg)}@media (max-width:720px){.phone{--w:min(52vw, 220px)}.phone--left{transform:rotate(-3deg)}.phone--right{margin-left:-18%;transform:rotate(3deg)}}.scr{flex-direction:column;flex:1;gap:.75em;min-height:0;padding:.6em 1.05em 1.05em;display:flex}.scr b{font-weight:700;display:block}.scr small{color:#505a5f;font-size:.78em;font-weight:500;display:block}.scr__head{gap:.1em;padding-top:.3em;display:grid}.scr__head b{letter-spacing:-.02em;font-size:1.28em}.scr__head--row{justify-content:space-between;align-items:baseline;display:flex}.scr__tiles{grid-template-columns:repeat(3,1fr);gap:.45em;display:grid}.tile{text-align:center;background:#f3f5f7;border-radius:.75em;padding:.6em .5em}.tile b{letter-spacing:-.02em;font-size:1.15em}.tile small{font-size:.62em;line-height:1.2}.tile--warn{background:#fff4d6}.tile--warn b{color:#7a5b00}.scr__alert{background:#fbe5e1;border-radius:.8em;gap:.15em;padding:.75em 4.8em .75em .85em;display:grid;position:relative}.scr__alert b{color:#a32617;font-size:.95em}.scr__alert small{color:#a32617;opacity:.85;font-size:.72em}.scr__cta{color:#fff;background:#d4351c;border-radius:999px;padding:.35em .8em;font-size:.72em;font-weight:700;position:absolute;top:50%;right:.7em;transform:translateY(-50%)}.scr__list{gap:.4em;display:grid}.rowitem{border:1px solid #0b0c0c17;border-radius:.75em;grid-template-columns:auto 1fr auto;align-items:center;gap:.6em;padding:.55em .7em;display:grid}.rowitem__time{color:#1d70b8;font-size:.82em;font-weight:700}.rowitem b{font-size:.88em}.rowitem small{font-size:.68em}.pill{border-radius:999px;padding:.25em .6em;font-size:.64em;font-weight:700}.pill--ok{color:#00703c;background:#e3f2ea}.pill--warn{color:#7a5b00;background:#fff4d6}.scr--chat{gap:.6em}.scr__bar{border-bottom:1px solid #0b0c0c17;align-items:center;gap:.6em;padding-bottom:.6em;display:flex}.scr__avatar{color:#fff;background:#1d70b8;border-radius:50%;place-items:center;width:2.2em;height:2.2em;font-size:.8em;font-weight:800;display:grid}.scr__bar b{font-size:.92em}.scr__bar small{font-size:.7em}.scr__log{flex-direction:column;flex:1;gap:.45em;display:flex;overflow:hidden}.msg{border-radius:1.1em;max-width:84%;margin:0;padding:.55em .75em;font-size:.82em;line-height:1.4}.msg--them{background:#f0f3f5;border-bottom-left-radius:.3em;align-self:flex-start}.msg--us{color:#fff;background:#1d70b8;border-bottom-right-radius:.3em;align-self:flex-end}.scr__composer{color:#7a8489;border:1px solid #0b0c0c1f;border-radius:999px;justify-content:space-between;align-items:center;gap:.5em;padding:.5em .5em .5em .9em;font-size:.8em;display:flex}.scr__send{background:#1d70b8;border-radius:50%;flex:none;width:1.9em;height:1.9em}.cal{grid-template-columns:repeat(7,1fr);gap:.15em;display:grid}.cal__dow{text-align:center;color:#7a8489;padding-bottom:.3em;font-size:.66em;font-weight:700}.cal__cell{aspect-ratio:1}.cal__day{border-radius:.5em;place-items:center;font-size:.78em;font-weight:600;display:grid;position:relative}.cal__day.is-off{color:#b9c0c4;text-decoration:line-through}.cal__day.is-today{color:#fff;background:#1d70b8;font-weight:800}.cal__dot{background:#1d70b8;border-radius:50%;width:3px;height:3px;position:absolute;bottom:.18em}.cal__day.is-today .cal__dot{background:#fff}.scr__panel{background:#f3f5f7;border-radius:.8em;gap:.4em;padding:.7em .8em;display:grid}.switchrow{justify-content:space-between;align-items:center;gap:.6em;display:flex}.switchrow b{font-size:.86em}.switchrow small{font-size:.68em}.phsw{background:#c8cfd3;border-radius:999px;flex:none;width:2.3em;height:1.35em;position:relative}.phsw:after{content:"";background:#fff;border-radius:50%;width:1.05em;height:1.05em;transition:left .2s;position:absolute;top:.15em;left:.15em}.phsw--on{background:#1d70b8}.phsw--on:after{left:1.1em}.scr__note{color:#7a5b00;background:#fff4d6;border-radius:.5em;margin:0;padding:.4em .6em;font-size:.72em;font-weight:600}.qr{aspect-ratio:1;background:#fff;border:1px solid #0b0c0c17;border-radius:.8em;grid-template-columns:repeat(13,1fr);gap:1px;max-width:62%;margin-inline:auto;padding:.7em;display:grid}.qr i{border-radius:1px}.qr .qr__on{background:#0b0c0c}.scr__link{text-align:center;color:#1d70b8;overflow-wrap:anywhere;margin:0;font:700 .78em/1 ui-monospace,SFMono-Regular,Menlo,monospace}.scr__actions{gap:.4em;margin-top:auto;display:flex}.scr__btn{text-align:center;color:#fff;background:#1d70b8;border-radius:999px;flex:1;padding:.65em .5em;font-size:.8em;font-weight:700}.scr__btn--ghost{color:#0b0c0c;background:0 0;border:1px solid #0b0c0c33}.scr__opts{flex-wrap:wrap;gap:.3em;display:flex}.opt{border:1px solid #0b0c0c24;border-radius:999px;padding:.4em .7em;font-size:.72em;font-weight:600}.opt--on{color:#fff;background:#1d70b8;border-color:#1d70b8}.scr__draft{background:#f3f5f7;border-radius:.8em;flex:1;min-height:0;padding:.75em .85em;overflow:hidden}.scr__draft small{letter-spacing:.1em;color:#7a8489;margin-bottom:.4em;font-size:.62em;font-weight:800}.scr__draft p{margin:0;font-size:.78em;line-height:1.45}.demo{justify-items:center;gap:1.25rem;display:grid}.phone--demo{transform:none}.demo__log{justify-content:flex-end;min-height:0;overflow:hidden}.demo__msg{transform-origin:0 100%;animation:.22s cubic-bezier(.2,.8,.3,1) both demo-in}.msg--us.demo__msg{transform-origin:100% 100%}@keyframes demo-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.demo__typing{align-items:center;gap:4px;padding:.7em .85em;animation:.2s both demo-in;display:inline-flex}.demo__typing i{opacity:.55;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite demo-blink}.demo__typing i:nth-child(2){animation-delay:.18s}.demo__typing i:nth-child(3){animation-delay:.36s}@keyframes demo-blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-2px)}}.demo__hint{text-align:center;color:inherit;opacity:.72;max-width:34rem;margin:0;font-size:.9rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.demo__msg,.demo__typing,.demo__typing i{animation:none}.demo__log[data-still]{justify-content:flex-start;overflow-y:auto}}.scr__alert,.phsw,.scr__note,.scr__cta,.cal__day,.scr--muted{transition:background-color .15s,border-color .15s,color .15s,opacity .15s,transform .11s}.scr__alert.is-pressed .scr__cta{filter:brightness(.94);transform:scale(.93)}.scr__alert.is-done{background:var(--green-tint,#e2faec);border-color:#0000}.scr__alert.is-done b{color:var(--green-ink,#0d6b41)}.scr__alert.is-done small{color:var(--green-ink,#0d6b41);opacity:.85}.scr--muted .qr,.scr--muted .scr__link,.scr--muted .scr__actions{opacity:.38}.scr__draftbody{animation:.2s both draft-swap}@keyframes draft-swap{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.opt{transition:background-color .14s,color .14s,border-color .14s}@media (prefers-reduced-motion:reduce){.scr__alert,.phsw,.scr__note,.scr__cta,.cal__day,.scr--muted,.opt,.scr__draftbody{transition:none;animation:none}}.brief{background:#fff;border-radius:1.1em;overflow:hidden;box-shadow:0 1px 4px #0b0c0c12}.brief__line{align-items:center;gap:.5em;padding:.6em .7em;display:flex}.brief__mark{background:var(--brand-tint,#e7f0f8);border-radius:50%;flex:none;width:1.5em;height:1.5em;position:relative}.brief__mark:after{content:"";background:var(--brand,#1d70b8);border-radius:2px;position:absolute;inset:.42em}.brief__head{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:.78em;line-height:1.35;display:-webkit-box;overflow:hidden}.brief__head em{color:#9aa2a6;font-style:normal;font-weight:700}.brief__chev{border-bottom:1.5px solid #9aa2a6;border-right:1.5px solid #9aa2a6;flex:none;width:.5em;height:.5em;transition:transform .16s;transform:rotate(45deg)translate(-1px,-1px)}.brief.is-open .brief__chev{transform:rotate(-135deg)translate(-1px,-1px)}.brief__panel{border-top:1px solid #0b0c0c12;animation:.18s both draft-swap}.brief__item{align-items:center;gap:.5em;padding:.55em .7em;display:flex}.brief__item+.brief__item{border-top:1px solid #0b0c0c12}.brief__item b{font-size:.78em;font-weight:700;line-height:1.3;display:block}.brief__item small{color:#666f73;margin-top:1px;font-size:.68em;display:block}.brief__item span:first-child{flex:1;min-width:0}.scr__tiles--four{grid-template-columns:repeat(4,1fr);gap:.3em}.scr__tiles--four .tile{text-align:center;padding:.5em .25em}.scr__tiles--four .tile b{font-size:1.05em}.scr__tiles--four .tile small{font-size:.6em;line-height:1.2}@media (prefers-reduced-motion:reduce){.brief__chev,.brief__panel{transition:none;animation:none}}.pill--paid{color:#0d6b41;background:#e2faec}.pill--unpaid{color:#8a6300;background:#fff3d4}.pill--test{color:#10456f;background:#e7f0f8}.scr__list--long{gap:.28em;max-height:11.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,#0000);mask-image:linear-gradient(#000 78%,#0000)}.scr__list--long .rowitem{padding-block:.34em}.brief__cta{background:var(--brand-tint,#e7f0f8);color:var(--brand-ink,#10456f);white-space:nowrap;border-radius:999px;flex:none;padding:.38em .75em;font-size:.68em;font-weight:700;transition:transform .11s,filter .11s}.brief__cta.is-pressed{filter:brightness(.95);transform:scale(.92)}.brief__item b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rowitem.is-settling{background:var(--green-tint,#e2faec);border-radius:.6em;transition:background-color .22s}.hero-cal{background:var(--canvas,#f3f4f4);align-content:start;gap:.6em;padding:.8em .85em;transition:transform .38s cubic-bezier(.32,.72,.3,1);display:grid;position:absolute;inset:0;transform:translate(104%)}.hero-cal.is-in{transform:none}.hero-cal__grid{background:#fff;border-radius:1em;grid-template-columns:repeat(7,1fr);gap:.18em;padding:.6em .5em;display:grid;box-shadow:0 1px 4px #0b0c0c12}.hero-cal__dow{color:#9aa2a6;text-align:center;font-size:.58em;font-weight:700}.hero-cal__day{text-align:center;border-radius:.5em;padding:.3em 0;font-size:.64em;position:relative}.hero-cal__day.is-today{background:var(--brand,#1d70b8);color:#fff;font-weight:800}.hero-cal__day.is-off{color:#c3c9cc}.hero-cal__day i{background:var(--brand,#1d70b8);border-radius:50%;width:3px;height:3px;position:absolute;bottom:.12em;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.hero-cal,.rowitem.is-settling,.brief__cta{transition:none}}.hero-cal__note{color:#666f73;text-align:center;margin:0;font-size:.62em}
.hero-phone{--w:390px;--h:780px;--scale:.8;--brand:#1d70b8;--brand-ink:#10456f;--brand-tint:#e7f0f8;--green-ink:#0d6b41;--green-tint:#e2faec;--amber-ink:#8a6300;--amber-tint:#fff3d4;--ink:#0b0c0c;--muted:#666f73;--faint:#9aa2a6;--surface:#fff;--canvas:#f3f4f4;--subtle:#fafbfb;--sunken:#eff1f1;--line:#0b0c0c0f;--card:0 2px 10px #0b0c0c0d;width:calc((var(--w) + 24px) * var(--scale));margin-inline:auto}@media (max-width:420px){.hero-phone{--scale:.72}}.hero-phone__frame{width:calc((var(--w) + 24px) * var(--scale));height:calc((var(--h) + 24px) * var(--scale));padding:calc(12px * var(--scale));border-radius:calc(56px * var(--scale));background:#0b0c0c;margin-inline:auto;position:relative;box-shadow:0 24px 60px #0b0c0c4d}.hero-phone__island{top:calc(22px * var(--scale));width:calc(112px * var(--scale));height:calc(30px * var(--scale));z-index:3;background:#0b0c0c;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.hero-phone__viewport{width:calc(var(--w) * var(--scale));height:calc(var(--h) * var(--scale));border-radius:calc(44px * var(--scale));position:relative;overflow:hidden}.hp{width:var(--w);height:var(--h);transform:scale(var(--scale));transform-origin:0 0;background:var(--canvas);color:var(--ink);flex-direction:column;font:500 15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:absolute;top:0;left:0;overflow:hidden}.hp__status{flex:none;justify-content:space-between;align-items:center;padding:16px 28px 2px;font-size:14px;font-weight:700;display:flex}.hp__bars{align-items:flex-end;gap:2px;display:inline-flex}.hp__bars i{background:currentColor;border-radius:1px;width:3px}.hp__bars i:first-child{height:5px}.hp__bars i:nth-child(2){height:7px}.hp__bars i:nth-child(3){height:9px}.hp__bars i:nth-child(4){height:11px}.hp__scroll{flex:1;min-height:0;overflow:hidden}.hp__scrollinner{flex-direction:column;gap:12px;padding:16px;transition:transform 1.2s cubic-bezier(.32,.72,.3,1);display:flex}.hp__scrollinner.is-scrolled{transform:translateY(-232px)}.hp__head{flex:none;gap:4px;padding-bottom:4px;display:grid}.hp__head h3{letter-spacing:-.4px;margin:0;font-size:20px;font-weight:800}.hp__head p{color:var(--muted);margin:0;font-size:13px;font-weight:500}.hp__card{background:var(--surface);box-shadow:var(--card);border-radius:26px;flex:none;overflow:hidden}.hp__cardhead{border-bottom:1px solid var(--line);padding:16px 16px 12px}.hp__cardhead b{letter-spacing:-.2px;font-size:16px;font-weight:800}.hp__briefline{align-items:center;gap:8px;min-height:52px;padding:12px;display:flex}.hp__briefmark{background:var(--brand-tint);width:26px;height:26px;color:var(--brand-ink);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.hp__briefhead{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.hp__briefhead em{color:var(--faint);font-style:normal;font-weight:600}.hp__chev{border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);flex:none;width:8px;height:8px;transition:transform .18s;transform:rotate(45deg)translate(-2px,-2px)}.hp__chev.is-open{transform:rotate(-135deg)translate(-2px,-2px)}.hp__briefpanel{border-top:1px solid var(--line)}.hp__label{color:var(--muted);margin:0;padding:12px 16px 0;font-size:12px;font-weight:700}.hp__briefrow{align-items:center;gap:12px;padding:12px 16px;display:flex}.hp__briefrow+.hp__briefrow{border-top:1px solid var(--line)}.hp__briefwords{flex:1;gap:3px;min-width:0;display:grid}.hp__briefwords b{letter-spacing:-.1px;font-size:15px;font-weight:700}.hp__briefwords small{color:var(--muted);font-size:13px;font-weight:500}.hp__pillbtn{background:var(--brand-tint);min-height:34px;color:var(--brand-ink);border-radius:999px;flex:none;align-items:center;padding:0 12px;font-size:12px;font-weight:600;transition:transform .11s,filter .11s;display:inline-flex}.hp__pillbtn.is-pressed{filter:brightness(.95);transform:scale(.93)}.hp__filter{border-bottom:1px solid var(--line);background:var(--sunken);border-radius:999px;gap:4px;margin:0 16px;padding:4px;display:flex}.hp__seg{min-height:38px;color:var(--muted);border-radius:999px;flex:1;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.hp__seg.is-on{background:var(--brand);color:#fff}.hp__booking{border-top:1px solid var(--line);gap:8px;padding:12px 16px;transition:background-color .24s;display:grid}.hp__booking.is-settling{background:var(--green-tint)}.hp__bookingmain{align-items:center;gap:12px;min-height:44px;display:flex}.hp__daybox{background:var(--brand-tint);width:46px;height:48px;color:var(--brand-ink);border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.hp__daybox.is-test{background:var(--green-tint);color:var(--green-ink)}.hp__daybox b{font-size:15px;font-weight:800;line-height:1.1}.hp__daybox small{font-size:12px;font-weight:600}.hp__who{flex:1;gap:4px;min-width:0;display:grid}.hp__whotop{align-items:center;gap:7px;min-width:0;display:flex}.hp__whotop b{letter-spacing:-.1px;white-space:nowrap;font-size:15px;font-weight:700}.hp__who small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.hp__tag{letter-spacing:-.1px;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-style:normal;font-weight:700}.hp__tag.is-ok{background:var(--green-tint);color:var(--green-ink)}.hp__tag.is-warn{background:var(--amber-tint);color:var(--amber-ink)}.hp__tag.is-test{background:var(--brand-tint);color:var(--brand-ink)}.hp__money{flex:none;justify-items:end;gap:4px;display:grid}.hp__money b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.hp__money small{color:var(--muted);font-size:12px;font-weight:600}.hp__followup{background:var(--brand-tint);min-height:34px;color:var(--brand-ink);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.hp__strip{padding:16px 0;display:flex}.hp__metric{flex:1;justify-items:center;gap:3px;padding:0 4px;display:grid}.hp__metric+.hp__metric{border-left:1px solid var(--line)}.hp__metricvalue{align-items:center;gap:5px;display:flex}.hp__metricvalue i{border-radius:4px;width:7px;height:7px}.hp__metricvalue i.is-brand{background:var(--brand)}.hp__metricvalue i.is-amber{background:#f0b429}.hp__metricvalue b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.hp__metric small{color:var(--muted);font-size:12px;font-weight:700}.hp__sheet{background:var(--canvas);z-index:4;border-radius:26px 26px 0 0;flex-direction:column;gap:8px;padding:10px 16px 16px;transition:transform .46s cubic-bezier(.32,.72,.3,1);display:flex;position:absolute;inset:84px 0 0;transform:translateY(104%);box-shadow:0 -10px 34px #0b0c0c2e}.hp__sheet.is-up{transform:none}.hp__sheet .hp__label{padding:0}.hp__grab{background:#0b0c0c29;border-radius:999px;justify-self:center;width:40px;height:5px;margin-bottom:6px}.hp__sheetname{letter-spacing:-.45px;margin:0 0 4px;font-size:22px;font-weight:800}.hp__draft{background:var(--subtle);border:1px solid var(--line);border-radius:14px;padding:12px}.hp__draft p{white-space:pre-line;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.hp__opts{gap:8px;display:grid}.hp__opt{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:12px;min-height:44px;padding:12px;display:flex}.hp__opt.is-on{border-color:var(--brand);background:var(--brand-tint)}.hp__opt span{flex:1;gap:2px;min-width:0;display:grid}.hp__opt b{letter-spacing:-.1px;font-size:15px;font-weight:700}.hp__opt small{color:var(--muted);font-size:13px;font-weight:500}.hp__opt i{border:2px solid var(--line);border-radius:10px;flex:none;width:20px;height:20px}.hp__opt.is-on i{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px #fff}.hp__sheetfoot{gap:8px;margin-top:auto;padding-top:12px;display:flex}.hp__primarybtn,.hp__ghostbtn{letter-spacing:-.2px;border-radius:999px;flex:1;justify-content:center;align-items:center;min-height:44px;font-size:16px;font-weight:800;display:inline-flex}.hp__primarybtn{background:var(--brand);color:#fff}.hp__ghostbtn{background:var(--surface);color:var(--ink);flex:0 0 96px}.hp__tabs{background:var(--surface);z-index:3;flex:none;justify-content:space-around;align-items:flex-start;height:52px;padding-top:6px;display:flex}.hp__tab{color:var(--faint);position:relative}.hp__tab.is-on{color:var(--ink)}.hp__badge{color:#fff;background:#ff3b30;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex;position:absolute;top:-4px;right:-8px}@media (prefers-reduced-motion:reduce){.hp__scroll,.hp__sheet,.hp__chev,.hp__pillbtn,.hp__booking{transition:none}}.pp{background:#fff}.pp__body.is-hidden{opacity:0}.pp__body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;transition:opacity .2s;display:flex;overflow:hidden}.pp__bar{align-items:center;gap:12px;display:flex}.pp__avatar{background:var(--brand);color:#fff;border-radius:20px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:inline-flex}.pp__bar b{letter-spacing:-.2px;font-size:16px;font-weight:800;display:block}.pp__bar small{color:var(--muted);font-size:13px;display:block}.pp__lede{color:var(--muted);margin:0;font-size:13px}.pp__step{opacity:0;gap:8px;transition:opacity .26s,transform .26s;display:grid;transform:translateY(8px)}.pp__step.is-in{opacity:1;transform:none}.pp__step .hp__label{padding:0}.pp__cal{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.pp__dow{color:var(--faint);text-align:center;font-size:11px;font-weight:700}.pp__day{text-align:center;background:var(--sunken);border-radius:10px;padding:7px 0;font-size:13px;font-weight:600;transition:background-color .2s,color .2s;position:relative}.pp__day.is-pad{background:0 0}.pp__day.is-off{color:#c3c9cc;background:0 0}.pp__day.is-picked{background:var(--brand);color:#fff;font-weight:800}.pp__day i{background:var(--brand);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.pp__day.is-picked i{background:#fff}.pp__slots{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pp__slot{border:1.5px solid var(--line);border-radius:12px;justify-content:center;align-items:center;min-height:40px;font-size:13px;font-weight:700;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.pp__slot.is-picked{background:var(--brand);border-color:var(--brand);color:#fff}.pp__field{border:1.5px solid var(--line);background:var(--subtle);border-radius:12px;align-items:center;min-height:44px;padding:0 12px;font-size:15px;display:flex}.pp__cta{flex:none;margin-top:auto}.pp__done{text-align:center;opacity:0;pointer-events:none;z-index:3;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;transition:opacity .26s .12s,transform .26s .12s;display:flex;position:absolute;inset:0;transform:translateY(10px)}.pp__done.is-in{opacity:1;transform:none}.pp__tick{background:var(--green-tint);width:68px;height:68px;color:var(--green-ink);border-radius:34px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.pp__done b{letter-spacing:-.45px;font-size:22px;font-weight:800}.pp__done small{color:var(--muted);font-size:15px;font-weight:600}.pp__done p{color:var(--muted);max-width:30ch;margin:8px 0 0;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){.pp__step,.pp__done,.pp__day,.pp__slot{transition:none}.pp__step{opacity:1;transform:none}}
.app{background-color:var(--canvas);flex-direction:column;max-width:560px;height:100dvh;margin-inline:auto;display:flex;position:relative;overflow:hidden}.app__header{align-items:center;gap:var(--space-2);padding:calc(var(--safe-top) + 10px) var(--space-4) 10px;padding-left:calc(var(--safe-left) + var(--space-4));padding-right:calc(var(--safe-right) + var(--space-4));background-color:var(--surface);border-bottom:1px solid var(--line);z-index:20;flex:none;display:flex;position:relative}.app__brand{align-items:center;gap:var(--space-2);min-width:0;display:flex}.app__mark{background-color:var(--brand);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.app__wordmark{letter-spacing:-.02em;white-space:nowrap;font-size:16px;font-weight:800}.app__wordmark span{color:var(--brand-ink)}.app__header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.app__main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-left:var(--safe-left);padding-right:var(--safe-right);flex:1;overflow-y:auto}.screen{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-6);animation:screen-in .3s var(--ease) both;flex-direction:column;display:flex}.screen__head{gap:var(--space-1);flex-direction:column;display:flex}.screen__title{letter-spacing:-.025em;font-size:25px;font-weight:800;line-height:1.15}.screen__subtitle{color:var(--muted);font-size:13px}.nav{background-color:var(--surface);border-top:1px solid var(--line);padding:6px calc(var(--safe-left) + 4px) calc(var(--safe-bottom) + 6px) calc(var(--safe-right) + 4px);z-index:20;flex:none;display:flex;position:relative}.nav__item{min-height:var(--tap);border-radius:var(--radius-md);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 2px;transition:color .15s;display:flex}.nav__item[aria-current=page]{color:var(--brand-ink)}.nav__icon-wrap{display:flex;position:relative}.nav__label{text-align:center;font-size:10px;font-weight:700;line-height:1.1}.nav__badge{border-radius:var(--radius-pill);background-color:var(--red);color:#fff;text-align:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;line-height:17px;position:absolute;top:-5px;right:-8px}
.btn{min-height:var(--tap);border-radius:var(--radius-pill);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:12px 18px;font-size:14px;font-weight:800;transition:background-color .18s,border-color .18s,transform .12s,opacity .18s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background-color:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-brand)}@media (hover:hover){.btn--primary:hover:not(:disabled){background-color:var(--brand-hover)}}.btn--secondary{background-color:var(--surface);color:var(--ink);border-color:var(--line-strong)}@media (hover:hover){.btn--secondary:hover:not(:disabled){background-color:var(--brand-tint);border-color:var(--brand)}}.btn--ghost{color:var(--muted);box-shadow:none;background:0 0}@media (hover:hover){.btn--ghost:hover:not(:disabled){color:var(--brand-ink)}}.btn--danger{background-color:var(--red-tint);color:var(--red-ink)}.btn--block{width:100%}.btn--small{min-height:36px;padding:8px 13px;font-size:12px}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-md);border:1px solid var(--line);background-color:var(--surface);color:var(--ink);place-items:center;transition:background-color .15s,border-color .15s;display:grid;position:relative}@media (hover:hover){.icon-btn:hover{background-color:var(--brand-tint);border-color:var(--brand)}}.icon-btn--bare{background-color:var(--sunken);border-color:#0000}.icon-btn__badge{border-radius:var(--radius-pill);background-color:var(--red);color:#fff;text-align:center;border:2px solid var(--surface);min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;line-height:18px;position:absolute;top:2px;right:2px}.card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.card--pad{padding:var(--space-4)}.card__head{align-items:center;gap:var(--space-2);padding:13px var(--space-4);border-bottom:1px solid var(--line);display:flex}.card__title{font-size:13.5px;font-weight:800}.card__empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--faint);align-items:center;gap:var(--space-2);flex-direction:column;font-size:13px;display:flex}.row{width:100%;padding:12px var(--space-4);text-align:left;border-bottom:1px solid var(--line);background-color:var(--surface);color:inherit;align-items:center;gap:11px;min-height:56px;display:flex}.row:last-child{border-bottom:none}@media (hover:hover){button.row:hover{background-color:var(--subtle)}}.row__body{flex:1;min-width:0}.row__title{font-size:13.5px;font-weight:700;display:block}.row__meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.row__end{text-align:right;flex:none}.tag{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:5px;flex:none;padding:4px 7px;font-size:9.5px;font-weight:800}.tag--confirmed{background-color:var(--green-tint);color:var(--green-ink)}.tag--pending{background-color:var(--amber-tint);color:var(--amber-ink)}.tag--test{background-color:var(--brand-tint);color:var(--brand-ink)}.tag--cancelled{background-color:var(--red-tint);color:var(--red-ink)}.chip{white-space:nowrap;border-radius:var(--radius-pill);border:1px solid var(--brand);background-color:var(--surface);min-height:38px;color:var(--brand-ink);flex:none;padding:9px 14px;font-size:12.5px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}@media (hover:hover){.chip:hover{background-color:var(--brand-tint)}}.chip[data-used=true]{border-color:var(--line);background-color:var(--sunken);color:var(--faint)}.chip-static{color:var(--muted);background-color:var(--sunken);border-radius:var(--radius-pill);padding:7px 11px;font-size:11px;font-weight:600}.chip-row{scrollbar-width:none;scroll-snap-type:x proximity;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row>*{scroll-snap-align:start}.chip-row-wrap{position:relative}.chip-row-wrap:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--surface));width:28px;position:absolute;top:0;bottom:0;right:0}.segmented{background-color:var(--sunken);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.segmented__option{min-height:36px;color:var(--muted);border-radius:9px;flex:1;padding:8px 10px;font-size:12.5px;font-weight:700;transition:background-color .18s,color .18s}.segmented__option[aria-pressed=true],.segmented__option[aria-checked=true],.segmented__option[aria-selected=true]{background-color:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-sm)}.field{flex-direction:column;gap:6px;display:flex}.field__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.field__control{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-md);background-color:var(--subtle);color:var(--ink);outline:none;padding:12px;font-size:16px;font-weight:600;transition:border-color .15s,background .15s}.field__control::placeholder{color:var(--faint);font-weight:500}.field__control:focus{border-color:var(--brand);background-color:var(--surface)}.field__control[aria-invalid=true]{border-color:var(--red);background-color:var(--red-tint)}.field__control--mono{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,monospace}.field__control--area{resize:vertical;min-height:150px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.7}.field__error{color:var(--red-ink);font-size:11.5px;font-weight:600}.field__hint{color:var(--muted);font-size:11.5px}.switch{border-radius:var(--radius-pill);background-color:var(--line-strong);flex:none;justify-content:flex-start;width:50px;height:30px;padding:3px;transition:background-color .22s;display:flex}.switch[aria-checked=true]{background-color:var(--brand);justify-content:flex-end}.switch__knob{width:24px;height:24px;transition:transform .22s var(--ease);background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0b0c0c59}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap);display:flex}.switch-row__text{min-width:0}.switch-row__title{font-size:13.5px;font-weight:700}.switch-row__hint{color:var(--muted);margin-top:2px;font-size:12px}.slider{width:100%;accent-color:var(--brand);height:var(--tap)}.slider-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.slider-head__value{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.toast{left:50%;top:calc(var(--safe-top) + 74px);z-index:80;border-radius:var(--radius-pill);color:#fff;max-width:min(92vw,420px);box-shadow:var(--shadow-lg);animation:toast-in .3s var(--ease) both;pointer-events:none;background-color:#0b0c0c;align-items:center;gap:9px;padding:12px 17px;font-size:13px;font-weight:700;display:flex;position:fixed}
.overlay{z-index:40;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.overlay__scrim{background-color:#0b0c0c80;animation:.25s both fade-in;position:absolute;inset:0}.sheet{background-color:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92%;animation:sheet-up .32s var(--ease) both;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.sheet__grabber{background-color:var(--line-strong);border-radius:3px;flex:none;width:38px;height:4px;margin:8px auto 0}.sheet__head{align-items:flex-start;gap:var(--space-3);padding:12px var(--space-4) 10px;border-bottom:1px solid var(--line);flex:none;display:flex}.sheet__title{font-size:17px;font-weight:800;line-height:1.15}.sheet__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:5px;font-size:10.5px;font-weight:700}.sheet__body{overscroll-behavior:contain;min-height:0;padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sheet__body>*,.onboarding__body>*,.screen>*{flex-shrink:0}.sheet__foot{gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--safe-bottom) + var(--space-4));border-top:1px solid var(--line);background-color:var(--surface);flex:none;display:flex}.progress-track{background-color:var(--sunken);flex:none;height:3px}.progress-track__fill{background-color:var(--brand);height:100%;transition:width .3s var(--ease)}.spinner{border:2px solid var(--brand-tint-strong);border-top-color:var(--brand);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack--tight{gap:var(--space-2)}.divider{background-color:var(--line);border:none;height:1px;margin:0}
.calendar__head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.calendar__month{font-size:14.5px;font-weight:800}.calendar__dows{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.calendar__dow{text-align:center;color:var(--faint);font-size:10px;font-weight:700;line-height:1.7}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar__cell{min-height:44px;color:var(--ink);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:700;transition:background-color .15s;display:flex}@media (hover:hover){.calendar__cell:not([aria-pressed=true]):hover:not(:disabled){background-color:var(--brand-tint)}}.calendar__cell[data-has-items=true]{background-color:var(--sunken)}.calendar__cell[aria-pressed=true],.calendar__cell[aria-selected=true]{background-color:var(--brand);color:var(--on-brand)}.calendar__cell:disabled{color:var(--faint);opacity:.6;cursor:not-allowed}.calendar__cell--blank{visibility:hidden;pointer-events:none}.calendar__cell-dot{background-color:#0000;border-radius:50%;width:6px;height:6px}.calendar__cell-dot--lesson{background-color:var(--brand)}.calendar__cell-dot--test{background-color:var(--green)}.calendar__cell[aria-pressed=true] .calendar__cell-dot--lesson,.calendar__cell[aria-pressed=true] .calendar__cell-dot--test{background-color:var(--on-brand)}.legend{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.legend__item{color:var(--muted);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:flex}.legend__swatch{border-radius:50%;width:8px;height:8px}.slot-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.slot{min-height:var(--tap);border-radius:var(--radius-md);border:1px solid var(--line-strong);background-color:var(--surface);font-variant-numeric:tabular-nums;padding:12px 4px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}@media (hover:hover){.slot:not([aria-pressed=true]):hover:not(:disabled){border-color:var(--brand);background-color:var(--brand-tint)}}.slot[aria-pressed=true]{background-color:var(--brand);border-color:var(--brand);color:var(--on-brand)}.slot:disabled{background-color:var(--sunken);color:var(--faint);cursor:not-allowed}.weekday-picker{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.weekday-picker__day{border-radius:var(--radius-md);border:1px solid var(--line-strong);background-color:var(--surface);min-height:42px;color:var(--muted);font-size:11.5px;font-weight:700}.weekday-picker__day[aria-pressed=true]{background-color:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.assistant{flex-direction:column;height:100%;min-height:0;display:flex}.assistant--standalone .assistant__hero{padding-top:calc(var(--safe-top) + var(--space-4))}.assistant--standalone .assistant__composer{padding-bottom:calc(var(--safe-bottom) + var(--space-3))}.assistant__hero{padding:var(--space-4);padding-left:calc(var(--safe-left) + var(--space-4));padding-right:calc(var(--safe-right) + var(--space-4));color:#fff;background-color:#10456f;flex:none}.assistant__kicker{letter-spacing:.13em;text-transform:uppercase;color:#9cc8e8;font-size:9.5px;font-weight:800}.assistant__identity{align-items:center;gap:var(--space-3);margin-top:11px;display:flex}.assistant__avatar{border-radius:var(--radius-lg);background-color:#ffffff1f;border:1px solid #ffffff38;flex:none;place-items:center;width:54px;height:54px;font-size:17px;font-weight:800;display:grid}.assistant__name{align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.assistant__meta{color:#ffffffb8;margin-top:4px;font-size:12px}.assistant__rate{text-align:right;flex:none}.assistant__rate strong{font-size:20px;font-weight:800;display:block}.assistant__rate span{color:#ffffffa6;margin-top:4px;font-size:10px;font-weight:600;display:block}.assistant__tags{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.assistant__tag{color:#dceaf6;border-radius:var(--radius-pill);background-color:#ffffff1f;border:1px solid #ffffff2e;padding:6px 9px;font-size:10.5px;font-weight:600}.assistant__log{overscroll-behavior:contain;min-height:0;padding:var(--space-3);gap:var(--space-2);background-color:var(--canvas);flex-direction:column;flex:1;display:flex;overflow-y:auto}.bubble-row{animation:.3s both fade-in;display:flex}.bubble-row--pupil{justify-content:flex-end}.bubble-row--assistant{justify-content:flex-start}.bubble{max-width:85%;padding:11px 14px;font-size:13.5px;line-height:1.55}.bubble--pupil{background-color:var(--brand);color:var(--on-brand);border-radius:16px 16px 5px;font-weight:600}.bubble--assistant{background-color:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 5px}.typing{background-color:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 5px;gap:4px;padding:14px 16px;display:flex}.typing span{background-color:var(--brand);border-radius:50%;width:6px;height:6px;animation:1.1s infinite dot-bounce}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}.assistant__composer{padding:var(--space-2) var(--space-3) var(--space-3);background-color:var(--surface);border-top:1px solid var(--line);gap:var(--space-2);flex-direction:column;flex:none;display:flex}.composer-input{align-items:flex-end;gap:var(--space-2);display:flex}.composer-input__field{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-xl);background-color:var(--subtle);outline:none;flex:1;max-height:120px;padding:12px 16px;font-size:16px;line-height:1.4}.composer-input__field:focus{border-color:var(--brand);background-color:var(--surface)}.composer-input__send{width:var(--tap);height:var(--tap);background-color:var(--brand);color:var(--on-brand);border-radius:50%;flex:none;place-items:center;display:grid}.composer-input__send:disabled{background-color:var(--line-strong);color:var(--faint)}.setting-icon{background-color:var(--brand-tint);width:38px;height:38px;color:var(--brand-ink);border-radius:11px;flex:none;place-items:center;display:grid}.lead-capture{gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-4);border:1px solid var(--brand);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;animation:.3s both fade-in;display:flex}.lead-capture__head{align-items:center;gap:var(--space-2);color:var(--brand-ink);display:flex}.lead-capture__head h3{color:var(--ink);flex:1;font-size:15px;font-weight:800}.lead-capture__dismiss{background:var(--sunken);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.lead-capture__lede{color:var(--muted);font-size:12.5px;line-height:1.5}.lead-capture--done{border-color:var(--green);background:var(--green-tint);text-align:center;align-items:center}
.summary{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);background-color:var(--subtle);flex-direction:column;gap:9px;display:flex}.summary__row{justify-content:space-between;gap:var(--space-3);display:flex}.summary__key{color:var(--muted);font-size:12.5px}.summary__value{text-align:right;font-size:12.5px;font-weight:700}.summary__total{justify-content:space-between;align-items:baseline;display:flex}.summary__total strong{color:var(--brand-ink);font-size:22px;font-weight:800}.confirm{align-items:center;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2);flex-direction:column;animation:.3s both fade-in;display:flex}.confirm__text{text-align:center}.confirm__text h3{font-size:21px;font-weight:800}.confirm__text p{color:var(--muted);text-wrap:pretty;max-width:300px;margin-top:8px;font-size:13px}

