@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--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-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--color-red-50:#fef2f2;--color-red-100:#ffe2e2;--color-red-200:#ffcaca;--color-red-600:#e40014;--color-red-700:#bf000f;--color-red-800:#9f0712;--color-orange-50:#fff7ed;--color-orange-200:#ffd7a8;--color-orange-600:#f05100;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c2;--color-yellow-200:#fff085;--color-yellow-600:#cd8900;--color-yellow-800:#874b00;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bedbff;--color-blue-500:#3080ff;--color-blue-800:#193cb8;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-800:#1e2939;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-orange-50:lab(97.7008% 1.53735 5.90649);--color-orange-200:lab(88.4871% 9.94918 28.8378);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-yellow-50:lab(98.6846% -1.79055 9.7766);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-200:lab(94.3433% -5.00429 52.9663);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-yellow-800:lab(38.7484% 23.5833 51.4916);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-800:lab(30.2514% 27.7853 -70.2699);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-800:lab(16.1051% -1.18239 -11.7533)}}}@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,ui-sans-serif, system-ui, 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{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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.max-h-96{max-height:calc(var(--spacing) * 96)}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-orange-200{border-color:var(--color-orange-200)}.border-red-200{border-color:var(--color-red-200)}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-500{color:var(--color-blue-500)}.text-blue-800{color:var(--color-blue-800)}.text-gray-800{color:var(--color-gray-800)}.text-orange-600{color:var(--color-orange-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:opacity-60:hover{opacity:.6}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--bg-page:#f9f6f2;--bg-sidebar:#f1eee9;--bg-detail:#fbfaf7;--bg-primary:var(--bg-page);--bg-surface:var(--bg-detail);--bg-panel:#fdfbf9;--bg-overlay:#fdfbf9;--bg-subtle:#ede9e2;--bg-input:#fdfbf9;--bg-hover:#ebe7e1;--bg-active:#e5e1d9;--bg-secondary:var(--bg-subtle);--text-primary:#0f0703;--text-secondary:#534b45;--text-tertiary:#8a8580;--text-placeholder:#9c9793;--border-subtle:#dcd7cf;--border-default:#cac3ba;--border-input:var(--border-default);--accent:#c13f29;--accent-soft:#fedcd4;--accent-text:#a52c18;--accent-contrast:#fcf3f1;--priority-high:#c13f29;--priority-medium:#d0750a;--priority-low:#007ca6;--success:#1c8742;--color-error:var(--priority-high);--shadow-sm:0 1px 2px #0f07030f;--shadow-md:0 8px 24px #0f07031f, 0 2px 8px #0f07030f;--shadow-lg:0 24px 70px #0f070342, 0 4px 16px #0f070324;--dur-1:.12s;--dur-2:.18s;--dur-3:.26s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--font-display:"Fraunces", Georgia, serif;--font-ui:"Plus Jakarta Sans", system-ui, sans-serif;--page-x:28px;--sidebar-w:232px;--tabbar-h:56px;--detail-w:360px}@supports (color:lab(0% 0 0)){:root{--bg-page:lab(97.1176% .34073 2.25886);--bg-sidebar:lab(94.2232% .459701 3.01524);--bg-detail:lab(98.2719% .22471 1.50434);--bg-panel:lab(98.8519% .22465 1.50434);--bg-overlay:lab(98.8519% .22465 1.50434);--bg-subtle:lab(92.4886% .581265 3.77344);--bg-input:lab(98.8519% .22465 1.50434);--bg-hover:lab(91.9086% .581443 3.77355);--bg-active:lab(89.5938% .706315 4.53392);--text-primary:lab(2.44759% 1.89917 2.52855);--text-secondary:lab(32.6879% 2.61867 5.05708);--text-tertiary:lab(55.9244% 1.16661 3.61601);--text-placeholder:lab(62.8841% .923604 2.88637);--border-subtle:lab(86.1137% .707865 4.53497);--border-default:lab(79.1437% 1.33759 5.5778);--accent:lab(46.2334% 51.9533 42.6581);--accent-soft:lab(90.3981% 11.549 8.30429);--accent-text:lab(38.1894% 49.0805 41.6692);--accent-contrast:lab(96.4373% 2.91988 1.9375);--priority-high:lab(46.2334% 51.9533 42.6581);--priority-medium:lab(58.7455% 32.0465 63.9678);--priority-low:lab(48.004% -19.4733 -33.2242);--success:lab(49.5467% -42.4533 28.2033);--shadow-sm:0 1px 2px lab(2.44759% 1.89917 2.52855/.06);--shadow-md:0 8px 24px lab(2.44759% 1.89917 2.52855/.12), 0 2px 8px lab(2.44759% 1.89917 2.52855/.06);--shadow-lg:0 24px 70px lab(2.44759% 1.89917 2.52855/.26), 0 4px 16px lab(2.44759% 1.89917 2.52855/.14)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-ui);background:var(--bg-page);color:var(--text-primary);min-height:100dvh;font-size:.9375rem;line-height:1.5}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(button,a,input,textarea,select,[role=button],[role=menuitem],[data-radix-dropdown-menu-content],[data-radix-dropdown-menu-sub-content],[data-radix-toast-root]){transition-duration:var(--dur-1);transition-timing-function:var(--ease-out-quart);transition-property:background-color,border-color,color,box-shadow,opacity,transform,filter}:where(button,input,textarea,select):disabled{transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:none}}@keyframes sheetIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes checkPop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;font-size:.6875rem;font-weight:600}.display{font-family:var(--font-display);letter-spacing:-.03em;font-weight:500}.muted{color:var(--text-tertiary)}.error-text{color:var(--color-error);font-size:.8125rem;line-height:1.4}.btn{height:32px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){border-color:var(--text-tertiary);color:var(--text-primary);background:var(--bg-panel)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{border-color:var(--priority-high)}@supports (color:color-mix(in lab, red, red)){.btn-danger{border-color:color-mix(in oklch, var(--priority-high) 35%, var(--border-default))}}.btn-danger{color:var(--priority-high)}.btn-danger:hover:not(:disabled){background:var(--accent-soft)}.btn-icon{width:32px;padding:0}.btn-sm{height:28px;padding:0 10px;font-size:.75rem}.btn-sm.btn-icon{width:28px}.btn[data-active=true]{background:var(--bg-hover);color:var(--text-primary)}.btn[data-accent=true]{color:var(--accent)}.btn-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.icon-btn{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--bg-active);color:var(--text-primary)}.field{border:1px solid var(--border-input);background:var(--bg-input);width:100%;min-height:34px;color:var(--text-primary);border-radius:6px;outline:none;padding:6px 10px;font-size:.875rem;line-height:1.4}.field::placeholder{color:var(--text-placeholder)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field:disabled{opacity:.6}.field-sm{min-height:30px;padding:4px 8px;font-size:.8125rem}.field-auto{width:auto}select.field{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:28px}textarea.field{resize:vertical}.switch{background:var(--border-default);cursor:pointer;width:40px;height:22px;transition:background-color var(--dur-2) var(--ease-out-quart);border:0;border-radius:11px;flex-shrink:0;padding:0;position:relative}.switch:after{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-out-quart);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:disabled{background:var(--border-subtle);cursor:not-allowed}.app-shell{background:var(--bg-page);height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;min-height:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:9px;padding:18px 20px 14px;display:flex}.sidebar-wordmark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-size:1.2rem;font-weight:500;line-height:1}.sidebar-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 8px;overflow-y:auto}.sidebar-group{padding-top:14px}.sidebar-group-head{justify-content:space-between;align-items:center;min-height:22px;margin-bottom:4px;padding:0 12px;display:flex}.sidebar-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text-tertiary);background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.sidebar-toggle:hover{color:var(--text-secondary)}.sidebar-toggle svg{transition:transform var(--dur-2) var(--ease-out-quart)}.sidebar-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.sidebar-collapsible{transition:grid-template-rows var(--dur-3) var(--ease-out-quart);grid-template-rows:0fr;display:grid}.sidebar-collapsible[data-open=true]{grid-template-rows:1fr}.sidebar-collapsible>div{overflow:hidden}.drawer-backdrop{z-index:40;cursor:default;opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out-quart);background:#0f070359;background:lab(2.44759% 1.89917 2.52855/.35);border:0;position:fixed;inset:0}.drawer-backdrop[data-open=true]{opacity:1;pointer-events:auto}.nav-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;min-height:32px;margin-bottom:1px;padding:6px 12px;font-size:.875rem;font-weight:400;text-decoration:none;display:flex;position:relative}.nav-item:hover,.nav-item:focus-visible{background:var(--bg-hover);color:var(--text-primary)}.nav-item[data-active=true]{background:var(--bg-active);color:var(--text-primary);font-weight:500}.nav-item[data-droppable=true]{outline:1px dashed var(--border-default);outline-offset:-1px}.nav-item[data-over=true]{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-active);color:var(--text-primary)}.nav-item-sm{min-height:28px;padding:5px 12px;font-size:.8125rem}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;display:flex}.nav-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block}.nav-row{align-items:center;display:flex;position:relative}.nav-row-actions{opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out-quart);align-items:center;gap:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.nav-row:hover .nav-row-actions,.nav-row:focus-within .nav-row-actions{opacity:1;pointer-events:auto}.nav-row:hover .nav-item,.nav-row:focus-within .nav-item{padding-right:56px}.nav-row[data-dragging=true] .nav-row-actions{opacity:0;pointer-events:none}.nav-row[data-dragging=true] .nav-item{padding-right:12px}.nav-grip{cursor:grab;touch-action:none}.nav-grip:active{cursor:grabbing}.user-menu{border-top:1px solid var(--border-subtle);margin-top:auto;padding:8px;position:relative}.user-menu-trigger{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.user-menu-trigger:hover{background:var(--bg-hover)}.user-menu-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.user-menu-email{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.user-menu-pop{z-index:200;background:var(--bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);animation:fadeUp var(--dur-2) var(--ease-out-quart);border-radius:8px;position:absolute;bottom:calc(100% - 2px);left:8px;right:8px;overflow:hidden}.menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:9px 14px;font-size:.875rem;text-decoration:none;display:flex}.menu-item:hover{background:var(--bg-hover)}.menu-item-muted{color:var(--text-secondary)}.menu-sep{background:var(--border-subtle);height:1px;margin:0 8px}.tabbar{display:none}.sync-pill{top:calc(10px + env(safe-area-inset-top));z-index:35;position:fixed;right:16px}.sync-pill:empty{display:none}.page{min-width:0;animation:fadeIn var(--dur-2) var(--ease-out-quart) both;flex-direction:column;flex:1;display:flex;overflow:hidden}.page-header{padding:20px var(--page-x) 0;border-bottom:1px solid var(--border-subtle);background:var(--bg-page);flex-shrink:0}.page-header-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.page-title-wrap{flex:180px;align-items:center;gap:8px;min-width:0;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);overflow-wrap:anywhere;font-size:clamp(1.3rem,2.5vw,1.6rem);font-weight:500;line-height:1.2}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.875rem}.page-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.page-scroll{min-height:0;padding:0 var(--page-x) 48px;overscroll-behavior:contain;flex:1;overflow-y:auto}.page-scroll-pad{padding-top:20px}.page-narrow{max-width:680px}.page-row{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.page-loading{padding:20px var(--page-x);animation:fadeIn var(--dur-3) ease both;animation-delay:.12s}.group{animation:fadeUp var(--dur-3) var(--ease-out-quart) both;padding-top:24px}.group-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:2px;padding-bottom:6px;display:flex}.group-title{flex:1;min-width:0}.group-desc{color:var(--text-secondary);margin-top:3px;font-size:.8125rem;line-height:1.35}.group-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:.6875rem}.task-row{cursor:pointer;transition:background-color var(--dur-1) var(--ease-out-quart), border-color var(--dur-1), box-shadow var(--dur-1);border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:10px;margin:0 -10px;padding:8px 10px;display:flex;position:relative}.task-row:hover{background:var(--bg-hover)}.task-row[data-selected=true]{background:var(--bg-active)}.task-row[data-drop=subtask]{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.task-row[data-drop=subtask]{background:color-mix(in oklab, var(--accent-soft) 55%, white)}}.task-row[data-drop=subtask]{border:1px dashed var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.task-row[data-drop=subtask]{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 18%, transparent)}}.task-row-anim{animation:fadeUp var(--dur-3) var(--ease-out-quart) both;position:relative}.task-body{flex:1;min-width:0}.task-title{color:var(--text-primary);word-break:break-word;transition:color var(--dur-3) ease, text-decoration-color var(--dur-3) ease;font-size:.9rem;line-height:1.45;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.task-row[data-done=true] .task-title,.subtask-row[data-done=true] .task-title{color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);text-decoration-color:var(--text-tertiary)}.task-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:.75rem;display:flex}.task-meta>span{align-items:center;gap:3px;display:inline-flex}.task-meta .overdue{color:var(--priority-high);font-weight:500}.task-meta .sep:before{content:"·"}.task-preview{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-style:italic;display:block;overflow:hidden}.task-side{flex-shrink:0;align-items:center;gap:6px;margin-top:1px;display:flex}.task-check{border:1.5px solid var(--check-color,var(--border-default));cursor:pointer;color:#fff;width:18px;height:18px;transition:background-color var(--dur-2) var(--ease-out-quart), border-color var(--dur-2), transform var(--dur-1);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:0;display:flex}.task-check:hover{background:var(--check-color,var(--border-default))}@supports (color:color-mix(in lab, red, red)){.task-check:hover{background:color-mix(in oklch, var(--check-color,var(--border-default)) 16%, transparent)}}.task-check:active{transform:scale(.9)}.task-check[data-done=true]{background:var(--success);border-color:var(--success)}.task-check svg{animation:checkPop var(--dur-2) var(--ease-out-quart)}.task-check-sm{width:15px;height:15px}.task-check-lg{width:20px;height:20px;margin-top:3px}.subtasks{border-left:1px solid var(--border-subtle);flex-direction:column;gap:2px;margin:8px 0 0 2px;padding-left:14px;display:flex}.subtask-row{cursor:pointer;border-radius:6px;align-items:flex-start;gap:8px;margin:0 -6px;padding:5px 6px;display:flex}.subtask-row:hover{background:var(--bg-hover)}.subtask-row[data-selected=true]{background:var(--bg-active)}.subtask-row .task-title{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.subtask-row .task-meta{margin-top:2px;font-size:.6875rem}.task-actions-trigger{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-1), background-color var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.task-actions-trigger[data-visible=true]{opacity:1;pointer-events:auto}.task-actions-trigger:hover{background:var(--bg-hover);color:var(--text-secondary)}.add-inline{cursor:pointer;color:var(--text-tertiary);transition:color var(--dur-1);background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;margin-top:2px;padding:6px 2px;font-size:.8125rem;display:inline-flex}.add-inline:hover{color:var(--accent)}.add-inline .plus{width:18px;height:18px;transition:background-color var(--dur-1), color var(--dur-1), transform var(--dur-1);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.add-inline:hover .plus{background:var(--accent);color:var(--accent-contrast);transform:scale(1.05)}.add-inline-wide{width:100%;padding:6px}.disclosure{cursor:pointer;color:var(--text-tertiary);transition:color var(--dur-1);background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;margin-top:2px;padding:6px 2px;font-size:.8125rem;display:inline-flex}.disclosure:hover{color:var(--text-secondary)}.disclosure svg{transition:transform var(--dur-2) var(--ease-out-quart)}.disclosure[aria-expanded=true] svg{transform:rotate(90deg)}.drop-line{border-top:2px solid var(--accent);z-index:2;pointer-events:none;height:0;position:absolute;left:-4px;right:-4px}.drop-line:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:0}.drop-line[data-pos=top]{top:0}.drop-line[data-pos=bottom]{bottom:0}.drop-badge{background:var(--accent-soft);color:var(--accent-text);letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600;position:absolute;top:8px;right:10px}.add-task{padding:8px 0}.add-task-card{border:1px solid var(--border-default);background:var(--bg-panel);box-shadow:var(--shadow-sm);animation:fadeUp var(--dur-2) var(--ease-out-quart);transition:border-color var(--dur-1), box-shadow var(--dur-1);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.add-task-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.add-task-title{width:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:2px 0;font-size:.9375rem}.add-task-title::placeholder{color:var(--text-placeholder)}.add-task-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.add-task-controls .spacer{flex:1}.empty-state{text-align:center;animation:fadeUp var(--dur-3) var(--ease-out-quart) both;flex-direction:column;align-items:center;gap:6px;padding-top:48px;display:flex}.empty-state-title{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:-.01em;font-size:1.1rem;font-style:italic}.empty-state-body{color:var(--text-tertiary);font-size:.875rem}.board-scroll{padding:20px var(--page-x) 40px;overscroll-behavior-x:contain;flex:1;align-items:flex-start;gap:16px;display:flex;overflow-x:auto}.detail-pane{background:var(--bg-detail);width:0;min-width:0;transition:width var(--dur-3) var(--ease-out-expo), min-width var(--dur-3) var(--ease-out-expo), border-color var(--dur-2);border-left:1px solid #0000;flex-direction:column;flex-shrink:0;display:flex;position:relative}.detail-pane[data-open=true]{width:var(--detail-w);min-width:var(--detail-w);border-left-color:var(--border-subtle)}.detail-resize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.detail-resize:after{content:"";width:2px;transition:background-color var(--dur-1);background:0 0;position:absolute;top:0;bottom:0;left:3px}.detail-resize:hover:after,.detail-resize:focus-visible:after{background:var(--accent)}.detail-resize:focus-visible{outline:none}.detail-content{width:100%;min-width:0;height:100%;animation:slideInRight var(--dur-3) var(--ease-out-expo);flex-direction:column;display:flex;overflow-x:hidden}.detail-head{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:6px;min-height:52px;padding:10px 12px 10px 20px;display:flex}.detail-head-project{min-width:0;color:var(--text-tertiary);align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:flex}.detail-head-project span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-body{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 20px 32px;overflow:hidden auto}.modal-backdrop{z-index:100;animation:fadeIn var(--dur-2) ease;background:#0f070366;background:lab(2.44759% 1.89917 2.52855/.4);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);width:100%;max-width:420px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:popIn var(--dur-3) var(--ease-out-expo);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.modal-wide{max-width:520px}.modal-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-size:1.1rem;font-weight:500}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;width:24px;height:24px;transition:transform var(--dur-1), border-color var(--dur-1);border:2px solid #0000;border-radius:50%;padding:0}.swatch:hover{transform:scale(1.1)}.swatch[aria-pressed=true]{border-color:var(--text-primary)}.popover{z-index:100;background:var(--bg-panel);border:1px solid var(--border-default);box-shadow:var(--shadow-md);animation:popIn var(--dur-2) var(--ease-out-quart);transform-origin:100% 0;border-radius:10px;position:absolute}.fab{right:20px;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));z-index:30;cursor:pointer;background:var(--accent);width:54px;height:54px;color:var(--accent-contrast);transition:transform var(--dur-2) var(--ease-out-quart), box-shadow var(--dur-2);border:0;border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;box-shadow:0 6px 20px #c13f2961;box-shadow:0 6px 20px lab(46.2334% 51.9533 42.6581/.38)}.fab:active{transform:scale(.94)}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-hover) 37%, var(--bg-subtle) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite shimmer}.skeleton-row{align-items:center;gap:10px;padding:9px 0;display:flex}.skeleton-circle{border-radius:50%;flex-shrink:0;width:18px;height:18px}.skeleton-line{height:12px}.day-group{border-bottom:1px solid var(--border-subtle);animation:fadeUp var(--dur-3) var(--ease-out-quart) both;padding:16px 0 6px}.day-head{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.day-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.day-date{color:var(--text-tertiary);font-size:.8125rem}.day-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.day-group[data-today=true] .day-name{color:var(--accent)}.day-empty{color:var(--text-placeholder);padding:4px 0 8px;font-size:.8125rem;font-style:italic}.task-lite{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);transition:background-color var(--dur-1);background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;margin:0 -10px;padding:7px 10px;font-size:.9rem;display:flex}.task-lite:hover{background:var(--bg-hover)}.task-lite .nav-dot{width:7px;height:7px}.task-lite-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.task-lite-meta{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem}.settings-section{padding:24px var(--page-x) 8px;max-width:600px}.settings-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:14px;font-size:1.1rem;font-weight:500}.settings-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.settings-link{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);transition:color var(--dur-1);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:.9375rem;text-decoration:none;display:flex}.settings-link:hover{color:var(--accent)}.settings-link svg{color:var(--text-tertiary);transition:transform var(--dur-2) var(--ease-out-quart)}.settings-link:hover svg{color:var(--accent);transform:translate(2px)}.search-backdrop{z-index:80;padding:max(72px, env(safe-area-inset-top)) 16px 16px;animation:fadeIn var(--dur-2) ease;background:#0f070357;background:lab(2.44759% 1.89917 2.52855/.34);position:fixed;inset:0}.search-box{background:var(--bg-page);border:1px solid var(--border-subtle);width:min(620px,100%);box-shadow:var(--shadow-lg);animation:popIn var(--dur-3) var(--ease-out-expo);border-radius:12px;margin:0 auto;overflow:hidden}.search-input-wrap{border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-input{color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:1rem}.search-results{max-height:min(440px,100dvh - 190px);padding:6px;overflow-y:auto}.search-result{color:var(--text-primary);border-radius:7px;padding:10px 12px;text-decoration:none;display:block}.search-result:hover,.search-result:focus-visible{background:var(--bg-hover)}.search-result-title{font-size:.9rem;font-weight:500}.search-result-sub{color:var(--text-tertiary);margin-top:3px;font-size:.75rem}.search-hint{text-align:center;color:var(--text-tertiary);padding:18px;font-size:.875rem}.navigation-pending-indicator{flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;margin-left:auto;display:inline-flex}.navigation-pending-spinner{border:1.5px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin}.chip{background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}[data-radix-popper-content-wrapper]{z-index:1000}[data-radix-dropdown-menu-content],[data-radix-dropdown-menu-sub-content]{background:var(--bg-panel);border:1px solid var(--border-default);box-shadow:var(--shadow-md);animation:popIn var(--dur-2) var(--ease-out-quart)}[data-radix-dropdown-menu-item],[data-radix-dropdown-menu-sub-trigger]{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}[data-radix-dropdown-menu-item][data-highlighted],[data-radix-dropdown-menu-sub-trigger][data-highlighted]{background-color:var(--bg-hover)}[data-radix-dropdown-menu-item][data-disabled],[data-radix-dropdown-menu-sub-trigger][data-disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}[data-radix-dropdown-menu-sub-trigger][data-state=open]{background-color:var(--bg-hover)}[data-radix-toast-viewport]{--viewport-padding:24px}[data-radix-toast-root][data-state=open]{animation:slideInFromBottom var(--dur-2) ease-out}[data-radix-toast-root][data-state=closed]{animation:fadeOut var(--dur-2) ease-in forwards}[data-radix-toast-root][data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}[data-radix-toast-root][data-swipe=end]{animation:slideOutToRight var(--dur-2) ease-in forwards}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(calc(100% + 24px))}to{opacity:1;transform:translateY(0)}}@keyframes slideOutToRight{0%{transform:translateX(var(--radix-toast-swipe-end-x))}to{transform:translate(calc(100% + 24px))}}.toast-viewport{z-index:9999;outline:none;flex-direction:column-reverse;gap:8px;max-width:calc(100vw - 32px);list-style:none;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-panel);border:1px solid var(--border-default);box-shadow:var(--shadow-md);border-radius:10px;align-items:center;gap:12px;min-width:min(320px,100vw - 32px);padding:12px 16px;font-size:.875rem;display:flex}.detail-title-row{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.detail-title{cursor:text;min-width:0;font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);overflow-wrap:anywhere;transition:color var(--dur-3) ease, text-decoration-color var(--dur-3) ease;flex:1;font-size:1.1rem;font-weight:500;line-height:1.3;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.detail-title[data-done=true]{color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);text-decoration-color:var(--text-tertiary)}.detail-title[data-editable=false]{cursor:default}.detail-title-input{min-width:0;font-family:var(--font-display);letter-spacing:-.025em;border:1px solid var(--accent);background:var(--bg-panel);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-soft);border-radius:5px;outline:none;flex:1;padding:3px 6px;font-size:1.1rem;font-weight:500;line-height:1.3}.meta{flex-direction:column;gap:1px;margin-bottom:20px;display:flex}.meta-row{align-items:center;gap:12px;min-width:0;padding:5px 0;display:flex}.meta-row[data-align=start]{align-items:flex-start}.meta-label{color:var(--text-tertiary);flex-shrink:0;width:80px;font-size:.75rem}.meta-value{color:var(--text-secondary);min-width:0;font-size:.8125rem}.meta-inline{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.meta-trigger{cursor:pointer;color:var(--text-secondary);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;margin:-2px -6px;padding:2px 6px;font-size:.8125rem;display:inline-flex}.meta-field{min-width:0;position:relative}.meta-trigger:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.meta-trigger:disabled{cursor:default}.meta-pop{z-index:50;transform-origin:0 0;min-width:200px;padding:4px;top:calc(100% + 4px);left:0}.meta-pop .menu-item{color:var(--text-secondary);border-radius:6px;padding:7px 10px;font-size:.8125rem}.meta-pop .menu-item[data-current=true]{color:var(--text-primary);font-weight:500}.meta-date{color:var(--text-tertiary);font-size:.75rem}.overdue{color:var(--priority-high);font-weight:500}.link-btn{cursor:pointer;color:var(--text-tertiary);transition:color var(--dur-1);background:0 0;border:0;padding:0;font-size:.75rem}.link-btn:hover:not(:disabled){color:var(--accent)}.link-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn-accent{color:var(--accent);font-size:.8125rem}.link-btn-accent:hover:not(:disabled){color:var(--accent-text)}.link-btn-danger:hover:not(:disabled){color:var(--priority-high)}.label-chip{border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;transition:border-color var(--dur-1), background-color var(--dur-1), color var(--dur-1);border-radius:999px;padding:4px 10px;font-size:.75rem}.label-chip:hover:not(:disabled){border-color:var(--text-tertiary);color:var(--text-primary)}.label-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.label-chip:disabled{opacity:.65;cursor:not-allowed}.detail-section{margin-bottom:24px}.detail-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.progress{background:var(--border-subtle);border-radius:1px;height:2px;margin-bottom:10px;overflow:hidden}.progress>span{background:var(--success);height:100%;transition:width .4s var(--ease-out-quart);border-radius:1px;display:block}.detail-subtask{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:5px 0;display:flex}.detail-subtask .task-title{color:var(--text-secondary);flex:1;font-size:.8125rem}.detail-subtask[data-done=true] .task-title{color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);-webkit-text-decoration-color:var(--text-tertiary);text-decoration-color:var(--text-tertiary)}.stack{flex-direction:column;gap:10px;display:flex}.stack-sm{gap:8px}.file-row{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.file-size{color:var(--text-tertiary);font-size:.75rem}.comment{border-bottom:1px solid var(--border-subtle);gap:8px;padding:10px 0;display:flex}.comment-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.comment-author{color:var(--text-primary);font-size:.8125rem;font-weight:500}.comment-time{color:var(--text-tertiary);white-space:nowrap;font-size:.75rem}.comment-body{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.composer{gap:8px;display:flex}.composer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.field-area{resize:vertical;min-height:88px}.metadata{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;margin:0 0 20px;padding:10px 12px;font-size:.8125rem}.metadata summary{cursor:pointer}.metadata pre{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:.75rem}.btn-dashed{border-style:dashed}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.code-block{background:var(--bg-subtle);color:var(--text-primary);word-break:break-all;overflow-wrap:anywhere;border-radius:6px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;display:block}.card{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:10px;padding:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-title{align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.card-actions{flex-wrap:wrap;gap:6px;display:flex}.key-row{background:var(--bg-subtle);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.key-row .chip{background:var(--bg-panel);border:1px solid var(--border-subtle);font-size:.7rem}.status-line{color:var(--text-tertiary);align-items:center;gap:6px;min-width:0;font-size:.8125rem;display:flex}.status-dot{background:var(--border-default);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot[data-on=true]{background:var(--success)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.list-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.check-list{flex-direction:column;gap:6px;display:flex}.check-option{cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:flex}.check-option input{accent-color:var(--accent)}.tool-option{border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-panel);transition:background-color var(--dur-1), border-color var(--dur-1);border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.tool-option:hover{border-color:var(--border-default)}.tool-option input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.tool-name{text-transform:capitalize;font-weight:500}.tool-desc{color:var(--text-secondary);margin-top:2px;font-size:.8125rem;display:block}.sticky-bar{z-index:1;background:var(--bg-page);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 0;display:flex;position:sticky;top:0}.prose p{color:var(--text-secondary);margin:8px 0;font-size:.9rem;line-height:1.55}.prose h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin:28px 0 6px;font-size:1.1rem;font-weight:500}.prose strong{color:var(--text-primary)}.setup-steps{color:var(--text-secondary);margin:12px 0;padding-left:22px;font-size:.9rem;line-height:1.55;list-style:decimal}.setup-steps li+li{margin-top:8px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.auth-page{background:var(--bg-page);flex-direction:column;align-items:center;min-height:100dvh;padding:24px 16px 48px;display:flex}.auth-brand{color:var(--text-primary);align-items:center;gap:8px;margin:8px 0 20px;text-decoration:none;display:flex}.auth-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);width:min(720px,100%);box-shadow:var(--shadow-sm);animation:fadeUp var(--dur-3) var(--ease-out-quart) both;border-radius:14px;overflow:hidden}.auth-panel .page-header{background:var(--bg-panel)}.auth-body{padding:16px var(--page-x) 24px}.tool-fieldset{border:1px solid var(--border-subtle);overscroll-behavior:contain;border-radius:10px;flex-direction:column;gap:8px;max-height:440px;margin:16px 0;padding:12px;display:flex;overflow-y:auto}.tool-fieldset legend{padding:0 6px}.chip[data-status=succeeded]{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.chip[data-status=succeeded]{background:color-mix(in oklch, var(--success) 14%, transparent)}}.chip[data-status=succeeded]{color:var(--success)}.chip[data-status=failed],.chip[data-status=rejected]{background:var(--accent-soft);color:var(--accent-text)}.table-nowrap,.table .section-label{white-space:nowrap}.details-inline summary{cursor:pointer;color:var(--text-secondary);font-size:.8125rem}.details-inline pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary);max-width:480px;margin-top:6px;font-size:.75rem}@media (hover:none){.task-actions-trigger,.nav-row-actions{opacity:1;pointer-events:auto}.nav-row .nav-item{padding-right:56px}}@media (min-width:768px){.hide-desktop{display:none!important}}@media (max-width:767px){:root{--page-x:16px}.hide-mobile{display:none!important}.sidebar{z-index:50;border-right:1px solid var(--border-subtle);width:min(86dvw,300px);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);visibility:hidden;transition:transform var(--dur-3) var(--ease-out-expo), box-shadow var(--dur-3), visibility 0s linear var(--dur-3);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar[data-open=true]{visibility:visible;transition-delay:0s;transform:none;box-shadow:4px 0 24px #0f07031f;box-shadow:4px 0 24px lab(2.44759% 1.89917 2.52855/.12)}.tabbar{z-index:45;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-page);display:flex;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.tabbar{background:color-mix(in oklch, var(--bg-page) 92%, white)}}.tabbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-subtle)}.tab{color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-1), transform var(--dur-1);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.6875rem;font-weight:500;text-decoration:none;display:flex}.tab:active{transform:scale(.94)}.tab[data-active=true]{color:var(--accent)}.page-header{padding-top:14px}.page-header-row{gap:10px;margin-bottom:12px}.page-actions{margin-left:0}.page-scroll{padding-bottom:calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}.btn-collapsible{width:36px;padding:0}.btn-collapsible .btn-label{display:none}.btn,.field{min-height:36px}.btn-sm{min-height:32px}.task-row{padding:10px}.add-task-controls .field{flex:110px}.fab{display:flex}.sync-pill{top:auto;bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));left:16px;right:auto}.board-scroll{padding:14px var(--page-x) calc(var(--tabbar-h) + 32px);scroll-padding-inline:var(--page-x);gap:12px}.detail-pane{z-index:60;max-width:100dvw;padding-top:env(safe-area-inset-top);visibility:hidden;transition:transform var(--dur-3) var(--ease-out-expo), visibility 0s linear var(--dur-3);border-left:0;position:fixed;inset:0;transform:translateY(100%);width:100dvw!important;min-width:0!important}.detail-pane[data-open=true]{visibility:visible;transition-delay:0s;transform:none}.detail-resize{display:none}.detail-content{animation:none}.detail-head{padding:8px 10px 8px 12px}.detail-body{padding:16px 16px calc(40px + env(safe-area-inset-bottom))}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation:sheetIn var(--dur-3) var(--ease-out-expo);border-radius:16px 16px 0 0;max-height:90dvh}.popover-sheet{max-height:80dvh;animation:sheetIn var(--dur-3) var(--ease-out-expo);z-index:120;border-radius:16px 16px 0 0;overflow-y:auto;width:auto!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;position:fixed!important;inset:auto 0 0!important}.toast-viewport{bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom))}}.assignee-btn{color:var(--text-tertiary);transition:opacity var(--dur-1), border-color var(--dur-1);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.assignee-btn[data-empty=true]{border:1.5px dashed var(--border-default);opacity:0}.task-row:hover .assignee-btn[data-empty=true],.assignee-btn[data-empty=true]:hover,.assignee-btn[data-empty=true]:focus-visible{opacity:.7}.assignee-bot{background:var(--accent);border:1.5px solid var(--bg-page);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:10px;height:10px;font-size:6px;display:flex;position:absolute;bottom:-1px;right:-1px}.assignee-pop{z-index:9999;min-width:200px;padding:4px;top:calc(100% + 6px);right:0}.assignee-pop .menu-item{border-radius:7px;padding:6px 8px}.assignee-pop .menu-item[data-current=true]{background:var(--bg-active)}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;border-bottom:1px solid var(--border-subtle);padding:8px 12px}.table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 12px}.table-wrap{margin:0 calc(var(--page-x) * -1);padding:0 var(--page-x);overflow-x:auto}@media (hover:none){.assignee-btn[data-empty=true]{opacity:.5}}.task-row-anim:focus-visible{outline:none}.task-row-anim:focus-visible>.task-row{box-shadow:0 0 0 2px var(--accent-soft)}.event-subscription-form{gap:16px;max-width:560px;margin-top:24px;display:grid}.event-subscription-form label{gap:6px;display:grid}.event-subscription-card{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:16px 0}.event-subscription-card .page-row{flex-wrap:wrap}.event-log-entry{overflow-wrap:anywhere}.event-identity-list{flex-wrap:wrap}.event-subscription-form .field{width:100%;min-width:0}.event-subscription-form .event-checkbox{align-items:flex-start;gap:8px;display:flex}.event-checkbox input{flex:none;margin-top:3px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}
