:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef0ee;--surface:#fff;--ink:#15191c;--muted:#545c63;--line:#d4d8d6;--signal:#9a4f00;--overdue:#b3261e;--done:#2c6a4c;--focus:#0b57d0;--track:#dde1df;--font-body:"Segoe UI Variable Text", "Segoe UI", Roboto, system-ui, sans-serif;--font-figures:"Bahnschrift SemiCondensed", "Bahnschrift", "Roboto Condensed", "sans-serif-condensed", "Arial Narrow", sans-serif;--step--1:.875rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.6rem;--step-4:2.75rem;--space:1rem;--radius-control:6px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#121416;--surface:#1b1e21;--ink:#e9ecee;--muted:#a3abb2;--line:#2e3337;--signal:#f2a541;--overdue:#ff8a80;--done:#74c69d;--focus:#8ab4f8;--track:#2a2f33}}:root[data-theme=dark]{--bg:#121416;--surface:#1b1e21;--ink:#e9ecee;--muted:#a3abb2;--line:#2e3337;--signal:#f2a541;--overdue:#ff8a80;--done:#74c69d;--focus:#8ab4f8;--track:#2a2f33}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);margin:0;line-height:1.5}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-rows:1fr auto;grid-template-columns:1fr;min-height:100dvh;display:grid}.nav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);order:2;grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.nav button{min-height:56px;font-size:var(--step--1);color:var(--muted);cursor:pointer;background:0 0;border:0;border-top:3px solid #0000}.nav button[aria-current=page]{color:var(--ink);border-top-color:var(--ink);font-weight:600}.main{width:100%;max-width:44rem;padding:calc(var(--space) * 1.5) var(--space) calc(var(--space) * 3);order:1;margin:0 auto}@media (width>=760px){.app{grid-template-rows:1fr;grid-template-columns:13rem 1fr}.nav{border-top:0;border-right:1px solid var(--line);height:100dvh;padding:calc(var(--space) * 1.5) 0;flex-direction:column;order:0;display:flex;position:sticky;top:0}.nav button{text-align:left;min-height:44px;font-size:var(--step-0);border-top:0;border-left:3px solid #0000;padding:0 1.25rem}.nav button[aria-current=page]{border-left-color:var(--ink)}.main{padding-top:calc(var(--space) * 2.5)}}h1{font-size:var(--step-2);margin:0 0 calc(var(--space) * 1.5);letter-spacing:-.01em;font-weight:650;line-height:1.2}h2{font-size:var(--step-1);margin:calc(var(--space) * 2) 0 var(--space);font-weight:600;line-height:1.3}.muted{color:var(--muted)}.periods{margin:0 0 calc(var(--space) * 2);gap:.75rem;padding:0;list-style:none;display:grid}.period{grid-template-columns:5.5rem 1fr 3.5rem;align-items:center;gap:.75rem;display:grid}.period-name{color:var(--muted)}.period-bar{background:var(--track);border-radius:3px;height:6px;overflow:hidden}.period-bar span{background:var(--ink);height:100%;display:block}.period-value{font-family:var(--font-figures);font-variant-numeric:tabular-nums;text-align:right}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);grid-template-columns:4.75rem 1fr auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.count{font-family:var(--font-figures);font-variant-numeric:tabular-nums;text-align:right;line-height:1}.count-number{font-size:var(--step-4);letter-spacing:-.02em;font-weight:600;display:block}.count-caption{font-size:var(--step--1);color:var(--muted);margin-top:.15rem;display:block}.tone-overdue .count-number,.tone-overdue .count-caption{color:var(--overdue)}.tone-today .count-number,.tone-soon .count-number{color:var(--signal)}.row-title{overflow-wrap:anywhere;font-weight:550}.row-meta{font-size:var(--step--1);color:var(--muted)}.check{border:2px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.check:hover{border-color:var(--done)}.check svg{opacity:0;color:var(--done)}.check:hover svg{opacity:1}.btn{border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:44px;padding:0 1rem}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn-danger{color:var(--overdue)}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.form{gap:var(--space);padding:var(--space);background:var(--surface);border:1px solid var(--line);margin-bottom:calc(var(--space) * 1.5);border-radius:8px;display:grid}.field{gap:.3rem;display:grid}.field label,.field legend{font-weight:550;font-size:var(--step--1)}.field input,.field select,.field textarea{border:1px solid var(--muted);border-radius:var(--radius-control);background:var(--bg);width:100%;min-height:44px;padding:.5rem .75rem}.field textarea{resize:vertical;min-height:5rem}.field-row{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.field-hint{font-size:var(--step--1);color:var(--muted)}.field-error,.alert{color:var(--overdue);font-size:var(--step--1)}.alert{padding:.75rem var(--space);border:1px solid var(--overdue);border-radius:var(--radius-control);margin-bottom:var(--space)}.status{padding:var(--space) 0;color:var(--muted)}.empty{padding:calc(var(--space) * 1.5) 0;color:var(--muted)}.group-heading{font-size:var(--step--1);color:var(--muted);margin:calc(var(--space) * 1.5) 0 .25rem;font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.check svg{transition:opacity .12s}}h1:focus{outline:none}.completed-row .count-caption{font-size:var(--step--1);color:var(--muted);text-align:left}.row-plain{border-bottom:1px solid var(--line);padding:.5rem 0}.row-plain .form{margin:0}.notice-region{left:50%;bottom:calc(72px + env(safe-area-inset-bottom));z-index:10;width:min(32rem,100% - 2rem);position:fixed;transform:translate(-50%)}@media (width>=760px){.notice-region{bottom:1.5rem;left:calc(50% + 6.5rem)}}.notice{background:var(--ink);color:var(--bg);border-radius:8px;align-items:center;gap:.5rem;padding:.25rem .25rem .25rem 1rem;display:flex}.notice>span{flex:1}.notice .btn-quiet{color:var(--bg)}.notice-action{font-weight:600;text-decoration:underline}.notice-error{background:var(--overdue);color:var(--bg)}.nav{grid-template-columns:repeat(5,1fr)}.main{position:relative}.theme-select{top:calc(var(--space) * 1.25);right:var(--space);font-size:var(--step--1);color:var(--muted);align-items:center;gap:.4rem;display:flex;position:absolute}.theme-select select{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:36px;padding:0 .4rem}@media (width>=760px){.theme-select{top:calc(var(--space) * 2.4)}}.pinned{margin:0 0 calc(var(--space) * 1.5);gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));padding:0;list-style:none;display:grid}.pin{padding:var(--space);background:var(--surface);border-left:4px solid var(--line);border-radius:4px;display:grid}.pin-number{font-family:var(--font-figures);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:4.25rem;font-weight:600;line-height:.95}.pin-caption,.pin-date{font-size:var(--step--1);color:var(--muted)}.pin-title{overflow-wrap:anywhere;margin-top:.6rem;font-weight:600}.pin.tone-overdue{border-left-color:var(--overdue)}.pin.tone-overdue .pin-number,.pin.tone-overdue .pin-caption{color:var(--overdue)}.pin.tone-today,.pin.tone-soon{border-left-color:var(--signal)}.pin.tone-today .pin-number,.pin.tone-soon .pin-number{color:var(--signal)}.totals{margin-bottom:calc(var(--space) * 1.5)}.totals-label{font-size:var(--step--1);color:var(--muted);margin:0;font-weight:500}.totals-value{font-family:var(--font-figures);font-variant-numeric:tabular-nums;font-size:var(--step-2);margin:0;font-weight:600}.row-paused .row-title,.row-paused .row-meta{color:var(--muted)}.btn[aria-pressed=true]{color:var(--ink);font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.row{grid-template-columns:5.5rem 1fr auto}.row-group{grid-template-columns:1fr auto}.row .actions{gap:0;margin-left:-.5rem}.row .btn-quiet{padding:0 .5rem}.count-number{font-size:clamp(2rem, 9vw, var(--step-4))}
