.aurora-container{width:100%;height:100%}.aurora-container canvas{display:block;width:100%;height:100%}:root{color-scheme:dark;--bg: #07050d;--panel: #120f17;--panel-soft: #181320;--panel-raised: #1b1525;--line: #2f293a;--line-strong: #453955;--text: #fff;--muted: #b9adca;--muted-2: #7f728f;--accent: #8400ff;--accent-dark: #b780ff;--accent-soft: rgba(132, 0, 255, .16);--danger: #ff5c7a;--danger-soft: rgba(255, 92, 122, .16);--warning: #f8b84e;--warning-soft: rgba(248, 184, 78, .16);--info: #8ab4ff;--info-soft: rgba(138, 180, 255, .16);--purple-glow: rgba(132, 0, 255, .2);--purple-border: rgba(132, 0, 255, .8);--shadow: 0 28px 90px rgba(0, 0, 0, .42);--radius: 20px;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% 0%,rgba(124,255,103,.11),transparent 28rem),linear-gradient(135deg,#040309,#0d0717 48%,#040309);color:var(--text);font-family:var(--font)}button,input,textarea{font:inherit}button{cursor:pointer}button:focus{outline:none}button:focus-visible{outline:2px solid rgba(183,128,255,.72);outline-offset:3px}button:disabled{cursor:not-allowed}.app-shell{position:relative;display:grid;grid-template-columns:260px minmax(520px,1fr) 420px;gap:12px;min-height:100vh;padding:12px;background:transparent;overflow-x:hidden}.aurora-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(132,0,255,.26),transparent 31rem),radial-gradient(circle at 78% 4%,rgba(124,255,103,.12),transparent 26rem),linear-gradient(180deg,#0403090f,#040309d1 74%);pointer-events:none}.aurora-backdrop:after{position:absolute;inset:0;background:linear-gradient(180deg,#04030929,#0403096b 58%,#040309),radial-gradient(circle at 50% 100%,rgba(132,0,255,.2),transparent 34rem);content:""}.aurora-backdrop .aurora-container{opacity:.82;transform:scale(1.04)}.sidebar,.task-pane,.detail-pane{z-index:2}.app-shell.detail-collapsed{grid-template-columns:260px minmax(520px,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(520px,1fr) 420px}.app-shell.sidebar-collapsed.detail-collapsed{grid-template-columns:76px minmax(520px,1fr)}.sidebar{display:flex;flex-direction:column;gap:24px;padding:22px 14px}.app-shell.sidebar-collapsed .sidebar{align-items:center;padding-inline:10px}.brand-row{display:flex;align-items:center;gap:14px;padding:0 8px}.app-shell.sidebar-collapsed .brand-row{justify-content:center;padding:0}.brand-row h1{margin:0;color:var(--text);font-size:24px;font-weight:760;line-height:1.2;text-shadow:0 0 28px rgba(132,0,255,.55)}.app-shell.sidebar-collapsed .brand-row h1,.app-shell.sidebar-collapsed .nav-item span,.app-shell.sidebar-collapsed .nav-item strong,.app-shell.sidebar-collapsed .list-section{display:none}.app-shell.sidebar-collapsed .nav-item{display:flex;width:44px;justify-content:center;padding:0}.bento-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 32%),var(--panel);box-shadow:var(--shadow);overflow:hidden;--glow-x: 50%;--glow-y: 50%;--glow-intensity: 0;--glow-radius: 240px}.bento-card:after{position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(132,0,255,calc(var(--glow-intensity) * .82)) 0%,rgba(132,0,255,calc(var(--glow-intensity) * .36)) 34%,transparent 62%);content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.bento-card>*{position:relative;z-index:2}.global-spotlight{position:fixed;z-index:1;width:780px;height:780px;border-radius:999px;background:radial-gradient(circle,rgba(132,0,255,.14) 0%,rgba(132,0,255,.08) 18%,rgba(132,0,255,.03) 42%,transparent 70%);mix-blend-mode:screen;opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity .26s ease}.app-shell.detail-collapsed .detail-pane{display:none}.icon-button,.filter-button,.sort-button,.row-actions button,.detail-close{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#ffffff09;color:var(--text);transition:border-color .16s ease,background .16s ease,color .16s ease}.icon-button{width:36px;height:36px;border-radius:8px}.icon-button.ghost{border-color:transparent;background:transparent}.nav-stack,.list-section{display:flex;flex-direction:column;gap:7px}.nav-item,.plain-list-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;min-height:44px;border:0;border-radius:var(--radius);padding:0 12px;background:transparent;color:var(--muted);text-align:left}.nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:700;box-shadow:inset 0 0 0 1px #8400ff6b}.plain-list-item.active{background:var(--accent-soft);color:var(--text);font-weight:700}.nav-item strong,.plain-list-item strong{font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:24px 12px 8px;color:var(--text);font-size:14px;font-weight:760}.section-title button{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.section-title button:hover{background:var(--panel-soft);color:var(--accent-dark)}.plain-list-item{grid-template-columns:1fr auto;min-height:38px;padding-left:28px}.category-list-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;min-height:38px;border-radius:var(--radius)}.category-list-item.active{background:var(--accent-soft);color:var(--text);font-weight:700}.category-select-button,.category-delete-button{border:0;background:transparent;color:var(--muted)}.category-list-item.active .category-select-button,.category-list-item.active .category-delete-button{color:var(--text)}.category-select-button{display:grid;width:100%;min-width:0;min-height:38px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px 0 28px;text-align:left}.category-select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-select-button strong{font-size:13px}.category-delete-button{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;justify-self:end;border-radius:6px;color:var(--muted-2)}.category-delete-button:hover{background:var(--danger-soft);color:var(--danger)}.category-add-row{padding:0 8px 4px 28px}.category-add-row input{width:100%;min-height:34px;border:1px solid var(--line);border-radius:10px;background:#ffffff09;color:var(--text);padding:0 10px;outline:0}.category-add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8400ff29}.task-pane{display:flex;min-width:0;flex-direction:column;background:var(--panel)}.topbar{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:70px;border-bottom:1px solid var(--line);padding:0 20px;background:#120f17c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.search-chip{margin-right:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.search-chip input{width:min(260px,24vw);border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.search-chip input::placeholder{color:var(--muted)}.list-controls{display:contents}.list-controls-view{display:none}.filter-button,.sort-button{gap:8px;height:42px;border-radius:var(--radius);padding:0 14px;color:var(--text)}.filter-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:700}.sort-wrapper{position:relative;z-index:95;width:174px}.sort-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow)}.sort-button{width:100%}.sort-option{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;width:100%;min-height:38px;border:0;border-radius:6px;padding:0 8px;background:transparent;color:var(--text);text-align:left}.sort-option:hover{background:linear-gradient(135deg,#8400ff,#a64dff);color:#fff}.custom-select{position:relative;min-width:0}.custom-select>button{display:flex;width:100%;min-width:0;min-height:48px;align-items:center;justify-content:space-between;gap:8px;border:0;border-right:1px solid var(--line);background:#ffffff06;color:var(--text);padding:0 14px;font-weight:700}.custom-select>button svg{color:var(--accent-dark);transition:transform .16s ease}.custom-select.open>button svg{transform:rotate(180deg)}.custom-select-menu{position:absolute;z-index:140;top:calc(100% + 8px);right:8px;width:max-content;min-width:160px;padding:8px}.custom-select-menu button{display:grid;width:100%;min-height:38px;grid-template-columns:20px 1fr;align-items:center;gap:8px;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:0 10px;text-align:left;transition:background .15s ease,color .15s ease,transform .15s ease}.custom-select-menu button:hover{background:linear-gradient(135deg,#8400ff,#a64dff);color:#fff;transform:translate(2px)}.custom-select-menu button[aria-selected=true]{background:#8400ff3d;color:var(--text)}.custom-select-menu button[aria-selected=true] svg{color:var(--accent-dark)}.detail-grid .custom-select>button{min-height:34px;border:1px solid transparent;border-radius:12px;background:#8400ff14;color:var(--accent-dark);padding:0 10px;font-size:16px}.detail-grid .custom-select-menu{left:0;right:auto;width:150px;min-width:150px}.view-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 24px 0;color:var(--muted);font-size:14px}.view-banner strong{color:var(--text);font-size:18px}.view-title-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px}.view-title-group{display:flex;min-width:0;align-items:baseline;gap:10px}.view-title-group>span{color:var(--muted);font-size:14px;white-space:nowrap}.add-row{display:grid;grid-template-columns:minmax(180px,1fr) 132px 128px 96px;gap:8px;margin:22px 24px 18px;border:1px solid var(--line);border-radius:var(--radius);padding:6px;overflow:visible;background:var(--panel);box-shadow:0 12px 40px #0000003d}.add-row.bento-card{z-index:3}.add-row input,.add-submit-button{min-height:48px;border:0;background:#ffffff06;color:var(--text)}.add-row input{min-width:0;border:1px solid var(--line);border-radius:calc(var(--radius) - 6px);padding:0 16px;font-size:15px}.add-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-right:0;border-radius:calc(var(--radius) - 6px);background:linear-gradient(135deg,#8400ff,#a64dff);color:#fff;font-weight:700;box-shadow:0 0 28px #8400ff57}.add-category-select,.add-priority-select{z-index:20;display:grid;min-height:48px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:calc(var(--radius) - 6px);background:#ffffff09;cursor:pointer;padding:6px 8px}.add-category-select{grid-template-columns:auto minmax(58px,1fr)}.add-priority-select{grid-template-columns:auto 52px}.add-category-select:before{color:var(--muted);content:"类型";font-size:13px;line-height:1}.add-priority-select:before{color:var(--muted);content:"优先级";font-size:13px;line-height:1}.add-category-select>button,.add-priority-select>button{width:52px;min-height:30px;border:1px solid transparent;border-radius:12px;background:#8400ff1f;color:var(--accent-dark);padding:0 8px;font-size:16px}.add-category-select>button{width:100%;min-width:58px;font-size:14px}.add-category-select.open,.add-priority-select.open{z-index:130}.add-category-select .custom-select-menu,.add-priority-select .custom-select-menu{right:auto;left:0;width:100%;min-width:0}.table-head{display:grid;grid-template-columns:68px minmax(90px,1fr) 62px 70px 42px 74px;gap:8px;align-items:center;margin:0 24px;border-bottom:1px solid var(--line);padding:0 0 14px;color:var(--muted);font-size:14px;font-weight:760}.table-head span:first-child{transform:translate(8px)}.table-head span:nth-child(5){transform:translate(-8px)}.todo-list{margin:0 24px}.todo-row{position:relative;display:grid;grid-template-columns:34px 26px minmax(90px,1fr) 62px 70px 42px 74px;gap:8px;align-items:center;min-height:86px;border:1px solid var(--line);background:var(--panel);margin-bottom:8px;padding:0 12px;transition:background .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}.todo-row:hover,.todo-row.selected{background:var(--panel-raised);box-shadow:0 8px 25px #00000038,0 0 28px #8400ff1f;transform:translateY(-2px)}.app-shell.is-sorting .todo-row{transition:transform .21s cubic-bezier(.2,.8,.2,1),opacity .16s ease;will-change:transform}.app-shell.is-sorting .todo-row:hover,.app-shell.is-sorting .todo-row.selected{transform:none}.app-shell.is-sorting .todo-row.sort-shift{transform:translate3d(0,var(--sort-shift-y, 0),0)}.todo-row.dragging{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);opacity:.5}.todo-row.dragging>*{opacity:.18}.todo-row.completed{color:var(--muted)}.drag-cell{display:flex;align-items:center;gap:4px;color:var(--muted-2)}.drag-handle{display:inline-flex;width:32px;height:38px;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--muted-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:hover{background:var(--panel-soft);color:var(--accent-dark)}.drag-handle:active{cursor:grabbing}.drag-preview{position:fixed;z-index:1000;display:grid;grid-template-columns:32px 32px minmax(0,1fr) 42px;gap:12px;align-items:center;border:1px solid rgba(132,0,255,.64);border-radius:var(--radius);padding:0 14px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 30%),#120f17f5;box-shadow:0 22px 70px #00000080,0 0 42px #8400ff3d;color:var(--text);pointer-events:none;transform:rotate(-.6deg) scale(1.015)}.drag-preview svg{color:var(--muted-2)}.preview-check{display:inline-grid;width:25px;height:25px;place-items:center;border:1px solid var(--line-strong);border-radius:5px;background:#ffffff09}.preview-check.checked{border-color:var(--accent);background:var(--accent);color:#fff}.preview-main{min-width:0;display:flex;flex-direction:column;gap:4px}.preview-main strong,.preview-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-main strong{font-size:16px}.preview-main span{color:var(--muted);font-size:13px}.check-button{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:5px;background:#ffffff09;color:transparent}.check-button.checked{border-color:var(--accent);background:var(--accent);color:#fff}.todo-main{min-width:0}.todo-main h2{overflow:hidden;margin:0 0 6px;color:var(--text);font-size:16px;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.todo-main p{overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.completed .todo-main h2,.completed .todo-main p{text-decoration:line-through}.date-label{color:var(--accent-dark);font-size:14px;font-weight:700}.category-badge{display:inline-flex;min-width:0;max-width:100%;min-height:28px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(183,128,255,.22);border-radius:999px;background:#8400ff1a;color:var(--accent-dark);padding:0 10px;font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.priority{display:inline-flex;width:36px;height:28px;align-items:center;justify-content:center;border-radius:999px;font-size:14px;font-weight:760}.priority-high{background:var(--danger-soft);color:var(--danger)}.priority-medium{background:var(--warning-soft);color:var(--warning)}.priority-low{background:var(--info-soft);color:var(--info)}.row-actions{display:flex;justify-content:flex-end;gap:10px}.row-actions button{width:32px;height:32px;border-color:transparent;border-radius:6px;color:var(--muted)}.row-actions button:hover{border-color:var(--line);color:var(--text)}.swipe-delete-button{display:none}.empty-state{display:grid;min-height:300px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.empty-state h2{margin:0;color:var(--text);font-size:18px}.empty-state p{margin:0}.list-footer{display:flex;justify-content:space-between;gap:12px;margin:auto 24px 34px;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:14px}.sync-status{display:inline-flex;align-items:center;gap:6px;margin-left:12px;color:var(--muted)}.sync-status:before{width:7px;height:7px;border-radius:999px;background:var(--info);box-shadow:0 0 16px var(--info-soft);content:""}.sync-status-saving:before,.sync-status-loading:before{background:var(--warning);box-shadow:0 0 16px var(--warning-soft)}.sync-status-offline{color:var(--danger)}.sync-status-offline:before{background:var(--danger);box-shadow:0 0 16px var(--danger-soft)}.detail-pane{position:relative;display:flex;min-width:0;flex-direction:column;gap:22px;padding:38px 26px 28px;background:var(--panel)}.detail-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border-color:transparent;border-radius:8px;color:var(--muted)}.detail-title{width:calc(100% - 44px);border:0;background:transparent;color:var(--text);font-size:22px;font-weight:800;line-height:1.25}.detail-status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--danger)}.detail-grid{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid:has(.custom-select.open){z-index:80}.detail-grid label{position:relative;display:flex;min-width:0;flex-direction:column;gap:8px;border-radius:var(--radius);padding:13px 14px;border:1px solid var(--line);background:#ffffff09;color:var(--muted);font-size:13px}.detail-grid label:has(.custom-select.open){z-index:90}.note-field{display:flex;flex-direction:column;gap:10px;color:var(--text);font-size:15px;font-weight:760}.note-field textarea{min-height:190px;resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius);background:#ffffff09;padding:16px;color:var(--text);font-size:15px;line-height:1.75}.note-meta{display:flex;justify-content:space-between;margin-top:-14px;color:var(--muted);font-size:13px}.subtasks{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.subtask-title,.subtask-row,.subtask-add-row{display:flex;align-items:center;min-height:45px;border-bottom:1px solid var(--line);padding:0 14px}.subtask-title{justify-content:space-between;color:var(--text);font-weight:760}.subtask-row{display:grid;grid-template-columns:20px minmax(0,1fr) 32px;gap:10px;color:var(--muted);font-size:14px}.subtask-row input[type=checkbox]{accent-color:var(--accent)}.subtask-row input[type=text],.subtask-row input:not([type]),.subtask-add-row input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);outline:0}.subtask-row input[type=text],.subtask-row input:not([type]){color:var(--muted)}.subtask-row input[type=text]:focus,.subtask-row input:not([type]):focus,.subtask-add-row input:focus{color:var(--text)}.subtask-row button,.subtask-add-row button{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted)}.subtask-row button:hover,.subtask-add-row button:hover{border-color:var(--line);background:#ffffff09;color:var(--text)}.subtask-add-row{gap:10px;border-bottom:0;background:#ffffff06}.detail-footer{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}.restore-switch{--button-width: 110px;--button-height: 36px;--circle-diameter: 30px;--circle-offset: 3px;--button-hue: 120;--button-saturation: 80%;--button-lightness: 40%;align-self:center;display:inline-block;flex:0 0 var(--button-height);position:relative;width:var(--button-width);min-width:var(--button-width);max-width:var(--button-width);height:36px;min-height:36px;max-height:36px;outline:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.restore-switch:focus-within{outline:none}.restore-switch input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;padding:0;white-space:nowrap}.restore-slider{position:absolute;inset:0;overflow:hidden;border-radius:var(--button-height);background:linear-gradient(135deg,#3a3a3a,#2a2a2a);box-shadow:0 0 0 2px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness)),inset 0 1px 3px #0000004d,inset 0 -1px 2px #ffffff0d,0 1px 2px #0000004d,0 0 14px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.18);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.restore-slider:after{position:absolute;inset:0;border-radius:var(--button-height);background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.05) 100%);content:"";pointer-events:none}.restore-slider:before{position:absolute;top:50%;left:var(--circle-offset);z-index:2;width:var(--circle-diameter);height:var(--circle-diameter);border-radius:50%;background:linear-gradient(145deg,#555,#444);box-shadow:0 2px 8px #0000004d,0 1px 3px #0003,inset 0 2px 4px #ffffff1a,inset 0 -2px 4px #0003;content:"";transform:translateY(-50%);transition:left .5s cubic-bezier(.68,-.55,.265,1.55),width .4s cubic-bezier(.68,-.55,.265,1.55),box-shadow .4s ease,transform .4s cubic-bezier(.68,-.55,.265,1.55);will-change:left,width,transform}.restore-slider .glow{position:absolute;top:50%;left:calc(var(--circle-diameter) / 2 + var(--circle-offset));z-index:1;width:0;height:0;border-radius:50%;background:hsl(var(--button-hue),var(--button-saturation),var(--button-lightness));opacity:0;transform:translate(-50%,-50%);transition:all .5s ease}.restore-slider:hover:before{box-shadow:0 4px 12px #0003,0 2px 4px #00000026,inset 0 2px 4px #ffffff29,inset 0 -2px 4px #0000003d;transform:translateY(-50%) scale(1.05)}.restore-switch input:checked+.restore-slider{background:linear-gradient(135deg,hsl(var(--button-hue),var(--button-saturation),calc(var(--button-lightness) + 15%)),hsl(var(--button-hue),var(--button-saturation),var(--button-lightness)));animation:switch-pulse .6s ease-out;box-shadow:0 0 0 2px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness)),inset 0 1px 3px #0006,inset 0 -1px 2px #ffffff26,0 2px 8px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.3),0 0 25px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.15)}.restore-switch input:checked+.restore-slider:hover{box-shadow:0 0 0 2px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness)),inset 0 1px 3px #0003,inset 0 -1px 2px #ffffff4d,0 4px 12px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.4),0 0 30px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.2)}.restore-switch input:checked+.restore-slider .glow{width:100%;height:100%;opacity:.3}.restore-switch input:checked+.restore-slider:before{left:calc(100% - var(--circle-diameter) - var(--circle-offset));background:linear-gradient(145deg,#fff,#f5f5f5);box-shadow:0 4px 12px #0003,0 2px 4px #00000026,inset 0 2px 4px #fffc,inset 0 -2px 4px #00000014}.restore-switch input:active+.restore-slider:before{width:calc(var(--button-width) - 2 * var(--circle-offset));border-radius:var(--button-height);transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),border-radius .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.restore-switch input:active:not(:checked)+.restore-slider:before,.restore-switch input:checked:active+.restore-slider:before{left:var(--circle-offset);width:calc(var(--button-width) - 2 * var(--circle-offset))}.switch-icon{position:absolute;top:50%;z-index:1;color:#fff;opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .3s ease}.switch-icon-on{left:12px}.switch-icon-off{right:12px;color:#999}.restore-switch input:checked+.restore-slider .switch-icon-on,.restore-switch input:not(:checked)+.restore-slider .switch-icon-off{opacity:1}@keyframes switch-pulse{0%{box-shadow:0 0 hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),.4)}70%{box-shadow:0 0 0 10px hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),0)}to{box-shadow:0 0 hsl(var(--button-hue),var(--button-saturation),var(--button-lightness),0)}}@media(prefers-reduced-motion:reduce){.restore-slider,.restore-slider:before{transition-duration:.1s}.restore-switch input:checked+.restore-slider{animation:none}.restore-slider:before{will-change:auto}}.detail-empty{display:grid;min-height:420px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.detail-empty h2{margin:0;color:var(--text);font-size:18px}.detail-empty p{margin:0}@media(max-width:1180px){.app-shell{grid-template-columns:220px minmax(460px,1fr) 360px}.app-shell.detail-collapsed{grid-template-columns:220px minmax(460px,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(460px,1fr) 360px}.app-shell.sidebar-collapsed.detail-collapsed{grid-template-columns:76px minmax(460px,1fr)}.sidebar{padding-inline:10px}.detail-pane{padding-inline:20px}}@media(max-width:960px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{align-items:center}.app-shell.sidebar-collapsed .brand-row h1,.app-shell.sidebar-collapsed .nav-item span,.app-shell.sidebar-collapsed .nav-item strong,.app-shell.sidebar-collapsed .list-section{display:none}.app-shell.sidebar-collapsed .nav-item{display:flex;width:44px;justify-content:center;padding:0}.detail-pane{position:fixed;z-index:20;inset:0 0 0 auto;width:min(420px,92vw);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translate(105%);transition:transform .18s ease}.detail-pane.open{transform:translate(0)}}@media(max-width:720px){.app-shell{display:block;padding:8px}.sidebar{position:sticky;top:0;z-index:8;flex-direction:row;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.brand-row h1{display:block;font-size:20px}.nav-stack,.list-section{display:none}.task-pane{border-right:0;margin-top:8px;overflow:visible}.topbar{display:none}.search-chip{width:100%;margin-right:0}.search-chip input{width:100%}.filter-button,.sort-wrapper,.sort-button{flex:1;min-width:0}.list-controls-topbar{display:none}.list-controls-view{position:relative;z-index:150;display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.list-controls-view .filter-button,.list-controls-view .sort-wrapper,.list-controls-view .sort-button{flex:0 1 auto}.list-controls-view .filter-button{width:94px;height:38px;padding:0 11px}.list-controls-view .sort-wrapper{z-index:180;width:min(152px,34vw)}.list-controls-view .sort-menu{z-index:220;width:100%;min-width:0}.list-controls-view .sort-button{width:100%;height:38px;padding:0 11px}.sort-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-banner{position:relative;z-index:120;align-items:stretch;flex-direction:column;margin:14px 14px 0}.view-title-row{align-items:center}.view-title-group{flex:1 1 auto;gap:8px}.view-title-group strong{min-width:0;white-space:nowrap}.view-title-group>span{overflow:hidden;text-overflow:ellipsis;font-size:13px}.add-row{grid-template-columns:minmax(0,1fr) 100px 120px;margin:16px 14px}.add-row input,.add-category-select,.add-priority-select,.add-submit-button{min-height:52px}.add-row input{grid-column:1}.add-category-select{grid-column:2;grid-template-columns:1fr;justify-content:stretch}.add-priority-select{grid-column:3;grid-template-columns:auto 52px}.add-submit-button{grid-column:1 / -1;min-height:56px}.add-category-select:before{display:none}.add-category-select>button,.add-priority-select>button{min-height:32px}.add-category-select>button{min-width:0;justify-content:center}.table-head{display:none}.todo-list{position:relative;z-index:1;margin:0 14px}.todo-row{grid-template-columns:28px 28px minmax(0,1fr) auto auto;grid-template-rows:auto auto;align-items:center;gap:8px 10px;height:86px;min-height:86px;border-radius:18px;margin-bottom:10px;padding:12px 14px;touch-action:pan-y}.todo-row>*:not(.swipe-delete-button){transition:transform .18s ease}.todo-row.swiped>*:not(.swipe-delete-button){transform:translate(-78px)}.drag-handle{width:28px;height:28px}.drag-cell{grid-column:1;grid-row:1 / 3;align-self:center;justify-content:center}.check-button{grid-column:2;grid-row:1 / 3;align-self:center}.todo-main{grid-column:3;grid-row:1 / 3;align-self:center;padding-right:4px}.todo-main h2{margin-bottom:5px;font-size:15px;line-height:1.25}.todo-main p{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:1}.date-label{display:none}.category-badge{grid-column:4;grid-row:1 / 3;align-self:center;width:max-content;max-width:68px;justify-self:start;height:28px;min-height:28px;padding:0 9px;font-size:12px}.priority{grid-column:5;grid-row:1 / 3;align-self:center;width:32px;height:28px}.row-actions{display:none}.swipe-delete-button{position:absolute;top:0;right:0;bottom:0;z-index:3;display:inline-flex;width:76px;align-items:center;justify-content:center;border:0;border-radius:0 18px 18px 0;background:linear-gradient(135deg,#ff3d63,#d91f45);color:#fff;font-size:14px;font-weight:760;opacity:0;pointer-events:none;transform:translate(100%);transition:opacity .18s ease,transform .18s ease}.todo-row.swiped .swipe-delete-button{opacity:1;pointer-events:auto;transform:translate(0)}.list-footer{flex-direction:column;margin:22px 14px 28px}.detail-pane{inset:0;width:100vw;border-radius:0}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.detail-grid label{padding:12px 10px}}
