:root{--ink: #121316;--ink-soft: #2a2c31;--muted: #5b6068;--paper: #f4f5f7;--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .95);--line: rgba(18, 19, 22, .08);--track: rgba(18, 19, 22, .12);--miss: #b83c0c;--move: #2f5fd0;--bg: linear-gradient(165deg, #f5f6f8 0%, #e1e4e8 45%, #c8ccd2 100%);--shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 28px rgba(30, 34, 40, .08);--radius: 22px;--font-display: "Unbounded", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-body: "Manrope", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:#e1e4e8;background-image:var(--bg);background-attachment:fixed;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app{max-width:480px;margin:0 auto;min-height:100vh;position:relative}.screen{padding:22px 16px 120px;display:flex;flex-direction:column;gap:14px}.screen.sub{padding-bottom:32px}.display{font-family:var(--font-display);font-weight:800;letter-spacing:-.5px;margin:0}.mono{font-family:var(--font-mono)}.label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.label.ink{color:var(--ink)}.title{font-size:18px;font-weight:800;line-height:1.25;margin:0}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.45}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card{padding:16px;display:flex;flex-direction:column;gap:10px}.dark{background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px}.dark .label{color:#a9aeb6}.tile{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:10px 12px}.row{display:flex;align-items:center;gap:10px}.between{display:flex;justify-content:space-between;align-items:center;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.divider{border-top:1px solid var(--line)}.pill{min-height:52px;border-radius:999px;border:1px solid var(--glass-border);background:#fff9;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--ink)}.pill.black{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pill.small{min-height:40px;padding:0 14px;font-size:11px}.pill.xs{min-height:34px;padding:0 12px;font-size:10px}.pill.wide{width:100%}.pill.dashed{background:transparent;border:1.5px dashed rgba(18,19,22,.35)}.circle{width:52px;height:52px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;flex:none}.circle.glass{background:var(--glass);color:var(--ink);width:48px;height:48px}.chip{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#fffc;border:1px solid #fff;color:var(--ink);white-space:nowrap}.chip.black{background:var(--ink);color:var(--paper);border-color:var(--ink)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--glass-border);background:#fff9;font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.seg.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.seg.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.seg.three button,.seg.five button{padding:0 4px;font-size:10px;min-height:44px}.seg button.miss[aria-pressed=true]{background:var(--miss);border-color:var(--miss);color:#fff4ee}.seg button.move[aria-pressed=true]{background:var(--move);border-color:var(--move);color:#f4f7ff}.field{display:flex;flex-direction:column;gap:6px}.input{min-height:46px;border-radius:14px;border:1px solid #fff;background:var(--glass-strong);padding:0 12px;font-size:15px;font-weight:600;width:100%}textarea.input{padding:10px 12px;min-height:64px;resize:vertical;font-weight:500;line-height:1.4}.input.mono{font-family:var(--font-mono)}.check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.check input{width:20px;height:20px;accent-color:var(--ink)}.bar{height:6px;border-radius:6px;background:var(--track);overflow:hidden}.bar>i{display:block;height:100%;border-radius:6px;background:var(--ink)}.segments{display:grid;gap:4px}.segments>span{height:8px;border-radius:4px;background:#12131626}.segments>span.on{background:var(--ink)}.list{overflow:hidden;padding:0;gap:0}.list-head{padding:14px}.task{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line)}.task.active{background:#ffffff80}.task-main{flex:1;min-width:0;background:none;border:0;padding:0;text-align:left}.task-title{font-weight:700;font-size:15px;overflow-wrap:anywhere}.task.done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}.box{width:28px;height:28px;border-radius:8px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1.5px solid var(--ink);background:transparent;color:var(--paper)}.box.on{background:var(--ink)}.box.miss{border-color:var(--miss);color:var(--miss)}.box.move{border-color:var(--move);color:var(--move)}.nav{position:fixed;left:50%;transform:translate(-50%);bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:448px;height:68px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;z-index:20}.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:52px;padding:0 12px;border-radius:999px;border:0;background:transparent;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink)}.nav button[aria-current=page]{background:var(--ink);color:var(--paper)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12131659;z-index:30;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:92vh;overflow:auto;background:#eef0f3;border-radius:26px 26px 0 0;padding:20px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.toast{position:fixed;left:50%;transform:translate(-50%);top:14px;z-index:50;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;max-width:calc(100% - 32px);text-align:center}.toast.error{background:var(--miss)}.banner{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-radius:16px}.empty{padding:18px;text-align:center;color:var(--muted);font-size:14px;line-height:1.5}.skeleton{height:120px;border-radius:var(--radius);background:#fff6;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.chart text{font-family:var(--font-mono)}.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;height:150px}.bars.month{grid-template-columns:repeat(31,minmax(0,1fr));gap:3px}.bars .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.bars .col i{width:100%;border-radius:999px;background:var(--ink);min-height:4px}.bars .col i.weak{background:#12131659}.bars .col i.none{background:#1213161a}.bars .col span{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--muted)}.var{font-family:var(--font-mono);font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;background:var(--ink);color:var(--paper)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
