:root{--type-display:"Shippori Mincho", "Hiragino Mincho ProN", Georgia, serif;--type-body:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--type-mono:"M PLUS 1 Code", ui-monospace, monospace;--text-display-size:40px;--text-display-leading:52px;--text-h2-size:24px;--text-h2-leading:34px;--text-body-size:15px;--text-body-leading:25px;--text-mono-size:12px;--text-mono-leading:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:2px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--motion-fast:.14s;--motion-base:.28s;--motion-slow:.56s;--ease:cubic-bezier(.33, 0, .2, 1);--shadow-wash:0 2px 16px #1c1c1a12;--color-bg:#f7f6f1;--color-surface:#fff;--color-fg:#1c1c1a;--color-muted:#6f6e66;--color-accent:#39517b;--color-accent-fg:#f7f6f1;--color-border:#dddbd2;--color-danger:#9a3b3b}[data-theme=dark]{--color-bg:#171613;--color-surface:#201f1a;--color-fg:#ece9df;--color-muted:#a5a296;--color-accent:#8fa6cc;--color-accent-fg:#14213a;--color-border:#38362e;--color-danger:#c97b72;--shadow-wash:0 2px 16px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#171613;--color-surface:#201f1a;--color-fg:#ece9df;--color-muted:#a5a296;--color-accent:#8fa6cc;--color-accent-fg:#14213a;--color-border:#38362e;--color-danger:#c97b72;--shadow-wash:0 2px 16px #00000059}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--type-body);font-size:var(--text-body-size);line-height:var(--text-body-leading);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}.shell-column{max-width:720px;padding:0 var(--space-4) var(--space-7);margin:0 auto}.masthead{padding:var(--space-6) 0 var(--space-4);animation:masthead-settle var(--motion-base) var(--ease) backwards;position:relative}.masthead-date{padding-right:var(--space-7);font-family:var(--type-display);font-weight:600;font-size:var(--text-display-size);line-height:var(--text-display-leading);color:var(--color-fg);margin:0}.masthead-rule{height:3px;margin-top:var(--space-3);background:linear-gradient(90deg, var(--color-fg) 60%, transparent);transform-origin:0;animation:ink-rule-draw var(--motion-slow) var(--ease) backwards;border-radius:2px}.view-tabs{gap:var(--space-5);border-bottom:1px solid var(--color-border);padding:var(--space-3) 0 0;display:flex}.view-tab{appearance:none;padding:var(--space-2) 0 var(--space-1);font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.2em;color:var(--color-muted);cursor:pointer;align-items:center;gap:var(--space-2);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.view-tab:hover{color:var(--color-fg)}.view-tab[aria-current=page]{color:var(--color-fg);border-bottom-color:var(--color-danger)}.view-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.keycap{font-family:var(--type-mono);font-weight:400;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);letter-spacing:.08em;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 var(--space-2);text-transform:lowercase}.view-region{padding:var(--space-5) 0}.filter-hint{margin:0 0 var(--space-3);font-family:var(--type-mono);font-size:var(--text-mono-size);line-height:var(--text-mono-leading);letter-spacing:.08em;color:var(--color-muted)}.empty-state{gap:var(--space-3);font-family:var(--type-body);font-size:var(--text-body-size);line-height:var(--text-body-leading);color:var(--color-muted);flex-direction:column;margin:0;display:flex}.empty-state-glyph{color:var(--color-muted);font-size:24px;line-height:1}@keyframes masthead-settle{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes row-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ink-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.task-row--reveal{animation:row-reveal var(--motion-base) var(--ease) backwards}@media (prefers-reduced-motion:reduce){.masthead,.masthead-rule,.task-row--reveal{animation:none}}@media (width<=1279px){.shell-column{max-width:640px}}@media (width<=767px){.shell-column{max-width:none}.masthead-date{font-size:30px;line-height:40px}.view-tabs{scrollbar-width:none;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.keycap{display:none}}.cheatsheet-scrim{padding:var(--space-7) var(--space-4);z-index:10;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.cheatsheet-scrim:before{content:"";background:var(--color-bg);opacity:.8;position:fixed;inset:0}.cheatsheet{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-wash);padding:var(--space-5) var(--space-5) var(--space-6);position:relative}.cheatsheet-header{padding-bottom:var(--space-3);margin-bottom:var(--space-4);justify-content:space-between;align-items:baseline;display:flex;position:relative}.cheatsheet-header:after{content:"";background:linear-gradient(90deg, var(--color-fg) 60%, transparent);border-radius:2px;height:3px;position:absolute;bottom:0;left:0;right:0}.cheatsheet-title{font-family:var(--type-display);font-weight:600;font-size:var(--text-h2-size);line-height:var(--text-h2-leading);color:var(--color-fg);margin:0}.cheatsheet-close{appearance:none;padding:0 var(--space-1);font-family:var(--type-mono);font-size:var(--text-body-size);line-height:var(--text-body-leading);color:var(--color-muted);cursor:pointer;background:0 0;border:none}.cheatsheet:focus{outline:none}.cheatsheet-close:hover{color:var(--color-fg)}.cheatsheet-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cheatsheet-table{column-gap:var(--space-5);row-gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.cheatsheet-row{align-items:center;column-gap:var(--space-3);grid-template-columns:11ch 1fr;display:grid}.cheatsheet-key{font-family:var(--type-mono);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);letter-spacing:.04em;color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);justify-self:start}.cheatsheet-action{font-family:var(--type-body);font-size:var(--text-mono-size);line-height:var(--text-mono-leading);color:var(--color-muted);margin:0}@media (width<=767px){.cheatsheet-table{grid-template-columns:1fr}}.hanko-seal{top:var(--space-6);border:2.5px solid var(--color-danger);border-radius:var(--radius-md);width:40px;height:40px;transition:background var(--motion-slow) var(--ease);justify-content:center;align-items:center;display:flex;position:absolute;right:0;transform:rotate(4deg)}.hanko-seal--filled{background:var(--color-danger)}.hanko-seal-mark{font-family:var(--type-display);color:var(--color-surface);font-size:20px;font-weight:700;line-height:1}[data-theme=dark] .hanko-seal-mark{color:var(--color-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hanko-seal-mark{color:var(--color-bg)}}@media (width<=767px){.hanko-seal{width:32px;height:32px}.hanko-seal-mark{font-size:16px}}@media (prefers-reduced-motion:reduce){.hanko-seal{transition:none}}.command-bar-region{padding:var(--space-4) 0 0}.command-bar{align-items:flex-start;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-wash);padding:var(--space-3) var(--space-4);transition:border-color var(--motion-fast) var(--ease);display:flex}.command-bar--error{border-color:var(--color-danger)}.command-bar:focus-within{border-color:var(--color-accent)}.command-bar-prompt{padding-top:var(--space-1);gap:3px;display:flex}.prompt-bar{border-radius:var(--radius-pill);background:var(--color-accent);width:3px;height:18px;display:block}.command-bar-error{margin:var(--space-2) 0 0;font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.18em;color:var(--color-danger)}@media (width<=767px){.command-bar{border:none;border-bottom:1px solid var(--color-border);box-shadow:none;padding:var(--space-3) 0;border-radius:0}.command-bar:focus-within{border-color:var(--color-border);border-bottom-color:var(--color-accent)}}.command-bar--command .command-bar-input,.command-bar--command .command-bar-mirror{font-weight:500}.command-bar-listbox{margin:var(--space-1) 0 0;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-wash);list-style:none}.command-bar-option{font-family:var(--type-mono);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);padding:var(--space-1) var(--space-3);cursor:pointer}.command-bar-option--active{color:var(--color-accent);border-left:3px solid var(--color-accent);padding-left:calc(var(--space-3) - 3px)}.command-bar-field{flex:1;position:relative}.command-bar-input,.command-bar-mirror{font-family:var(--type-mono);font-weight:400;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);letter-spacing:normal;padding:var(--space-1) 0;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;border:none;width:100%}.command-bar-input{color:#0000;caret-color:var(--color-fg);resize:none;background:0 0;margin:0;display:block;position:relative;overflow:hidden}.command-bar-input:focus{outline:none}.command-bar-mirror{pointer-events:none;color:var(--color-fg);position:absolute;inset:0;overflow:hidden}.command-bar-chip{color:var(--color-accent);border-bottom:2px solid var(--color-accent);animation:chip-ink-in var(--motion-fast) var(--ease)}@keyframes chip-ink-in{0%{opacity:0}to{opacity:1}}.command-bar-demoted{color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.storage-banner{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-wash);display:flex}.storage-banner-text{font-family:var(--type-body);font-size:var(--text-body-size);line-height:var(--text-body-leading);color:var(--color-danger)}.storage-banner-dismiss{appearance:none;padding:0 var(--space-1);font-family:var(--type-body);font-size:var(--text-body-size);line-height:var(--text-body-leading);color:var(--color-muted);cursor:pointer;background:0 0;border:none}.storage-banner-dismiss:hover{color:var(--color-fg)}.storage-banner-dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.toast-region{bottom:var(--space-5);left:var(--space-5);z-index:10;position:fixed}.toast{align-items:center;gap:var(--space-4);background:var(--color-fg);color:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-wash);padding:var(--space-3) var(--space-4);animation:toast-in var(--motion-base) var(--ease);display:flex}@keyframes toast-in{0%{transform:translateY(var(--space-2));opacity:0}to{opacity:1;transform:translateY(0)}}.toast-message{font-family:var(--type-body);font-weight:500;font-size:var(--text-body-size);line-height:var(--text-body-leading)}.toast-undo{appearance:none;font-family:var(--type-body);font-size:12px;font-weight:500;line-height:var(--text-mono-leading);letter-spacing:.18em;text-transform:uppercase;color:var(--color-bg);cursor:pointer;align-items:center;gap:var(--space-2);background:0 0;border:none;padding:0;display:inline-flex}.toast-undo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.toast-keycap{font-family:var(--type-mono);font-size:var(--text-mono-size);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 var(--space-2);letter-spacing:normal;text-transform:none}.username-gate{min-height:100vh;padding:var(--space-7) var(--space-4);justify-content:center;align-items:center;display:flex}.username-gate-form{width:100%;max-width:360px;animation:gate-settle var(--motion-base) var(--ease) backwards;flex-direction:column;align-items:flex-start;display:flex}.username-gate-glyph{font-family:var(--type-body);color:var(--color-muted);margin-bottom:var(--space-5);font-size:24px;line-height:1}.username-gate-label{font-family:var(--type-display);font-weight:600;font-size:var(--text-h2-size);line-height:var(--text-h2-leading);color:var(--color-fg);display:block}.username-gate-rule{height:3px;margin-top:var(--space-3);border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-fg) 60%, transparent);transform-origin:0;animation:gate-rule-draw var(--motion-slow) var(--ease) backwards;align-self:stretch}.username-gate-input{appearance:none;border:none;border-bottom:1px solid var(--color-border);padding:var(--space-3) 0;margin-top:var(--space-5);font-family:var(--type-body);font-weight:400;font-size:var(--text-body-size);line-height:var(--text-body-leading);color:var(--color-fg);caret-color:var(--color-accent);transition:border-color var(--motion-fast) var(--ease);background:0 0;border-radius:0;align-self:stretch}.username-gate-input:hover{border-bottom-color:var(--color-muted)}.username-gate-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-bottom-color:var(--color-accent)}.username-gate-input[aria-invalid=true]{border-bottom-color:var(--color-danger)}.username-gate-error{margin:var(--space-2) 0 0;font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.18em;color:var(--color-danger)}.username-gate-submit{appearance:none;margin-top:var(--space-6);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background:var(--color-fg);color:var(--color-bg);font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;transition:opacity var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease);border:none}.username-gate-submit:hover{opacity:.88}.username-gate-submit:active{transform:scale(.98)}.username-gate-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes gate-settle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes gate-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.username-gate-form,.username-gate-rule{animation:none}}.task-list{margin:0;padding:0;list-style:none}.task-section-label{margin:var(--space-6) 0 0;font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.2em;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.task-section{margin:0;padding:0;list-style:none}.task-row{align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);cursor:default;display:flex;position:relative}.task-row--rollover .task-row-title{color:var(--color-muted)}.task-row:before{content:"";left:calc(-1 * var(--space-3));top:var(--space-4);bottom:var(--space-4);border-radius:var(--radius-pill);background:var(--color-accent);opacity:0;width:4px;transition:opacity var(--motion-fast) var(--ease);position:absolute}html:not([data-pointer=keyboard]) .task-row:hover:before,.task-row--selected:before,.task-row:focus-visible:before{opacity:1}.task-row:focus-visible{outline:none}.task-row-checkbox{appearance:none;border:2px solid var(--color-fg);border-radius:var(--radius-pill);cursor:pointer;opacity:0;width:17px;height:17px;transition:opacity var(--motion-fast) var(--ease);background:0 0;flex:none;align-self:center;margin:0}.task-row--editing .task-row-checkbox{margin-top:var(--space-1);align-self:flex-start}html:not([data-pointer=keyboard]) .task-row:hover .task-row-checkbox,.task-row:focus-within .task-row-checkbox,.task-row--selected .task-row-checkbox,.task-row--done .task-row-checkbox{opacity:1}.task-row--done .task-row-checkbox{background:var(--color-fg)}.task-row-checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;opacity:1}.task-row-title{font-family:var(--type-display);color:var(--color-fg);cursor:text;font-size:17px;font-weight:600;line-height:26px;position:relative}.task-row--done .task-row-title{color:var(--color-muted);transition:color var(--motion-base) var(--ease)}.task-priority{font-family:var(--type-mono);letter-spacing:.1em;align-self:center;font-size:11px;font-weight:600;line-height:1}.task-priority--1{color:var(--color-danger)}.task-priority--muted{color:var(--color-muted)}.task-row-since{font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.18em;color:var(--color-muted);white-space:nowrap}.task-row-meta{gap:var(--space-3);font-family:var(--type-body);font-weight:500;font-size:var(--text-mono-size);line-height:var(--text-mono-leading);text-transform:uppercase;letter-spacing:.18em;color:var(--color-muted);text-align:right;margin-left:auto;display:flex}.task-row-edit{font-family:var(--type-display);color:var(--color-fg);background:var(--color-surface);border:none;border-bottom:1px solid var(--color-accent);flex:1;padding:0;font-size:17px;font-weight:600;line-height:26px}.task-row-edit:focus{outline:none}.task-row-edit .command-bar-input,.task-row-edit .command-bar-mirror{font-family:var(--type-display);padding:0 0 var(--space-1);font-size:17px;font-weight:600;line-height:26px}@media (width<=767px){.task-row{flex-wrap:wrap}.task-row-meta{margin-left:calc(var(--space-3) + 17px);text-align:left;width:100%}}.brush-stroke{pointer-events:none;width:100%;height:.7em;position:absolute;top:52%;left:0;right:0;transform:translateY(-50%)}.brush-stroke path{fill:var(--color-muted)}.brush-stroke--drawing path{fill:var(--color-fg);fill-opacity:.85}.brush-stroke--drawing{animation:brush-draw var(--motion-base) var(--ease)}@keyframes brush-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.brush-stroke--drawing{animation:none}}.error-boundary{max-width:56ch;margin:var(--space-9) auto;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-wash);color:var(--color-fg)}.error-boundary-title{font-family:var(--type-display);font-size:var(--text-h2-size);line-height:var(--text-h2-leading);margin:0 0 var(--space-3);padding-bottom:var(--space-2);position:relative}.error-boundary-title:after{content:"";background:linear-gradient(to right, var(--color-fg), transparent);width:100%;height:3px;position:absolute;bottom:0;left:0}.error-boundary-body{font-family:var(--type-body);font-size:var(--text-body-size);line-height:var(--text-body-leading);margin:0 0 var(--space-3)}.error-boundary-detail{font-family:var(--type-mono);font-size:var(--text-mono-size);line-height:var(--text-mono-leading);color:var(--color-muted);margin:0 0 var(--space-4);overflow-wrap:anywhere}.error-boundary-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.error-boundary-reload,.error-boundary-reset{font-family:var(--type-body);font-size:12px;font-weight:500;line-height:var(--text-mono-leading);letter-spacing:.18em;text-transform:uppercase;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--motion-fast) var(--ease), background var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease)}.error-boundary-reload{background:var(--color-fg);color:var(--color-bg);border:none}.error-boundary-reload:hover{opacity:.88}.error-boundary-reload:active{transform:scale(.98)}.error-boundary-reload:focus-visible,.error-boundary-reset:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.error-boundary-reset{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.error-boundary-reset:hover{background:var(--color-danger);color:var(--color-bg)}.error-boundary-reset:active{transform:scale(.98)}
