@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;--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;--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;--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)}.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)}
