:root{--dsg-border-color:#e8ebed;--dsg-selection-border-color:#4580e6;--dsg-selection-border-radius:2px;--dsg-selection-border-width:2px;--dsg-selection-background-color:#4580e60a;--dsg-selection-disabled-border-color:#9da6ab;--dsg-selection-disabled-background-color:#0000000a;--dsg-corner-indicator-width:10px;--dsg-header-text-color:#9da6ab;--dsg-header-active-text-color:black;--dsg-cell-background-color:white;--dsg-cell-disabled-background-color:#fafafa;--dsg-transition-duration:.1s;--dsg-expand-rows-indicator-width:10px;--dsg-scroll-shadow-width:7px;--dsg-scroll-shadow-color:#0003}.dsg-container{border:solid 1px var(--dsg-border-color);cursor:cell;-webkit-user-select:none;user-select:none;box-sizing:border-box;color:#000;will-change:transform;direction:ltr;background:#fff;border-top:none;border-left:none;width:100%;position:relative;overflow:auto}.dsg-corner-indicator{border-bottom:solid var(--dsg-corner-indicator-width) var(--dsg-header-text-color);border-left:solid var(--dsg-corner-indicator-width) transparent;width:0;margin:auto}.dsg-row{background:var(--dsg-cell-background-color);box-shadow:0 1px var(--dsg-border-color) inset;position:absolute;top:0;left:0}.dsg-row-header{z-index:40;position:sticky;top:0}.dsg-cell{box-sizing:border-box;background:var(--dsg-cell-background-color);border:solid 1px var(--dsg-border-color);box-shadow:1px 1px var(--dsg-border-color);border-bottom:none;border-right:none;align-items:center;height:100%;display:flex;position:absolute;top:0}.dsg-hidden-cell{display:none}.dsg-cell-sticky-right{z-index:30;margin-left:auto;position:sticky;right:0;transform:translateY(-100%)}.dsg-cell-disabled{background:var(--dsg-cell-disabled-background-color)}.dsg-cell-header,.dsg-cell-gutter{color:var(--dsg-header-text-color);transition:color var(--dsg-transition-duration);box-shadow:none}.dsg-cell-header-container{padding:0 10px;line-height:15px}.dsg-cell-header.dsg-cell-gutter{box-shadow:1px 0 var(--dsg-border-color), 0 1px var(--dsg-border-color)}.dsg-cell-header.dsg-cell-sticky-right{box-shadow:0 1px var(--dsg-border-color)}.dsg-cell-gutter{z-index:30;justify-content:center;height:100%;padding:0 5px;position:sticky;left:0}.dsg-cell-header-active,.dsg-cell-gutter-active{color:var(--dsg-header-active-text-color)}.dsg-active-cell,.dsg-selection-rect{border:solid var(--dsg-selection-border-width) var(--dsg-selection-border-color);box-sizing:border-box;border-radius:var(--dsg-selection-border-radius);transition:all var(--dsg-transition-duration);pointer-events:none;z-index:20;position:absolute}.dsg-active-cell-focus{box-shadow:0 2px 5px #0000004d}.dsg-active-cell-disabled,.dsg-selection-rect-disabled{border-color:var(--dsg-selection-disabled-border-color)}.dsg-selection-rect{background:var(--dsg-selection-background-color)}.dsg-selection-rect-disabled{background:var(--dsg-selection-disabled-background-color)}.dsg-scrollable-view-container{pointer-events:none;position:absolute;top:0;left:0}.dsg-scrollable-view{z-index:10;box-sizing:border-box;border:solid 1px var(--dsg-border-color);box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset;border-bottom:none;border-right:none;transition:box-shadow .3s;position:sticky}.dsg-scrollable-view-t{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-r{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-b{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-l{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-t.dsg-scrollable-view-r{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-r.dsg-scrollable-view-b{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-b.dsg-scrollable-view-l{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-l.dsg-scrollable-view-t{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-t.dsg-scrollable-view-b{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-l.dsg-scrollable-view-r{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-t.dsg-scrollable-view-r.dsg-scrollable-view-b{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-r.dsg-scrollable-view-b.dsg-scrollable-view-l{box-shadow:0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-b.dsg-scrollable-view-l.dsg-scrollable-view-t{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-l.dsg-scrollable-view-t.dsg-scrollable-view-r{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-scrollable-view-t.dsg-scrollable-view-r.dsg-scrollable-view-b.dsg-scrollable-view-l{box-shadow:0 var(--dsg-scroll-shadow-width) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, calc(0px - var(--dsg-scroll-shadow-width)) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, 0 calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset, var(--dsg-scroll-shadow-width) 0 var(--dsg-scroll-shadow-width) calc(0px - var(--dsg-scroll-shadow-width)) var(--dsg-scroll-shadow-color) inset}.dsg-selection-col-marker-container{position:absolute;top:0}.dsg-selection-col-marker{background:var(--dsg-selection-border-color);width:100%;height:var(--dsg-selection-border-width);position:sticky}.dsg-selection-row-marker-container{position:absolute;left:0}.dsg-selection-row-marker{background:var(--dsg-selection-border-color);height:100%;width:var(--dsg-selection-border-width);position:sticky}.dsg-selection-col-marker-container,.dsg-selection-col-marker,.dsg-selection-row-marker-container,.dsg-selection-row-marker{z-index:20;transition:all var(--dsg-transition-duration);pointer-events:none}.dsg-selection-col-marker-disabled,.dsg-selection-row-marker-disabled{background:var(--dsg-selection-disabled-border-color)}.dsg-add-row{border:1px solid var(--dsg-border-color);color:#000;background:#fafafa;border-top:none;align-items:center;padding:7px 10px;display:flex}.dsg-add-row>*{margin-right:10px}.dsg-add-row-btn,.dsg-add-row-input{background:#fff;border:1px solid #dcdcdc;border-radius:2px;align-items:center;padding:7px 10px;transition:all .2s;display:flex;position:relative}.dsg-add-row-input{width:55px}.dsg-add-row-btn:hover,.dsg-add-row-input:hover{border-color:#c7c7c7}.dsg-add-row-btn:focus,.dsg-add-row-input:focus{border-color:var(--dsg-selection-border-color);outline:none}.dsg-add-row-btn:before{content:"";background:#9da6ab;width:10px;height:2px;margin-right:10px;display:inline-block}.dsg-add-row-btn:after{content:"";background:#9da6ab;width:2px;height:10px;margin-right:10px;display:block;position:absolute;left:14px}.dsg-input{box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;align-self:stretch;min-width:0;padding:0 10px;font-size:1rem;display:block}.dsg-input-suffix{opacity:.5;margin-left:-5px;padding-right:10px}.dsg-input-align-right{text-align:right}.dsg-hide-date-picker[type=date]::-webkit-inner-spin-button{-webkit-appearance:none;display:none}.dsg-hide-date-picker[type=date]::-webkit-calendar-picker-indicator{-webkit-appearance:none;display:none}.dsg-checkbox{margin:auto}.dsg-context-menu{z-index:10000;color:#000;background:#fff;border-radius:4px;padding:5px 0;position:fixed;box-shadow:0 2px 6px 2px #3c404326}.dsg-context-menu-item{cursor:default;padding:3px 20px}.dsg-context-menu-item:hover{background:#fafafa}.dsg-expand-rows-indicator{background:var(--dsg-cell-background-color);border:solid 1px var(--dsg-selection-border-color);box-shadow:0 0 0 1px var(--dsg-cell-background-color);width:var(--dsg-expand-rows-indicator-width);height:var(--dsg-expand-rows-indicator-width);box-sizing:border-box;transition:all var(--dsg-transition-duration);cursor:crosshair;z-index:25;position:absolute}.dsg-expand-rows-indicator-disabled{border:solid 1px var(--dsg-selection-disabled-border-color)}.dsg-expand-rows-rect{box-sizing:border-box;transition:all var(--dsg-transition-duration);pointer-events:none;background:#00000008;position:absolute}:root{--ground:#f1f4f1;--surface:#fff;--ink:#22302c;--ink-soft:#56645f;--line:#d3dbd5;--ai:#2f4f6f;--ai-deep:#223b54;--wakatake:#4f7f5a;--danger:#a93b32;--shu:#b8432f;--shu-tint:#f8e9e4;--wakatake-tint:#e7f0e8;--focus:#e0a526;--font:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "BIZ UDPGothic", system-ui, sans-serif;--t-small:.875rem;--t-body:1rem;--t-h2:1.25rem;--t-h1:1.5625rem;--t-mark:2.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;word-break:auto-phrase;font-size:100%;line-height:1.75}body{min-height:100dvh;margin:0}h1,h2{margin:0 0 .75rem;font-weight:700;line-height:1.35}h1{font-size:var(--t-h1)}h2{font-size:var(--t-h2)}p{max-width:38em;margin:0 0 1rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page{max-width:40rem;padding:1.5rem 1.25rem 4rem}.page--narrow{max-width:30rem}.page--login{flex-direction:column;justify-content:center;max-width:30rem;min-height:100dvh;padding-block:3rem;display:flex}.shell{min-height:100dvh}.topbar{border-bottom:1px solid var(--line);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.tabs{gap:.25rem;display:flex}.tabs button{font:inherit;font-size:var(--t-small);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.375rem .875rem;font-weight:500}.tabs button.is-current{color:#fff;background:var(--ai)}@media (width<=40rem){.tabs{z-index:2;padding:.375rem .5rem calc(.375rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.tabs button{min-height:2.75rem;font-size:var(--t-body);flex:1}.shell .page{padding-bottom:6rem}}.wordmark{font-size:var(--t-mark);letter-spacing:-.02em;color:var(--ai-deep);margin:0 0 1.25rem;font-weight:900;line-height:1;text-decoration:none}.wordmark:after{content:"";background:var(--wakatake);vertical-align:.08em;border-radius:50%;width:.28em;height:.28em;margin-left:.08em;display:inline-block}.wordmark--small{margin:0;font-size:1.25rem}.nobr{white-space:nowrap}.lede{font-size:var(--t-h2);margin-bottom:2rem;line-height:1.6}.btn{font:inherit;border:1px solid var(--line);background:var(--surface);min-height:2.75rem;color:var(--ink);cursor:pointer;border-radius:.625rem;justify-content:center;align-items:center;padding:.5rem 1.125rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--ai);border-color:var(--ai);color:#fff}.btn--primary:not(:disabled):hover{background:var(--ai-deep)}.btn--large{width:100%;min-height:3.5rem;margin-bottom:1rem;font-size:1.125rem}.btn--quiet{color:var(--ink-soft);text-underline-offset:.2em;background:0 0;border-color:#0000;padding-inline:0;text-decoration:underline}.btn--danger-quiet{white-space:nowrap;color:var(--danger);background:0 0;border-color:#0000;flex:none;min-height:2.25rem;padding-inline:.75rem}.note,.muted{color:var(--ink-soft);font-size:var(--t-small)}.note{margin-top:2rem}.error{color:var(--danger);font-weight:500}.notice{border-left:4px solid var(--ai);background:var(--surface);padding:.5rem 0 .5rem .875rem}.notice--ok{border-left-color:var(--wakatake)}.done-mark{font-size:var(--t-h2);color:var(--wakatake);font-weight:700}.stack{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.stack>p{margin:0}.field{flex-direction:column;gap:.25rem;width:100%;max-width:24rem;margin-bottom:1rem;display:flex}.field>span{font-size:var(--t-small);color:var(--ink-soft)}input,select{font:inherit;border:1px solid var(--line);background:var(--surface);min-height:2.75rem;color:var(--ink);border-radius:.5rem;width:100%;padding:.375rem .75rem}.row-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem;display:flex}.row-form .field{flex:14rem;margin-bottom:0}.section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.list{margin:0 0 1rem;padding:0;list-style:none}.list__item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.list__item:first-child{border-top:1px solid var(--line)}.list__title{margin:0;font-weight:500}.list__meta{font-size:var(--t-small);color:var(--ink-soft);margin:0}.tag{background:var(--ground);border:1px solid var(--line);vertical-align:.1em;border-radius:999px;margin-left:.5rem;padding:.0625rem .5rem;font-size:.75rem;font-weight:500}.dialog{width:min(26rem,100vw - 2rem);color:var(--ink);border:0;border-radius:1rem;padding:1.5rem}.dialog::backdrop{background:#22302c73}.qr{width:240px;height:240px;image-rendering:pixelated;border:1px solid var(--line);border-radius:.5rem}.copy-row{gap:.5rem;width:100%;display:flex}.copy-row input{font-size:var(--t-small)}.copy-row .btn{flex:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topbar{flex-wrap:wrap}.family-switch select{width:auto;max-width:12rem;min-height:2.25rem;padding:.125rem 2rem .125rem .75rem;font-weight:500}@media (width<=30rem){.family-switch{flex-basis:100%;order:3}.family-switch select{width:100%;max-width:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.list__item--stacked{flex-direction:column;align-items:flex-start;gap:.5rem}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.actions:empty{display:none}.btn--small{min-height:2.25rem;font-size:var(--t-small);padding:.25rem .75rem}.btn--inline{padding-inline:0}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.danger-zone{border-left:4px solid var(--danger);margin-top:1.5rem;padding:1rem 0 0 1rem}.invite-title{font-size:var(--t-h1)}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.1875rem;display:inline-flex}.segmented button{font:inherit;font-size:var(--t-small);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.375rem .875rem}.segmented button[aria-selected=true]{background:var(--ai);color:#fff}.today__head{margin-bottom:1.5rem}.today__family{color:var(--ink-soft);font-size:var(--t-small);margin:0}.today__date{margin:0;font-size:1.75rem}.today__section{font-size:var(--t-body);color:var(--ink-soft);align-items:baseline;gap:.5rem;margin:1.75rem 0 .75rem;display:flex}.count{font-size:var(--t-small);color:#fff;background:var(--ink);border-radius:999px;padding:0 .5rem;line-height:1.5}.all-clear{color:var(--wakatake);padding:1rem 0;font-weight:500}.empty{padding:1.5rem 0}.fuda-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.fuda-wrap{perspective:900px}.fuda-inner{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.7,.3,1);position:relative}.is-done .fuda-inner{transform:rotateY(180deg)}.fuda{background:var(--surface);border:2px solid var(--ink);backface-visibility:hidden;border-radius:.375rem;grid-template-columns:1fr auto;grid-template-areas:"body hanko""done done";align-items:center;gap:.75rem 1rem;padding:1rem 1rem 1rem 2.5rem;display:grid;position:relative}.fuda:before{content:"";border:2px solid var(--ink);background:var(--ground);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:1.375rem;left:.875rem}.fuda--overdue{border-color:var(--shu);background:var(--shu-tint)}.fuda--overdue:before{border-color:var(--shu)}.fuda--back{border-color:var(--wakatake);background:var(--wakatake-tint);grid-template-columns:auto 1fr auto;grid-template-areas:"hanko body undo";position:absolute;inset:0;transform:rotateY(180deg)}.fuda--back:before{border-color:var(--wakatake)}.fuda__body{grid-area:body;min-width:0}.fuda__name{margin:0;font-size:1.1875rem;font-weight:700;line-height:1.4}.fuda__name a{color:inherit;text-decoration:none}.fuda__name a:hover{text-decoration:underline}.fuda__meta{font-size:var(--t-small);color:var(--ink-soft);margin:.125rem 0 0}.fuda .hanko{grid-area:hanko}.fuda__done{grid-area:done;min-height:3rem;font-size:1.0625rem}.fuda__undo{grid-area:undo}.hanko{text-align:center;border:2.5px solid;border-radius:50%;flex:none;place-content:center;width:3.75rem;height:3.75rem;line-height:1.15;display:inline-grid;transform:rotate(-9deg)}.hanko b{font-size:1.0625rem;font-weight:900}.hanko span{font-size:.75rem;font-weight:700}.hanko--late{color:var(--shu);box-shadow:inset 0 0 0 2px var(--shu-tint), inset 0 0 0 3px currentColor}.hanko--today{color:var(--ai)}.hanko--done{color:var(--wakatake);width:3rem;height:3rem}.hanko--done b{font-size:1.375rem}.due-soon{font-size:var(--t-small);color:var(--ink-soft);white-space:nowrap}.rows .list__title a{color:inherit;text-decoration:none}.rows__due{text-align:right;white-space:nowrap;margin:0;line-height:1.4}.rows__left{font-weight:500;display:block}.rows__date{font-size:var(--t-small);color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.fuda-inner{transition:none}.is-done .fuda-inner{transform:none}.is-done .fuda:not(.fuda--back){visibility:hidden}.fuda--back{transform:none}}.page--wide{max-width:64rem}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-head h1{margin:0}.chore-table{border-collapse:collapse;width:100%;margin-bottom:1rem}.chore-table th,.chore-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.625rem .75rem .625rem 0}.chore-table thead th{font-size:var(--t-small);color:var(--ink-soft);font-weight:500}.chore-table tbody th a{color:var(--ink);font-weight:700}.chore-table .is-archived{color:var(--ink-soft)}.due-cell{align-items:center;gap:.75rem;display:inline-flex}.due-cell .hanko{width:2.75rem;height:2.75rem}.due-cell .hanko b{font-size:.8125rem}.due-cell .hanko span{font-size:.625rem}@media (width<=40rem){.chore-table thead{display:none}.chore-table tr{border-bottom:1px solid var(--line);padding:.75rem 0;display:block}.chore-table th,.chore-table td{border:0;padding:.125rem 0;display:block}.chore-table td:before{content:attr(data-label) "　";color:var(--ink-soft);font-size:var(--t-small)}}.check{font-size:var(--t-small);align-items:center;gap:.5rem;display:inline-flex}.check input,.radio input,.weekday input{width:auto;min-height:0}.chore-form{flex-direction:column;gap:.25rem;display:flex}.field--short{max-width:16rem}.fieldset{border:0;margin:0 0 1rem;padding:0}.fieldset legend{font-size:var(--t-small);color:var(--ink-soft);margin-bottom:.375rem}.radio{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:.625rem;padding:.5rem 0;display:grid}.radio .muted{grid-column:2}.calendar-rule{border-left:3px solid var(--line);margin-bottom:.5rem;padding-left:1rem}.weekdays{flex-wrap:wrap;gap:.375rem;display:flex}.weekday{position:relative}.weekday input{opacity:0;position:absolute;inset:0}.weekday span{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-weight:500;display:grid}.weekday input:checked+span{background:var(--ai);border-color:var(--ai);color:#fff}.weekday input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.weekdays--wide .weekday span{border-radius:1.375rem;width:3.25rem}.weekdays--months{grid-template-columns:repeat(4,3.5rem);display:grid}.weekdays--months .weekday span{border-radius:1.375rem;width:3.5rem}.preview{background:var(--surface);border-left:4px solid var(--ai);margin:.5rem 0 1.25rem;padding:.625rem .875rem}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.crumb{font-size:var(--t-small);margin:0 0 .25rem}.crumb a{color:var(--ink-soft)}.detail-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.detail-head h1{margin-bottom:.25rem}.detail-sub{color:var(--ink-soft);font-size:var(--t-small)}.next-due{font-size:var(--t-h2)}.facts{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem 1.5rem;margin:0;display:grid}.facts dt{font-size:var(--t-small);color:var(--ink-soft)}.facts dd{font-size:var(--t-h2);margin:0;font-weight:700}.facts__note{font-size:var(--t-small);color:var(--ink-soft);font-weight:400;display:block}.fuda__group{color:var(--ink-soft);margin:0 0 .125rem;font-size:.75rem;font-weight:700}.filters{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1.5rem;margin-bottom:.5rem;display:flex}.filters .field{margin-bottom:0}.filters .check{padding-bottom:.625rem}.group-section{margin-top:1.75rem}.group-heading{font-size:var(--t-h2);border-left:4px solid var(--ink);align-items:baseline;gap:.5rem;padding-left:.625rem;display:flex}.group-heading .muted{font-size:var(--t-small);font-weight:400}.groups-editor summary{cursor:pointer;color:var(--ai);align-items:center;min-height:2.75rem;font-weight:700;display:flex}.groups-editor .list__item{flex-wrap:wrap}.group-row{flex-wrap:nowrap;flex:14rem;margin:0}.group-row input{max-width:14rem}.bulk-scroll{margin:0 -1.25rem 1rem;padding:0 1.25rem;overflow-x:auto}.bulk-table{border-collapse:collapse;width:100%;min-width:56rem}.bulk-table th{text-align:left;font-size:var(--t-small);color:var(--ink-soft);border-bottom:2px solid var(--ink);padding:.375rem .375rem .375rem 0;font-weight:500}.bulk-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.375rem .375rem .375rem 0}.bulk-table td:first-child{min-width:14rem}.bulk-table input,.bulk-table select{min-height:2.5rem}.bulk-table .is-blank input:not(:focus){background:0 0;border-style:dashed}.bulk-table .has-error td{border-bottom:0}.bulk-table .has-error input,.bulk-table .has-error select{border-color:var(--danger)}.bulk-table .row-note td{font-size:var(--t-small);padding-top:0}.cycle-cell{white-space:nowrap;align-items:center;gap:.375rem;display:flex}.cycle-cell input{width:4.5rem}.cycle-rule{border-color:var(--ai);color:var(--ai);font-weight:700}.bulk-grid{--dsg-border-color:var(--line);--dsg-selection-border-color:var(--ai);--dsg-selection-border-radius:2px;--dsg-selection-background-color:#2f4f6f12;--dsg-selection-disabled-border-color:var(--ink-soft);--dsg-selection-disabled-background-color:#22302c0a;--dsg-header-text-color:var(--ink-soft);--dsg-header-active-text-color:var(--ink);--dsg-cell-background-color:var(--surface);--dsg-cell-disabled-background-color:#f7f9f7;--dsg-scroll-shadow-color:#22302c26;margin-bottom:1rem}.bulk-grid .dsg-container{color:var(--ink);background:var(--surface);font-family:var(--font);border-radius:.25rem}.bulk-grid .dsg-cell-header{font-size:var(--t-small);border-bottom:2px solid var(--ink);font-weight:500}.bulk-grid .dsg-input{font:inherit;color:inherit}.bulk-grid .dsg-input:focus-visible{outline:none}.bulk-grid .dsg-context-menu,.dsg-context-menu{font-family:var(--font);color:var(--ink)}.bulk-grid__cell{flex:1;align-self:stretch;align-items:center;min-width:0;display:flex}.bulk-grid__text{white-space:nowrap;text-overflow:ellipsis;padding:0 10px;overflow:hidden}.bulk-grid__hint{color:var(--ink-soft);opacity:.7}.bulk-grid__cell.is-row-error{background:var(--shu-tint)}.bulk-grid__cell.is-invalid{background:var(--shu-tint);color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger);font-weight:500}.bulk-notes{font-size:var(--t-small);margin:0 0 1rem;padding-left:1.25rem}.bulk-notes .error{margin:0}.grid-popover{z-index:50;background:var(--surface);max-height:calc(100vh - 16px);color:var(--ink);font-family:var(--font);border:1px solid var(--line);border-radius:.75rem;padding:.75rem;position:fixed;overflow:auto;box-shadow:0 8px 24px #22302c2e}.pick-list{min-width:10rem;max-height:16rem;margin:0;padding:0;list-style:none;overflow-y:auto}.pick-list li{cursor:pointer;border-radius:.375rem;padding:.375rem .75rem}.pick-list li:hover,.pick-list li.is-hi{background:#2f4f6f1a}.pick-list li[aria-selected=true]{color:var(--ai);font-weight:700}.date-picker__head{justify-content:space-between;align-items:center;margin-bottom:.25rem;font-weight:700;display:flex}.date-picker__grid{grid-template-columns:repeat(7,2.25rem);gap:2px;display:grid}.date-picker__wd{text-align:center;font-size:var(--t-small);color:var(--ink-soft)}.date-picker__day{height:2.25rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%}.date-picker__day:hover{background:#2f4f6f1a}.date-picker__day.is-today{box-shadow:inset 0 0 0 1.5px var(--ai)}.date-picker__day.is-selected{background:var(--ai);color:#fff}.date-picker__foot{font-size:var(--t-small);align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.schedule-picker{width:24rem}.schedule-picker .form-actions{margin:0}.schedule-picker .preview{margin-bottom:.75rem}.interval-field input{width:5.5rem}.bulk-actions{background:var(--ground);padding:.75rem 0;position:sticky;bottom:0}@media (width<=40rem){.bulk-actions{bottom:4.25rem}}.dialog--wide{width:min(44rem,100vw - 2rem)}.templates{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.5rem 1.5rem;max-height:60vh;margin-bottom:1rem;display:grid;overflow-y:auto}.template{font-size:var(--t-body);align-items:flex-start;padding:.25rem 0;display:flex}.template input{margin-top:.4em}@media (width>=40.01rem){.chore-table{table-layout:fixed}.chore-table .c-name{width:28%}.chore-table .c-cycle{width:15%}.chore-table .c-due{width:24%}.chore-table .c-who{width:11%}.chore-table .c-last{width:22%}}.stats__period{margin-bottom:.75rem}.stats__range{color:var(--ink-soft);font-size:var(--t-small)}.stats__headline{margin-bottom:.75rem}.stats__headline b{font-size:var(--t-mark);margin-right:.125rem;font-weight:900;line-height:1}.swatch{vertical-align:-.05em;border-radius:3px;flex:none;width:.75rem;height:.75rem;margin-right:.375rem;display:inline-block}.hbars,.bias,.ranking{margin:0;padding:0;list-style:none}.hbars__row{border-bottom:1px solid var(--line);grid-template-columns:minmax(6rem,10rem) 1fr auto;grid-template-areas:"label track value";align-items:center;gap:.25rem 1rem;padding:.5rem 0;display:grid}.hbars__label{overflow-wrap:anywhere;grid-area:label;font-weight:500}.hbars__value{white-space:nowrap;font-size:var(--t-small);color:var(--ink-soft);grid-area:value}.hbars__value b{font-size:var(--t-h2);color:var(--ink)}.hbars__track{background:var(--ground);border-radius:0 4px 4px 0;grid-area:track;height:.875rem;display:block}.hbars__track--thin{height:.5rem;margin:.25rem 0}.hbars__bar{background:var(--ai);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.hbars__bar--late{background:var(--shu)}@media (width<=40rem){.hbars__row{grid-template-columns:1fr auto;grid-template-areas:"label value""track track"}}.stack-bar{gap:2px;max-width:32rem;height:.875rem;margin:.25rem 0;display:flex}.stack-bar>span{flex-basis:0;min-width:2px}.stack-bar>span:last-child{border-radius:0 4px 4px 0}.stack-bar--punct{height:1.125rem;margin-top:1.25rem}.is-ontime{background:var(--wakatake)}.is-late{background:#dfa597}.is-missed{background:var(--shu)}.bias__row{border-bottom:1px solid var(--line);padding:.625rem 0}.bias__name{margin:0;font-weight:500}.bias__who{font-size:var(--t-small);color:var(--ink-soft);flex-wrap:wrap;gap:.125rem 1rem;margin:0;display:flex}.bias__who>span{white-space:nowrap}.columns{margin:0 0 1.5rem}.columns__title{font-size:var(--t-small);color:var(--ink-soft);margin-bottom:.25rem;font-weight:500}.columns__plot{border-bottom:1px solid var(--ink-soft);gap:2px;max-width:48rem;height:10rem;margin:0;padding:0;list-style:none;display:grid}.columns__col{flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;padding-top:1.25rem;display:flex;position:relative}.columns__num{text-align:center;white-space:nowrap;font-size:.75rem;font-weight:700;line-height:1.25rem}.columns__bar{background:var(--ai);border-radius:4px 4px 0 0;width:100%;max-width:3rem;margin-inline:auto;display:block}.columns__bar.is-zero{height:0}.columns__col:hover .columns__bar{background:var(--ai-deep)}.columns__label{text-align:center;color:var(--ink-soft);white-space:nowrap;font-size:.6875rem;line-height:1.5rem;position:absolute;top:100%;left:-1rem;right:-1rem}.columns__plot{margin-bottom:1.5rem}.ranking__row{border-bottom:1px solid var(--line);gap:.875rem;padding:.625rem 0;display:flex}.ranking__rank{width:1.75rem;font-size:var(--t-h2);color:var(--shu);text-align:right;flex:none;font-weight:900;line-height:1.4}.ranking__body{flex:1;min-width:0;max-width:32rem}.ranking__name{margin:0;font-weight:700}.ranking__meta{font-size:var(--t-small);color:var(--ink-soft);flex-wrap:wrap;gap:0 1rem;margin:0;display:flex}.hcal{margin-bottom:1.5rem}.hcal__legend{font-size:var(--t-small);color:var(--ink-soft);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.hcal__legend li{align-items:center;gap:.375rem;display:inline-flex}.hcal__legend .hcal__day{width:1.75rem;height:1.75rem;font-size:.75rem}.hcal__months{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem 2rem;margin-bottom:.75rem;display:grid}.hcal__month{border-collapse:collapse;table-layout:fixed;width:100%;max-width:22rem}.hcal__month caption{text-align:left;border-bottom:1px solid var(--line);margin-bottom:.25rem;padding-bottom:.25rem;font-weight:700}.hcal__month th{color:var(--ink-soft);padding:.25rem 0;font-size:.75rem;font-weight:500}.hcal__month td{text-align:center;padding:2px 0}.hcal__day{width:2.125rem;height:2.125rem;font-size:var(--t-small);border-radius:50%;place-items:center;line-height:1;display:inline-grid;position:relative}.hcal__day.is-today{text-underline-offset:.2em;font-weight:900;text-decoration:underline}.hcal__day.is-done{background:var(--wakatake);color:#fff;font-weight:700}.hcal__day[class*=due-]{box-shadow:inset 0 0 0 2px var(--ai)}.hcal__day.is-done[class*=due-]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ai)}.hcal__day.due-late{box-shadow:inset 0 0 0 2px var(--shu)}.hcal__day.is-done.due-late{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--shu)}.hcal__day.due-missed{box-shadow:inset 0 0 0 2px var(--shu);color:var(--shu);background:var(--shu-tint)}.hcal__day.due-missed:after{content:"";border-top:2px solid var(--shu);position:absolute;inset:50% 15% auto;transform:rotate(-45deg)}.hcal__day.due-next{box-shadow:inset 0 0 0 2px var(--ai);outline:2px dashed var(--ai);outline-offset:-2px;box-shadow:none;border:0}@media (width<=40rem){.hcal__month{max-width:none}}.bulk-grid__cell.is-changed{box-shadow:inset 3px 0 0 var(--focus);background:#fdf6e3}.bulk-grid__cell.is-changed.is-invalid{background:var(--shu-tint);box-shadow:inset 0 0 0 1.5px var(--danger)}.bulk-grid__cell.is-check{justify-content:center}.bulk-grid__cell.is-check .dsg-checkbox{pointer-events:none;width:1.125rem;height:1.125rem;margin:0}.bulk-grid .dsg-row.is-deleted .bulk-grid__cell:not([data-cell$=-delete]){background:var(--shu-tint);box-shadow:none;color:var(--ink-soft);opacity:.55}.bulk-grid .dsg-row.is-deleted .bulk-grid__cell:not([data-cell$=-delete]) .bulk-grid__text{text-decoration:line-through}.bulk-grid .dsg-row.is-deleted .bulk-grid__cell[data-cell$=-delete]{background:var(--shu-tint);box-shadow:inset 0 0 0 1.5px var(--danger)}.bulk-grid__new{background:var(--ai);color:#fff;font-size:var(--t-small);border-radius:.2rem;padding:0 .3rem;font-weight:700;line-height:1.5;display:inline-block}.bulk-grid .dsg-row.is-new .dsg-cell-gutter{background:#2f4f6f0f}
