:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fbfaf7;--fg:#1f2328;--muted:#5d646c;--line:#d9d6cf;--ctl:#7a766e;--surface:#fff;--taken-bg:#f1dcd6;--taken-fg:#7a2a16;--part-bg:#f6ecc8;--part-fg:#5c4100;--accent:#1d5fa8;--focus:#1f2328;--err:#a3231a;--sun:#b3321f;--sat:#1d5fa8}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--fg:#e8e6e1;--muted:#a0a6ad;--line:#34383e;--ctl:#7b838c;--surface:#1c1f24;--taken-bg:#4a2a22;--taken-fg:#ffc9b8;--part-bg:#3b3317;--part-fg:#f0d98a;--accent:#7ab4ee;--focus:#f2f0eb;--err:#ff9a8f;--sun:#ff9a8a;--sat:#8fc1f3}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.5}.app{max-width:34rem;margin:0 auto;padding:16px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.bar{grid-template-columns:44px 1fr 44px auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.bar-title{text-align:center;font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:600}.btn{border:1px solid var(--ctl);background:var(--surface);min-width:44px;min-height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:8px;padding:0 12px;font-size:1.25rem}.btn:hover{border-color:var(--accent)}.btn-text{font-size:.95rem}.status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.9rem;display:flex}.status[data-state=idle]{display:none}.status[data-state=error]{color:var(--err)}.status [hidden]{display:none}.calendar{touch-action:pan-y pinch-zoom}table{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}th{color:var(--muted);padding:4px 0;font-size:.8rem;font-weight:500}th.sun{color:var(--sun)}th.sat{color:var(--sat)}td{text-align:center;vertical-align:middle;border-radius:6px;height:3.25rem;padding:0}td.day{background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums}td.day .num{font-size:1rem;line-height:1.2;display:block}td.day .mark{min-height:1em;font-size:.75rem;line-height:1;display:block}td.taken{background:var(--taken-bg);border-color:var(--taken-fg);color:var(--taken-fg)}td.taken .mark{font-weight:700}td.partial{background:var(--part-bg);border:1px dashed var(--part-fg);color:var(--part-fg)}td.partial .mark{font-weight:700}td.selected .num{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}td.today{border:2px solid var(--accent);font-weight:700}td.today .mark:before{content:"今" / ""}td.today .mark:not(:empty):before{content:"今 " / ""}.details{margin-top:12px}.details:empty{display:none}.details-date{margin:0;font-weight:600}.details ul{font-variant-numeric:tabular-nums;margin:4px 0 0;padding-left:1.25rem}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin:12px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.swatch{border:1px solid var(--line);border-radius:4px;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:inline-grid}.swatch-taken{background:var(--taken-bg);border-color:var(--taken-fg);color:var(--taken-fg);font-weight:700}.swatch-part{background:var(--part-bg);border:1px dashed var(--part-fg);color:var(--part-fg);font-weight:700}.swatch-today{border:2px solid var(--accent)}.legend[hidden]{display:none}td.day:focus-visible{outline-offset:0}@media (width<=360px){.app{padding:12px}.bar{gap:4px}.btn{padding:0 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){:focus-visible{outline:3px solid highlight}td.day,.swatch{border:1px solid canvastext}td.taken,.swatch-taken{border:3px solid canvastext}td.partial,.swatch-part{border:2px dashed canvastext}td.today,.swatch-today{border:5px double highlight}td.taken.today{border:3px solid highlight}td.partial.today{border:3px dashed highlight}}
