:root[data-theme=dark]{--bg:#0a0a0a;--panel:#151515;--panel-2:#1e1e1e;--border:#2c2c2c;--text:#ededed;--muted:#8d8d8d;--accent:#a371f7;--on-accent:#150a24;--danger:#ff7b72;--warn:#e3b341;--ok:#56d364;--on-ok:#0a0a0a;--danger-bg:#ff7b7221;--warn-bg:#e3b3411c;--overlay:#0000009e;--shadow:0 4px 14px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f7f9;--panel:#fff;--panel-2:#eef1f5;--border:#d6dbe3;--text:#14181f;--muted:#5a6472;--accent:#1f6feb;--on-accent:#fff;--danger:#cf222e;--warn:#9a6700;--ok:#1a7f37;--on-ok:#fff;--danger-bg:#cf222e14;--warn-bg:#9a670017;--overlay:#14181f73;--shadow:0 4px 14px #14181f2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--tap:44px;--nav-h:56px;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);min-height:var(--tap);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap;border-radius:8px;padding:0 12px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.danger{color:var(--danger)}button.link{min-height:var(--tap);color:var(--muted);background:0 0;border:none;padding:0 6px;text-decoration:underline}@media (hover:hover){button:hover:not(:disabled){border-color:var(--accent)}button.danger:hover:not(:disabled){border-color:var(--danger)}button.link:hover:not(:disabled){color:var(--accent)}}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);min-height:var(--tap);border-radius:8px;max-width:100%;padding:0 10px;font-size:16px}input:focus,select:focus{border-color:var(--accent);outline:none}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.app{max-width:940px;padding:calc(env(safe-area-inset-top) + var(--tap) + 12px) max(12px, env(safe-area-inset-right)) calc(var(--nav-h) + 24px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));margin:0 auto}.topbar{display:none}.menu-btn{top:calc(env(safe-area-inset-top) + 8px);left:max(8px, env(safe-area-inset-left));z-index:25;width:var(--tap);height:var(--tap);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:flex;position:fixed}.drawer-scrim{z-index:40;background:var(--overlay);justify-content:flex-start;display:flex;position:fixed;inset:0}.drawer{background:var(--panel);border-right:1px solid var(--border);width:min(80vw,300px);height:100%;box-shadow:var(--shadow);padding:calc(env(safe-area-inset-top) + 16px) 12px calc(env(safe-area-inset-bottom) + 16px) max(12px, env(safe-area-inset-left));flex-direction:column;animation:.18s ease-out drawer-in;display:flex;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;margin-bottom:8px;padding:4px 8px 12px;display:flex}.drawer-head h1{margin:0;font-size:20px}.drawer-actions{flex-direction:column;gap:2px;display:flex}.drawer-item{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:48px;font-size:15px;display:flex}.drawer-item .icon{text-align:center;width:20px;color:inherit;font-size:16px}.drawer-item.danger{color:var(--danger)}@media (hover:hover){.drawer-item:hover:not(:disabled){background:var(--panel-2)}}.topbar h1{margin:0;font-size:18px}.spacer{flex:1}.user-menu{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.login{flex-direction:column;gap:1rem;max-width:20rem;margin:3rem auto;padding:0 1rem;display:flex}.login h1{text-align:center}.login label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:13px;display:flex}.login input{padding:.5rem .6rem;font-size:16px}.login button{padding:.6rem;font-size:16px}.icon-btn{width:var(--tap);flex:none;padding:0;font-size:16px;line-height:1}.tabs{z-index:10;background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{height:var(--nav-h);color:var(--muted);background:0 0;border:none;border-radius:0;flex:1;font-size:13px}.tab.active{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.banner{border:1px solid var(--danger);background:var(--danger-bg);color:var(--danger);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:14px;display:flex}section{margin-top:16px}.section-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-head h2{margin:0;font-size:16px}.count{color:var(--muted);font-size:13px}.toggle{color:var(--muted);min-height:var(--tap);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.empty{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:8px;padding:24px 16px;font-size:14px}.loading{color:var(--muted);padding:16px}.muted{color:var(--muted)}.list{flex-direction:column;gap:8px;display:flex}.row{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.row.overdue{border-left:3px solid var(--warn)}.row.suspended{opacity:.6}.row .main{flex:140px;min-width:0}.row .summary{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row .actions{flex-shrink:0;gap:6px;display:flex}.actions.triage{flex:100%}.actions.triage select{flex:1;min-width:0}.tag{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:10px;align-items:center;gap:2px;padding:2px 7px;font-size:11px;display:inline-flex}.tag.stack{color:var(--accent);border-color:var(--accent)}.tag.overdue{color:var(--warn);border-color:var(--warn)}.tag.recurring,.tag.done{color:var(--ok);border-color:var(--ok)}.tag button.link{min-height:28px;padding:0 2px;font-size:12px;text-decoration:none}.capture{gap:8px;margin-bottom:12px;display:flex}.capture input{flex:1;min-width:0}.stack-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px}.stack-card .head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack-card .head .name{overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:600}.stack-actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.stack-card .head .disclosure{min-height:var(--tap);min-width:32px;padding:0;font-size:14px;text-decoration:none}.detail{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.access{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.access input{flex:120px;min-width:0}.check{border:2px solid var(--border);color:#0000;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;min-height:0;padding:0;font-size:15px;line-height:1;display:flex;box-shadow:0 0 0 9px #0000}.check.on{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}@media (hover:hover){.check:hover:not(:disabled){border-color:var(--ok)}}.main.as-button{text-align:left;white-space:normal;min-height:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.row.is-done .main .text{opacity:.55;text-decoration:line-through}.title-line{overflow-wrap:anywhere;align-items:baseline;gap:6px;display:flex}.meta-line{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:12px;display:flex}.meta-line.is-overdue{color:var(--warn)}.icon{color:var(--muted);flex:none;font-size:13px;line-height:1}.meta-line .icon{color:inherit;font-size:12px}.stack-name{text-overflow:ellipsis;white-space:nowrap;max-width:92px;color:var(--accent);text-align:right;flex:none;font-size:11px;overflow:hidden}.more{min-width:40px;color:var(--muted);background:0 0;border:none;flex:none;padding:0 8px;font-size:20px;line-height:1}.row.nav-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;min-height:var(--tap)}.chevron{color:var(--muted);flex:none;font-size:20px}.screen-head{align-items:center;margin-top:12px;display:flex}.back{font-size:15px;text-decoration:none}.notice{border:1px solid var(--warn);background:var(--warn-bg);color:var(--warn);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.fab{right:16px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:20;background:var(--accent);border-color:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--shadow);border-radius:50%;padding:0;font-size:28px;line-height:1;position:fixed}.overlay{z-index:30;background:var(--overlay);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.panel{background:var(--panel);border:1px solid var(--border);width:100%;max-height:88vh;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;overflow-y:auto}.panel-head{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.panel-head h3{overflow-wrap:anywhere;flex:1;margin:0;font-size:15px}.panel-body{padding:10px 14px 16px}.actions-list{flex-direction:column;gap:2px;display:flex}.sheet-action{text-align:left;white-space:normal;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:50px;display:flex}.sheet-action .hint{color:var(--muted);text-align:right;margin-left:auto;font-size:12px}.sheet-action.danger{color:var(--danger)}@media (hover:hover){.sheet-action:hover:not(:disabled){background:var(--panel-2)}}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.row-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;border-radius:8px;padding:8px 10px;font-size:16px}textarea:focus{border-color:var(--accent);outline:none}.subform{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.daypicker{flex-wrap:wrap;gap:4px;display:flex}.day{border-radius:6px;min-height:40px;padding:0 8px;font-size:13px}.day.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.hint-text{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.danger-zone{border-top:1px solid var(--border);padding-top:12px}@media (width>=640px){.app{padding:24px 20px 60px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;padding-bottom:16px;display:flex}.topbar h1{margin-right:8px;font-size:20px}.menu-btn,.drawer-scrim,.tabs.bottom-nav{display:none}.tabs{background:0 0;border-top:none;order:0;gap:4px;width:auto;padding-bottom:0;display:flex;position:static}.tab{height:auto;min-height:var(--tap);font-size:inherit;color:var(--text);border:1px solid #0000;border-radius:8px;flex:none;padding:0 12px}.tab.active{background:var(--panel-2);border-color:var(--border);box-shadow:none}.row{padding:10px 12px}.actions.triage,.actions.triage select{flex:none}.fab{bottom:24px;right:24px}.overlay{align-items:center}.panel{border-radius:14px;max-width:520px}.panel.sheet{max-width:420px}}
