@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}.l-stale{opacity:.55}@media (prefers-reduced-motion:no-preference){.l-stale{transition:opacity .2s ease-out}}.l-draft h2{font-size:24px;font-weight:800}.l-leave{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.l-leave label{gap:6px;font-size:14px;font-weight:600;display:grid}.l-leave input{border:1.5px solid var(--paper-line);background:var(--surface);min-height:48px;color:var(--ink);border-radius:12px;padding:0 12px;font-size:17px}@media (width<=520px){.l-leave{grid-template-columns:minmax(0,1fr)}}.l-draft .l-send{justify-self:start}.l-result{background:var(--paper-2);border-radius:14px;gap:8px;padding:16px;display:grid}.l-head{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1.15}.l-head.open{color:var(--warn)}.l-drafted{background:var(--trip-soft);color:var(--trip);border-radius:8px;margin-top:10px;padding:4px 10px;font-size:15px;display:inline-block}.l-open{color:var(--warn);margin-top:10px;font-size:15px}.run,.month{gap:16px;max-width:760px;margin:0 auto;display:grid}.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}.section-title{font-family:var(--font-display);margin:0;font-size:20px}.linkish{color:var(--trip);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.linkish:hover{text-decoration:underline}a.linkish{text-decoration:none}.linkish.back{font-size:15px}.btn.big{border-radius:12px;min-height:48px;font-size:16px}.btn.small{padding:5px 12px;font-size:13px}a.btn.big{place-items:center;display:grid}.pill-look{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;line-height:1.3;display:inline-block}.pill-look.open{background:var(--warn-soft);color:var(--warn-ink)}.pill-look.pencilled{border:1.5px dashed var(--trip);color:var(--trip);background:var(--surface);padding:1.5px 7.5px}.pill-look.decided{background:var(--trip);color:var(--trip-ink)}.pill-look.booked{background:var(--ok);color:var(--bg)}.winter{background:var(--trip-soft)}.spring{background:var(--school)}.summer{background:var(--warn-soft)}.autumn{background:var(--autumn-soft)}.inbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:10px;padding:16px;display:grid}.inbox-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.inbox h2{font-family:var(--font-display);align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.inbox .count{font-family:var(--font-body);background:var(--trip);color:var(--trip-ink);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.inbox-item{border-left:4px solid var(--trip);background:var(--bg);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 12px;display:flex}.inbox-item>div{flex:220px;gap:2px;min-width:0;display:grid}.inbox-item .when{color:var(--muted);font-size:12px}.inbox-item .what{font-weight:600}.inbox-item .detail{font-size:13.5px}.inbox-item.warn{border-left-color:var(--warn)}.inbox-item.bad{border-left-color:var(--bad)}.inbox .later{margin:0;font-size:13.5px}.leavebar{gap:8px;margin:0;display:grid}.lb-meter{background:var(--weekend);border:1px solid var(--line);border-radius:999px;height:12px;display:flex;overflow:hidden}.lb-meter span{height:100%;display:block}.lb-meter .dec{background:var(--trip)}.lb-meter .pen{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--trip) 45%, var(--trip-soft)) 0 4px, var(--trip-soft) 4px 8px)}.lb-keys{color:var(--muted);flex-wrap:wrap;gap:4px 16px;font-size:14px;display:flex}.lb-keys strong{font-family:var(--font-display);color:var(--ink);font-size:17px}.lb-keys .over{color:var(--bad);font-weight:600}.year{gap:4px;display:grid}.year .section-title{margin-bottom:6px}.chapter{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.chapter.pencilled{border:2px dashed var(--trip)}.chapter.open{border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.ch-band{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;padding:9px 14px;display:flex}.ch-band h3{font-family:var(--font-display);margin:0;font-size:18px}.ch-band .date{font-size:13px}.ch-rows{margin:0;padding:4px 14px;list-style:none;display:grid}.ch-rows li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-block:8px;display:flex}.ch-rows li:first-child{border-top:0}.ch-rows li>span:first-child{gap:1px;min-width:0;display:grid}.ch-rows .what{font-weight:600}.ch-rows .sub{color:var(--muted);font-size:13.5px}.ch-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:8px 14px 10px;font-size:13px;display:flex}.ch-links{align-items:center;gap:14px;margin-left:auto;display:flex}.term{border-left:2px dashed var(--line);color:var(--muted);gap:3px;margin-left:16px;padding:10px 0 10px 16px;font-size:13.5px;display:grid}.term-when{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.term-plan{color:var(--ink)}.deck{gap:14px;max-width:460px;margin:0 auto;display:grid}.deck-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.deck-title{font-family:var(--font-display);margin:0;font-size:22px}.hcard{background:var(--surface);border:1.5px solid var(--line);box-shadow:0 10px 30px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:18px;overflow:hidden}.hcard.pencilled{border:2px dashed var(--trip)}.hcard.decided{border:2px solid var(--trip)}.hcard.booked{border:2px solid var(--ok)}.hcard.waiting{opacity:.6}.hc-band{color:var(--ink);gap:6px;padding:14px 16px;display:grid}.hc-when{justify-content:space-between;align-items:center;gap:8px;display:flex}.hc-when .date{font-size:12.5px}.hc-band h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:26px;line-height:1.12}.hc-place{color:var(--muted);font-size:14px}.hc-body{gap:12px;padding:14px 16px 16px;display:grid}.hc-body p{margin:0}.hc-chips{flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.hc-chips span{border-radius:8px;padding:4px 10px}.hc-chips .leave{background:var(--trip-soft);color:var(--trip)}.hc-chips .plain{background:var(--weekend)}.hc-chips .book{background:var(--warn-soft);color:var(--warn-ink)}.hc-chips .ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.hc-more{color:var(--muted);font-size:13.5px}.deck-actions{gap:10px;display:grid}.deck-row{gap:10px;display:flex}.deck-row .btn{flex:1}.deck-later{justify-self:center;padding:6px}.deck-intro,.deck-done{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:10px;padding:20px;display:grid}.deck-intro h2,.deck-done h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:26px;line-height:1.15}.deck-intro p,.deck-done p{margin:0}.deck-done ul{margin:0;padding:0;list-style:none;display:grid}.deck-done li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-block:10px;display:flex}.deck-done li>span{gap:1px;min-width:0;font-size:14px;display:grid}.quick-setup{max-width:640px;margin:0 auto}.from-draft{justify-items:start;gap:8px;display:grid}.fd-row{background:var(--bg);border-radius:8px;justify-content:space-between;justify-self:stretch;align-items:center;gap:10px;padding:10px 12px;display:flex}.fd-tag{color:var(--ok);white-space:nowrap;font-size:12px;font-weight:600}.field.short{max-width:240px}.import-line{font-size:14px}.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}.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.decided{background:var(--trip-soft);box-shadow:inset 0 0 0 1.5px var(--trip)}.cell .bar.pencilled{border-top:2px dashed var(--trip);border-bottom:2px 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}}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;width:16px;height:10px;display:inline-block}.sw.school{background:var(--school);box-shadow:inset 0 0 0 1px var(--school-edge)}.sw.pencilled{border-top:2px dashed var(--trip);border-bottom:2px dashed var(--trip);border-radius:0;height:6px}.sw.decided{background:var(--trip-soft);box-shadow:inset 0 0 0 1.5px var(--trip)}.hol-num{color:var(--feiertag);font-family:var(--font-data)}.in-month{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;padding:16px;display:grid}.in-month .section-title{margin-bottom:4px}.row-item{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 12px;padding-block:10px;display:flex}.row-item:first-of-type{border-top:0}.row-item>span:first-child{flex:220px;gap:1px;min-width:0;display:grid}.row-item .what{font-weight:600}.row-item .sub{color:var(--muted);font-size:13.5px}.in-month .hol-line{margin:6px 0 0;font-size:13.5px}.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{align-content:start;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)}
