Files
dodo/backend/static/assets/index-pPmuGCFV.css
T
bboysoul cf6cdcf949
ci / gitleaks (push) Successful in 7s
ci / docker (push) Successful in 3m25s
feat: brand dodo loading screen
2026-09-11 15:23:13 +08:00

3 lines
74 KiB
CSS

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.resize{resize:both}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}:root{color:#2d2924;--accent:#f15a29;--accent-soft:#fbe6dc;--paper:#fffdf8;--sidebar:#f6f0e4;--line:#e7ddcc;--muted:#8b8275;--danger:#bd3827;--shadow:0 12px 36px #4e3a221a;--sheet-radius:20px;--sheet-scrim:#2d261f66;background:#f8f3e8;font-family:-apple-system,BlinkMacSystemFont,Avenir Next,PingFang SC,Hiragino Sans GB,Segoe UI,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:#f8f3e8;margin:0}button,input,textarea,select{font:inherit;color:inherit}@media (width<=800px){input,textarea,select{font-size:16px}}button{cursor:pointer}svg{stroke-width:1.8px;width:18px;height:18px}.center,.auth-shell{place-items:center;min-height:100vh;display:grid}.center{color:var(--muted);align-content:center;gap:12px}.loading-brand{grid-template-columns:auto;justify-items:center;gap:13px}.loading-logo{width:40px;height:40px;margin-bottom:3px;display:block}.loading-brand>span:last-child{font-size:13px}.loader{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-card{background:var(--paper);border:1px solid var(--line);width:min(390px,90vw);box-shadow:var(--shadow);border-radius:14px;gap:16px;padding:38px;display:grid}.brand{letter-spacing:-3px;align-items:center;gap:11px;font-size:40px;font-weight:850;display:inline-flex}.brand-wordmark{color:var(--text-primary)}.brand-logo{flex:none;width:42px;height:42px;display:block}.brand.small{gap:9px;font-size:29px}.brand.small .brand-logo{width:32px;height:32px}.auth-card p{color:var(--muted);margin:0 0 8px}.auth-card label,.detail-form>label{color:#756d61;gap:7px;font-size:12px;font-weight:650;display:grid}.auth-card input,.detail-form input,.detail-form select{border:1px solid var(--line);background:#fff;border-radius:9px;outline:none;width:100%;padding:11px}.auth-card input:focus,.detail-form input:focus,.detail-form select:focus,.detail-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f15a291a}.primary{background:var(--accent);color:#fff;border:0;border-radius:9px;padding:12px;font-weight:700;box-shadow:0 5px 12px #f15a2933}.auth-card small{color:var(--danger)}.shell{background:var(--paper);grid-template-columns:238px minmax(430px,1fr) 0;height:100vh;transition:grid-template-columns .22s;display:grid;overflow:hidden}.shell.detail-open{grid-template-columns:238px minmax(430px,1fr) 350px}.shell.sidebar-collapsed{grid-template-columns:0 minmax(430px,1fr) 0}.shell.sidebar-collapsed.detail-open{grid-template-columns:0 minmax(430px,1fr) 350px}.shell.sidebar-collapsed .sidebar{border-right:0;width:0;min-width:0;padding:0;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;min-height:0;display:flex;overflow:hidden}.brand-row{justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.primary-nav{gap:3px;padding:4px 12px 12px;display:grid}.primary-nav button,.sidebar-management button{color:#665e52;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.primary-nav button:hover,.sidebar-management button:hover,.list-row:hover,.folder-row>button:hover{background:#ffffff85}.primary-nav button.active,.list-row.active,.sidebar-management button.active{color:#b7421e;background:#faeae2;font-weight:650}.primary-nav button.active:before,.list-row.active:before,.sidebar-management button.active:before{content:"";background:var(--accent);border-radius:999px;width:3px;height:18px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.section-title{color:#958b7d;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:17px 17px 7px 22px;font-size:11px;font-weight:750;display:flex}.section-title>span:last-child{display:flex}.mini-icon,.row-actions button{color:#8e8477;background:0 0;border:0;min-width:44px;min-height:44px;padding:4px}.mini-icon svg,.row-actions svg{width:14px;height:14px}.folders{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-height:0;padding:0 10px;overflow:hidden auto}.folders::-webkit-scrollbar{display:none}.folder-row,.list-row{border-radius:8px;align-items:center;display:flex;position:relative}.folder-row>button,.list-row-main{color:#6d6559;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;min-width:0;padding:8px;display:flex}.folder-row>button>span,.list-row-main>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.folder-row>button svg{width:14px}.row-actions{opacity:0;pointer-events:none;transition:opacity .15s;display:flex;position:absolute;right:0}.folder-row:hover .row-actions,.folder-row:focus-within .row-actions,.list-row:hover .row-actions,.list-row:focus-within .row-actions{opacity:1;pointer-events:auto}.list-row-main{color:#665f55;width:100%;min-height:44px;padding:8px 7px 8px 31px}.draggable-list-row-main{padding-left:0}.list-row.active .list-row-main{color:inherit}.list-row i{background:#d89b62;border-radius:3px;flex:0 0 8px;width:8px;height:8px}.sidebar-create-wrap{position:relative}.sidebar-popover{z-index:12;border:1px solid var(--line);text-transform:none;letter-spacing:0;background:#fffdf8;border-radius:12px;min-width:148px;padding:6px;display:grid;position:absolute;box-shadow:0 12px 28px #4e3a2224}.sidebar-create-menu{top:40px;right:0}.sidebar-popover button{color:#665e52;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:7px 10px;font-size:12px;display:flex}.sidebar-popover button:hover{background:#fbf0e8}.sidebar-popover svg{width:15px;height:15px}.sidebar-action-mask{z-index:70;align-items:flex-end;display:flex;position:fixed;inset:0}.sidebar-action-sheet{border:1px solid var(--line);border-radius:14px;width:214px;margin:12px;box-shadow:0 12px 28px #4e3a2224}.sidebar-action-sheet .app-sheet__body button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:48px;padding:11px 18px;display:flex}.sidebar-action-sheet .app-sheet__body button+button{border-top:1px solid var(--line)}.sidebar-action-sheet .app-sheet__body button.danger{color:var(--danger)}.sidebar-management{margin:8px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dacfbed1;gap:2px;padding-top:8px;display:grid}.mobile-only,.bottom,.scrim{display:none}main{background:var(--surface-base);min-width:0;padding:27px 34px 50px;overflow:auto;container-type:inline-size}@media (width>=931px){main{scrollbar-width:none}main::-webkit-scrollbar{display:none}}.topbar{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"menu title filter""search search search";align-items:center;gap:12px 14px;margin-bottom:18px;display:grid}.topbar>.icon{grid-area:menu}.topbar-title{grid-area:title;width:100%;min-width:0}.topbar p{color:var(--muted);margin:0;font-size:12px}.topbar h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.03em;margin:0;font-size:27px;overflow:hidden}.search-reveal{grid-area:search;width:100%;min-width:0}.search-pull-hint{display:none}.topbar .search{width:100%;margin:0}.topbar-actions{grid-area:filter;justify-self:end;align-items:center;gap:8px;display:flex}.topbar-filter{flex:none;justify-self:end}.topbar-refresh{width:44px;min-width:44px;height:44px;color:var(--text-secondary);border-radius:50%}.topbar-refresh:hover:not(:disabled){background:var(--surface-raised);color:var(--text-primary)}.topbar-refresh:disabled{opacity:.5;cursor:not-allowed}.topbar-refresh.spinning svg{animation:.7s linear infinite topbar-refresh-spin}@keyframes topbar-refresh-spin{to{transform:rotate(360deg)}}.completed-filter-pill{border:1px solid var(--border-cream);background:var(--surface-raised);min-width:132px;height:36px;box-shadow:var(--highlight-inner);color:#675f54;white-space:nowrap;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:12px;font-weight:650;display:inline-flex}.completed-filter-pill:hover:not(:disabled){background:#fff7eb;border-color:#d8c6ae}.completed-filter-pill:active:not(:disabled){transform:scale(.985)}.completed-filter-pill:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.completed-filter-pill:disabled{opacity:.55;cursor:not-allowed}.completed-filter-pill__track{background:#d8cbb9;border-radius:999px;flex:none;width:32px;height:18px;padding:2px;transition:background .15s}.completed-filter-pill__thumb{background:#fffdf8;border-radius:50%;width:14px;height:14px;transition:transform .15s;display:block;transform:translate(0)}.completed-filter-pill[aria-checked=true] .completed-filter-pill__track{background:var(--accent)}.completed-filter-pill[aria-checked=true] .completed-filter-pill__thumb{transform:translate(14px)}.today-board{background:#fff;border:1px solid #e7ddccdb;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0 8px;padding:6px;display:grid;box-shadow:0 3px 14px #513d260a}.today-track{text-align:left;background:0 0;border:0;border-radius:9px;gap:8px;min-width:0;padding:9px 11px;transition:background .15s;display:grid}.today-track+.today-track{border-left:1px solid var(--line);border-radius:0 9px 9px 0}.today-track:hover{background:#fff9f2}.today-track:focus-visible{outline-offset:1px;outline:2px solid #f15a294d}.today-track-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.today-track-head strong{color:#403a32;font-size:14px;line-height:1.2}.today-track-rail{background:#eee7dc;border-radius:999px;height:5px;display:block;overflow:hidden}.today-track-fill{border-radius:inherit;background:#71856b;width:0;height:100%;transition:width .35s;display:block}.today-habit-track .today-track-fill{background:var(--accent)}.today-section-anchor{scroll-margin-top:16px}.search{border:1px solid var(--line);width:100%;color:var(--muted);background:#faf7f0;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.search kbd{white-space:nowrap;border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-size:10px}.list-toolbar{height:42px;color:var(--muted);align-items:center;gap:14px;font-size:12px;display:flex}.link{color:var(--accent);background:0 0;border:0;align-items:center;gap:3px;padding:3px;display:inline-flex}.link svg{width:14px}.task-list{transition:opacity .2s}.task-list.loading{opacity:.45}.task-row{--swipe-x:0px;border-left:0;border-bottom:1px solid var(--line);isolation:isolate;align-items:center;gap:10px;min-height:53px;padding:4px 8px;transition:background .15s,transform .18s;display:flex;position:relative;overflow:hidden}.task-row.swipeable{touch-action:pan-y;transform:translate(var(--swipe-x),var(--reorder-y,0px))}.task-row.swipeable:not([style*="0px"]){transition:none}.task-row:hover,.task-row.selected{background:#faf0e5bf}.task-row:hover:not(.reordering){transform:translate(calc(var(--swipe-x) + 2px),var(--reorder-y,0px))}.check{background:#fff;border:1.6px solid #c6baa8;border-radius:5px;flex:0 0 19px;place-items:center;width:19px;height:19px;padding:0;display:grid}.check svg{width:13px}.task-check{background:0 0;border:0;border-radius:9px;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:grid}.task-check-mark{background:#fff;border:1.6px solid #c6baa8;border-radius:50%;place-items:center;width:19px;height:19px;transition:background .15s,border-color .15s,color .15s,transform .15s;display:grid}.task-check-mark svg{width:13px}.task-check:hover .task-check-mark{border-color:#9d8f7b;transform:scale(1.06)}.task-check:focus-visible{outline-offset:1px;outline:2px solid #f15a2952}.task-check[aria-pressed=true] .task-check-mark{color:#fff;background:#71856b;border-color:#71856b}.task-check-mark.p1{border-color:#4b93d1}.task-check-mark.p2{border-color:#d79b25}.task-check-mark.p3{border-color:#dc4b30}.check.p1{border-color:#4b93d1}.check.p2{border-color:#d79b25}.check.p3{border-color:#dc4b30}.done .check{color:#fff;background:#afa595}.task-main{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:8px 0}.task-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:590;display:block;overflow:hidden}.done .task-main strong{color:#9b9388;text-decoration:line-through}.meta{color:#9b9286;align-items:center;gap:9px;margin-top:3px;font-size:11px;display:inline-flex}.meta-item{align-items:center;gap:3px;display:flex}.meta svg{width:12px}.priority{border-radius:5px;margin:3px 0 0 7px;padding:3px 6px;font-size:10px;font-weight:750;display:inline-flex}.priority.p1{color:#3f80ba;background:#e5f2fc}.priority.p2{color:#a56b05;background:#fff1cb}.priority.p3{color:#bd3827;background:#fde2dc}.icon,.ghost{background:0 0;border:0;border-radius:6px;place-items:center;min-width:44px;min-height:44px;padding:5px;display:grid}.mobile-only{display:none}.ghost{opacity:0;color:#9d9387}.task-row:hover .ghost{opacity:1}.ghost:hover{color:var(--danger);background:#fce7e2}.task-detail-trigger:hover{color:var(--text-primary);background:#fff7eb}.restore{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:5px;min-height:44px;padding:6px 8px;font-size:12px;display:flex}.restore svg{width:14px}.subtask{color:#6d655b;min-height:42px;padding-left:53px}.subtask>svg{color:#bbb0a2;width:13px}.empty{color:#aaa094;text-align:center;align-content:center;place-items:center;gap:8px;min-height:300px;display:grid}.empty>svg{color:#d8cabb;width:38px;height:38px}.empty b{color:#6f675c}.empty span{font-size:13px}.drag-handle{color:#b3a795;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:8px;flex:0 0 44px;place-items:center;width:44px;min-width:44px;height:44px;display:grid}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{opacity:.3;cursor:not-allowed}.drag-handle svg{width:17px;height:17px}.reordering{opacity:.78;z-index:4;pointer-events:none;transition:none!important;box-shadow:0 12px 28px #4e3a222e!important}.reorder-target{box-shadow:inset 0 2px 0 var(--accent)}.list-drag-handle{color:#ad9f8c;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;min-width:44px;height:44px;display:grid}.list-drag-handle svg{width:15px;height:15px}.list-row{touch-action:pan-y}.list-row.list-dragging{z-index:8;opacity:.8;transform:translateY(var(--list-drag-y));pointer-events:none;background:#fffaf4;transition:none;position:relative;box-shadow:0 10px 24px #4e3a2233}.folder-row.list-drop-target{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.list-root-drop.list-drop-target{background:var(--accent-soft);color:#b7421e;border-radius:9px}.list-row.list-reorder-target{box-shadow:inset 0 2px 0 var(--accent)}.list-move-menu{gap:4px;padding:6px 0 6px 28px;display:grid}.list-move-menu button{min-height:42px}.list-move-menu button:disabled,.sidebar-action-sheet .app-sheet__body button:disabled{opacity:.45;cursor:default}.archived-lists{margin-top:4px;position:relative}.archived-lists-toggle{color:#81786c;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px;font-size:12px;font-weight:650;display:flex}.archived-lists-toggle:hover:not(:disabled){background:#ffffff85}.archived-lists-toggle:focus-visible,.archived-row-menu-trigger:focus-visible,.archived-row-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.archived-lists-toggle:disabled{cursor:default;color:#aaa196}.archived-lists-toggle svg{width:15px;height:15px;transition:transform .16s}.archived-lists-toggle svg.expanded{transform:rotate(90deg)}.archived-list-items{transition:opacity .16s;display:grid}.archived-row{color:#746c61;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:44px;padding-left:35px;display:grid}.archived-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.archived-row-menu{place-items:center;display:grid}.archived-row-menu-trigger{color:#8e8477;background:0 0;border:0;border-radius:9px;place-items:center;width:44px;height:44px;display:grid}.archived-row-menu-trigger svg{width:15px;height:15px}.archived-action-mask{display:contents}.archived-row-actions{z-index:70;border:1px solid var(--line);width:164px;box-shadow:var(--shadow);background:#fffdf8;border-radius:12px;gap:2px;padding:6px;display:grid;position:fixed}.archived-row-actions button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:8px 10px;font-size:12px;display:flex}.archived-row-actions button:hover{background:#f8f1e8}.archived-row-actions svg{width:15px;height:15px}@media (width<=930px){.archived-action-mask{z-index:60;background:#2d261f4d;display:block;position:fixed;inset:0}.archived-row-actions{z-index:61;width:100%;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;position:fixed;inset:auto 0 0}.archived-row-actions button{font-size:14px}}@media (prefers-reduced-motion:reduce){.archived-lists-toggle svg,.archived-list-items{transition:none}}.detail{border-left:1px solid var(--line);background:#faf7f0;min-width:0;overflow:auto}.detail-head{border-bottom:1px solid var(--line);color:#80766a;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;height:57px;padding:0 21px;font-size:12px;font-weight:700;display:flex}.paper{border:1px solid var(--line);text-align:center;color:#8f8578;background:#fff;border-radius:11px;align-content:center;place-items:center;min-height:180px;margin:22px;padding:28px 20px;display:grid;box-shadow:0 4px 18px #4c39220d}.paper svg{color:#ceb8a4;width:32px;height:32px;margin-bottom:12px}.paper b{color:#625b50}.paper p{font-size:13px;line-height:1.6}.detail-form{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:19px;display:grid}.detail-form>*{min-width:0}.detail-title{align-items:flex-start;gap:10px;display:flex}.check.large{flex-basis:22px;width:22px;height:22px;margin-top:8px}.detail-title textarea{resize:none;background:0 0;border:0;outline:none;flex:1;font-size:19px;font-weight:700;line-height:1.4}.detail-form>label{grid-template-columns:80px 1fr;align-items:center}.detail-form>label input,.detail-form>label select{padding:8px}.task-detail-field-input{justify-self:end;max-width:100%;width:190px!important}.task-detail-due-input{padding-inline:9px!important}.field{gap:7px;display:grid}.field-label{color:#756d61;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.hint{color:#a49a8d;font-size:12px}.markdown .field-label>span:last-child{background:#eee7dc;border-radius:6px;padding:2px;display:flex}.markdown .field-label button{background:0 0;border:0;border-radius:5px;padding:4px 8px;font-size:11px}.markdown .field-label button.active{color:var(--accent);background:#fff}.markdown textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:9px;outline:none;padding:11px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-preview{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:9px;min-height:160px;padding:10px 12px;font-size:13px;line-height:1.65}.markdown-preview h1{font-size:20px}.markdown-preview h2{font-size:16px}.markdown-preview p{margin:8px 0}.markdown-preview code{background:#f2ece2;border-radius:4px;padding:2px 4px}.markdown-preview a{color:var(--accent)}.subtasks{gap:5px;display:grid}.subtask-detail{overflow-wrap:anywhere;word-break:break-word;white-space:normal;text-align:left;background:#fff;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;padding:8px;display:flex}.subtask-detail .check{pointer-events:none}.strike{color:var(--muted);text-decoration:line-through}.detail-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.secondary{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-weight:650}.danger-text{color:var(--danger);background:0 0;border:0;align-items:center;gap:5px;font-size:12px;display:flex}.danger-text svg{width:14px}.field-hint{color:var(--muted);font-size:11px;font-weight:400}.after-completion-fields{border:1px solid var(--line);color:#675f54;background:#fffaf4;border-radius:10px;gap:5px;padding:10px 12px;font-size:12px;display:grid}.after-completion-fields>div{align-items:center;gap:7px;min-height:44px;display:flex}.after-completion-fields input{border:1px solid var(--line);background:#fff;border-radius:8px;width:76px;min-height:44px;padding:0 10px}.after-completion-fields small{color:var(--muted);line-height:1.5}.repeat-save{width:100%;min-height:44px}.repeat-custom-fields{border:1px solid var(--line);background:#fffaf4;border-radius:11px;gap:10px;padding:12px;display:grid}.repeat-custom-fields>div,.repeat-custom-fields>label{color:#675f54;align-items:center;gap:8px;font-size:12px;display:flex}.repeat-custom-fields input[type=number]{width:72px}.repeat-custom-fields input,.repeat-custom-fields select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:40px;padding:7px 9px}.weekday-picker{flex-wrap:wrap;gap:4px;display:flex}.weekday-picker label{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.weekday-picker label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}.toast,.error-toast{z-index:50;color:#fff;box-shadow:var(--shadow);background:#322d28;border-radius:9px;padding:10px 15px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.error-toast{background:var(--danger);align-items:center;gap:10px;display:flex}.error-toast button{color:#fff;background:0 0;border:0;padding:0}.toast-enter-active,.toast-leave-active{transition:all .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}@media (width<=1050px) and (width>=931px){.shell.detail-open{grid-template-columns:220px minmax(400px,1fr) minmax(280px,30vw)}.shell.sidebar-collapsed.detail-open{grid-template-columns:0 minmax(400px,1fr) minmax(280px,30vw)}main{padding-inline:24px}}@media (width<=930px){.shell{height:100dvh;display:block;overflow:auto}.shell.mobile-sidebar-open{overflow:hidden}.shell.mobile-sidebar-open main{touch-action:none;overflow:hidden}.sidebar{z-index:50;box-shadow:var(--shadow);overscroll-behavior:contain;width:min(300px,86vw);transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.open{transform:none}.detail{z-index:40;border:1px solid var(--line);width:100%;max-height:min(88dvh,760px);padding-bottom:max(16px,env(safe-area-inset-bottom));background:#fffdf8;border-bottom:0;border-radius:22px 22px 0 0;transition:transform .22s;display:block;position:fixed;inset:auto 0 0;overflow:auto;transform:translateY(105%);box-shadow:0 -14px 38px #38281833}.detail.open{transform:none}.detail-head{z-index:2;border-bottom:1px solid var(--line);background:#fffdf8;height:62px;padding:0 18px;position:sticky;top:0}.detail-head .icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:50%;display:grid}.detail-form{padding:18px}.detail-title textarea{font-size:21px}.more-mask{z-index:45;background:#2d261f52;align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet{width:100%;padding:14px 16px max(22px,env(safe-area-inset-bottom));background:#fffdf8;border-radius:22px 22px 0 0;gap:6px;display:grid}.more-sheet-head{justify-content:space-between;align-items:center;padding:2px 4px 8px;display:flex}.more-sheet>button{text-align:left;background:#fff;border:0;border-radius:12px;align-items:center;gap:12px;padding:13px;display:flex}.scrim{z-index:35;background:#2d261f52;display:block;position:fixed;inset:0}.mobile-only{display:grid}main{min-height:100dvh;padding:20px 17px 112px}.topbar{grid-template-rows:auto auto;row-gap:0}.topbar h1{font-size:24px}.search-reveal{opacity:0;visibility:hidden;pointer-events:none;max-height:0;transition:max-height .2s,opacity .16s,transform .2s;overflow:hidden;transform:translateY(-8px)}.search-reveal.mobile-search-open{opacity:1;visibility:visible;pointer-events:auto;max-height:52px;overflow:visible;transform:none}.search-reveal.mobile-search-pulling{max-height:var(--search-pull);opacity:var(--search-pull-opacity);visibility:visible;transform:translateY(calc(var(--search-pull) - 56px))}.search-pull-hint{text-align:center;height:16px;color:var(--muted);opacity:0;pointer-events:none;margin-top:-16px;font-size:11px;line-height:16px;display:block}.search-reveal.mobile-search-pulling .search-pull-hint{opacity:1}.completed-filter-pill{min-width:138px;height:44px}.completed-filter-pill__track{width:36px;height:22px}.completed-filter-pill__thumb{width:18px;height:18px}.today-board{gap:1px;margin:14px 0 4px;padding:5px}.today-track{gap:7px;min-height:58px;padding:8px 9px}.today-track-head{flex-direction:column;align-items:flex-start;gap:2px}.today-track-head strong{font-size:13px}.search{width:100%;margin:0;padding:8px}.search input{width:100%}.search kbd{display:none}.list-toolbar{height:auto;min-height:36px}.section-heading{margin:12px 0 8px}.empty{min-height:190px}.today-empty-panel{min-height:104px}.row-actions{opacity:1;pointer-events:auto;position:static}.row-actions button{min-height:34px;padding:7px}.list-row{padding:6px 4px}.archived-row{color:#8a6d3b;background:#fbf3e2;border:1px dashed #e0cfae;border-radius:8px;padding:9px 7px}.archived-row .list-row-main{padding-left:14px}.archived-row .list-row-main>svg{color:#c9a45c}.bottom{z-index:15;border-top:1px solid var(--line);padding:8px 5px max(8px,env(safe-area-inset-bottom));background:#fffdf8f5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #4f3b220f}.bottom button{color:#81786d;background:0 0;border:0;place-items:center;gap:2px;min-width:60px;min-height:44px;font-size:10px;display:grid}.bottom button.active{color:var(--accent);font-weight:700}.bottom svg{width:20px}.toast,.error-toast{bottom:142px}.task-row{padding-inline:2px}.subtask{padding-left:35px}.ghost{opacity:.45}}.mvp-view{gap:16px;padding-bottom:36px;display:grid}.view-intro{border-bottom:1px dashed var(--line);padding-bottom:12px;display:block}.view-intro h2{margin:2px 0 0;font-size:22px}.view-intro small,.view-intro>span{color:var(--muted);font-size:12px}.tool-card,.empty-panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;box-shadow:0 3px 14px #513d260d}.soft-button,.primary-small,.danger-button,.file-button{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 11px;font-size:12px;display:inline-flex}.soft-button svg,.file-button svg{width:15px}.primary-small{background:var(--accent);border-color:var(--accent);color:#fff}.danger-button{color:var(--danger);border-color:#e5b7ad}.habit-list{gap:10px;display:grid}.tool-card h3{margin:0 0 4px}.habit-row{--swipe-x:0px;isolation:isolate;background:#fff;border:0;border-radius:14px;align-items:center;gap:8px;padding:5px 5px 5px 12px;transition:box-shadow .15s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #e7ddccb8,0 3px 14px #513d260d}.habit-row.done{background:#fffaf5}.habit-row.swipeable{touch-action:pan-y;transform:translate(var(--swipe-x),var(--reorder-y,0px))}.habit-row.swipeable:not([style*="0px"]){transition:none}.habit-main{text-align:left;background:0 0;border:0;border-radius:10px;flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;min-width:0;padding:11px 4px;display:grid}.habit-name{color:#3c372f;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.habit-progress{color:#4d463d;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:16px;font-weight:760;line-height:1}.habit-progress-bar{appearance:none;background:#eee6db;border:0;border-radius:999px;grid-column:1/-1;width:100%;height:5px;overflow:hidden}.habit-progress-bar::-webkit-progress-bar{background:#eee6db;border-radius:999px}.habit-progress-bar::-webkit-progress-value{background:var(--success);border-radius:999px;transition:width .2s}.habit-progress-bar::-moz-progress-bar{background:var(--success);border-radius:999px}.habit-week{grid-column:1/-1;grid-template-columns:repeat(7,minmax(24px,1fr));gap:6px;padding-top:3px;display:grid}.habit-week-cell{color:#a1978a;justify-items:center;gap:4px;display:grid}.habit-week-day{color:inherit;font-size:10px;line-height:1}.habit-week-cell i{background:#fff;border:1px solid #d8cdbd;border-radius:50%;width:9px;height:9px;display:block}.habit-week-cell.done{color:#71856b}.habit-week-cell.done i{background:#71856b;border-color:#71856b}.habit-week-cell.unscheduled{opacity:.35}.habit-week-cell.today{color:var(--accent);font-weight:750}.habit-week-cell.today i{box-shadow:0 0 0 2px #fbe6dc}.habit-row.done .habit-name{color:#756c61;-webkit-text-decoration:line-through #d8c8bb;text-decoration:line-through #d8c8bb;text-decoration-thickness:1px}.habit-row .icon.ghost{color:#b3a795;margin-left:4px}.habit-row .icon.ghost:hover{color:var(--danger)}.numeric-habit>span:first-child{gap:3px;display:grid}.numeric-habit small{color:var(--muted);font-size:11px}.numeric-action{align-items:center;gap:6px;display:flex}.numeric-action input{border:1px solid var(--line);background:#fff;border-radius:8px;width:74px;padding:7px}.numeric-action .soft-button{min-height:44px;padding:9px 12px}.habit-row>.icon.ghost{flex:0 0 44px;width:44px;height:44px}.habit-check{margin-left:-4px}.habit-row.done .habit-check .task-check-mark{color:#fff;background:#71856b;border-color:#71856b}.habit-detail-mask{z-index:85;background:#2d261f5c;place-items:end center;padding:20px;display:grid;position:fixed;inset:0}.habit-detail-sheet{border:1px solid var(--line);background:#fffdf8;border-radius:20px;gap:16px;width:min(500px,100%);padding:18px;display:grid;box-shadow:0 12px 36px #3828182e}.habit-detail-sheet header{justify-content:space-between;align-items:center;gap:10px;display:flex}.habit-detail-sheet header small{color:var(--muted);font-size:11px}.habit-detail-sheet header h3{margin:2px 0 0;font-size:19px}.habit-detail-sheet header button{background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.habit-detail-progress{border-block:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:14px 0;font-size:12px;display:flex}.habit-detail-progress strong{color:#3c372f;font-size:14px}.habit-detail-sheet footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.habit-detail-sheet .habit-delete-button{font-weight:750}.empty-panel{text-align:center;color:var(--muted);place-items:center;gap:10px;display:grid}.today-empty-panel{min-height:130px}.empty-action{color:#655d52;margin-top:4px}.empty-action svg{width:15px;height:15px}.field-error{color:var(--danger);overflow-wrap:anywhere;font-size:12px;line-height:1.45;display:block}.habit-state-note{color:var(--muted);font-size:11px}.habit-weekdays{border:0;flex-wrap:wrap;gap:8px;min-width:0;padding:0;display:flex}.habit-weekdays legend{width:100%;font-size:12px;font-weight:650}.habit-weekdays label{align-items:center;gap:4px;min-height:44px;display:flex}.habit-compose-sheet input,.habit-compose-sheet select{max-width:100%}.task-check:disabled{cursor:not-allowed;opacity:.55}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tool-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.tool-card>h2{margin:0;font-size:1.17em}.tool-card>svg{color:var(--accent);width:25px;height:25px}.tool-card p{color:var(--muted);margin:0;font-size:13px}.tool-card.wide{grid-column:1/-1}.password-form{gap:10px;width:100%;display:grid}.password-form label{color:#675f54;gap:6px;font-size:12px;font-weight:650;display:grid}.password-form input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;padding:11px 12px}.password-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f15a291a}.password-form button{justify-self:start}.file-button input{display:none}.tool-card pre{background:#f8f3e8;border-radius:8px;width:100%;max-height:180px;padding:10px;font-size:10px;overflow:auto}.session-row,.audit-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 0;display:flex}.session-copy{flex:1;min-width:0;display:grid}.session-title{line-height:1.4}.session-meta{flex-wrap:wrap;align-items:center;min-width:0;line-height:1.45;display:flex}.session-device{overflow-wrap:anywhere;min-width:0}.session-revoke{flex:none;justify-content:center;min-width:44px;min-height:44px}.audit-copy{gap:2px;min-width:0;display:grid}.audit-action{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.session-row small,.audit-row time{color:var(--muted);font-size:11px}.inline-error{color:var(--danger);background:#fff0ed;border-radius:8px;padding:9px}.settings.active{background:var(--accent-soft);color:#b7421e;font-weight:700}@media (width<=930px){.task-row,.habit-row,.countdown-row{border:1px solid var(--line);min-height:62px;box-shadow:none;background:#fff;border-radius:13px}.task-list,.habit-list,.countdown-timeline{gap:8px;display:grid}.task-row{padding:4px 7px}.task-row:hover,.task-row.selected{background:#fffaf5}.habit-row{padding:4px 7px}.countdown-row,.countdown-row:first-of-type{border:1px solid var(--line)}.countdown-row{grid-template-columns:minmax(0,1fr) 72px;gap:8px;padding:8px 9px}.task-main strong,.habit-name,.countdown-main>b{font-size:14px;font-weight:650}.meta,.countdown-main>small,.countdown-state small{color:var(--muted);font-size:11px}.habit-progress{font-size:16px}.task-check{flex-basis:44px;width:44px}.countdown-icon{border-radius:10px;width:36px;height:36px}.countdown-state strong{font-size:24px}.countdown-group{gap:8px}.countdown-group>h3{padding-left:3px}.habit-detail-mask{padding:0}.habit-detail-sheet{width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}}@media (width<=800px){.settings-grid{grid-template-columns:1fr}.tool-card.wide{grid-column:auto}.habit-main{padding:10px 2px}.numeric-action input{width:62px}}@media (width<=390px){.task-compose-sheet{width:100%;max-width:100%;overflow-x:hidden}.task-compose-sheet .app-sheet__header>button{min-width:44px;min-height:44px}.task-compose-sheet input,.task-compose-sheet select,.task-compose-sheet button{min-height:44px}.task-compose-date-clear,.task-compose-time-remove{min-width:44px;min-height:44px}.task-compose-sheet .app-sheet__footer>button{min-height:44px}.habit-detail-sheet,.habit-compose-sheet{width:100%;max-width:100%}.habit-detail-sheet .app-sheet__header>button,.habit-compose-sheet .app-sheet__header>button{min-width:44px;min-height:44px}.habit-detail-sheet .app-sheet__footer>button,.habit-detail-sheet .app-sheet__danger>button,.habit-compose-sheet .app-sheet__footer>button{min-height:44px}}.unified-fab{z-index:60;background:var(--accent);color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .16s,box-shadow .16s;display:grid;position:fixed;bottom:22px;right:20px;box-shadow:0 8px 20px #f15a2947}.unified-fab svg{width:25px;height:25px}.unified-fab:hover{transform:translateY(-2px);box-shadow:0 10px 24px #f15a2952}.unified-fab:active{transform:scale(.96)}.unified-fab.dragging{transform:scale(1.06);box-shadow:0 12px 28px #f15a295c}.app-sheet-mask.app-sheet-mask{background:var(--sheet-scrim);overscroll-behavior:contain}.app-sheet{background:var(--paper);min-height:0;overflow:hidden}.app-sheet__header{z-index:3;background:var(--paper);border-bottom:1px solid var(--line);flex:0 0 64px;min-height:64px;padding:0 18px;position:sticky;top:0}.app-sheet__header>div{min-width:0}.app-sheet__header h2,.app-sheet__header h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-sheet__header>button{background:0 0;border:0;border-radius:10px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.app-sheet__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:14px;min-height:0;padding:16px 18px;display:grid;overflow-y:auto}.app-sheet__footer{z-index:3;background:var(--paper);border-top:1px solid var(--line);padding:12px 18px;padding-bottom:calc(16px + env(safe-area-inset-bottom));justify-content:flex-end;gap:8px;margin:0;display:flex;position:sticky;bottom:0}.app-sheet__danger{padding:12px 18px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#fff8f6;border-top:1px solid #f1d4cd;justify-content:flex-end;display:flex}.app-sheet--actions .app-sheet__body{padding:8px 16px calc(16px + env(safe-area-inset-bottom));gap:6px}.app-sheet--actions .app-sheet__body>button{text-align:left;background:#fff;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:50px;padding:13px;display:flex}@media (width<=930px){.app-sheet{width:100%;max-height:min(88dvh,760px);border-radius:var(--sheet-radius) var(--sheet-radius) 0 0!important;flex-direction:column!important;padding:0!important;display:flex!important;overflow:hidden!important}.app-sheet--detail,.app-sheet--create{max-width:none!important}.app-sheet-mask{place-items:flex-end center!important;padding:0!important}.app-sheet__header{width:100%;justify-content:space-between!important;align-items:center!important;display:flex!important}.app-sheet__body{flex:auto;width:100%}.app-sheet__body label{gap:6px;display:grid}.app-sheet__footer{flex:none;width:100%}.app-sheet__footer .primary-small{min-width:124px}.app-sheet__danger{flex:none;width:100%}.app-sheet__danger .danger-text{justify-content:center;width:100%;min-height:48px}}.calendar-picker-layer{z-index:90;pointer-events:none;position:fixed;inset:0}.calendar-picker{pointer-events:auto;width:328px;color:var(--text);background:#fffdf8;border:1px solid #ded6ca;border-radius:18px;gap:10px;padding:14px;display:grid;position:fixed;box-shadow:0 18px 46px #38281833}.calendar-picker__header{grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.calendar-picker__header h3{text-align:center;margin:0;font-size:16px}.calendar-picker__header button,.calendar-picker__grid button{background:0 0;border:0;place-items:center;display:grid}.calendar-picker__header button{border-radius:10px;width:40px;height:40px}.calendar-picker__header svg{width:18px}.calendar-picker__close{display:none!important}.calendar-picker__weekdays,.calendar-picker__grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-picker__weekdays span{text-align:center;color:var(--muted);padding:3px 0;font-size:11px}.calendar-picker__grid button{color:#4f483f;border-radius:10px;height:34px;font-size:13px}.calendar-picker__grid button:hover,.calendar-picker__grid button:focus-visible{background:#f6ede2;outline:2px solid #0000}.calendar-picker__grid button.outside{color:#b9b0a5}.calendar-picker__grid button.today{box-shadow:inset 0 0 0 1px var(--accent);color:#b7421e}.calendar-picker__grid button.selected{background:var(--accent);color:#fff}.calendar-picker__grid button.selected.today{box-shadow:inset 0 0 0 1px #fff}.calendar-picker__footer{border-top:1px solid #e8e0d5;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:4px;padding-top:10px;display:grid}.calendar-picker__footer button{color:#6d6459;background:0 0;border:0;border-radius:9px;min-height:36px;padding:0 9px;font-weight:650}.calendar-picker__footer button:hover{background:#f6ede2}.calendar-picker__footer .calendar-picker__done{background:var(--accent);color:#fff}.calendar-picker__footer .calendar-picker__done:hover{background:#df4e22}@media (width<=600px){.calendar-picker-layer{pointer-events:auto;background:#2d261f4d;align-items:flex-end;display:flex}.calendar-picker{width:100%;height:min(520px,72dvh);padding:18px 18px calc(16px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:24px 24px 0 0;grid-template-rows:auto auto 1fr auto;position:relative!important;top:auto!important;left:auto!important}.calendar-picker__header{grid-template-columns:44px 1fr 44px 44px}.calendar-picker__close{display:grid!important}.calendar-picker__grid{align-content:stretch}.calendar-picker__grid button{height:auto;min-height:42px}.calendar-picker__footer button{min-height:44px}}.task-compose-mask{z-index:70;background:#2d261f57;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.task-compose-sheet{width:100%;max-height:min(88dvh,720px);padding:18px 18px calc(20px + env(safe-area-inset-bottom));transform-origin:var(--fab-origin-x,calc(100% - 44px)) var(--fab-origin-y,100%);background:#fffdf8;border-radius:24px 24px 0 0;gap:14px;display:grid;overflow:auto;box-shadow:0 -16px 42px #38281833}.task-compose-sheet header{justify-content:space-between;align-items:center;display:flex}.task-compose-sheet header small{color:var(--accent);letter-spacing:.12em;font-size:10px;font-weight:800}.task-compose-sheet h2{margin:2px 0 0;font-size:22px}.task-compose-sheet label{color:#675f54;gap:6px;font-size:12px;font-weight:650;display:grid}.task-compose-sheet input,.task-compose-sheet select,.task-compose-sheet textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:11px;outline:none;width:100%;padding:12px}.task-compose-sheet input:focus,.task-compose-sheet select:focus,.task-compose-sheet textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f15a291a}.task-compose-row{grid-template-columns:minmax(0,1fr) 105px;gap:10px;display:grid}.task-compose-date-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-compose-date-control{align-items:center;min-width:0;display:flex;position:relative}.task-compose-date-chip{border:1px solid var(--line);cursor:pointer;background:#fffaf3;border-radius:999px;align-items:center;width:auto;min-height:44px;padding:0 12px;position:relative;overflow:hidden;color:#776e62!important;flex-direction:row!important;grid-template-columns:none!important;gap:7px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important}.task-compose-date-chip.selected{background:var(--accent-soft);border-color:#f3b18f;color:#b7421e!important}.task-compose-date-chip svg{flex:none;width:16px;height:16px}.task-compose-date-clear{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;margin-left:2px;display:grid}.task-compose-date-clear:hover{color:var(--text);background:#f5eee5}.task-compose-date-clear svg{width:15px;height:15px}.task-compose-time-add{min-width:0;height:40px;color:var(--accent);background:0 0;border:1px dashed #e5b89d;border-radius:999px;padding:0 13px;font-weight:700}.task-compose-time-add:hover{border-color:var(--accent);background:#fff4e8}.task-compose-time-chip{align-items:center;width:auto;color:var(--muted)!important;flex-direction:row!important;grid-template-columns:none!important;gap:5px!important;font-size:12px!important;display:inline-flex!important}.task-compose-time-chip input{min-width:0;border-radius:999px!important;width:102px!important;padding:9px 8px!important}.task-compose-time-remove{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:0 0 34px;place-items:center;display:grid}.task-compose-time-remove:hover{color:var(--text);background:#f5eee5}.task-compose-time-remove svg{width:15px;height:15px}.task-compose-sheet footer{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.task-compose-sheet button:disabled{opacity:.45}.task-compose-enter-active,.task-compose-leave-active{transition:background .22s}.task-compose-enter-active .task-compose-sheet,.task-compose-leave-active .task-compose-sheet{transition:transform .28s cubic-bezier(.2,.9,.25,1.08),opacity .2s}.task-compose-enter-from,.task-compose-leave-to{background:#2d261f00}.task-compose-enter-from .task-compose-sheet,.task-compose-leave-to .task-compose-sheet{opacity:0;transform:translateY(36px)scale(.86)}.countdown-compose-enter-active,.countdown-compose-leave-active{transition:background .24s}.countdown-compose-enter-active .countdown-modal,.countdown-compose-leave-active .countdown-modal{transform-origin:var(--fab-origin-x,calc(100% - 43px)) var(--fab-origin-y,calc(100% - 104px));transition:transform .34s cubic-bezier(.18,.9,.28,1.16),opacity .22s,filter .22s}.countdown-compose-enter-from,.countdown-compose-leave-to{background:#2d261f00}.countdown-compose-enter-from .countdown-modal,.countdown-compose-leave-to .countdown-modal{opacity:0;filter:blur(5px);transform:translate(20px,28px)scale(.18)rotate(8deg)}@media (width<=930px){.unified-fab{bottom:calc(82px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.overdue-section{margin-top:18px}.overdue-heading{color:var(--danger);margin-bottom:6px}.overdue-heading span{min-width:22px;height:22px;color:var(--danger);background:#fde2dc;border-radius:999px;place-items:center;padding:0 7px;font-size:11px;display:inline-grid}.overdue-list{margin-bottom:18px}.task-tail{text-align:right;white-space:nowrap;flex:0 auto;justify-content:flex-end;min-width:0;max-width:42%;display:flex}.task-actions{flex:none;align-items:center;display:flex}.task-row>.drag-handle,.task-row>.task-check,.task-actions>*{flex-shrink:0}.task-due{justify-content:flex-end;align-items:center;min-width:0;display:inline-flex}.task-due__text{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;overflow:hidden}.task-due--overdue{color:var(--danger)}.task-due--neutral,.task-due--completed{color:var(--muted)}.task-due--completed{opacity:.8}.pager{justify-content:flex-end;align-items:center;gap:10px;margin:0 0 14px;display:flex}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager span{color:var(--muted);font-size:13px}.section-heading{color:#514a40;align-items:center;gap:7px;margin:16px 0 10px;font-size:16px;line-height:1.35;display:flex}.section-heading svg{width:17px;height:17px;color:var(--accent)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.more-settings{border:1px solid var(--line);background:#fff;border-radius:10px}.more-settings summary{cursor:pointer;color:#756d61;padding:11px 13px;font-size:12px;font-weight:700}.more-settings-body{gap:12px;padding:0 13px 13px;display:grid}.more-settings-body>label{color:#756d61;grid-template-columns:80px 1fr;align-items:center;gap:7px;font-size:12px;font-weight:650;display:grid}.modal-mask{z-index:80;background:#2d261f66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-box{border:1px solid var(--line);width:min(360px,92vw);box-shadow:var(--shadow);background:#fffdf8;border-radius:14px;gap:14px;padding:22px;display:grid}.modal-box h3{margin:0;font-size:17px}.modal-box label{color:#756d61;gap:7px;font-size:12px;font-weight:650;display:grid}.modal-input{border:1px solid var(--line);background:#fff;border-radius:9px;outline:none;width:100%;padding:11px;font-size:16px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.purge-list-dialog{width:min(430px,92vw)}.purge-list-dialog p{color:var(--muted);margin:0;line-height:1.65}.purge-list-dialog button{min-width:88px;min-height:44px}.purge-list-dialog button:disabled{cursor:not-allowed;opacity:.62}.purge-list-error{border-radius:10px;padding:10px 12px;font-weight:650;color:var(--danger)!important;background:#fde7e2!important}.countdown-view{gap:16px;padding-bottom:36px;display:grid}.countdown-content{gap:16px;display:grid}.countdown-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:10px;display:flex}.countdown-hero small{color:var(--muted);font-size:12px;display:block}.countdown-layout{align-items:start;gap:22px;display:grid}.countdown-timeline{gap:20px;width:100%;max-width:820px;margin:0 auto;display:grid}.countdown-group{gap:2px;display:grid}.countdown-group>h3{color:#8a8175;letter-spacing:.08em;margin:0 0 7px;padding-left:12px;font-size:11px;font-weight:750}.countdown-row{--countdown-tone:#d9a17c;border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:66px;color:inherit;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:14px;padding:9px 10px 9px 17px;transition:background .15s,transform .15s;display:grid;position:relative}.countdown-row:before{content:"";background:var(--countdown-tone);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.countdown-row:hover{background:#fffaf3}.countdown-row:active{transform:scale(.995)}.countdown-row.kind-anniversary{--countdown-tone:#b69b7d}.countdown-row.kind-birthday{--countdown-tone:#9cab8d}.countdown-row.today{--countdown-tone:#71856b}.countdown-row.past{--countdown-tone:#aaa094;opacity:.66}.countdown-row .pinned-icon{position:absolute;top:5px;right:4px}.countdown-icon{background:#fff2e8;border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.countdown-main{gap:4px;min-width:0;display:grid}.countdown-main>b{text-overflow:ellipsis;white-space:nowrap;color:#3f3932;font-size:15px;overflow:hidden}.countdown-main>small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;overflow:hidden}.countdown-badges{gap:5px;display:flex}.countdown-badges em{color:#8a7f72;font-size:10px;font-style:normal}.countdown-badges em+em:before{content:"·";color:#c1b7aa;margin-right:5px}.countdown-state{justify-items:end;gap:3px;display:grid}.countdown-state strong{font-variant-numeric:tabular-nums;color:#62594e;font-size:26px;line-height:1}.countdown-state small{color:var(--muted);font-size:10px}.countdown-row.today .countdown-state strong,.countdown-row.today .countdown-state small{color:#71856b}.countdown-row.past .countdown-state strong{color:#887d70}.countdown-focus{--countdown-tone:#d9a17c;border:1px solid var(--countdown-tone);place-content:center;justify-items:center;gap:7px;width:min(720px,100%);min-height:255px;margin:0 auto;display:grid}@supports (color:color-mix(in lab, red, red)){.countdown-focus{border:1px solid color-mix(in srgb,var(--countdown-tone) 34%,var(--line))}}.countdown-focus{background:var(--countdown-tone);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.countdown-focus{background:color-mix(in srgb,var(--countdown-tone) 7%,#fffdf8)}}.countdown-focus{text-align:center;color:inherit;box-shadow:none;padding:28px 24px;transition:border-color .15s,background .15s}.countdown-focus:hover{border-color:var(--countdown-tone)}@supports (color:color-mix(in lab, red, red)){.countdown-focus:hover{border-color:color-mix(in srgb,var(--countdown-tone) 54%,var(--line))}}.countdown-focus:hover{background:var(--countdown-tone)}@supports (color:color-mix(in lab, red, red)){.countdown-focus:hover{background:color-mix(in srgb,var(--countdown-tone) 10%,#fffdf8)}}.countdown-focus.kind-anniversary{--countdown-tone:#b69b7d}.countdown-focus.kind-birthday{--countdown-tone:#9cab8d}.countdown-focus>small{color:#8b8276;letter-spacing:.1em;font-size:10px;font-weight:750}.countdown-focus h3{margin:7px 0 0;font-size:20px;font-weight:680}.countdown-focus p{color:var(--muted);margin:1px 0 0;font-size:11px}.countdown-number{align-items:end;gap:6px;margin:4px 0 3px;display:flex}.countdown-number strong{font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:#3f3932;font-size:76px;font-weight:720;line-height:.9}.countdown-number span{color:#7a7165;padding-bottom:6px;font-size:13px}.countdown-copy{color:#71685e;font-size:12px;font-weight:650}.countdown-empty{border:1px dashed var(--line);color:#766d60;text-align:center;background:#fffdf8;border-radius:16px;place-content:center;justify-items:center;gap:9px;min-height:260px;padding:26px;display:grid}.countdown-empty svg{color:var(--accent);width:30px;height:30px}.countdown-empty span{font-size:12px}.countdown-empty button{margin-top:5px}.archived-toggle,.archived-countdowns button{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:5px;padding:8px 11px;font-size:12px;display:inline-flex}.archived-toggle{justify-self:start}.archived-countdowns{gap:10px;display:grid}.archived-countdowns article{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.archived-countdowns article b{flex:1}.archived-countdowns article small{color:var(--muted)}.countdown-detail-mask,.countdown-modal-mask{background:#2d261f5c;padding:20px;display:grid;position:fixed;inset:0}.countdown-detail-mask{z-index:85;place-items:end center}.countdown-detail-sheet{border:1px solid var(--line);background:#fffdf8;border-radius:20px;gap:16px;width:min(500px,100%);padding:18px;display:grid;box-shadow:0 12px 36px #3828182e}.countdown-detail-sheet header{grid-template-columns:42px 1fr 44px;align-items:center;gap:10px;display:grid}.countdown-detail-sheet header small{color:var(--muted);font-size:11px}.countdown-detail-sheet header h3{margin:2px 0 0;font-size:19px}.countdown-detail-sheet header button,.countdown-modal header button{color:#766d60;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;display:grid}.countdown-detail-days{align-items:baseline;gap:6px;padding:8px 0;display:flex}.countdown-detail-days strong{font-variant-numeric:tabular-nums;font-size:46px;line-height:1}.countdown-detail-days span{color:var(--muted)}.countdown-detail-days b{color:var(--accent);margin-left:auto;font-size:13px}.countdown-detail-sheet dl{background:var(--line);gap:1px;margin:0;display:grid}.countdown-detail-sheet dl div{background:#fffdf8;grid-template-columns:62px 1fr;gap:10px;padding:10px 0;display:grid}.countdown-detail-sheet dt{color:var(--muted);font-size:12px}.countdown-detail-sheet dd{margin:0;font-size:13px}.countdown-detail-sheet footer{justify-content:flex-end;gap:8px;display:flex}.countdown-detail-sheet footer button{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:9px 13px;display:inline-flex}.countdown-modal-mask{z-index:90;place-items:center}.countdown-modal{border:1px solid var(--line);width:min(420px,96vw);box-shadow:var(--shadow);background:#fffdf8;border-radius:18px;gap:12px;padding:18px;display:grid}.countdown-modal header{justify-content:space-between;align-items:start;display:flex}.countdown-modal header small{color:var(--muted)}.countdown-modal header h3{margin:2px 0 0}.countdown-modal label{color:#675f54;gap:6px;font-size:12px;font-weight:650;display:grid}.countdown-modal input,.countdown-modal select{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:11px 12px}.countdown-modal input:focus,.countdown-modal select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f15a291a}.countdown-title-fields{grid-template-columns:72px 1fr;gap:8px;display:grid}.countdown-modal footer{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.countdown-advanced{border:1px solid var(--line);background:#fffaf4;border-radius:11px}.countdown-advanced summary{cursor:pointer;color:#756d61;justify-content:space-between;align-items:center;min-height:44px;padding:0 12px;font-size:12px;font-weight:700;list-style:none;display:flex}.countdown-advanced summary::-webkit-details-marker{display:none}.countdown-advanced summary svg{width:16px;height:16px;transition:transform .16s}.countdown-advanced[open] summary svg{transform:rotate(180deg)}.countdown-advanced>label,.countdown-advanced>.countdown-title-fields{margin:0 12px 12px}.countdown-detail-enter-active,.countdown-detail-leave-active{transition:background .2s}.countdown-detail-enter-active .countdown-detail-sheet,.countdown-detail-leave-active .countdown-detail-sheet{transition:transform .24s,opacity .2s}.countdown-detail-enter-from .countdown-detail-sheet,.countdown-detail-leave-to .countdown-detail-sheet{opacity:.6;transform:translateY(100%)}@media (width<=930px){.countdown-layout{grid-template-columns:1fr;gap:16px}.countdown-focus{min-height:205px;padding:22px 16px;display:grid}.countdown-number strong{font-size:64px}.countdown-timeline{gap:16px}}@media (width<=800px){.countdown-hero{align-items:center}.countdown-hero h2{font-size:19px}.countdown-row{grid-template-columns:minmax(0,1fr) 72px;gap:9px;padding:9px 4px}.countdown-state strong{font-size:25px}.countdown-detail-mask,.countdown-modal-mask{place-items:end;padding:0}.countdown-detail-sheet,.countdown-modal{width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;max-height:min(88dvh,760px);overflow:auto}.countdown-view{position:relative}}@media (width<=930px){.task-tail{flex:0 auto;align-self:stretch;align-items:center;max-width:132px;overflow:hidden}.task-tail:has(.task-due--timed){flex:0 76px;max-width:76px}.task-row:has(>.task-tail .task-due--timed){height:66px;max-height:68px}.task-row:has(>.task-tail .task-due--timed) .task-main{padding:4px 0}.task-due{max-width:100%;overflow:hidden}.task-due--timed .task-due__text{text-overflow:ellipsis;white-space:normal;justify-items:end;max-width:100%;line-height:1.2;display:grid;overflow:hidden}.task-due--timed .task-due__absolute,.task-due--timed .task-due__relative{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.task-due--timed .task-due__separator{display:none}.countdown-row,.countdown-row:first-of-type{border:0;border-bottom:1px solid var(--line);min-height:62px;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 72px;gap:8px;padding:8px 9px 8px 17px}.countdown-row:first-of-type{border-top:1px solid var(--line)}.countdown-row.pinned,.countdown-row.today{background:0 0}.countdown-state strong{font-size:24px}}.task-row.just-completed,.habit-row.just-completed{animation:.34s cubic-bezier(.2,.85,.3,1) completion-row-settle}.task-row.just-completed .task-check-mark,.habit-row.just-completed .task-check-mark{animation:.38s cubic-bezier(.2,1.4,.35,1) completion-check-pop}.task-row.completion-exiting,.habit-row.completion-exiting{pointer-events:none;animation:.32s cubic-bezier(.4,0,.8,.2) forwards completion-slide-out;overflow:hidden}@keyframes completion-slide-out{0%{opacity:1;transform:translate(var(--swipe-x),var(--reorder-y,0px));max-height:180px}68%{opacity:0;transform:translate(calc(100% + 24px),var(--reorder-y,0px));max-height:180px}to{opacity:0;transform:translate(calc(100% + 24px),var(--reorder-y,0px));border-width:0;min-height:0;max-height:0;padding-top:0;padding-bottom:0}}@keyframes completion-row-settle{0%{transform:translate(var(--swipe-x),var(--reorder-y,0px)) scale(1);background:#71856b29}45%{transform:translate(var(--swipe-x),var(--reorder-y,0px)) scale(.992);background:#71856b1a}to{transform:translate(var(--swipe-x),var(--reorder-y,0px)) scale(1)}}@keyframes completion-check-pop{0%{transform:scale(.72);box-shadow:0 0 #71856b47}58%{transform:scale(1.18);box-shadow:0 0 0 7px #71856b00}to{box-shadow:none;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.task-row.just-completed,.habit-row.just-completed,.task-row.just-completed .task-check-mark,.habit-row.just-completed .task-check-mark,.task-row.completion-exiting,.habit-row.completion-exiting{animation:none}}:root{--surface-canvas:#f3ecdf;--surface-base:#fdfaf3;--surface-raised:#fffdf8;--text-primary:#302a24;--text-secondary:#655b50;--border-cream:#e4d5c0;--highlight-inner:inset 0 1px 0 #fff;--shadow-soft:0 4px 14px #58432a14;--shadow-raised:0 12px 30px #58432a1f;--focus-ring:#b4421e57;--success:#687e61;--scrim:#2d261f61;--radius-control:11px;--radius-card:14px;--radius-list:15px;--radius-panel:20px;--paper:var(--surface-raised);--sidebar:var(--surface-canvas);--line:var(--border-cream);--muted:var(--text-secondary);--shadow:var(--shadow-raised);--sheet-radius:20px;--sheet-scrim:var(--scrim)}body{color:var(--text-primary);background:var(--surface-canvas);font-variant-numeric:tabular-nums}.auth-shell{background:var(--surface-canvas)}.shell{background:var(--surface-base)}.sidebar{background:var(--surface-canvas);border-color:var(--border-cream);box-shadow:inset -1px 0 #fff}main{background:var(--surface-base)}.detail,.bottom{background:var(--surface-raised);border-color:var(--border-cream)}.detail{box-shadow:inset 1px 0 #fff}.detail-head,.app-sheet__header,.app-sheet__footer{background:var(--surface-raised)}.auth-card,.today-board,.tool-card,.empty-panel,.paper,.countdown-focus,.countdown-empty,.archived-countdowns article{background:var(--surface-raised);border:1px solid var(--border-cream);border-radius:var(--radius-card);box-shadow:var(--highlight-inner),var(--shadow-soft)}.app-sheet,.modal-box,.calendar-picker,.sidebar-popover,.archived-row-actions{background:var(--surface-raised);border:1px solid var(--border-cream);border-radius:var(--radius-panel);box-shadow:var(--highlight-inner),var(--shadow-raised)}.habit-detail-sheet,.countdown-detail-sheet,.task-compose-sheet,.more-sheet,.countdown-modal{background:var(--surface-raised);border-color:var(--border-cream);border-radius:var(--radius-panel);box-shadow:var(--highlight-inner),var(--shadow-raised)}.primary,.soft-button,.primary-small,.danger-button,.file-button,.secondary,.restore,.archived-toggle,.archived-countdowns button{border-radius:var(--radius-control)}.soft-button,.danger-button,.file-button,.secondary,.restore,.archived-toggle,.archived-countdowns button{background:var(--surface-raised);border-color:var(--border-cream);box-shadow:var(--highlight-inner)}.primary,.primary-small,.unified-fab{background:var(--accent);color:#fff}.danger-button{color:var(--danger);background:#fff8f5;border-color:#dba99d}.inline-error,.purge-list-error{color:var(--danger);background:#fff0ec}.task-check[aria-pressed=true] .task-check-mark,.habit-row.done .habit-check .task-check-mark{background:var(--success);border-color:var(--success)}.habit-archive-section{gap:0;display:grid}.habit-archive-toggle{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;width:100%;min-height:44px;display:grid}.habit-archive-toggle>span{min-width:0}.habit-archive-toggle>svg:last-child{transition:transform .16s}.habit-archive-toggle>svg.expanded{transform:rotate(90deg)}.archived-habits{background:var(--surface-raised);border:1px solid var(--border-cream);border-radius:var(--radius-card);gap:0;width:100%;display:grid;overflow:hidden}.archived-habit-row{appearance:none;width:100%;min-height:44px;color:inherit;text-align:left;background:var(--surface-raised);border:0;border-bottom:1px solid var(--border-cream);font:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.archived-habit-row:last-child{border-bottom:0}.archived-habit-row>span{gap:3px;min-width:0;display:grid}.archived-habit-row b,.archived-habit-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.archived-habit-row small{color:var(--muted);font-size:11px}.archived-habit-row>svg{flex:none}.habit-archive-status{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:0;padding:12px;display:flex}.app-sheet__danger{gap:8px;display:flex}.app-sheet__danger>button{min-height:44px}.habit-restore-button,.habit-delete-button{flex:1}@media (width<=930px){.habit-archive-section{gap:0;width:100%}.habit-archive-toggle{appearance:none;background:var(--surface-raised);border:1px solid var(--border-cream);width:100%;min-height:44px;box-shadow:none}.archived-habits{gap:0;width:100%;display:grid}.archived-habit-row{appearance:none;background:var(--surface-raised);border-bottom:1px solid var(--border-cream);grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:44px}.habit-detail-sheet.app-sheet--detail{width:100%;border-radius:var(--sheet-radius) var(--sheet-radius) 0 0!important}}input,select,textarea,.search{background:var(--surface-raised);border-color:var(--border-cream);border-radius:var(--radius-control);box-shadow:var(--highlight-inner)}.search input,.detail-title textarea{box-shadow:none;background:0 0}.sidebar-popover button,.sidebar-action-sheet .app-sheet__body button,.app-sheet--actions .app-sheet__body>button,.more-sheet>button{background:var(--surface-raised)}.task-list,.habit-list,.countdown-timeline{background:var(--surface-raised);border:1px solid var(--border-cream);border-radius:var(--radius-list);box-shadow:var(--highlight-inner);gap:0;overflow:hidden}.task-row,.habit-row,.countdown-row{background:var(--surface-raised);box-shadow:none;border:0;border-radius:0}.task-row+.task-row,.habit-row+.habit-row,.countdown-row+.countdown-row{border-top:1px solid var(--border-cream)}.task-row:hover,.task-row.selected,.habit-row:hover,.countdown-row:hover{background:#fff7eb}.task-row.done,.habit-row.done{background:#fbf5eb}.subtask{background:#fcf7ee}.overdue-task{background:#fff5f1}.countdown-row:first-of-type{border-top:0}.countdown-row:before{left:7px}.countdown-group{gap:0}.countdown-group+.countdown-group{margin-top:18px}.overdue-list{border-color:#ecc8bd}.empty,.center{color:var(--muted)}.loader{background:var(--surface-raised)}.toast{color:#fff;border-radius:var(--radius-control);box-shadow:var(--shadow-raised);background:#3b342c;border:1px solid #574d42}.error-toast{background:var(--danger);color:#fff;border-radius:var(--radius-control);box-shadow:var(--shadow-raised);border:1px solid #9f2f22}.modal-mask,.task-compose-mask,.habit-detail-mask,.countdown-detail-mask,.countdown-modal-mask,.app-sheet-mask.app-sheet-mask,.scrim,.more-mask{background:var(--scrim);filter:none}:focus-visible,.task-check:focus-visible,.today-track:focus-visible,.archived-lists-toggle:focus-visible,.archived-row-menu-trigger:focus-visible,.archived-row-actions button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (width<=930px){.bottom{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));background:var(--surface-raised);border:1px solid var(--border-cream);box-shadow:var(--highlight-inner),var(--shadow-raised);border-radius:20px;padding:7px 5px}.bottom button{border-radius:11px;min-height:44px}.bottom button.active{background:#fbe6dc}.sidebar{border-radius:0 var(--radius-panel) var(--radius-panel) 0}.detail,.app-sheet,.task-compose-sheet,.habit-detail-sheet,.countdown-detail-sheet,.more-sheet{border-radius:var(--sheet-radius) var(--sheet-radius) 0 0!important}.task-list,.habit-list,.countdown-timeline{gap:0;display:grid}.task-row,.habit-row,.countdown-row{background:var(--surface-raised);min-height:62px;box-shadow:none;border:0;border-radius:0}.task-row+.task-row,.habit-row+.habit-row,.countdown-row+.countdown-row{border-top:1px solid var(--border-cream)}.countdown-row:first-of-type{border-top:0}.unified-fab{bottom:calc(88px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.completed-filter-pill,.completed-filter-pill__track,.completed-filter-pill__thumb{transition:none!important}.topbar-refresh.spinning svg{animation:none!important}.completed-filter-pill:active:not(:disabled){transform:none}.task-row.just-completed,.habit-row.just-completed,.task-row.just-completed .task-check-mark,.habit-row.just-completed .task-check-mark{animation:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}