:root{--tasks:#e67e22;--people:#8e44ad;--finance:#1abc9c;--slate:#34495e;--bg:#fafafa;--surface:#fff;--border:#e5e7eb;--text:#111827;--text-2:#6b7280;--text-3:#9ca3af;--tasks-bg:#fdf0e4;--people-bg:#f3eaf8;--finance-bg:#e4f7f2;--slate-bg:#eaedf0;--r-card:16px;--r-sheet:24px;--r-input:12px;--r-pill:999px;--shadow-elevated:0 4px 24px #00000014;--shadow-fab:0 2px 12px #00000026;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tabbar-h:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:#e9eaec}*{box-sizing:border-box}body{margin:0}#root{background:var(--bg);max-width:440px;min-height:100svh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 60px #00000014}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.t-display{font-size:32px;font-weight:700;line-height:1.2}.t-title1{font-size:22px;font-weight:600;line-height:1.2}.t-title2{font-size:17px;font-weight:600;line-height:1.3}.t-body{font-size:16px;font-weight:400;line-height:1.4}.t-body-em{font-size:16px;font-weight:500;line-height:1.4}.t-caption{color:var(--text-2);font-size:13px;font-weight:400;line-height:1.4}.t-micro{font-size:11px;font-weight:500}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.screen{min-height:100svh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px)}.screen-body{padding:0 16px}.topbar{height:44px;padding-top:env(safe-area-inset-top);align-items:center;gap:8px;padding-left:16px;padding-right:16px;display:flex;position:relative}.topbar-title{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;font-weight:600;overflow:hidden}.icon-btn{border-radius:var(--r-pill);width:36px;height:36px;color:var(--text);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.icon-btn:active{background:var(--slate-bg)}.back-chevron{margin-left:-8px}.sync-dot{background:var(--slate);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.2s ease-in-out infinite syncPulse}@keyframes syncPulse{0%,to{opacity:.4}50%{opacity:1}}.tabbar{width:100%;max-width:440px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:40;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--text-3);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;display:flex}.tab .tab-label{font-size:11px;font-weight:500}.tab.active{font-weight:600}.fab{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);background:var(--slate);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-fab);z-index:41;border:0;border-radius:50%;place-items:center;display:grid;position:fixed;left:auto;right:16px;transform:translate(min(0px,-50vw + 220px))}@media (width>=456px){.fab{right:calc(50vw - 204px);transform:none}}.fab:active{transform:scale(.96)}@media (width>=456px){.fab:active{transform:scale(.96)}}.section{margin-top:24px}.section-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:6px;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.card,.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.row{background:var(--surface);border-bottom:1px solid var(--border);text-align:left;border-top:0;border-left:0;border-right:0;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px;display:flex}.row:last-child{border-bottom:0}button.row{cursor:pointer}.row-main{flex:1;min-width:0}.row-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;display:block;overflow:hidden}.row-sub{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.row-trailing{color:var(--text-2);flex-shrink:0;font-size:13px}.check{border:2px solid var(--tasks);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.check.done{background:var(--tasks);color:#fff;border-color:var(--tasks)}.pill{border-radius:var(--r-pill);background:var(--slate-bg);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.pill.tasks{background:var(--tasks-bg);color:#b35e16}.pill.people{background:var(--people-bg);color:#6f3596}.pill.finance{background:var(--finance-bg);color:#128066}.pill.overdue{color:#b91c1c;background:#fde8e8}.pill.streak{background:var(--tasks-bg);color:#b35e16}.tag{color:var(--text-2);font-size:13px;display:inline-block}.btn{border-radius:var(--r-pill);background:var(--slate);color:#fff;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:16px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn.tasks{background:var(--tasks)}.btn.people{background:var(--people)}.btn.finance{background:var(--finance)}.btn.block{width:100%}.btn.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn.danger{color:#b91c1c;background:0 0;border:1px solid #fca5a5}.btn.sm{padding:8px 14px;font-size:14px}.input,.textarea,.select{border:1px solid var(--border);border-radius:var(--r-input);background:var(--surface);width:100%;color:var(--text);outline:none;padding:12px;font-size:16px}.input:focus,.textarea:focus,.select:focus{border-color:var(--slate)}.textarea{resize:vertical;min-height:96px;line-height:1.4}.field{margin-bottom:16px}.field-label{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;display:flex}.empty .empty-icon{margin-bottom:8px}.empty h2{margin:0;font-size:22px;font-weight:600}.empty p{color:var(--text-2);max-width:260px;margin:0;font-size:16px}.sheet-backdrop{z-index:50;background:#00000052;justify-content:center;align-items:flex-end;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:440px;box-shadow:var(--shadow-elevated);padding:8px 16px calc(env(safe-area-inset-bottom) + 20px);max-height:88svh;animation:.32s cubic-bezier(.2,.9,.3,1) sheetUp;overflow-y:auto}.sheet-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:6px auto 10px}.sheet-title{margin:0 0 12px;font-size:17px;font-weight:600}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{z-index:50;background:var(--bg);flex-direction:column;max-width:440px;margin:0 auto;animation:.28s ease-out slideUp;display:flex;position:fixed;inset:0}@keyframes slideUp{0%{opacity:.6;transform:translateY(8%)}to{opacity:1;transform:translateY(0)}}.modal-bar{padding:14px 16px;padding-top:calc(env(safe-area-inset-top) + 12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-bar .modal-title{font-size:17px;font-weight:600}.modal-bar .link{color:var(--slate);background:0 0;border:0;padding:4px;font-size:16px}.modal-bar .link.strong{font-weight:600}.modal-bar .link:disabled{color:var(--text-3)}.modal-body{flex:1;padding:16px;overflow-y:auto}.swipe{position:relative;overflow:hidden}.swipe-fill{color:#fff;align-items:center;padding:0 20px;font-weight:600;display:flex;position:absolute;inset:0}.swipe-fill.right{justify-content:flex-start}.swipe-content{background:var(--surface);will-change:transform;transition:transform .18s cubic-bezier(.2,.9,.3,1);position:relative}.chips{scrollbar-width:none;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);color:var(--text-2);white-space:nowrap;flex-shrink:0;padding:6px 14px;font-size:13px}.chip.active{background:var(--slate);color:#fff;border-color:var(--slate)}.heat{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;padding:4px 0;display:grid;overflow-x:auto}.heat-cell{background:#eef0f2;border-radius:3px;width:12px;height:12px}.heat-cell.done{background:var(--tasks)}.heat-cell.retro{background:#f3c08a}.heat-cell.missed{background:#f1d9d9}.heat-cell.due{border:1px solid var(--tasks);background:#fff}.heat-cell.none{background:0 0}.stack{flex-direction:column;display:flex}.stack-12>*+*{margin-top:12px}.row-flex{align-items:center;gap:8px;display:flex}.spacer{flex:1}.divider{background:var(--border);height:1px;margin:16px 0}.muted-strike{color:var(--text-3);text-decoration:line-through}.toast{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);background:var(--slate);color:#fff;border-radius:var(--r-pill);z-index:60;max-width:360px;padding:10px 16px;font-size:13px;animation:.2s ease-out fadeIn;position:fixed;left:50%;transform:translate(-50%)}.streak-bounce{animation:.24s cubic-bezier(.2,1.6,.4,1) streakBounce}@keyframes streakBounce{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}
