@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-standard-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-standard-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-standard-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-400-normal-BSDtH9U0.woff2)format("woff2"),url(/assets/quicksand-latin-400-normal-BqXBKzPR.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-500-normal-_DbwbYKP.woff2)format("woff2"),url(/assets/quicksand-latin-500-normal-7J1fbcAD.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-DTBPeRoM.woff2)format("woff2"),url(/assets/quicksand-latin-600-normal-CkxN0sDw.woff)format("woff")}:root{--color-primary:#18181b;--color-on-primary:#fff;--color-secondary:#3f3f46;--color-accent:#2563eb;--color-background:#fafafa;--color-surface:#fff;--color-foreground:#09090b;--color-muted:#e8ecf0;--color-muted-foreground:#52525b;--color-border:#e4e4e7;--color-destructive:#dc2626;--color-ring:#18181b;--color-priority-high:#dc2626;--color-priority-medium:#2563eb;--color-priority-low:#71717a;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius:.5rem;--transition:.18s ease;--font-display:"Fraunces Variable", ui-serif, Georgia, serif;--font-body:"Quicksand", system-ui, -apple-system, sans-serif;font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-foreground);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-primary:#fafafa;--color-on-primary:#18181b;--color-secondary:#d4d4d8;--color-accent:#3b82f6;--color-background:#09090b;--color-surface:#18181b;--color-foreground:#fafafa;--color-muted:#27272a;--color-muted-foreground:#a1a1aa;--color-border:#27272a;--color-destructive:#f87171;--color-ring:#fafafa;--color-priority-high:#f87171;--color-priority-medium:#60a5fa;--color-priority-low:#a1a1aa;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}*{box-sizing:border-box}body{background:var(--color-background);min-height:100svh;color:var(--color-foreground);margin:0}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.todo-app{width:100%;max-width:34rem;padding:var(--space-2xl) var(--space-md) var(--space-xl);margin:0 auto}.todo-header{margin-bottom:var(--space-xl);text-align:center}.todo-header h1{font-family:var(--font-display);font-variation-settings:"opsz" 72;letter-spacing:-.02em;color:var(--color-foreground);margin:0;font-size:2.75rem;font-weight:600;line-height:1.05}.tagline{margin:var(--space-xs) 0 0;color:var(--color-muted-foreground);letter-spacing:.01em;font-size:.9375rem;font-weight:500}.todo-form{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.todo-input{min-width:0;padding:.75rem var(--space-md);color:var(--color-foreground);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition);flex:1;font-family:inherit;font-size:1rem}.todo-input::placeholder{color:var(--color-muted-foreground)}.todo-input:focus{border-color:var(--color-ring)}.btn-primary{align-items:center;gap:var(--space-xs);min-height:2.75rem;padding:0 var(--space-md);color:var(--color-on-primary);background:var(--color-accent);border-radius:var(--radius);cursor:pointer;transition:opacity var(--transition);border:none;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary:hover{opacity:.85}.todo-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.todo-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--priority-color);border-radius:var(--radius);transition:border-color var(--transition);display:flex}.todo-item.priority-high{--priority-color:var(--color-priority-high)}.todo-item.priority-medium{--priority-color:var(--color-priority-medium)}.todo-item.priority-low{--priority-color:var(--color-priority-low)}.todo-label{align-items:center;gap:var(--space-sm);cursor:pointer;flex:1;min-width:0;min-height:2.75rem;display:flex}.todo-checkbox{appearance:none;background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;width:1.25rem;height:1.25rem;transition:background-color var(--transition), border-color var(--transition);border-radius:.25rem;flex-shrink:0;margin:0}.todo-checkbox:hover{border-color:var(--color-accent)}.todo-checkbox:checked{background-color:var(--color-accent);border-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.875rem}.todo-text{overflow-wrap:anywhere;transition:color var(--transition), opacity var(--transition);font-weight:500}.completed .todo-text{color:var(--color-muted-foreground);text-decoration:line-through}.priority-select{appearance:none;min-height:2rem;padding:0 1.75rem 0 var(--space-sm);text-transform:capitalize;color:var(--color-secondary);background-color:var(--color-muted);background-image:var(--chevron);background-size:.75rem;background-position:right var(--space-sm) center;cursor:pointer;transition:border-color var(--transition);background-repeat:no-repeat;border:1px solid #0000;border-radius:999px;flex-shrink:0;font-family:inherit;font-size:.8125rem;font-weight:500}.priority-select:hover{border-color:var(--color-border)}.priority-select option{background:var(--color-surface);color:var(--color-foreground)}.btn-icon{width:2.75rem;height:2.75rem;color:var(--color-muted-foreground);border-radius:var(--radius);cursor:pointer;transition:color var(--transition), background-color var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{color:var(--color-destructive);background:var(--color-muted)}.icon{width:1.125rem;height:1.125rem}.empty-state{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-md);color:var(--color-muted-foreground);border:1px dashed var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex}.empty-state p{margin:0;font-size:.9375rem}.icon-empty{opacity:.6;width:1.75rem;height:1.75rem}@media (width<=26rem){.todo-app{padding-top:var(--space-xl)}.todo-header h1{font-variation-settings:"opsz" 48;font-size:2.25rem}.btn-primary{padding:0 .875rem}}
