:root{--bg:#0f1115;--surface:#181b22;--surface-2:#1f232d;--border:#2a2f3a;--text:#e8eaf0;--muted:#8b93a5;--accent:#4f8cff;--accent-hover:#6da0ff;--danger:#ff5d5d;--high:#ff5d5d;--medium:#f5a623;--low:#3ecf8e;--radius:10px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}button{font-family:inherit}.app{max-width:640px;min-height:100vh;margin:0 auto}.app-header{z-index:20;-webkit-backdrop-filter:blur(8px);background:#0f1115eb;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1rem .75rem;display:flex;position:sticky;top:0}.app-header h1{letter-spacing:-.02em;margin:0;font-size:1.6rem}.logo-cross{color:var(--accent);font-weight:700}.tagline{color:var(--muted);margin:.15rem 0 0;font-size:.88rem}.add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;min-height:44px;padding:.55rem 1.05rem;font-size:.95rem;font-weight:600}.add-btn:hover{background:var(--accent-hover)}.app-main{padding:.75rem 1rem 5.5rem}.app-error{margin:0 1rem .75rem}.loading-note{padding:.25rem 1rem}.btn-primary,.btn-ghost,.btn-danger{border-radius:var(--radius);cursor:pointer;min-height:44px;padding:.6rem 1.1rem;font-size:1rem;font-weight:600}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--muted)}.btn-danger{color:var(--danger);background:0 0;border:1px solid #ff5d5d80}.btn-danger:hover:not(:disabled){background:#ff5d5d1a}.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.45;cursor:not-allowed}.wide{width:100%}.next-up{background:linear-gradient(135deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);margin-bottom:1.25rem;padding:1rem 1.1rem}.next-up-label{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.72rem;font-weight:700;display:block}.next-up h2{margin:.2rem 0 0;font-size:1.2rem}.next-up-notes{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.next-up-meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.why-line{color:var(--muted);margin:.65rem 0 0;font-size:.85rem}.next-up-actions{gap:.6rem;margin-top:.85rem;display:flex}.next-up-actions>*{flex:1}.section{margin-top:1.4rem}.section-label{margin:0 0 .55rem;font-size:.98rem}.hint{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:400}.pill-row{flex-wrap:wrap;gap:.5rem;display:flex}.pill{background:var(--surface);border:1px solid var(--border);min-height:40px;color:var(--muted);cursor:pointer;border-radius:999px;padding:.45rem .95rem;font-size:.9rem;font-weight:600}.pill:hover{color:var(--text)}.pill.active{border-color:var(--accent);color:var(--accent-hover);background:#4f8cff24}.focus-bar{border:1px solid var(--accent);border-radius:var(--radius);background:#4f8cff1a;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;font-weight:600;display:flex}.task-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.task-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.task-item.done{opacity:.55}.task-item.done .task-title{text-decoration:line-through}.task-check{cursor:pointer;display:inline-flex;position:relative}.task-check input{opacity:0;cursor:pointer;width:1.35rem;height:1.35rem;position:absolute}.checkmark{border:2px solid var(--border);background:var(--bg);border-radius:6px;width:1.35rem;height:1.35rem;transition:background .15s,border-color .15s;display:inline-block}.task-check input:checked+.checkmark{background:var(--low);border-color:var(--low)}.task-check input:checked+.checkmark:after{content:"";border:2.5px solid #0f1115;border-width:0 2.5px 2.5px 0;width:.35rem;height:.7rem;margin:.05rem 0 0 .4rem;display:block;transform:rotate(45deg)}.task-check input:focus-visible+.checkmark{outline:2px solid var(--accent);outline-offset:2px}.task-body{cursor:pointer;border-radius:6px;flex:1;min-width:0}.task-body:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-title{overflow-wrap:break-word;font-size:1rem;display:block}.task-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem;display:flex}.blocked-line{color:var(--medium);margin-top:.3rem;font-size:.78rem}.unlock-line{color:var(--low);margin-top:.15rem;font-size:.75rem}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.12rem .5rem;font-size:.68rem;font-weight:600}.chip-makes{color:var(--low);background:#3ecf8e1a;border-color:#3ecf8e4d}.chip-saves{color:var(--accent);background:#4f8cff1a;border-color:#4f8cff4d}.chip-avoids{color:var(--medium);background:#f5a6231a;border-color:#f5a6234d}.chip-money{color:var(--medium)}.chip-overdue{color:var(--high);background:#ff5d5d1a;border-color:#ff5d5d59}.chip-due{color:var(--medium);background:#f5a62314;border-color:#f5a62340}.list-stats{color:var(--muted);gap:1.1rem;padding:.1rem 0 .7rem;font-size:.88rem;display:flex}.list-stats b{color:var(--text);margin-right:.15rem;font-size:1.05rem}.hint-line{color:var(--medium);margin:0 0 .75rem;font-size:.82rem}.list-screen .btn-ghost.wide,.list-screen .task-list+.btn-ghost.wide{margin-top:.9rem}.triage-screen{flex-direction:column;gap:.9rem;display:flex}.deck-progress{color:var(--muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.progress-bar{background:var(--surface-2);border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s ease-out;display:block}.triage-card{background:linear-gradient(135deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.9rem;padding:1rem;display:flex}.triage-card-head h2{overflow-wrap:break-word;margin:.15rem 0 0;font-size:1.15rem}.chip-group{flex-direction:column;gap:.4rem;display:flex}.chip-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip-btn{background:var(--surface-2);border:1px solid var(--border);min-height:40px;color:var(--text);cursor:pointer;border-radius:999px;padding:.45rem .8rem;font-size:.88rem}.chip-btn:hover{border-color:var(--muted)}.chip-btn.selected{border-color:var(--accent);color:var(--accent-hover);background:#4f8cff29;font-weight:600}.triage-actions{gap:.6rem;display:flex}.triage-actions>*{flex:1}.triage-hint{text-align:center}.sheet-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--surface);border:1px solid var(--border);width:100%;max-width:640px;max-height:92vh;padding:.75rem 1.1rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:.7rem;animation:.18s ease-out sheet-up;display:flex;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.sheet h3{margin:0}.sheet-handle{background:var(--border);border-radius:999px;width:42px;height:4px;margin:0 auto .15rem}.sheet-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.text-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.65rem .8rem;font-family:inherit;font-size:1rem}.text-input:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea.text-input{resize:vertical}.field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.field-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.dep-list{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);max-height:11rem;margin:0;padding:0;list-style:none;overflow-y:auto}.dep{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:.6rem;min-height:44px;padding:.5rem .7rem;font-size:.92rem;display:flex}.dep:last-child{border-bottom:none}.dep input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.dep.done{color:var(--muted);text-decoration:line-through}.sheet-actions-row{gap:.6rem;display:flex}.sheet-actions-row>*{flex:1}.bottom-nav{z-index:30;-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:#0f1115f5;justify-content:space-around;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.05rem;padding:.3rem .25rem;font-size:.72rem;font-weight:600;display:flex;position:relative}.nav-btn.active{color:var(--accent)}.nav-icon{font-size:1.05rem;line-height:1.1}.nav-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .28rem;font-size:.62rem;font-style:normal;font-weight:700;display:flex;position:absolute;top:.15rem;right:calc(50% - 1.7rem)}.muted{color:var(--muted);font-size:.88rem}.error{color:var(--danger);font-size:.9rem}.empty{text-align:center;padding:2rem 0}.empty-card{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.6rem 1.1rem;display:flex}.empty-card h2{margin:0;font-size:1.1rem}.delete{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;padding:.2rem .5rem;font-size:1.5rem;line-height:1}.delete:hover{color:var(--danger);background:#ff5d5d1a}.signin-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.signin-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:380px;padding:2rem 1.5rem;display:flex}.signin-card h1{margin:0;font-size:1.8rem}.signin-card .tagline{margin:0 0 .4rem}.signin-note{font-size:.78rem}.user-bar{align-items:center;gap:.6rem;padding:.2rem 0 .9rem;display:flex}.user-bar .user-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;font-size:.85rem;overflow:hidden}.user-bar .btn-ghost{min-height:38px;padding:.4rem .9rem;font-size:.85rem}.avatar{object-fit:cover;border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:30px;height:30px}.avatar-fallback{background:var(--surface-2);color:var(--accent);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.offline-banner{background:#ffb84d1f;border:1px solid #ffb84d73;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 .6rem;padding:.5rem .9rem;font-size:.85rem;display:flex}.offline-banner .btn-ghost{flex-shrink:0;min-height:44px;padding:.4rem .9rem}.timer-bar{bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:25;-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);background:#181b21f7;border-radius:12px;align-items:center;gap:.6rem;width:calc(100% - 1rem);max-width:640px;padding:.55rem .7rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.timer-bar.expired{border-color:#ff5d5db3;animation:1.2s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{box-shadow:0 6px 20px #00000073}50%{box-shadow:0 0 0 3px #ff5d5d66}}.timer-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.timer-clock{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.timer-bar.expired .timer-clock{color:var(--danger)}.timer-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.timer-actions{flex-shrink:0;gap:.4rem;display:flex}.timer-actions button{min-height:44px;padding:.4rem .7rem;font-size:.85rem}.timer-bell{padding:.4rem .5rem!important;font-size:1rem!important}.timer-row{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding-top:.6rem;display:flex}.timer-row .btn-ghost{align-self:flex-start;min-height:44px}.chip-repeat{border-color:var(--accent);color:var(--accent)}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;font-size:.72rem;font-weight:600}.stat-card{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;margin-bottom:8px;padding:10px 12px;display:flex}.stat-card strong{font-size:.85rem}.stat-card .muted{font-size:.8rem}
