:root{--bg: #f7f4ee;--surface: #ffffff;--surface-2: #f1ece2;--border: #e7e0d4;--text: #2a2724;--muted: #76706a;--faint: #9b938a;--primary: #c8714e;--primary-hover: #b5623f;--on-primary: #ffffff;--danger: #c0533a;--ok: #3f9e86;--radius: 12px;--hover: #efe9df;--c-inbox: #8a857c;--c-work: #4f7aa8;--c-personal: #b5638a;--c-fitness: #6e8c3a;--c-projects: #7e6ac0;--c-reference: #c08a3e;--c-errands: #3f9e86}@media (prefers-color-scheme: dark){:root{--bg: #1b1916;--surface: #252220;--surface-2: #2f2b27;--border: #39342e;--text: #ece6dd;--muted: #a89f93;--faint: #837b70;--primary: #da8763;--primary-hover: #e59a78;--on-primary: #1b1916;--danger: #e0715a;--ok: #5dcaa5;--hover: #2d2925;--c-inbox: #a39c90;--c-work: #7fb0e0;--c-personal: #d58ab0;--c-fitness: #a7c76a;--c-projects: #a892e0;--c-reference: #e0b36a;--c-errands: #5fc9a9}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary)}button{font:inherit;cursor:pointer}.logo{width:30px;height:30px;flex:0 0 auto;border-radius:9px;background:var(--primary);color:var(--on-primary);display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,Times New Roman,serif;font-weight:600;font-size:19px;line-height:1}.logo.lg{width:44px;height:44px;border-radius:13px;font-size:28px}.layout{display:grid;grid-template-columns:248px minmax(0,1fr) 300px;min-height:100vh}.sidebar-wrap{border-right:1px solid var(--border);background:var(--bg);padding:16px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand-row{display:flex;align-items:center;gap:9px;padding:6px 8px 18px}.brand-name{font-weight:600;font-size:1.05rem}.sidebar{display:flex;flex-direction:column;gap:20px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-heading{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:4px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--muted);padding:8px 10px;border-radius:9px;width:100%;text-align:left;font-size:.92rem;transition:background .12s,color .12s}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--surface-2);color:var(--text);font-weight:600}.nav-icon{display:inline-flex;width:18px;justify-content:center;color:var(--faint)}.nav-item.active .nav-icon{color:var(--primary)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:.78rem;color:var(--faint);font-variant-numeric:tabular-nums}.nav-item.active .nav-count{color:var(--muted)}.nav-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.content{min-width:0;padding:0 28px 80px;max-width:820px;margin:0 auto;width:100%}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:16px 0 12px;background:linear-gradient(var(--bg) 70%,transparent)}.hamburger{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;padding:0 4px}.view-title{font-size:1.15rem;font-weight:600;margin:0;flex:0 0 auto}.search{position:relative;display:flex;align-items:center;flex:1;min-width:0}.search-icon{position:absolute;left:12px;color:var(--faint);font-size:1.05rem;pointer-events:none}.search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:.9rem;padding:9px 34px;outline:none}.search-input:focus{border-color:var(--primary)}.search-clear{position:absolute;right:8px;background:none;border:none;color:var(--muted);padding:4px 8px}.topbar-right{display:flex;align-items:center;gap:12px;flex:0 0 auto}.sync{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.sync .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.sync.offline .dot,.sync.offline{color:var(--muted)}.sync.offline .dot{background:var(--muted)}.sync.local .dot{background:var(--c-reference)}.link{background:none;border:none;color:var(--primary);padding:0}.link.small,.small{font-size:.82rem}.muted{color:var(--muted)}.banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--c-reference);border-radius:8px;padding:10px 12px;font-size:.82rem;color:var(--muted);margin-bottom:14px}.capture-wrap{margin-bottom:18px}.capture{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:border-color .15s,box-shadow .15s}.capture.has-date{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.capture-input-wrap{position:relative}.capture-backdrop,.capture-input{font:inherit;font-size:1rem;line-height:1.5;padding:0;margin:0;border:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;letter-spacing:normal}.capture-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;pointer-events:none;overflow:hidden}.capture-backdrop .date-token{background:color-mix(in srgb,var(--primary) 26%,transparent);color:transparent;border-radius:5px;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.capture-input{position:relative;display:block;width:100%;min-height:3em;resize:none;background:transparent;color:var(--text);outline:none}.capture-input::placeholder{color:var(--faint)}.capture-row,.detect-row{display:flex;align-items:center;gap:12px;margin-top:10px}.capture-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.prediction{font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-btn{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;padding:5px 9px;flex:0 0 auto}.attach-btn:hover{border-color:var(--primary)}.primary{background:var(--primary);color:var(--on-primary);border:none;border-radius:10px;font-weight:600;padding:9px 18px}.primary:hover{background:var(--primary-hover)}.primary:disabled{opacity:.5;cursor:default}.capture-btn{flex:0 0 auto}.detect-row{flex-wrap:wrap}.date-chip{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--primary) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);color:color-mix(in srgb,var(--primary) 78%,var(--text));font-weight:600;font-size:.82rem;padding:5px 11px;border-radius:999px}.date-chip-ico{font-size:.9em}.detect-text{font-size:.84rem;color:var(--muted)}.detect-hint{font-size:.78rem;color:var(--faint);margin-left:auto}.pending-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pending-file{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px 6px}.pending-thumb{width:28px;height:28px;object-fit:cover;border-radius:5px}.pending-icon{font-size:1.1rem}.pending-name{font-size:.8rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-x,.attachment-x{background:none;border:none;color:var(--muted);padding:2px 5px;font-size:.8rem}.pending-x:hover,.attachment-x:hover{color:var(--danger)}.tidy-row{margin-bottom:14px}.tidy-btn{width:100%;background:color-mix(in srgb,var(--c-projects) 14%,var(--surface));color:color-mix(in srgb,var(--c-projects) 72%,var(--text));border:1px solid color-mix(in srgb,var(--c-projects) 38%,transparent);border-radius:10px;padding:10px;font-weight:600}.tidy-btn:disabled{opacity:.6}.stream-group{margin-bottom:22px}.stream-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 6px 2px}.rows{list-style:none;margin:0;padding:0}.row{border-radius:10px;transition:background .12s}.row:hover{background:var(--hover)}.row.done{opacity:.5}.row-line{display:flex;align-items:flex-start;gap:11px;padding:9px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.row:hover .row-line,.row.open .row-line{border-bottom-color:transparent}.row-lead{flex:0 0 auto;padding-top:2px;width:18px;display:flex;justify-content:center}.row-check{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.row-dot{width:9px;height:9px;border-radius:50%;margin-top:5px}.row-main{flex:1;min-width:0}.row-text{word-break:break-word}.row.done .row-text{text-decoration:line-through}.row-text a{color:var(--text);text-decoration:none}.row-text a:hover{color:var(--primary);text-decoration:underline}.row-context{font-size:.82rem;color:var(--muted);margin-top:2px;line-height:1.4}.row-meta{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding-top:1px}.recur-ico{color:var(--faint);font-size:.9rem}.time-tag{font-size:.76rem;font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:2px 9px;white-space:nowrap;font-variant-numeric:tabular-nums}.time-tag.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.ai-tag{font-size:.78rem;color:color-mix(in srgb,var(--c-projects) 80%,var(--text))}.cat-chip{--cat: var(--c-inbox);border:1px solid color-mix(in srgb,var(--cat) 30%,transparent);background:color-mix(in srgb,var(--cat) 14%,var(--surface));color:color-mix(in srgb,var(--cat) 72%,var(--text));border-radius:999px;padding:2px 10px;font-size:.74rem;font-weight:600;white-space:nowrap}.cat-chip:hover{border-color:color-mix(in srgb,var(--cat) 55%,transparent)}.row-actions{flex:0 0 auto;display:flex;align-items:center;gap:1px;opacity:0;transition:opacity .12s;padding-top:0}.row:hover .row-actions,.row.open .row-actions{opacity:1}.icon-btn{background:none;border:none;color:var(--faint);font-size:.9rem;padding:4px 6px;border-radius:6px}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.icon-btn.danger:hover{color:var(--danger)}.row-drawer{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:4px 10px 14px 39px}.drawer-field{display:flex;flex-direction:column;gap:5px}.drawer-field.full{grid-column:1 / -1}.drawer-field label{font-size:.72rem;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}.drawer-select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 9px;font:inherit;font-size:.86rem;width:100%}.drawer-select:focus{outline:none;border-color:var(--primary)}.drawer-when{display:flex;align-items:center;gap:8px}.edit-input{width:100%;background:var(--bg);border:1px solid var(--primary);border-radius:8px;color:var(--text);font:inherit;font-size:1rem;padding:8px;resize:vertical}.newcat{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.newcat-input{flex:1;min-width:120px;background:var(--bg);border:1px solid var(--primary);border-radius:8px;color:var(--text);font:inherit;font-size:.85rem;padding:6px 9px}.newcat-add{border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;background:var(--primary);color:var(--on-primary)}.newcat-cancel{border:none;background:none;color:var(--muted);padding:4px 6px}.suggest{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;padding:7px 10px;border:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--surface));border-radius:8px}.suggest-text{font-size:.8rem;color:var(--text)}.suggest-actions{display:flex;gap:6px}.suggest-yes,.suggest-no{border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:600}.suggest-yes{background:var(--primary);color:var(--on-primary)}.suggest-no{background:var(--surface-2);color:var(--muted)}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attachment{display:flex;align-items:center}.attachment-open{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0;overflow:hidden}.attachment-open:hover{border-color:var(--primary)}.attachment-thumb{width:72px;height:72px;object-fit:cover;display:block}.attachment-file{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;font-size:.8rem;color:var(--text);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-fields label{font-size:.74rem;color:var(--muted);display:flex;flex-direction:column;gap:5px}.project-fields .full{grid-column:1 / -1}.project-fields select,.project-fields input,.project-fields textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px;font:inherit;font-size:.86rem}.done-group{margin-top:12px}.done-group summary{cursor:pointer;color:var(--muted);font-size:.85rem;padding:6px 2px}.done-group .rows{margin-top:6px}.center-text{text-align:center}.agenda{border-left:1px solid var(--border);background:var(--bg);padding:18px 18px 24px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.agenda-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.agenda-head h2{font-size:1rem;margin:0;font-weight:600}.agenda-date{font-size:.8rem;color:var(--faint)}.agenda-empty{font-size:.84rem;color:var(--muted);line-height:1.5}.agenda-body{flex:1}.agenda-group{margin-bottom:16px}.agenda-label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.agenda-item{display:flex;align-items:baseline;gap:9px;padding:4px 0;font-size:.86rem}.agenda-time{flex:0 0 auto;width:52px;font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.agenda-check{flex:0 0 auto;width:13px;height:13px;margin-top:3px;border-radius:50%;border:1.5px solid var(--faint);background:none;padding:0}.agenda-check:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 25%,transparent)}.agenda-bullet{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--c-work);margin-top:6px}.agenda-item.external .agenda-bullet{background:var(--c-reference)}.agenda-title{min-width:0;word-break:break-word}.agenda-item.external .agenda-title{color:var(--muted)}.agenda-foot{border-top:1px solid var(--border);padding-top:12px;margin-top:8px}.cal-status{display:inline-flex;align-items:center;gap:7px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--muted);padding:8px 11px;font-size:.82rem}.cal-status:hover{border-color:var(--primary);color:var(--text)}.cal-status.connected{color:var(--ok)}.cal-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.cal-dot.off{background:var(--faint)}.scrim{display:none}.screen{min-height:100%;padding:24px}.center{display:flex;align-items:center;justify-content:center;min-height:100vh}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:460px}.card h1{margin:14px 0 6px;font-size:1.4rem}.brand-stack{display:flex;flex-direction:column;align-items:center;text-align:center}.setup .steps{padding-left:18px;line-height:1.7}.setup code,.auth code{background:var(--surface-2);padding:1px 6px;border-radius:6px;font-size:.85em}.auth label{display:block;margin:14px 0 0;font-size:.85rem;color:var(--muted);text-align:left}.auth input{width:100%;margin-top:6px;padding:11px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem}.auth input:focus{outline:none;border-color:var(--primary)}.error{color:var(--danger);font-size:.85rem;margin:12px 0 0}.card .primary{width:100%;margin-top:18px;padding:12px}.card .link{width:100%;padding-top:10px}.card .link.small{width:auto}@media (max-width: 1140px){.layout{grid-template-columns:232px minmax(0,1fr)}.agenda{display:none}}@media (max-width: 820px){.layout{grid-template-columns:1fr}.content{padding:0 16px 90px}.sidebar-wrap{position:fixed;top:0;left:0;z-index:50;width:264px;height:100vh;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #0000002e}.sidebar-wrap.show{transform:translate(0)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000059}.hamburger{display:inline-block}.topbar{gap:10px}.view-title{display:none}body,.capture-input{font-size:16px}.row-drawer{grid-template-columns:1fr;padding-left:39px}.row-actions{opacity:1}.detect-hint{display:none}}@media (max-width: 420px){.row-meta .cat-chip,.topbar-right .link.small{display:none}}
