#app[hidden],#archive-root[hidden]{display:none!important}:root{color-scheme:light;--font-ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--font-serif: var(--font-ui);--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--step--1: .78rem;--step-0: .875rem;--step-1: 1rem;--step-2: 1.2rem;--step-3: 1.44rem;--step-display: 3.5rem;--gap-1: 4px;--gap-2: 8px;--gap-3: 12px;--gap-4: 16px;--gap-5: 24px;--gap-6: 32px;--gap-7: 48px;--radius: 2px;--dur-fast: .12s;--dur-base: .18s;--ease-stamp: cubic-bezier(.2, .9, .2, 1);--ground: #e8e9e4;--sheet: #f7f7f4;--ink: #16191c;--ink-soft: #565c60;--ink-ghost: #676c64;--rule: #bcc1b6;--rule-soft: #d3d6cd;--seal: #a33a2b;--seal-soft: rgba(163, 58, 43, .12);--selection: rgba(163, 58, 43, .16);--focus: #a33a2b;--scrim: rgba(22, 25, 28, .42)}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-1);line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--selection)}textarea,input{caret-color:var(--seal)}*:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule);border:3px solid var(--ground);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.btn{font:inherit;font-size:var(--step-0);line-height:1;padding:10px 14px;min-height:40px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--sheet);white-space:nowrap;cursor:pointer;transition:background var(--dur-base) ease,color var(--dur-base) ease,border-color var(--dur-base) ease,transform var(--dur-fast) var(--ease-stamp)}.btn:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;background:var(--rule-soft);border-color:var(--rule);color:var(--ink-ghost)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn--ghost:hover{background:var(--sheet);border-color:var(--ink-soft);color:var(--ink)}.btn--quiet{background:transparent;color:var(--ink-soft);border-color:transparent;padding:8px 10px;min-height:36px}.btn--quiet:hover{background:transparent;color:var(--ink);border-color:var(--rule)}.btn--danger{background:transparent;color:var(--seal);border-color:var(--seal)}.btn--danger:hover{background:var(--seal-soft);border-color:var(--seal);color:var(--seal)}.btn--icon{padding:0;width:32px;height:32px;min-height:32px;display:grid;place-items:center}.shell{min-height:100vh;background:var(--ground);color:var(--ink);padding:clamp(24px,7vh,72px) 20px 40px;display:flex;justify-content:center}.shell-inner{width:100%;max-width:460px;display:flex;flex-direction:column;gap:var(--gap-7)}.shell-head{display:flex;align-items:baseline;justify-content:flex-start;gap:var(--gap-3);user-select:none}.shell-head h1{margin:0;font-size:var(--step-1);font-weight:600;letter-spacing:.01em}.shell-when{font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums}.timer{display:flex;flex-direction:column;align-items:center;gap:var(--gap-5)}.timer-digits{font-family:var(--font-serif);font-size:var(--step-display);font-weight:400;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;color:var(--ink)}.timer-rule{width:100%;height:1px;background:var(--rule);position:relative}.timer-rule-fill{position:absolute;inset:0 auto 0 0;height:1px;background:var(--ink);transition:width 1s linear}.timer-controls{display:flex;gap:var(--gap-2);align-items:center}.timer-modes{display:flex;gap:var(--gap-4);border-top:1px solid var(--rule-soft);padding-top:var(--gap-3);width:100%;justify-content:center}.mode-chip{font:inherit;font-size:var(--step-0);background:none;border:0;border-bottom:1px solid transparent;color:var(--ink-ghost);padding:4px 2px 6px;cursor:pointer;transition:color var(--dur-base) ease,border-color var(--dur-base) ease}.mode-chip:hover{color:var(--ink)}.mode-chip[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--seal)}.todos{display:flex;flex-direction:column;gap:var(--gap-3)}.todos-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:var(--gap-2)}.todos-head h2{margin:0;font-size:var(--step-0);font-weight:600}.todos-count{font-size:var(--step--1);color:var(--ink-ghost);font-variant-numeric:tabular-nums}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.todo-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-3);padding:11px 2px;border-bottom:1px solid var(--rule-soft)}.todo-text{overflow-wrap:anywhere}.todo-remove{font:inherit;font-size:var(--step--1);color:var(--ink-ghost);background:none;border:0;padding:6px 8px;cursor:pointer;opacity:0;transition:opacity var(--dur-base) ease,color var(--dur-base) ease}.todo-row:hover .todo-remove,.todo-row:focus-within .todo-remove,.todo-remove:focus-visible{opacity:1}.todo-remove:hover{color:var(--seal)}@media(hover:none){.todo-remove{opacity:1}}.todo-input-row{display:flex;gap:var(--gap-2);align-items:stretch}.todo-input-row .field{flex:1 1 auto;width:auto;min-width:0}.todo-input-row .field--tag{flex:0 0 32%}.todo-input-row .btn{flex:0 0 auto}.field{font:inherit;font-size:var(--step-1);color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 12px;width:100%;transition:border-color var(--dur-base) ease,background var(--dur-base) ease}.field::placeholder{color:var(--ink-ghost);opacity:1}.field:hover{border-color:var(--ink-soft)}.field:focus{border-color:var(--ink)}.field:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.field:disabled{background:var(--rule-soft);color:var(--ink-ghost)}.shell-hint{margin:0;font-size:var(--step--1);color:var(--ink-soft);text-align:center}.shell-rejected .timer-digits{animation:tap-away .22s var(--ease-stamp) 2}@keyframes tap-away{0%,to{transform:translate(0)}40%{transform:translate(-3px)}70%{transform:translate(3px)}}.shell-busy{position:fixed;right:14px;bottom:14px;width:8px;height:8px;background:var(--seal);opacity:.7;animation:breathe 1.2s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.25}50%{opacity:.8}}.shell-empty{margin:0;font-size:var(--step-0);color:var(--ink-soft);line-height:1.6}@keyframes settle{0%,to{opacity:.45}50%{opacity:.85}}@media(max-width:480px){:root{--step-display: 2.9rem}.shell{padding:28px 16px 32px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-height:720px){.shell{align-items:center}}button,input,select,textarea{font-family:inherit}.btn,.countdown-card{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html,body{min-height:100vh;min-height:100dvh}body:has(.board){overflow:hidden}.timer-digits,.todo-input-row .btn{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
