:root{--bg: #f5f6f8;--surface: #ffffff;--surface2: #eceef2;--text: #1a2230;--muted: #6b7686;--border: #dde1e8;--accent: #2563eb;--accent-text: #ffffff;--danger: #dc2626;--ok: #16a34a;--warn: #d97706;--shadow: 0 4px 24px rgba(0, 0, 0, .12)}@media(prefers-color-scheme:dark){:root{--bg: #10141a;--surface: #1a212b;--surface2: #232c39;--text: #e8ecf2;--muted: #8b97a8;--border: #2e3947;--accent: #4f8cff;--accent-text: #0b1220;--danger: #f87171;--ok: #4ade80;--warn: #fbbf24;--shadow: 0 4px 24px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-tap-highlight-color:transparent}.app{display:flex;min-height:100dvh}.spacer{flex:1}.sidebar{width:230px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:16px 10px;position:sticky;top:0;height:100dvh}.logo{font-size:18px;margin:4px 10px 18px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;margin:2px 0;border:none;border-radius:10px;background:none;color:var(--text);font-size:15px;cursor:pointer;text-align:left}.nav-item:hover{background:var(--surface2)}.nav-item.nav-on{background:var(--accent);color:var(--accent-text)}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;border-radius:99px;font-size:12px;padding:1px 7px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:14px 20px 10px;position:sticky;top:0;background:var(--bg);z-index:5}.topbar h2{margin:0;font-size:20px}.content{padding:4px 20px 90px;max-width:760px;width:100%;margin:0 auto}.bottomnav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:20}.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:none;border-radius:10px;background:none;color:var(--muted);font-size:11px;cursor:pointer;position:relative}.bnav-item .nav-icon{font-size:20px}.bnav-item.nav-on{color:var(--accent)}.bnav-item .nav-badge{position:absolute;top:0;right:18%;background:var(--danger);color:#fff;border-radius:99px;font-size:10px;padding:0 5px}.more-sheet{position:fixed;inset:0;background:#0006;z-index:25;display:flex;align-items:flex-end}.more-menu{background:var(--surface);width:100%;border-radius:16px 16px 0 0;padding:14px 12px calc(80px + env(safe-area-inset-bottom));box-shadow:var(--shadow)}@media(max-width:767px){.sidebar{display:none}.bottomnav{display:flex}}.task-list{list-style:none;margin:8px 0;padding:0}.task{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px}.task-col{flex-direction:column;align-items:stretch}.task input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.task-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:none;background:none;color:var(--text);font-size:15px;text-align:left;padding:2px 0;cursor:pointer}.task-title{overflow-wrap:anywhere}.task-done .task-title{text-decoration:line-through;color:var(--muted)}.task-notes-hint{color:var(--muted);font-size:13px}.task-meta{display:flex;flex-wrap:wrap;gap:4px}.task-since{color:var(--muted);font-size:12px;white-space:nowrap}.badge{font-size:12px;background:var(--surface2);color:var(--muted);border-radius:99px;padding:2px 8px;white-space:nowrap}.badge-project{color:var(--accent)}.badge-overdue{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.badge-today{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.badge-waiting{color:var(--warn)}.group-head{font-size:14px;color:var(--muted);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.04em}.empty{color:var(--muted);text-align:center;padding:28px 10px}.hint{color:var(--muted);font-size:14px}.quick-add{display:flex;gap:8px;margin:10px 0}input,textarea,select{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:16px;padding:10px 12px;font-family:inherit}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 14px;font-size:15px;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-danger{color:var(--danger)}.btn-small{padding:6px 10px;font-size:13px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.icon-btn{border:none;background:none;font-size:18px;cursor:pointer;color:var(--muted);padding:6px}.capture-btn{font-size:26px;color:var(--accent);line-height:1}.sync-busy{color:var(--warn)}.sync-ok{color:var(--ok)}.sync-err{color:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:#00000073;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:16px 16px 0 0;box-shadow:var(--shadow);padding:16px 18px calc(18px + env(safe-area-inset-bottom))}@media(min-width:768px){.modal-backdrop{align-items:center}.modal{border-radius:16px}}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:18px}.modal-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.field{display:block;margin:12px 0}.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.filter-row{margin:10px 0}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:99px;padding:6px 12px;font-size:14px;cursor:pointer}.chip-on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.target-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:12px;font-size:14px;cursor:pointer;text-align:left}.target-btn.target-on{border-color:var(--accent);outline:2px solid var(--accent)}.target-icon{font-size:18px}.project-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.project-title{margin:6px 0 2px;font-size:20px}.review-nav{display:flex;gap:8px;margin-top:18px}.review-done{text-align:center;padding-top:30px}.review-last{color:var(--muted);font-size:13px;margin:0}.settings section{margin-bottom:26px}.sync-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}code{background:var(--surface2);border-radius:6px;padding:1px 6px;font-size:13px}
