:root{--brand:#1f6f5c;--brand-soft:#9fd8c3;--bg:#f6f8f7;--surface:#fff;--text:#182420;--text-soft:#5b6b65;--line:#dde5e1;--danger:#b3261e;--warn:#8a5a00;--ok:#1f6f5c;--p1:#c62828;--p2:#e65100;--p3:#1565c0}@media (prefers-color-scheme:dark){:root{--bg:#101614;--surface:#1a2320;--text:#e4ede9;--text-soft:#93a49d;--line:#2a3630;--danger:#ff8a80;--warn:#ffcc80;--ok:#7fd8bd}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button{font:inherit}:focus-visible{outline:3px solid var(--brand-soft);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.connect-screen{place-items:center;min-height:100%;padding:24px;display:grid}.connect-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;width:min(420px,100%);padding:28px}.connect-card h1{margin:8px 0 4px;font-size:1.6rem}.connect-sub{color:var(--text-soft);margin:0 0 20px;font-size:.9rem}.connect-card form{text-align:left;gap:6px;display:grid}.connect-card label{margin-top:8px;font-size:.85rem;font-weight:600}.label-soft{color:var(--text-soft);font-weight:400}.connect-card input{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.connect-card button[type=submit]{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;margin-top:18px;padding:12px;font-weight:600}.connect-card button[type=submit]:disabled{opacity:.6;cursor:progress}.connect-status{min-height:1.3em;color:var(--text-soft);font-size:.85rem}.connect-error{color:var(--danger);font-size:.9rem}.app-shell{grid-template-rows:auto auto 1fr;min-height:100%;display:grid}.app-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;padding:12px 16px;display:flex}.app-name{font-weight:700}.sync-pill{letter-spacing:.04em;border:1px solid var(--line);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.72rem}.pill-ok{color:var(--ok);border-color:var(--ok)}.pill-pending{color:var(--warn);border-color:var(--warn)}.pill-error{color:var(--danger);border-color:var(--danger)}.pill-busy{color:var(--text-soft)}.app-nav{background:var(--surface);border-bottom:1px solid var(--line);gap:2px;padding:6px 8px;display:flex;overflow-x:auto}.app-nav button{color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;display:flex}.app-nav button.nav-active{background:var(--brand);color:#fff}.nav-badge{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:999px;padding:1px 7px;font-size:.72rem}.app-main{width:100%;max-width:720px;margin:0 auto;padding:16px}.shell-error{color:var(--danger);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:8px;padding:10px 12px}.link-btn{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.back-btn{color:var(--brand);cursor:pointer;background:0 0;border:0;margin-bottom:8px;padding:4px 0;font-weight:600}@media (prefers-color-scheme:dark){.back-btn{color:var(--brand-soft)}}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin:18px 0 6px;font-size:.8rem}.task-list,.browse-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.task-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:11px 14px;display:flex}.task-row:last-child{border-bottom:0}.task-state{border:2px solid var(--text-soft);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:18px;height:18px;margin-top:2px;padding:0}.task-state.p1{border-color:var(--p1)}.task-state.p2{border-color:var(--p2)}.task-state.p3{border-color:var(--p3)}.task-state.done{background:var(--text-soft)}.task-done .task-title{color:var(--text-soft);text-decoration:line-through}.task-body{gap:3px;min-width:0;display:grid}.task-title{overflow-wrap:anywhere}.task-pin{color:var(--warn);margin-right:4px}.task-notes-dot{background:var(--text-soft);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-left:7px;display:inline-block}.task-meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.task-context{overflow-wrap:anywhere}.chip{border:1px solid var(--line);border-radius:999px;padding:0 8px}.chip-deadline{color:var(--warn);border-color:currentColor}.chip-overdue{color:var(--danger)}.chip-tag{color:var(--brand)}@media (prefers-color-scheme:dark){.chip-tag{color:var(--brand-soft)}}.browse-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;padding:12px 14px;display:flex}.browse-list li:last-child .browse-row{border-bottom:0}.browse-swatch{background:var(--brand-soft);border-radius:4px;flex:none;width:12px;height:12px}.browse-hash{color:var(--text-soft);font-weight:700}.browse-name{overflow-wrap:anywhere;min-width:0}.browse-count{color:var(--text-soft);margin-left:auto;font-size:.85rem}.search-bar input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:10px;margin-bottom:4px;padding:11px 14px}.view-loading,.view-empty{color:var(--text-soft);text-align:center;padding:40px 0}.health-view{gap:14px;display:grid}.health-verdict{margin:6px 0 0;font-weight:600}.tone-ok{color:var(--ok)}.tone-warn{color:var(--warn)}.health-facts{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;padding:14px;display:grid}.health-facts dt{color:var(--text-soft)}.health-facts dd{margin:0}.health-errors summary{cursor:pointer;color:var(--warn)}.health-view button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-self:start;padding:10px 18px;font-weight:600}.health-view button:disabled{opacity:.6}.health-note{color:var(--text-soft);font-size:.85rem}.task-open{cursor:pointer}.task-recurring{color:var(--text-soft);margin-left:6px;font-size:.85em}.capture-bar{border-bottom:1px solid var(--line);gap:8px;padding:10px 14px;display:flex}.capture-bar input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:8px 12px}.capture-bar button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;padding:8px 16px}.capture-bar button:disabled{opacity:.5;cursor:default}.shell-notice{border:1px solid var(--warn);color:var(--warn);border-radius:10px;margin:10px 14px 0;padding:8px 12px;font-size:.9rem}.sheet-backdrop{z-index:20;background:#00000073;place-items:end center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 0 0;gap:14px;width:min(560px,100%);max-height:88vh;padding:20px;display:grid;overflow-y:auto}.sheet-field{border:0;gap:4px;min-width:0;margin:0;padding:0;display:grid}.sheet-field>span,.sheet-field>legend{padding:0;font-size:.85rem;font-weight:600}.sheet-field input,.sheet-field textarea,.sheet-field select{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;width:100%;padding:8px 10px}.sheet-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.when-chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.when-chip{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.85rem}.when-chip:disabled{opacity:.5;cursor:default}.when-active{border-color:var(--brand);color:var(--brand);font-weight:600}.when-custom{flex-wrap:wrap;gap:10px;display:flex}.when-custom label{color:var(--text-soft);gap:3px;font-size:.8rem;display:grid}.when-custom input{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:6px 8px}.sheet-hint{color:var(--text-soft);margin:6px 0 0;font-size:.8rem}.sheet-actions{align-items:center;gap:8px;display:flex}.sheet-spacer{flex:1}.sheet-actions button{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:10px;padding:8px 16px}.sheet-actions .primary-btn{background:var(--brand);border-color:var(--brand);color:#fff}.sheet-actions .danger-btn{color:var(--danger);border-color:var(--danger)}.snackbar{background:var(--text);color:var(--bg);z-index:30;border-radius:10px;align-items:center;gap:14px;max-width:min(92vw,480px);padding:10px 16px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.snackbar .link-btn{color:var(--brand-soft);font-weight:600}.health-actions{gap:8px;display:flex}.connect-modes{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px;padding:4px;display:grid}.connect-modes button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 10px;font-weight:600}.connect-modes button.mode-active{background:var(--brand);color:#fff}.connect-mode-hint{color:var(--text-soft);text-align:left;margin:0 0 6px;font-size:.85rem}.cors-check{text-align:left;margin-top:16px;font-size:.9rem}.cors-check summary{cursor:pointer;color:var(--text-soft);font-weight:600}.cors-check button{border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;margin:8px 0;padding:8px 14px}.cors-check button:disabled{opacity:.5;cursor:default}.cors-intro,.cors-hint{color:var(--text-soft);margin:8px 0;font-size:.85rem}.cors-rows{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.cors-pass{color:var(--brand)}.cors-fail{color:var(--danger)}.cors-detail{color:var(--text-soft)}.cors-recipe{border:1px solid var(--line);background:var(--bg);-webkit-user-select:all;user-select:all;border-radius:10px;padding:10px 12px;font-size:.78rem;line-height:1.45;overflow-x:auto}.shell-banner{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);color:var(--text);border-radius:10px;margin:10px 14px 0;padding:8px 12px;font-size:.9rem}
