@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-BqOlcezh.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-DkNBMcYd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-CN4VBqpr.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2)format("woff2"),url(/assets/source-sans-3-greek-400-normal-DyO2Yfz5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-eMQk7hmk.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-D5P-Ud2J.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-RR2C27NP.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-Cjpx_pje.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-CloKWf-q.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-CnpzyT-3.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2)format("woff2"),url(/assets/source-sans-3-greek-600-normal-B42bzTIr.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-BzH4Q14_.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-D2VZAM8_.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-Ck0n4g8U.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-COA7LiPB.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-D_p3L75o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-KTP46hTS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2)format("woff2"),url(/assets/source-sans-3-greek-700-normal-C-sAg5NG.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-W-J7ohm4.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-C1ecyfgK.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-B-h9tW5h.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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{--bg:#f3f5f8;--surface:#fff;--ink:#18212c;--muted:#5b6878;--line:#d9dfe7;--weekend:#e9edf2;--school:#d6efe6;--school-we:#c3e5d8;--school-edge:#237a62;--closure:#eef6f2;--feiertag:#c2362b;--trip:#2c56c9;--trip-soft:#dfe7fb;--trip-ink:#fff;--warn:#9a6512;--warn-soft:#fbf0dc;--bad:#b3261e;--bad-soft:#fbe3e1;--ok:#2b7a4b;--focus:#2c56c9;--paper:#fbfaf7;--paper-2:#f3f1eb;--paper-line:#e3e1da;--autumn-soft:#ece6f5;--autumn:#6a4fa3;--warn-ink:#6b450b;--band:#18212c;--band-ink:#e5eaf0;--band-muted:#b7c2cf;--band-accent:#5cc7a6;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10151b;--surface:#182029;--ink:#e5eaf0;--muted:#98a4b3;--line:#2a3440;--weekend:#1d252f;--school:#163a31;--school-we:#1b463b;--school-edge:#5cc7a6;--closure:#172a25;--feiertag:#ff7a6e;--trip:#7d9dff;--trip-soft:#22304f;--trip-ink:#0d1422;--warn:#f0b95a;--warn-soft:#3a2d14;--bad:#ff8a80;--bad-soft:#3d1c1a;--ok:#6fd39a;--focus:#7d9dff;--paper:#12171d;--paper-2:#1a2028;--paper-line:#2a3440;--autumn-soft:#2c2440;--autumn:#b9a2ea;--warn-ink:#f0c987;--band:#0b0f14;--band-ink:#e5eaf0;--band-muted:#98a4b3;--band-accent:#5cc7a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#10151b;--surface:#182029;--ink:#e5eaf0;--muted:#98a4b3;--line:#2a3440;--weekend:#1d252f;--school:#163a31;--school-we:#1b463b;--school-edge:#5cc7a6;--closure:#172a25;--feiertag:#ff7a6e;--trip:#7d9dff;--trip-soft:#22304f;--trip-ink:#0d1422;--warn:#f0b95a;--warn-soft:#3a2d14;--bad:#ff8a80;--bad-soft:#3d1c1a;--ok:#6fd39a;--focus:#7d9dff;--paper:#12171d;--paper-2:#1a2028;--paper-line:#2a3440;--autumn-soft:#2c2440;--autumn:#b9a2ea;--warn-ink:#f0c987;--band:#0b0f14;--band-ink:#e5eaf0;--band-muted:#98a4b3;--band-accent:#5cc7a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num,.date{font-family:var(--font-data);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.landing{background:var(--paper);color:var(--ink);min-height:100vh;font-size:17px;line-height:1.5}.landing h1,.landing h2,.landing h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0}.landing p{margin:0}.l-wrap{max-width:1160px;margin:0 auto;padding-inline:16px}@media (width>=700px){.l-wrap{padding-inline:24px}}.l-mono{font-family:var(--font-data);color:var(--muted);font-size:13px}.l-mono.accent{color:var(--trip)}.l-small{color:var(--muted);font-size:14px}.l-lede{color:var(--muted);max-width:34em;font-size:19px}.l-stack{gap:32px;display:grid}.l-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:18px;display:flex}.l-brand{color:inherit;font-family:var(--font-display);align-items:center;gap:10px;font-size:24px;font-weight:700;text-decoration:none;display:flex}.l-nav{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.l-navlink{color:inherit;font-weight:600;text-decoration:none}.l-pill{color:inherit;border:1px solid var(--paper-line);background:var(--surface);border-radius:999px;padding:8px 16px;font-weight:700;text-decoration:none}@media (width<=700px){.l-navlink{display:none}}.l-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:56px;padding-block:48px 80px;display:grid}.l-intro{gap:22px;padding-top:12px;display:grid}.l-eyebrow{font-family:var(--font-data);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:13px}.l-hero h1{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(40px,5.4vw,68px);font-weight:800;line-height:.98}.l-pick{gap:8px;margin-top:4px;display:grid}.l-pick label{font-weight:700}.l-pick select{border:1.5px solid var(--paper-line);background:var(--surface);max-width:420px;min-height:48px;color:var(--ink);border-radius:12px;padding:0 12px;font-size:17px}.l-side{gap:16px;display:grid}@media (width<=900px){.l-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:24px 56px}}.l-card{background:var(--surface);border:1px solid var(--paper-line);box-shadow:0 16px 48px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:24px;gap:20px;padding:24px;display:grid}.l-total{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:4px;display:flex}.l-big{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(56px,7vw,76px);font-weight:800;line-height:.9}.l-unit{font-family:var(--font-display);font-size:24px;font-weight:700}.l-yearband{gap:6px;display:grid}.l-band-track{background:repeating-linear-gradient(90deg, var(--paper-2) 0, var(--paper-2) 1px, transparent 1px, transparent 8.333%);border-radius:12px;height:64px;position:relative}.l-seg{border:1.5px solid;border-radius:5px;position:absolute;top:0;bottom:0}.s-winter{background:var(--trip-soft);border-color:var(--trip)}.s-spring{background:var(--school);border-color:var(--school-edge)}.s-summer{background:var(--warn-soft);border-color:var(--warn)}.s-autumn{background:var(--autumn-soft);border-color:var(--autumn)}.l-dot{background:var(--warn);border:2px solid var(--surface);border-radius:5px;width:10px;height:10px;margin-left:-5px;position:absolute;bottom:-5px}.l-months{font-family:var(--font-data);color:var(--muted);grid-template-columns:repeat(12,minmax(0,1fr));padding-top:4px;font-size:11px;display:grid}.l-legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.l-legend span{align-items:center;gap:6px;display:inline-flex}.l-key{border-radius:3px;width:12px;height:12px;display:inline-block}.l-key.school{background:var(--school);border:1.5px solid var(--school-edge)}.l-key.bridge{background:var(--warn);border-radius:6px}.l-compare{background:var(--paper-2);border-radius:14px;gap:8px;padding:16px;font-size:15px;display:grid}.l-bar-row{align-items:center;gap:12px;display:flex}.l-bar-row>span{width:130px;color:var(--muted);flex-shrink:0;font-size:14px}.l-bar-track{flex:1}.l-bar{border-radius:6px;height:12px}.l-bar.need{background:var(--school);border:1px solid var(--school-edge);flex:1}.l-bar.have{background:var(--trip)}.l-more{color:var(--trip);justify-self:start;font-weight:600;text-decoration:none}.l-email{background:var(--trip-soft);border-radius:18px;gap:8px;padding:20px;display:grid}.l-email>label{font-weight:700}.l-email-row{flex-wrap:wrap;gap:8px;display:flex}.l-email input{border:1.5px solid var(--line);background:var(--surface);min-height:50px;color:var(--ink);border-radius:12px;flex:220px;padding:0 14px;font-size:17px}.l-send{background:var(--trip);min-height:50px;color:var(--trip-ink);border:0;border-radius:12px;padding:0 22px;font-size:17px;font-weight:700}.l-send:disabled{opacity:.6}.l-sent{font-weight:600}.l-email.centered{text-align:center;background:0 0;justify-items:center;width:100%;max-width:560px;padding:0}.l-email.centered .l-email-row{justify-content:center;width:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.l-chapters{padding-bottom:88px}.l-chapters>header{gap:10px;padding-bottom:28px;display:grid}.l-chapters h2{letter-spacing:-.03em;font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1}.l-chapters ol{margin:0;padding:0;list-style:none}.l-chapter{border-top:1px solid var(--paper-line);grid-template-columns:120px minmax(0,1fr) 240px;align-items:start;gap:32px;padding-block:26px;display:grid}.l-no{font-family:var(--font-data);color:var(--muted);padding-top:10px;font-size:15px}.l-chapter h3{font-size:clamp(30px,3.6vw,44px);font-weight:800;line-height:1.05}.l-chapter .muted{margin-top:4px;font-size:18px}.l-note{background:var(--warn-soft);color:var(--warn-ink);border-radius:8px;margin-top:10px;padding:4px 10px;font-size:15px;display:inline-block}.l-cost{border:0;border-radius:14px;gap:4px;padding:16px 18px;font-size:15px;display:grid}.l-cost span{font-family:var(--font-display);font-size:36px;font-weight:800;line-height:1}.l-gap{color:var(--muted);align-items:center;gap:14px;padding:4px 0 22px 152px;font-size:15px;display:flex}.l-gap i{border-top:2px dotted var(--paper-line);flex-shrink:0;width:40px}@media (width<=900px){.l-chapter{grid-template-columns:minmax(0,1fr);gap:8px}.l-no{padding-top:0}.l-gap{padding-left:0}}.l-steps-band{background:var(--surface);border-block:1px solid var(--paper-line);padding-block:80px}.l-steps-band h2,.l-faq h2,.l-band h2{font-size:clamp(32px,4vw,44px);font-weight:800}.l-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.l-steps li{align-content:start;gap:12px;display:grid}.l-steps h3{font-size:24px}.l-demo{background:var(--paper-2);border-radius:16px;align-content:center;gap:8px;min-height:150px;padding:18px;display:grid}.l-demo-pills{flex-wrap:wrap;gap:6px;display:flex}.l-demo-pills span{border:1.5px solid var(--paper-line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:600}.l-demo-pills .on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.l-demo strong{font-size:19px}.l-demo-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.l-tag{font-family:var(--font-data);background:var(--trip-soft);color:var(--trip);border-radius:6px;padding:3px 8px;font-size:13px}.l-hol{color:var(--feiertag);font-size:13px}.l-todo{background:var(--surface);border:1px solid var(--paper-line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.l-todo i{border:2px solid var(--muted);border-radius:4px;flex-shrink:0;width:16px;height:16px}.l-todo strong{flex:1;font-size:16px}.l-todo .l-mono{color:var(--warn);font-size:12px}.l-soon{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.l-soon span{border:1px dashed var(--muted);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}@media (width<=900px){.l-steps{grid-template-columns:minmax(0,1fr)}.l-steps-band{padding-block:56px}}.l-band{background:var(--band);color:var(--band-ink);padding-block:72px}.l-band h2{color:var(--band-ink)}.l-priv{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.l-priv div{border-top:2px solid var(--band-accent);align-content:start;gap:8px;padding-top:14px;display:grid}.l-priv strong{font-size:19px}.l-priv span{color:var(--band-muted)}@media (width<=900px){.l-priv{grid-template-columns:minmax(0,1fr);gap:16px}.l-band{padding-block:56px}}.l-faq{gap:4px;max-width:820px;padding-block:72px 24px;display:grid}.l-faq h2{margin-bottom:12px}.l-faq details{border-bottom:1px solid var(--paper-line)}.l-faq summary{cursor:pointer;padding:16px 0;font-size:18px;font-weight:600}.l-faq details p{color:var(--muted);padding-bottom:18px}.l-final{text-align:center;justify-items:center;gap:22px;padding-block:72px 88px;display:grid}.l-final h2{letter-spacing:-.02em;text-wrap:balance;max-width:13em;font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.02}.l-foot{color:var(--muted);border-top:1px solid var(--paper-line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px 40px;font-size:14px;display:flex}.l-foot nav{gap:18px;display:flex}.l-foot a{color:inherit}.year-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.year-head .page-title{margin:0}.year-head .btn.quiet{padding:4px 10px;font-size:22px;line-height:1}.spacer{flex:1}.summary{grid-template-columns:minmax(200px,300px) minmax(0,1fr);align-items:center;gap:10px 24px;padding:14px 18px;display:grid}@media (width<=720px){.summary{grid-template-columns:minmax(0,1fr)}}.leftnum{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.big{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1}.big small{font-family:var(--font-body);color:var(--muted);font-size:14px;font-weight:400}.big-sm{font-weight:600}.meter{background:var(--weekend);border:1px solid var(--line);border-radius:999px;height:10px;margin-top:8px;display:flex;overflow:hidden}.meter span{height:100%;display:block}.meter .booked{background:var(--trip)}.meter .locked{background:color-mix(in srgb, var(--trip) 45%, var(--trip-soft))}.meter .idea{background:repeating-linear-gradient(135deg, var(--trip-soft) 0 4px, var(--surface) 4px 8px)}.meter .over{background:var(--bad)}.sum-right{gap:6px;min-width:0;font-size:14px;display:grid}.sum-right .line{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.pill{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.pill.ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.bad{color:var(--bad);background:var(--bad-soft)}details.checks summary{cursor:pointer;list-style:none;display:inline-flex}details.checks summary::-webkit-details-marker{display:none}.issues{gap:6px;margin-top:8px;display:grid}.issue{border-radius:6px;padding:7px 10px;font-size:13px}.issue.warning{background:var(--warn-soft);color:var(--warn)}.issue.error{background:var(--bad-soft);color:var(--bad)}.ribbon{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px 8px}.rb-track{height:34px;position:relative}.rb-months{display:flex;position:absolute;inset:0}.rb-months div{border-left:1px solid var(--line);height:100%}.rb-months div:first-child{border-left:0}.rb-block{border-radius:3px;position:absolute}.rb-block.sch{background:var(--school);height:14px;box-shadow:inset 0 0 0 1px var(--school-edge);top:2px}.rb-block.clo{background:var(--closure);height:14px;box-shadow:inset 0 0 0 1px var(--school-edge);opacity:.7;top:2px}.rb-block.trip{height:10px;top:20px}.rb-block.trip.booked{background:var(--trip)}.rb-block.trip.locked{background:var(--trip-soft);box-shadow:inset 0 0 0 1px var(--trip)}.rb-block.trip.idea{border:1.5px dashed var(--trip)}.rb-tick{background:var(--feiertag);opacity:.8;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.rb-labels{margin-top:4px;display:flex}.rb-labels span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-left:3px;font-size:11px;font-weight:600;overflow:hidden}@media (width<=560px){.rb-labels span{letter-spacing:0;font-size:9.5px}}.tl{padding-left:30px;display:grid;position:relative}.tl:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:10px}.ch{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:10px;margin-block:6px;padding:16px 18px;display:grid;position:relative}.ch:before{content:"";background:var(--school-edge);width:14px;height:14px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:22px;left:-26px}.ch.open:before{background:var(--bg);border:2.5px solid var(--warn);width:10px;height:10px}.ch.open{border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.ch-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.ch-title{font-family:var(--font-display);margin:0;font-size:clamp(20px,3vw,26px);font-weight:700;line-height:1.1}.ch-when{font-family:var(--font-data);color:var(--muted);font-size:13px}.ch-plans{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ch-plans li{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.ch-plans .what{font-weight:600}.ch-plans .sub{color:var(--muted);font-size:13.5px}.ch-plans .due{flex-basis:100%;padding-left:2px;font-size:13px}.ch-plans .due:before{content:"→ ";color:var(--muted)}.ch-open{background:var(--warn-soft);color:var(--warn);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.ch-open .btn{color:var(--ink)}.ch-foot{color:var(--muted);border-top:1px solid var(--line);padding-top:8px;font-size:13px}.status{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.status.booked{background:var(--trip);color:var(--trip-ink)}.status.locked{background:var(--trip-soft);color:var(--trip)}.status.idea{border:1px dashed var(--trip);color:var(--trip)}.linkish{color:var(--trip);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.linkish:hover{text-decoration:underline}.gap{gap:4px;padding:10px 4px 10px 2px;display:grid;position:relative}.gap:before{content:"";background:var(--surface);border:2px solid var(--line);border-radius:50%;width:10px;height:10px;position:absolute;top:15px;left:-24px}.gap-when{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.gap.quiet{padding-block:6px}.facts{gap:4px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.facts li{grid-template-columns:10px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.facts li:before{content:"";border-radius:2px;width:8px;height:8px;transform:translateY(-1px)}.facts .trip:before{background:var(--trip)}.facts .clo:before{border:1.5px dashed var(--school-edge)}.facts .hol:before{background:var(--feiertag);border-radius:50%}.facts .dl:before{border:1.5px solid var(--ink);border-radius:50%}.facts .br:before{border:1.5px dashed var(--trip)}.scrim{background:color-mix(in srgb, var(--ink) 35%, transparent);z-index:20;position:fixed;inset:0}.sheet{z-index:21;background:var(--surface);border-left:1px solid var(--line);width:min(440px,100%);padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(18px + env(safe-area-inset-bottom,0px));align-content:start;gap:14px;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.sheet h2{font-family:var(--font-display);margin:0;font-size:22px}.costbox{background:var(--bg);border:1px solid var(--line);border-radius:10px;align-content:center;gap:4px;min-height:64px;padding:12px 14px;display:grid}.costbox .big{font-size:28px}.actions-right{gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.sheet{animation:.18s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(24px)}}}.bookings{gap:10px;display:grid}.bookings legend{margin-bottom:4px;font-size:13px;font-weight:600}.booking{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px 10px;padding:10px;display:grid}.booking .wide{grid-column:1/-1}.booking .btn.quiet{justify-self:start;padding-inline:0}.mlayout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (width<=900px){.mlayout{grid-template-columns:minmax(0,1fr)}}.cal{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.cal-head,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-head div{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px;font-size:12px;font-weight:600}.cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;background:0 0;align-content:start;gap:2px;min-width:0;min-height:84px;padding:6px 6px 18px;display:grid;position:relative}.cell:nth-child(7n){border-right:0}.cell.blank{background:repeating-linear-gradient(135deg, transparent 0 5px, var(--weekend) 5px 6px);cursor:default}.cell.we{background:var(--weekend)}.cell.sch{background:var(--school);box-shadow:inset 0 3px 0 var(--school-edge)}.cell.sch.we{background:var(--school-we)}.cell.clo{background:var(--closure);box-shadow:inset 0 3px 0 var(--school-edge)}.cell .d{font-family:var(--font-data);font-size:13px}.cell .lbl{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.cell.hol .d,.cell .lbl.h{color:var(--feiertag);font-weight:600}.cell .bar{height:8px;position:absolute;bottom:4px;left:0;right:0}.cell .bar.booked{background:var(--trip)}.cell .bar.locked{background:var(--trip-soft);box-shadow:inset 0 0 0 1px var(--trip)}.cell .bar.idea{border-top:1.5px dashed var(--trip);border-bottom:1.5px dashed var(--trip)}.cell .bar.s{border-top-left-radius:4px;border-bottom-left-radius:4px;left:6px}.cell .bar.e{border-top-right-radius:4px;border-bottom-right-radius:4px;right:6px}.cell:hover:not(.blank){outline:1px solid var(--muted);outline-offset:-1px;z-index:1}@media (width<=600px){.cell{min-height:56px;padding:4px 3px 14px}.cell .lbl{display:none}}.side{gap:12px;min-width:0;display:grid}.side-card{gap:8px;padding:14px 16px;display:grid}.side-card h3{font-size:15px}.list{margin:0;padding:0;list-style:none;display:grid}.item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding-block:8px;display:grid}.list .item:first-child{border-top:0;padding-top:0}.list .item:last-child{padding-bottom:0}.item .t{min-width:0;font-weight:600}.item .s{color:var(--muted);grid-column:1;min-width:0;font-size:13px}.item .a{grid-area:1/2/span 2}.rb-labels a{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-left:3px;font-size:11px;font-weight:600;text-decoration:none;overflow:hidden}.rb-labels a:hover{color:var(--ink);text-decoration:underline}@media (width<=560px){.rb-labels a{letter-spacing:0;font-size:9.5px}}.ch-foot{flex-wrap:wrap;justify-content:space-between;gap:6px 14px;display:flex}a.linkish{text-decoration:none}.wrap{gap:20px;max-width:1040px;margin:0 auto;padding-block:20px 40px;padding-inline:16px;display:grid}.top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;display:flex}h1{font-family:var(--font-display);margin:0;font-size:clamp(26px,4vw,34px);font-weight:700;line-height:1.05}.top p{margin:4px 0 0}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.stack{gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:18px 20px}.card.subtle{background:0 0}.card.narrow{max-width:480px}.card h2,.card h3{font-family:var(--font-display);margin:0}.card h2{font-size:22px}.card h3{font-size:18px}.card p{margin:0}.page-title{font-family:var(--font-display);text-wrap:balance;margin:2px 0 6px;font-size:clamp(24px,3.4vw,30px)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.field{gap:5px;min-width:0;display:grid}.field label,legend{font-size:13px;font-weight:600}.field input,.field select{border:1px solid var(--line);background:var(--bg);border-radius:8px;width:100%;padding:9px 11px}.field input[aria-invalid=true]{border-color:var(--bad)}.help{color:var(--muted);font-size:13px}.row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=560px){.row2{grid-template-columns:minmax(0,1fr)}}fieldset{border:0;min-width:0;margin:0;padding:0}.choices{flex-wrap:wrap;gap:8px 16px;display:flex}.choices legend{margin-bottom:8px}.check{align-items:center;gap:6px;font-size:14px;display:inline-flex}.child{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 110px minmax(0,1.4fr) auto;align-items:end;gap:10px;padding-block:10px;display:grid}@media (width<=640px){.child{grid-template-columns:minmax(0,1fr) 110px}.child .wide{grid-column:1/-1}}.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.quiet{color:var(--muted);background:0 0;border-color:#0000}.actions{justify-content:space-between;gap:10px;display:flex}.form-error{color:var(--bad);background:var(--bad-soft);border-radius:8px;margin:0;padding:9px 12px}.summary-list{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0}.windows{margin:10px 0 0;padding:0;list-style:none;display:grid}.windows li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding-block:8px;display:flex}.windows li:first-child{border-top:0}.windows .name{font-weight:600}footer{font-size:12px}.brand{color:inherit;text-decoration:none}a.btn{color:inherit;text-decoration:none;display:inline-block}a.btn.primary{color:var(--bg)}.copyrow{gap:8px;display:flex}.copyrow input{min-width:0;font-family:var(--font-data);flex:1;font-size:13px}.howto{color:var(--muted);gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.row-buttons{flex-wrap:wrap;gap:8px;display:flex}footer{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;display:flex}.footer-links{gap:14px;display:flex}.footer-links a{color:inherit}.danger-zone{border-color:color-mix(in srgb, var(--bad) 35%, var(--line))}.btn.danger{color:var(--bad)}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:var(--bg)}.legal{gap:10px;max-width:760px;display:grid}.legal h3{margin-top:8px;font-size:16px}.legal p{line-height:1.55}.legal a{color:var(--trip)}
