:root{color-scheme:light dark;--bg: #fafbfd;--bg-2: #eff2f7;--bg-3: #e3e8f0;--text: #091018;--text-2: #3d4a61;--border: #7d89a1;--accent: #3e56cc;--on-accent: #fafbfd;--gap: 1rem}:root[data-theme=dark]{--bg: #091018;--bg-2: #111927;--bg-3: #1a2436;--text: #f2f5fa;--text-2: #a9b4c7;--border: #5e6c85;--accent: #7898ff;--on-accent: #091018}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #091018;--bg-2: #111927;--bg-3: #1a2436;--text: #f2f5fa;--text-2: #a9b4c7;--border: #5e6c85;--accent: #7898ff;--on-accent: #091018}}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,sans-serif;font-size:112.5%;line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0 auto;max-width:80rem;padding:0 var(--gap) 3rem}a{color:var(--accent);text-underline-offset:.15em}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.skip-link{left:var(--gap);padding:.5rem 1rem;position:absolute;top:-100%;z-index:3}.skip-link:focus{background:var(--bg);top:var(--gap)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.topbar{align-items:flex-start;display:flex;gap:var(--gap);justify-content:space-between;padding-top:1.25rem}.topbar__title{font-size:1.75rem;letter-spacing:-.01em;line-height:1.2;margin:0}.topbar__tagline{color:var(--text-2);margin:.25rem 0 0}.button{align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:.5rem;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;justify-content:center;min-height:2.75rem;min-width:2.75rem;padding:.25rem .9rem}.button:hover{background:var(--bg-3)}.button--icon{font-size:1.25rem;line-height:1;padding:0}.button[aria-pressed=true] .icon-moon,.button[aria-pressed=false] .icon-sun{display:none}.controls{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.75rem var(--gap);margin:1rem calc(-1 * var(--gap)) 0;padding:.75rem var(--gap);position:sticky;top:0;z-index:2}.stepper{align-items:center;display:inline-flex;gap:.25rem}.stepper__value{display:inline-block;font-weight:600;min-width:6.5rem;text-align:center}.count{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 .5rem;margin:0 0 0 auto}.count__value{font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.count__hidden{color:var(--text-2);font-size:.9rem;width:100%}.hint{color:var(--text-2);font-size:.9rem;margin:1rem 0}kbd{border:1px solid var(--border);border-radius:.25rem;font-family:inherit;font-size:.85em;padding:0 .3em}.noscript{border:1px solid var(--border);border-radius:.5rem;padding:var(--gap)}.months{display:grid;gap:1.5rem var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,18.5rem),1fr));user-select:none}.month{border-collapse:separate;border-spacing:2px;margin:0 auto;max-width:24rem;table-layout:fixed;width:100%}.month caption{caption-side:top;padding:0 2px .4rem;text-align:left}.month__head{align-items:baseline;display:flex;font-weight:700;gap:.5rem;justify-content:space-between}.month__count:empty{display:none}.month__count{background:var(--bg-3);border-radius:1rem;font-size:.85rem;font-variant-numeric:tabular-nums;padding:0 .6rem}.month th{color:var(--text-2);font-size:.8rem;font-weight:600;padding:.2rem 0}.month th.weekend{color:var(--text);background:var(--bg-2);border-radius:.35rem}.month td{padding:0}.day{background:transparent;border:1px solid transparent;border-radius:.5rem;color:var(--text);cursor:pointer;display:block;font:inherit;font-size:1rem;font-variant-numeric:tabular-nums;min-height:2.75rem;padding:0;width:100%}.day--weekend{background:var(--bg-2)}.day:hover{border-color:var(--border)}.day--today{box-shadow:inset 0 0 0 2px var(--accent)}.day[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.day[aria-pressed=true]:after{content:" \2713";font-size:.75em}.day--today[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--on-accent)}.footer{border-top:1px solid var(--border);color:var(--text-2);font-size:.9rem;margin-top:3rem;padding-top:1rem}.footer p{margin:.25rem 0}@media(pointer:coarse){.day,.button{min-height:3rem}}@media(prefers-reduced-motion:no-preference){.day,.button{transition:background-color .12s ease,border-color .12s ease}}
