@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--bg: #080808;--surface: #111111;--surface-2: #161616;--border: #1f1f1f;--border-2: #2a2a2a;--text: #e4dfd6;--text-muted: #555555;--text-dim: #333333;--accent: #c8962a;--accent-dim: rgba(200, 150, 42, .12);--accent-glow:rgba(200, 150, 42, .25);--danger: #7a2020;--danger-dim: rgba(122, 32, 32, .12);--success: #2a7a4a;--success-dim:rgba(42, 122, 74, .15);--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-serif: "Instrument Serif", Georgia, serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=light]{--bg: #f5f2ec;--surface: #eeebe3;--surface-2: #e8e4db;--border: #d6d2c8;--border-2: #c8c4b8;--text: #1a1a14;--text-muted: #888880;--text-dim: #c0bcb0;--accent: #a07820;--accent-dim: rgba(160, 120, 32, .1);--accent-glow:rgba(160, 120, 32, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-weight:300;line-height:1.6;min-height:100dvh;overflow-x:hidden;overscroll-behavior:none}#root{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:2px}::selection{background:var(--accent-dim);color:var(--accent)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.app-shell{display:flex;flex-direction:column;height:100dvh;width:100%;position:relative;overflow:hidden;touch-action:manipulation}.app-header{padding:calc(var(--safe-top) + 16px) 20px 12px;display:flex;align-items:flex-end;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border)}.app-title{font-family:var(--font-serif);font-size:26px;font-style:italic;font-weight:400;color:var(--text);letter-spacing:-.02em;line-height:1;-webkit-user-select:none;user-select:none}.app-title span{color:var(--accent)}.header-actions{display:flex;gap:8px;align-items:center}.icon-btn{width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.icon-btn:hover,.icon-btn:active{color:var(--text);border-color:var(--border-2);background:var(--surface)}.icon-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.list-switcher{display:flex;align-items:stretch;flex-shrink:0;border-bottom:1px solid var(--border);position:relative}.list-switcher:before{content:"";position:absolute;right:44px;top:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none;z-index:1}.list-tabs-scroll{display:flex;gap:4px;padding:10px 20px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.list-tabs-scroll::-webkit-scrollbar{display:none}.list-switcher::-webkit-scrollbar{display:none}.list-tab{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:5px 12px;border-radius:20px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;position:relative}.list-tab:hover{color:var(--text);border-color:var(--border-2)}.list-tab.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.list-tab .count{font-size:9px;opacity:.7;margin-left:4px}.filter-bar{display:flex;gap:0;padding:8px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.filter-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border:none;background:none;color:var(--text-dim);cursor:pointer;position:relative;transition:color .15s}.filter-btn:after{content:"";position:absolute;bottom:-1px;left:10px;right:10px;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .2s}.filter-btn.active{color:var(--text)}.filter-btn.active:after{transform:scaleX(1)}.filter-btn .overdue-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a03030;margin-left:4px;vertical-align:middle;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.task-list-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 0 100px;overscroll-behavior:contain}.task-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;gap:12px;opacity:0;animation:fadeIn .4s ease .2s forwards}.empty-glyph{font-family:var(--font-serif);font-style:italic;font-size:48px;color:var(--text-dim);line-height:1}.empty-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.task-group-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding:16px 20px 4px}.task-item-wrapper{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}.task-item-wrapper:first-child{border-top:1px solid var(--border)}.task-action-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;pointer-events:none}.task-action-bg.tray-open{pointer-events:auto}.task-action-bg.left{background:var(--success-dim);justify-content:flex-start;padding-left:20px}.task-action-bg.right{background:var(--danger-dim);justify-content:flex-end;padding-right:20px}.task-action-icon{font-size:16px;opacity:0;transition:opacity .15s}.task-action-bg.left.reveal .task-action-icon,.task-action-bg.right.reveal .task-action-icon{opacity:.8}.task-item{display:flex;align-items:flex-start;gap:12px;padding:13px 20px;background:var(--bg);cursor:pointer;position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none;will-change:transform;transition:background .15s}.task-item:active{background:var(--surface)}.task-item.done-anim{animation:taskDone .3s ease forwards}@keyframes taskDone{to{opacity:0;transform:translate(100%)}}@keyframes taskDelete{to{opacity:0;transform:translate(-100%)}}.task-check{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}.task-check:hover{border-color:var(--accent)}.task-check.checked{background:var(--success);border-color:var(--success)}.task-check svg{opacity:0;transition:opacity .15s}.task-check.checked svg{opacity:1}.task-body{flex:1;min-width:0}.task-text{font-family:var(--font-mono);font-size:13.5px;font-weight:400;line-height:1.5;color:var(--text);word-break:break-word}.task-text.done{text-decoration:line-through;color:var(--text-muted)}.task-meta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}.task-due{font-size:10px;letter-spacing:.04em;color:var(--text-muted);font-family:var(--font-mono)}.task-due.overdue{color:#a04040}.task-due.today{color:var(--accent)}.task-list-badge{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:1px 5px;border-radius:3px;border:1px solid var(--border)}.task-star{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;font-size:12px;line-height:1;transition:color .15s;flex-shrink:0}.task-star.starred,.task-star:hover{color:var(--accent)}.task-subtasks{padding:0 20px 10px 50px;display:flex;flex-direction:column;gap:4px}.subtask-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.subtask-check{width:12px;height:12px;border:1px solid var(--border-2);border-radius:2px;cursor:pointer;flex-shrink:0}.add-task-fab{position:fixed;bottom:calc(var(--safe-bottom) + 20px);right:20px;width:52px;height:52px;border-radius:50%;background:var(--accent);border:none;color:#000;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 0 var(--accent-glow);animation:fabGlow 3s ease-in-out infinite;transition:transform .2s,box-shadow .2s;z-index:100}.add-task-fab:hover{transform:scale(1.05)}.add-task-fab:active{transform:scale(.96)}.add-task-fab.open{transform:scale(0);pointer-events:none;opacity:0}@keyframes fabGlow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 10px transparent}}.add-task-panel{position:fixed;bottom:var(--keyboard-height, 0px);left:0;right:0;width:100%;background:var(--surface);border-top:1px solid var(--border-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 20px calc(var(--safe-bottom) + 28px);z-index:99;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);overflow-y:auto;overscroll-behavior:contain;max-height:calc(var(--vvh, 100dvh) - 60px)}.add-task-panel.open{transform:translateY(0)}.panel-handle{width:36px;height:3px;background:var(--border-2);border-radius:2px;margin:0 auto 16px}.add-task-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-2);color:var(--text);font-family:var(--font-mono);font-size:15px;font-weight:400;padding:4px 0 10px;outline:none;caret-color:var(--accent);transition:border-color .2s}.add-task-input::placeholder{color:var(--text-dim)}.add-task-input:focus{border-bottom-color:var(--accent)}.add-task-parsed{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:22px}.parsed-date{font-size:11px;letter-spacing:.04em;color:var(--accent);background:var(--accent-dim);padding:2px 8px;border-radius:12px;border:1px solid var(--accent);opacity:.9}.parsed-hint{font-size:11px;color:var(--text-dim)}.add-task-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:8px}.add-task-list-select{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-muted);padding:5px 10px;border-radius:20px;cursor:pointer;outline:none}.add-task-submit{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);border:none;color:#000;padding:8px 20px;border-radius:20px;cursor:pointer;font-weight:500;transition:opacity .15s,transform .15s;margin-left:auto}.add-task-submit:disabled{opacity:.3;cursor:default}.add-task-submit:not(:disabled):active{transform:scale(.97)}.add-task-datetime{margin-top:10px}.datetime-toggle{background:none;border:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:6px;transition:color .15s}.datetime-toggle:hover{color:var(--text-muted)}.datetime-toggle.active{color:var(--accent)}.datetime-input-row{display:flex;gap:8px;margin-top:8px;align-items:center}.datetime-native{flex:1;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text);font-family:var(--font-mono);font-size:12px;padding:7px 10px;border-radius:var(--radius-md);outline:none;cursor:pointer;transition:border-color .15s;min-width:0}.datetime-native:focus{border-color:var(--accent)}.datetime-native::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.datetime-clear{background:none;border:1px solid var(--border);color:var(--text-dim);font-size:14px;width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,border-color .15s}.datetime-clear:hover{color:var(--text);border-color:var(--border-2)}.add-task-cancel{background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;padding:8px 4px;transition:color .15s}.add-task-cancel:hover{color:var(--text-muted)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .2s}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-panel{position:absolute;top:0;right:0;width:min(320px,90vw);height:100%;background:var(--surface);border-left:1px solid var(--border-2);padding:calc(var(--safe-top) + 20px) 20px calc(var(--safe-bottom) + 20px);overflow-y:auto;transform:translate(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.settings-overlay.open .settings-panel{transform:translate(0)}.settings-title{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--text);margin-bottom:28px}.settings-section{margin-bottom:28px}.settings-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.settings-row-label{font-size:13px;color:var(--text-muted)}.toggle{width:38px;height:22px;border-radius:11px;background:var(--border-2);position:relative;cursor:pointer;transition:background .2s;border:none;flex-shrink:0}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--text);top:3px;left:3px;transition:left .2s}.toggle.on:after{left:19px;background:#000}.settings-select{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius-sm);outline:none;cursor:pointer}.settings-btn{width:100%;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border-2);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-align:left;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.settings-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.settings-btn.danger{border-color:var(--danger);color:#a04040}.auth-chip{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);padding:4px 8px;border-radius:20px;border:1px solid var(--border);cursor:pointer;transition:border-color .15s,color .15s}.auth-chip:hover{color:var(--text-muted);border-color:var(--border-2)}.auth-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.auth-chip.signed-in .dot{background:var(--success)}.overdue-banner{padding:6px 20px;background:#7a20201f;border-bottom:1px solid rgba(122,32,32,.25);font-size:11px;color:#a04040;letter-spacing:.04em}.toast-container{position:fixed;bottom:calc(var(--safe-bottom) + 90px);left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{font-family:var(--font-mono);font-size:12px;color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:20px;padding:8px 16px;animation:toastIn .25s ease,toastOut .25s ease 2s forwards;white-space:nowrap}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)}}.loading-screen{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-title{font-family:var(--font-serif);font-style:italic;font-size:36px;color:var(--text-dim);animation:breathe 2.5s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.4}50%{opacity:.9}}.loading-sub{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);animation:breathe 2.5s ease-in-out infinite .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{opacity:0;animation:fadeIn .25s ease forwards}.task-item-wrapper.animate-in{animation-delay:calc(var(--index, 0) * 30ms)}.task-action-bg.right.tray-open{background:transparent}.task-tray-btns{display:flex;align-items:stretch;height:100%;gap:0}.tray-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 18px;border:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;flex:1;transition:filter .12s}.tray-btn:active{filter:brightness(1.2)}.tray-btn.snooze{background:#c8962a40;color:var(--accent);border-right:1px solid rgba(200,150,42,.2)}.tray-btn.del{background:#b428284d;color:#e07070}.task-recurring-badge{font-size:9px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);opacity:.8;padding:1px 5px;border:1px solid var(--accent-dim);border-radius:10px}.list-tab.calendar-tab{flex-shrink:0;padding:8px 12px;border-left:1px solid var(--border);border-radius:0;background:var(--bg);z-index:2}.calendar-view{flex:1;overflow-y:auto;padding:0 0 calc(var(--safe-bottom) + 80px);-webkit-overflow-scrolling:touch}.cal-month-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 10px}.cal-nav-btn{background:none;border:1px solid var(--border);color:var(--text-muted);width:32px;height:32px;border-radius:var(--radius-sm);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.cal-nav-btn:hover{color:var(--text);border-color:var(--border-2)}.cal-month-label{font-family:var(--font-serif);font-size:18px;font-style:italic;color:var(--text)}.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;margin-bottom:4px}.cal-dow{text-align:center;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 12px}.cal-cell{display:flex;flex-direction:column;align-items:center;padding:6px 4px 4px;border-radius:var(--radius-sm);cursor:pointer;min-height:42px;transition:background .12s;position:relative}.cal-cell:hover:not(.empty){background:var(--surface-2)}.cal-cell.empty{cursor:default;pointer-events:none}.cal-cell.today .cal-day-num{color:var(--accent);font-weight:500}.cal-cell.today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--accent)}.cal-cell.sel{background:var(--accent-dim);border:1px solid var(--accent)}.cal-day-num{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);line-height:1}.cal-dots{display:flex;align-items:center;gap:3px;margin-top:3px}.cal-dot{width:4px;height:4px;border-radius:50%}.cal-dot.overdue{background:#e07070}.cal-dot.pending{background:var(--accent)}.cal-dot.done{background:var(--text-dim)}.cal-dot-count{font-size:8px;color:var(--text-dim);line-height:1}.cal-day-tasks{margin-top:16px;border-top:1px solid var(--border);padding:14px 16px 0}.cal-day-heading{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.cal-day-count{font-size:9px;color:var(--text-dim)}.cal-day-empty{font-size:11px;color:var(--text-dim);font-family:var(--font-serif);font-style:italic;padding:8px 0}.cal-task-list{display:flex;flex-direction:column;gap:2px}.cal-task-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);transition:border-color .15s}.cal-task-row.overdue{border-color:#dc50504d}.cal-task-row.done{opacity:.4}.cal-task-body{flex:1;min-width:0}.cal-task-actions{display:flex;gap:6px;flex-shrink:0}.cal-action-btn{background:none;border:1px solid var(--border-2);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.cal-action-btn.snooze{color:var(--accent)}.cal-action-btn.del{color:#e07070}.cal-action-btn:hover{background:var(--surface-2);border-color:var(--border-2)}.settings-lists{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.settings-list-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border)}.settings-list-name{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);letter-spacing:.04em}.settings-list-remove{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;padding:2px 4px;border-radius:3px;transition:color .15s,background .15s}.settings-list-remove:hover{color:#e07070;background:#dc50501a}.settings-list-add{display:flex;gap:8px;align-items:center}.settings-list-input{flex:1;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text);font-family:var(--font-mono);font-size:12px;padding:6px 10px;border-radius:var(--radius-sm);outline:none;caret-color:var(--accent)}.settings-list-input::placeholder{color:var(--text-dim)}.settings-list-input:focus{border-color:var(--accent)}.dtp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}.dtp-panel{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0 0 calc(var(--safe-bottom) + 12px);overflow:hidden;animation:slideUp .25s cubic-bezier(.32,.72,0,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dtp-tabs{display:flex;border-bottom:1px solid var(--border)}.dtp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.dtp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dtp-calendar{padding:12px 16px 8px}.dtp-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dtp-nav-btn{background:none;border:1px solid var(--border);color:var(--text-muted);width:30px;height:30px;border-radius:var(--radius-sm);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.dtp-nav-btn:hover{color:var(--text);border-color:var(--border-2)}.dtp-month-label{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text);letter-spacing:.04em}.dtp-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.dtp-dow{text-align:center;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:4px 0}.dtp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-day{aspect-ratio:1;background:none;border:none;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s;display:flex;align-items:center;justify-content:center}.dtp-day:hover:not(.empty){background:var(--surface-2);color:var(--text)}.dtp-day.empty{cursor:default;pointer-events:none}.dtp-day.today{color:var(--accent);font-weight:500}.dtp-day.today:after{content:"";position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:var(--accent)}.dtp-day.today{position:relative}.dtp-day.sel{background:var(--accent);color:#000;font-weight:500}.dtp-day.sel:hover{background:var(--accent)}.dtp-quick-row{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.dtp-quick{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;border:1px solid var(--border-2);background:none;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.dtp-quick:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.dtp-time{padding:16px 20px 8px;display:flex;flex-direction:column;align-items:center;gap:12px}.dtp-time-label{font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--text-muted)}.dtp-time-row{display:flex;align-items:flex-start;gap:8px}.dtp-time-sep{font-size:22px;color:var(--text-dim);padding-top:28px;line-height:1}.dtp-time-col{display:flex;flex-direction:column;align-items:center;gap:4px}.dtp-time-col-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.dtp-scroll-list{display:flex;flex-direction:column;gap:2px;height:160px;overflow-y:auto;scrollbar-width:none;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.dtp-scroll-list::-webkit-scrollbar{display:none}.dtp-scroll-item{font-family:var(--font-mono);font-size:14px;padding:6px 16px;border:none;background:none;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap;text-align:center;min-width:56px}.dtp-scroll-item:hover{background:var(--surface);color:var(--text)}.dtp-scroll-item.sel{background:var(--accent);color:#000;font-weight:500}.dtp-time-display{font-family:var(--font-mono);font-size:36px;font-weight:300;color:var(--text);letter-spacing:.04em}.dtp-footer{padding:12px 16px 4px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.dtp-sel-label{font-family:var(--font-mono);font-size:11px;color:var(--accent);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-footer-btns{display:flex;gap:8px;align-items:center}.dtp-btn-clear{background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;padding:6px 4px;transition:color .15s}.dtp-btn-clear:hover{color:var(--text-muted)}.dtp-btn-confirm{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);border:none;color:#000;padding:8px 20px;border-radius:20px;cursor:pointer;font-weight:500;transition:opacity .15s}.dtp-btn-confirm:disabled{opacity:.3;cursor:default}.add-task-note{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;font-weight:300;padding:8px 0;outline:none;resize:none;caret-color:var(--accent);line-height:1.6;transition:border-color .2s;margin-top:6px}.add-task-note::placeholder{color:var(--text-dim)}.add-task-note:focus{border-bottom-color:var(--accent)}.reminder-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.reminder-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.reminder-section{margin-top:6px}.reminder-mode-toggle{display:flex;gap:4px}.reminder-mode-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:none;color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.reminder-mode-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.reminder-select{font-family:var(--font-mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-muted);padding:4px 8px;border-radius:var(--radius-sm);outline:none;cursor:pointer}.reminder-select-full{width:100%;margin-top:8px;padding:7px 10px}.reminder-at-row{display:flex;align-items:center;gap:6px;margin-top:8px}.reminder-at-btn{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-muted);padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s;flex:1}.reminder-at-btn.active,.reminder-at-btn:has(+.reminder-clear-btn){border-color:var(--accent);color:var(--accent)}.reminder-clear-btn{background:none;border:1px solid var(--border);color:var(--text-dim);font-size:12px;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s}.reminder-clear-btn:hover{color:var(--text)}.task-note{padding:4px 20px 10px 50px;font-size:12px;font-family:var(--font-mono);color:var(--text-dim);line-height:1.6;white-space:pre-wrap;word-break:break-word}@media (min-width: 600px){.app-shell{max-width:480px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:0 0 80px #0009}.add-task-panel{left:50%;right:auto;width:480px;transform:translate(-50%) translateY(100%)}.add-task-panel.open{transform:translate(-50%) translateY(0)}.dtp-panel{border-radius:var(--radius-lg);margin-bottom:40px}.dtp-backdrop{align-items:center}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(200,150,42,.03) 0%,transparent 70%);pointer-events:none}}.note-open-btn{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-md);color:var(--text-dim);font-family:var(--font-mono);font-size:11px;cursor:pointer;text-align:left;transition:border-color .15s,color .15s}.note-open-btn:hover{border-color:var(--accent);color:var(--text-muted)}.note-preview-snippet{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted)}.note-open-arrow{margin-left:auto;opacity:.5;font-size:12px}.note-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:var(--bg);display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.32,.72,0,1)}.note-editor-overlay.open{transform:translate(0)}.note-editor-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.note-editor-back{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--radius-sm);transition:color .15s;flex-shrink:0}.note-editor-back:hover{color:var(--text)}.note-editor-title{flex:1;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-mode-toggle{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.note-mode-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:3px 10px;border-radius:3px;border:none;background:none;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s}.note-mode-btn.active{background:var(--surface);color:var(--text)}.note-toolbar{display:flex;gap:2px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.note-tool-btn{font-family:var(--font-mono);font-size:12px;font-weight:600;background:none;border:1px solid transparent;color:var(--text-muted);padding:4px 9px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s,border-color .12s;min-width:32px;text-align:center}.note-tool-btn:hover{background:var(--surface-2);border-color:var(--border-2);color:var(--text)}.note-tool-btn:active{background:var(--surface-3, var(--surface-2))}.note-editor-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.note-textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.75;padding:20px 20px calc(var(--safe-bottom) + 20px);resize:none;caret-color:var(--accent);overscroll-behavior:contain}.note-textarea::placeholder{color:var(--text-dim);opacity:.6}.note-preview{flex:1;overflow-y:auto;padding:20px 20px calc(var(--safe-bottom) + 20px);overscroll-behavior:contain}.note-preview-empty{color:var(--text-dim);font-family:var(--font-mono);font-size:13px}.md-content{line-height:1.7}.md-h1{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--text);margin:16px 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px}.md-h2{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--text);margin:14px 0 6px}.md-h3{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:12px 0 4px}.md-p{font-size:14px;color:var(--text-muted);margin:6px 0}.md-hr{border:none;border-top:1px solid var(--border-2);margin:16px 0}.md-list{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:4px}.md-bullet{font-size:14px;color:var(--text-muted);padding-left:16px;position:relative}.md-bullet:before{content:"·";position:absolute;left:4px;color:var(--accent);font-size:16px;line-height:1;top:1px}.md-check-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-muted)}.md-checkbox{flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--border-2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;transition:background .15s,border-color .15s;margin-top:2px;color:transparent}.md-checkbox.checked{background:var(--accent);border-color:var(--accent);color:var(--bg)}.md-check-done{text-decoration:line-through;color:var(--text-dim)}.md-inline-code{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;color:var(--accent-2, var(--accent))}.task-note.md-content{padding:6px 20px 10px 50px}.task-note .md-h1{font-size:16px;margin:8px 0 4px}.task-note .md-h2{font-size:14px;margin:6px 0 3px}.task-note .md-p,.task-note .md-bullet,.task-note .md-check-item{font-size:12px}.note-toolbar-hint{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.04em;margin-left:auto;align-self:center;white-space:nowrap}.note-tool-btn.active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}.ne-block{display:flex;align-items:center;padding:1px 20px;min-height:36px;gap:8px}.ne-block.focused{background:color-mix(in srgb,var(--accent) 4%,transparent)}.ne-block-h1{padding-top:10px}.ne-block-h2{padding-top:6px}.ne-block-h3{padding-top:4px}.ne-bullet-glyph{color:var(--accent);font-size:20px;line-height:1;flex-shrink:0;margin-top:-2px}.ne-checkbox{flex-shrink:0;width:17px;height:17px;border:1.5px solid var(--border-2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:transparent;transition:background .15s,border-color .15s,color .15s}.ne-checkbox.checked{background:var(--accent);border-color:var(--accent);color:var(--bg)}.ne-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.6;caret-color:var(--accent);width:100%;padding:0}.ne-input::placeholder{color:var(--text-dim);opacity:.5}.ne-input-h1{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--text)}.ne-input-h2{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--text)}.ne-input-h3{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.ne-input-check-done{text-decoration:line-through;color:var(--text-dim)}.ne-hr-wrap{padding:8px 20px;cursor:pointer}.ne-hr{border:none;border-top:1px solid var(--border-2);margin:0}.task-note-wrap{padding:2px 16px 10px 50px}.task-note-edit-btn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 9px;cursor:pointer;transition:color .15s,border-color .15s}.task-note-edit-btn:hover{color:var(--accent);border-color:var(--accent)}.task-note-add-btn{display:block;margin:2px 16px 10px 50px;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text-dim);background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:5px 12px;cursor:pointer;width:calc(100% - 66px);transition:color .15s,border-color .15s}.task-note-add-btn:hover{color:var(--accent);border-color:var(--accent)}.task-note-wrap .task-note{padding:4px 0 0}
