:root{color-scheme:light dark;--bg:#fff;--surface:#f3f5f9;--ink:#1d1d1f;--ink-muted:#656b78;--line:#e2e5ec;--accent:#1463eb;--on-accent:#fff;--accent-hover:#0f52c7;--holiday:#d32f2f;--on-holiday:#fff;--bridge:#c25e00;--blocked:#656b78;--rest-band:#dce8ff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.75rem;--fs-2xl:2.5rem;--fs-3xl:clamp(2.5rem, 6vw + 1rem, 5rem);--lh-tight:1.15;--lh-body:1.5;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4.5rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-pill:999px;--gutter:.75rem;--page-max:75rem;--cell-min-h:1.75rem;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (width>=40rem){:root{--gutter:1.5rem}}@media (prefers-color-scheme:dark){:root{--bg:#182031;--surface:#222b3e;--ink:#f3f5fa;--ink-muted:#aab4c8;--line:#34405a;--accent:#7ab2ff;--on-accent:#0a1830;--accent-hover:#9cc6ff;--holiday:#ff857a;--on-holiday:#2a0605;--bridge:#ffb23e;--blocked:#aab4c8;--rest-band:#253a63}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line) transparent}body{--page-pad:max(var(--gutter), calc((100% - var(--page-max)) / 2));background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}main{padding:var(--sp-5) var(--page-pad)}h1,h2,h3{line-height:var(--lh-tight);text-wrap:balance;margin:0}h1{font-size:var(--fs-3xl);letter-spacing:-.03em;font-weight:700}h2{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:650}h3{font-size:var(--fs-lg);font-weight:600}p{max-width:70ch;margin:0}a{color:var(--accent);text-underline-offset:.2em}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body>header{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--page-pad);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}body>header .logo{align-items:center;gap:var(--sp-2);color:var(--ink);letter-spacing:-.02em;font-weight:700;text-decoration:none;display:inline-flex}body>header nav{gap:var(--sp-3);display:flex}body>header nav a{color:var(--ink-muted);text-decoration:none}body>header nav a[aria-current]{color:var(--ink);font-weight:600}.cal{gap:var(--sp-5);display:grid}.cal-legend{gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--ink-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cal-legend li{align-items:center;gap:var(--sp-2);display:flex}.cal-key{flex:none;width:1.5rem;height:1.5rem}.cal-grid{gap:var(--sp-6) .3rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-.375rem;display:grid}@media (width>=40rem){.cal-grid{column-gap:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:0}}@media (width>=64rem){.cal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cal-month h3{margin-bottom:var(--sp-2);font-size:var(--fs-md);text-transform:capitalize;font-weight:650}.cal-days{border-top:1px solid var(--line);padding-top:var(--sp-1);grid-template-columns:repeat(7,minmax(0,1fr));row-gap:1px;display:grid}.cal-wd{padding:var(--sp-1) 0;text-align:center;font-size:var(--fs-xs);color:var(--ink);font-weight:600}.cal-wd.is-weekend{color:var(--ink-muted);font-weight:500}.cal-day{min-height:var(--cell-min-h);color:var(--ink);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:default;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;margin:0;padding:0;line-height:1;display:grid;position:relative}button.cal-day{--cell-min-h:2.5rem;cursor:pointer}button.cal-day:focus-visible{outline-offset:-2px;border-radius:var(--radius-sm)}@media (hover:hover){button.cal-day:where(:not(.is-holiday,.is-tolerance,.is-bridge,.is-leave,.is-blocked)):hover:before{background:var(--surface);outline:1px solid var(--line)}}.cal-day.is-weekend{color:var(--ink-muted)}.cal-day:before{content:"";width:min(calc(100% - 2px), calc(var(--cell-min-h) - 4px), 2rem);aspect-ratio:1;box-sizing:border-box;z-index:-1;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.cal-day.cal-key:before{width:100%}.cal-day{isolation:isolate}.cal-day.is-rest{background:linear-gradient(var(--rest-band), var(--rest-band)) center / 100% 75% no-repeat}.cal-day.is-holiday:not(.is-tolerance){color:var(--on-holiday);font-weight:700}.cal-day.is-holiday:not(.is-tolerance):before{background:var(--holiday);border-radius:50%}.cal-day.is-tolerance{font-weight:600}.cal-day.is-tolerance:before{border:2px dotted var(--holiday);border-radius:50%}.cal-day.is-bridge:before{border:2px dashed var(--bridge);border-radius:var(--radius-sm)}.cal-day.is-bridge{font-weight:700}.cal-day.is-leave{color:var(--on-accent);font-weight:700}.cal-day.is-leave:before{background:var(--accent);border-radius:var(--radius-sm);border:0}.cal-day.is-fixed:before{width:min(calc(100% - 8px), calc(var(--cell-min-h) - 8px), 1.75rem);box-shadow:0 0 0 1px var(--bg), 0 0 0 2.5px var(--accent)}.cal-day.is-blocked{color:var(--ink);font-weight:500}.cal-day.is-blocked:before{background:repeating-linear-gradient(135deg, var(--blocked) 0 1px, transparent 1px 5px);border:1.5px solid var(--blocked);border-radius:var(--radius-sm);opacity:.4}.cal-day[data-tip-title]{cursor:pointer}.cal-day[data-tip-title]:after{content:"";width:min(calc(100% + 2px), calc(var(--cell-min-h) + 2px), 2.25rem);aspect-ratio:1;transition:outline-color .15s var(--ease-out);pointer-events:none;border-radius:50%;outline:1.5px solid #0000;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.cal-day.is-bridge[data-tip-title]:after{border-radius:calc(var(--radius-sm) + 2px)}@media (hover:hover){.cal-day[data-tip-title]:hover:after{outline-color:var(--ink-muted)}}.cal-day[aria-describedby=day-tip]:after{outline-color:var(--ink)}span.cal-day[data-tip-title]:focus-visible{outline:none}span.cal-day[data-tip-title]:focus-visible:after{outline:2px solid var(--accent)}.day-tip{z-index:40;max-width:min(17rem,100vw - 1rem);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--ink);color:var(--bg);font-size:var(--fs-sm);pointer-events:auto;transition:opacity .14s var(--ease-out), translate .14s var(--ease-out);gap:.125rem;line-height:1.35;display:grid;position:fixed}@starting-style{.day-tip{opacity:0;translate:0 3px}}.day-tip:before{content:"";left:var(--caret-x,50%);background:inherit;border-radius:2px;width:.75rem;height:.75rem;position:absolute;translate:-50%;rotate:45deg}.day-tip[data-side=top]:before{bottom:-.3rem}.day-tip[data-side=bottom]:before{top:-.3rem}.day-tip[hidden]{display:none}.day-tip-title{font-size:var(--fs-md);font-weight:650}.day-tip-meta{opacity:.72}.day-tip-meta:first-letter{text-transform:uppercase}.day-tip-note{margin-top:var(--sp-1)}.day-tip-link{min-height:2.25rem;margin-top:var(--sp-1);color:inherit;text-underline-offset:.2em;align-items:center;font-weight:650;text-decoration:underline;display:inline-flex}.day-tip-link:focus-visible{outline-color:var(--bg)}@media (prefers-reduced-motion:reduce){.day-tip{transition:none}}@media (forced-colors:active){.day-tip{border:1px solid canvastext}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (forced-colors:active){.cal-day.is-holiday:not(.is-tolerance):before{background:0 0;border:2px solid canvastext}.cal-day.is-leave:before{background:0 0;border:3px solid highlight}.cal-day.is-fixed:before{outline-offset:2px;outline:2px solid highlight}.cal-day.is-rest{background:linear-gradient(graytext,graytext) 50%/100% 2px no-repeat}.cal-day.is-blocked:before{opacity:1;background:0 0;border:2px dashed graytext}}.logo-mark{flex:none;width:1.5em;height:1.5em}.logo-mark .lm-sheet{fill:var(--bg);stroke:var(--ink);stroke-width:4px}.logo-mark .lm-top{fill:var(--ink)}.logo-mark .lm-rest{fill:var(--rest-band)}.logo-mark .lm-holiday{fill:var(--holiday)}.logo-mark .lm-leave{fill:var(--accent)}body>footer{gap:var(--sp-4);padding:var(--sp-6) var(--page-pad);margin-top:var(--sp-7);border-top:1px solid var(--line);color:var(--ink-muted);flex-wrap:wrap;font-size:.875rem;display:flex}body>footer a{color:var(--ink-muted)}.prose{max-width:42rem;padding:var(--sp-6) var(--page-pad) 0;line-height:1.6}.prose h2{margin-top:var(--sp-6);font-size:1.125rem}
