:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--fs-count:19px;--fs-label:19px;--fs-title:17px;--fs-meta:15px;--fs-section:13px;--c-inbox:#4a8cf7;--c-today:#ffc632;--c-upcoming:#f0426b;--c-anytime:#2fb4a8;--c-someday:#b8a37e;--c-logbook:#4cb050;--c-deadline:#f0426b;--accent:#4a8cf7;--t-fast:.15s;--t-med:.2s;--ease:cubic-bezier(.2, .7, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf8;--surface:#fff;--surface-raised:#fff;--divider:#e5e5e0;--text:#1c1c1e;--text-secondary:#6e6e73;--text-tertiary:#a1a1a6;--shadow-popover:0 6px 16px #1414181a, 0 20px 48px #1414182e;--shadow-card:0 1px 3px #14141812, 0 6px 18px #14141817;--hover:#0000000b;--selected:#4a8cf724}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--divider:#2c2c2e;--text:#fff;--text-secondary:#8e8e93;--text-tertiary:#636366;--shadow-popover:0 6px 16px #00000080, 0 20px 48px #000000b3;--shadow-card:0 1px 3px #0006, 0 6px 18px #00000073;--hover:#ffffff0f;--selected:#4a8cf747}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--divider:#2c2c2e;--text:#fff;--text-secondary:#8e8e93;--text-tertiary:#636366;--shadow-popover:0 6px 16px #00000080, 0 20px 48px #000000b3;--shadow-card:0 1px 3px #0006, 0 6px 18px #00000073;--hover:#ffffff0f;--selected:#4a8cf747}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--fs-title);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none;font-size:16px}#root{height:100%}.app{flex-direction:column;height:100%;display:flex}.layout{flex:1;min-height:0;display:flex}.sidebar{background:var(--bg);border-right:1px solid var(--divider);width:300px;padding:var(--sp-4) 0 var(--sp-8);flex-direction:column;flex:none;display:none;overflow-y:auto}.quickfind-pill{justify-content:center;align-items:center;gap:var(--sp-2);height:48px;margin:0 var(--sp-4) var(--sp-4);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--divider);color:var(--text-secondary);font-size:var(--fs-meta);width:calc(100% - 2 * var(--sp-4));display:flex}.quickfind-pill:hover{background:var(--hover)}.side-row{height:60px;padding:0 var(--sp-4) 0 24px;font-size:var(--fs-label);border-radius:var(--r-md);margin:0 var(--sp-2);width:calc(100% - 2 * var(--sp-2));text-align:left;align-items:center;gap:14px;font-weight:500;display:flex}.side-row:hover{background:var(--hover)}.side-row.active{background:var(--selected)}.side-row .icon{flex:none;width:28px;height:28px}.side-row .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-row .count{font-size:var(--fs-count);color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-weight:400}.side-divider{background:var(--divider);height:1px;margin:var(--sp-3) 0}.side-row.area-row{font-weight:600}.side-row .chevron{color:var(--text-tertiary);transition:transform var(--t-fast) var(--ease)}.side-row .chevron.open{transform:rotate(90deg)}.side-row.project-row{height:48px;padding-left:36px;font-weight:400}.content{min-width:0;padding:var(--sp-5) var(--sp-4) 120px;flex:1;scroll-padding-top:80px;overflow-y:auto}.content-inner{max-width:680px;margin:0 auto}.list-header{align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-5);display:flex}.list-header .icon{width:32px;height:32px}.list-header h1{flex:1;min-width:0;font-size:26px;font-weight:700}.list-header h1 input{width:100%;font-size:26px;font-weight:700}.section-header{font-size:var(--fs-section);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:var(--sp-6) 0 var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--divider);align-items:baseline;gap:var(--sp-2);font-weight:600;display:flex}.section-header .sub{color:var(--text-tertiary);letter-spacing:0;text-transform:none;font-weight:400}.task-list{list-style:none}.task-row{align-items:flex-start;gap:var(--sp-3);padding:9px var(--sp-2);border-radius:var(--r-md);touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:background var(--t-fast) var(--ease), opacity var(--t-med) var(--ease), transform var(--t-fast) var(--ease);display:flex;position:relative}.task-row:hover{background:var(--hover)}.task-row.selected{background:var(--selected)}.task-row.fading{opacity:.35}.task-row.rdragging{opacity:.45;cursor:grabbing}.task-row .title-line{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.task-row .title{font-size:var(--fs-title)}.task-row.done .title{color:var(--text-tertiary)}.task-row .meta{gap:var(--sp-2);font-size:var(--fs-meta);color:var(--text-secondary);flex-wrap:wrap;align-items:center;display:flex}.task-row .today-dot{background:var(--c-today);border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.task-row .notes-preview{color:var(--text-secondary);font-size:var(--fs-meta);white-space:pre-wrap}.checkbox{border:1.5px solid var(--text-tertiary);width:20px;height:20px;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);background:0 0;border-radius:6px;flex:none;place-items:center;margin-top:3px;display:grid}.checkbox:active{transform:scale(.88)}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox.cancelled{background:var(--text-tertiary);border-color:var(--text-tertiary)}.deadline-chip{font-size:var(--fs-section);color:var(--text-secondary);border:1px solid var(--divider);border-radius:var(--r-full);white-space:nowrap;padding:1px 7px}.deadline-chip.passed{color:#fff;background:var(--c-deadline);border-color:var(--c-deadline)}.tag-chip{font-size:var(--fs-section);color:var(--text-secondary);background:var(--hover);border-radius:var(--r-full);padding:1px 8px}.task-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-4);margin:var(--sp-2) 0;animation:card-in var(--t-med) var(--ease)}@keyframes card-in{0%{opacity:.6;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.task-card .title-input{width:100%;font-size:var(--fs-title);font-weight:500}.task-card textarea{resize:vertical;width:100%;min-height:40px;font-size:var(--fs-meta);color:var(--text);margin-top:var(--sp-2)}.task-card .card-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.pill-btn{font-size:var(--fs-meta);color:var(--text-secondary);border:1px solid var(--divider);border-radius:var(--r-full);align-items:center;gap:6px;min-height:32px;padding:5px 12px;display:inline-flex}.pill-btn:hover{background:var(--hover)}.pill-btn.set{color:var(--text);border-color:var(--text-tertiary)}.pill-btn.danger:hover{color:#fff;background:var(--c-deadline);border-color:var(--c-deadline)}.checklist{margin-top:var(--sp-2);list-style:none}.checklist li{align-items:center;gap:var(--sp-2);font-size:var(--fs-meta);padding:4px 0;display:flex}.checklist .box{border:1.5px solid var(--text-tertiary);border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.checklist .box.checked{background:var(--accent);border-color:var(--accent)}.checklist li.checked span{color:var(--text-tertiary);text-decoration:line-through}.checklist input{font-size:var(--fs-meta);flex:1}.cal-event{align-items:center;gap:var(--sp-3);padding:7px var(--sp-2);font-size:var(--fs-meta);color:var(--text-secondary);border-left:3px solid var(--accent);background:var(--hover);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:2px 0;display:flex}.cal-event .time{font-variant-numeric:tabular-nums;color:var(--text-tertiary);white-space:nowrap}.empty-state{text-align:center;color:var(--text-secondary);padding:64px var(--sp-4);font-size:var(--fs-meta)}.empty-state .icon{width:44px;height:44px;margin:0 auto var(--sp-3);opacity:.5}.magic-plus{right:24px;bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-popover);z-index:40;touch-action:none;transition:transform var(--t-fast) var(--ease);border-radius:50%;place-items:center;display:grid;position:fixed}.magic-plus:active{transform:scale(.92)}.magic-plus.dragging{opacity:.9;transition:none}.plus-menu-backdrop{z-index:50;animation:fade-in var(--t-fast) var(--ease);background:#00000059;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.plus-menu{right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-radius:var(--r-xl);max-width:420px;box-shadow:var(--shadow-popover);padding:var(--sp-3);z-index:51;animation:rise-in var(--t-med) var(--ease);margin-left:auto;position:fixed;left:16px}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.plus-menu button.option{gap:var(--sp-4);text-align:left;width:100%;padding:var(--sp-4);border-radius:var(--r-lg);align-items:flex-start;display:flex}.plus-menu button.option:hover{background:var(--hover)}.plus-menu .icon{flex:none;width:28px;height:28px;margin-top:2px}.plus-menu .option-title{font-size:20px;font-weight:600}.plus-menu .option-desc{color:var(--text-secondary);margin-top:2px;font-size:16px}.drop-indicator{background:var(--accent);border-radius:2px;height:3px;margin:2px 0}.inbox-drop-target{background:linear-gradient(90deg, var(--selected), transparent);border-left:4px solid var(--c-inbox);z-index:45;width:72px;color:var(--c-inbox);border-radius:0 var(--r-lg) var(--r-lg) 0;place-items:center;display:grid;position:fixed;top:30%;bottom:30%;left:0}.heading-drop-hint{z-index:44;background:linear-gradient(90deg, var(--hover), transparent);width:56px;position:fixed;top:20%;bottom:20%;left:0}.qf-backdrop{z-index:60;padding:12vh var(--sp-4) 0;background:#00000059;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.qf-panel{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:560px;box-shadow:var(--shadow-popover);animation:rise-in var(--t-fast) var(--ease);overflow:hidden}.qf-input-row{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);display:flex}.qf-input-row input{flex:1;font-size:18px}.qf-results{border-top:1px solid var(--divider);max-height:50vh;overflow-y:auto}.qf-item{align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:10px var(--sp-4);font-size:var(--fs-meta);display:flex}.qf-item.active{background:var(--selected)}.qf-item .icon{flex:none;width:22px;height:22px}.qf-item .qf-context{color:var(--text-tertiary);font-size:var(--fs-section);white-space:nowrap;margin-left:auto}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);color:var(--text);border-radius:var(--r-full);box-shadow:var(--shadow-popover);padding:10px var(--sp-3) 10px var(--sp-5);gap:var(--sp-3);font-size:var(--fs-meta);z-index:70;animation:rise-in var(--t-med) var(--ease);align-items:center;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast button{color:var(--accent);padding:4px 10px;font-weight:600}.sync-indicator{font-size:var(--fs-section);color:var(--text-tertiary);align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.sync-indicator .dot{background:var(--c-logbook);border-radius:50%;width:7px;height:7px}.sync-indicator.syncing .dot{background:var(--c-today);animation:1s infinite pulse}.sync-indicator.offline .dot{background:var(--text-tertiary)}.sync-indicator.error .dot{background:var(--c-deadline)}@keyframes pulse{50%{opacity:.4}}.modal-backdrop{z-index:80;padding:var(--sp-4);background:#0006;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-popover);width:100%;max-width:560px;max-height:80vh;padding:var(--sp-5);animation:rise-in var(--t-fast) var(--ease);overflow-y:auto}.modal h2{margin-bottom:var(--sp-4);font-size:20px}.shortcut-grid{gap:6px var(--sp-5);font-size:var(--fs-meta);grid-template-columns:auto 1fr;display:grid}.shortcut-grid kbd{background:var(--hover);border:1px solid var(--divider);border-radius:var(--r-sm);font-family:inherit;font-size:var(--fs-section);white-space:nowrap;justify-self:start;padding:1px 8px}.popover{background:var(--surface-raised);border-radius:var(--r-lg);box-shadow:var(--shadow-popover);padding:var(--sp-3);z-index:65;min-width:260px;animation:rise-in var(--t-fast) var(--ease);position:absolute}.popover input{border-radius:var(--r-md);background:var(--hover);width:100%;margin-bottom:var(--sp-2);padding:8px 10px}.popover .parse-preview{font-size:var(--fs-section);color:var(--text-secondary);min-height:24px;padding:4px 10px 8px}.popover .parse-preview strong{color:var(--accent);font-weight:600}.popover .quick-options{flex-direction:column;display:flex}.popover .quick-options button{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);text-align:left;font-size:var(--fs-meta);padding:8px 10px;display:flex}.popover .quick-options button:hover{background:var(--hover)}.popover .quick-options .icon{width:20px;height:20px}.bottom-nav{border-top:1px solid var(--divider);background:var(--bg);padding-bottom:env(safe-area-inset-bottom,0px);z-index:30;flex:none;display:flex}.bottom-nav button{min-height:56px;color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:10px;display:flex}.bottom-nav button.active{color:var(--text)}.bottom-nav .icon{width:26px;height:26px}.login-screen{min-height:100%;padding:var(--sp-4);place-items:center;display:grid}.login-card{text-align:center;width:100%;max-width:360px}.login-card h1{margin-bottom:var(--sp-5);font-size:24px}.login-card input{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--divider);width:100%;margin-bottom:var(--sp-3);padding:12px 14px}.login-card button.primary{border-radius:var(--r-md);background:var(--accent);color:#fff;width:100%;padding:12px;font-weight:600}.login-error{color:var(--c-deadline);font-size:var(--fs-meta);margin-bottom:var(--sp-3)}.settings-group{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-lg);margin-bottom:var(--sp-5);overflow:hidden}.settings-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--divider);min-height:52px;font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.settings-row:last-child{border-bottom:none}.settings-row .grow{flex:1;min-width:120px}.settings-row select,.settings-row input[type=text],.settings-row input[type=url],.settings-row input[type=date]{background:var(--hover);border-radius:var(--r-md);border:1px solid var(--divider);color:var(--text);padding:6px 10px;font-size:16px}.settings-note{font-size:var(--fs-section);color:var(--text-tertiary);padding:0 var(--sp-1) var(--sp-2)}.notice{background:var(--surface);border:1px solid var(--divider);border-left:3px solid var(--c-today);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-meta);color:var(--text-secondary);margin-bottom:var(--sp-4)}.notice.error{border-left-color:var(--c-deadline)}.select-bar{left:50%;bottom:calc(150px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-radius:var(--r-full);box-shadow:var(--shadow-popover);z-index:46;gap:2px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.select-bar button{border-radius:var(--r-full);font-size:var(--fs-meta);color:var(--text);min-height:40px;padding:8px 14px}.select-bar button:hover{background:var(--hover)}@media (width>=768px){.sidebar{display:flex}.bottom-nav{display:none}.content{padding:var(--sp-6) var(--sp-8) 140px}.magic-plus{bottom:32px}.plus-menu{width:420px;bottom:104px;left:auto;right:32px}.toast{bottom:40px}.select-bar{bottom:100px}}@media (width>=1440px){.sidebar{width:340px}.content-inner{max-width:760px}}
