.cal-tool{text-align:center;width:min(100% - 40px,560px);margin:0 auto;padding:clamp(48px,12vh,116px) 0 64px}.cal-name{color:var(--faint);letter-spacing:.1em;text-indent:.1em;margin:0 0 clamp(28px,6vh,52px);font-size:13px;font-weight:800}.cal-modes{justify-content:center;gap:4px;margin-bottom:22px;display:flex}.cal-modes button{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:7px 14px 6px;font-size:13.5px;font-weight:800}.cal-modes button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}.cal-fields{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px 14px;display:flex}.cal-field{text-align:left;gap:4px;display:grid}.cal-field>span{color:var(--faint);letter-spacing:.1em;font-size:11.5px;font-weight:800}.cal-field input,.cal-field select{border:0;border-bottom:3px solid var(--line);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border-radius:0;padding:8px 2px;font-size:16px;font-weight:700}.cal-field:focus-within input,.cal-field:focus-within select{border-bottom-color:var(--accent)}.cal-field input[type=number]{width:5.5em}.cal-go{background:var(--accent);color:var(--asphalt);font:inherit;cursor:pointer;border:0;border-radius:980px;margin-top:24px;padding:11px 30px;font-size:14.5px;font-weight:850}.cal-go:hover{filter:brightness(1.06)}.cal-opts{border:0;margin:16px 0 0;padding:0}.cal-opts legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.cal-opts label{color:var(--muted);align-items:center;gap:5px;margin:0 8px;font-size:13px;display:inline-flex}.cal-answer{margin-top:clamp(44px,9vh,76px)}.cal-answer[hidden]{display:none}.cal-figure{letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:clamp(3.4rem,15vw,6.2rem);font-weight:900;line-height:.95}.cal-figure small{color:var(--muted);letter-spacing:.02em;margin-top:10px;font-size:clamp(.95rem,3vw,1.05rem);font-weight:800;display:block}.cal-figure.is-none{letter-spacing:-.02em;color:var(--muted);font-size:clamp(1.15rem,4vw,1.5rem)}.cal-because{max-width:42ch;color:var(--muted);text-wrap:pretty;margin:18px auto 0;font-size:14px;line-height:1.8}.cal-because b{color:var(--ink);font-variant-numeric:tabular-nums}.cal-because .nb{white-space:nowrap}.cal-strip{background:var(--line-soft);border-radius:4px;gap:0;height:30px;margin:26px 0 0;display:flex;overflow:hidden}.cal-strip i{flex:1 1 0;min-width:0;display:block}.d-work{background:color-mix(in srgb, var(--ink) 78%, transparent)}.d-weekend{background:var(--line)}.d-holiday{background:var(--accent)}.d-makeup{background:linear-gradient(var(--accent) 45%, color-mix(in srgb, var(--ink) 78%, transparent) 45%)}.cal-legend{color:var(--faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:10px 0 0;font-size:12px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.cal-legend i{border-radius:2px;width:10px;height:10px}.cal-more{text-align:left;margin:34px 0 0}.cal-more details{border-top:1px solid var(--line)}.cal-more summary{color:var(--muted);cursor:pointer;padding:13px 0;font-size:13.5px;font-weight:800;list-style:none}.cal-more summary::-webkit-details-marker{display:none}.cal-more summary:after{content:" ＋";color:var(--faint)}.cal-more details[open] summary:after{content:" －"}.cal-more details[open] summary{color:var(--ink)}.cal-more .body{color:var(--muted);padding:0 0 18px;font-size:13.5px;line-height:1.85}.cal-more .body p{margin:0 0 10px}.cal-more .body p:last-child{margin-bottom:0}.cal-more .body strong{color:var(--ink)}.cal-more .body a{color:var(--accent-ink);font-weight:700}.cal-days{margin:0;padding:0;list-style:none}.cal-days li{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:2px 12px;padding:6px 0;font-size:13.5px;display:flex}.cal-days li b{min-width:9em;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.cal-days li span{color:var(--muted)}.cal-foot{border-top:1px solid var(--line);color:var(--faint);margin-top:44px;padding-top:18px;font-size:12.5px;line-height:2}.cal-foot nav{flex-wrap:wrap;justify-content:center;gap:4px 18px;display:flex}.cal-foot a{color:var(--muted);font-weight:700}.cal-foot a:hover{color:var(--accent-ink)}.cal-foot .src{margin:10px 0 0}.cal-foot .src a{color:var(--faint);font-weight:400;text-decoration:underline}.cal-guard{border-left:3px solid var(--accent);background:var(--surface);max-width:44ch;color:var(--muted);text-align:left;margin:22px auto 0;padding:10px 14px;font-size:12.5px;line-height:1.8}.cal-guard strong{color:var(--ink)}.cal-guard a{color:var(--accent-ink);font-weight:700}.cal-tool a:focus-visible,.cal-tool button:focus-visible,.cal-tool input:focus-visible,.cal-tool select:focus-visible,.cal-tool summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}@media (width<=560px){.cal-tool{width:min(100% - 28px,560px);padding-top:36px}.cal-fields{gap:10px}.cal-days li b{min-width:100%}}.cal-wide{width:min(100vw - 40px,1040px);margin-inline:calc(50% + -1*min(50vw - 20px,520px))}.cal-list{text-align:left;margin:0;padding:0;list-style:none}.cal-list>li{border-bottom:1px solid var(--line-soft);grid-template-columns:4.6em 1fr;align-items:baseline;gap:4px 16px;padding:14px 0;display:grid}.cal-list .lead-num{color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-align:right;font-size:21px;font-weight:900}.cal-list .lead-num small{color:var(--faint);letter-spacing:.1em;font-size:10.5px;font-weight:700;display:block}.cal-list .who{letter-spacing:-.01em;font-size:15px;font-weight:800}.cal-list .who a{color:inherit}.cal-list .who a:hover{color:var(--accent-ink)}.cal-list .when{color:var(--muted);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:13px}.cal-list .why{color:var(--faint);margin:3px 0 0;font-size:12.5px}.cal-list .why b{color:var(--accent-ink);font-weight:800}.cal-list>li.is-next .lead-num{color:var(--accent-ink)}.cal-list>li[hidden]{display:none}.cal-tag{border:1px solid var(--line);color:var(--faint);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10.5px;font-style:normal;font-weight:800}.cal-tag.is-warn{border-color:var(--accent);color:var(--accent-ink)}.cal-note{color:var(--faint);text-align:left;margin:16px 0 0;font-size:12.5px;line-height:1.85}.cal-note strong{color:var(--muted)}.cal-note a{color:var(--accent-ink);font-weight:700}
