@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");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}:root{--desk:#e9edf2;--surface:#fff;--surface-2:#f4f6f9;--ink:#1e2a3a;--ink-2:#55657a;--line:#d3dae3;--accent:#2f5bea;--accent-hover:#2349c7;--accent-ink:#fff;--high:#d9412f;--medium:#c98a00;--low:#2e8b63;--high-soft:#fbe7e4;--medium-soft:#fbf1d9;--low-soft:#e2f3eb;--focus:#2f5bea;--shadow-lift:0 0 0 1px #1e2a3a0f, 0 12px 28px -8px #1e2a3a38;--shadow-card:0 0 0 1px #1e2a3a12, 0 1px 2px #1e2a3a0f;--shadow-card-hover:0 0 0 1px #1e2a3a17, 0 6px 16px -6px #1e2a3a2e;--ease-out:cubic-bezier(.23, 1, .32, 1);--font-display:"Bricolage Grotesque Variable", "Segoe UI", sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--r-chip:999px;--r-card:10px;--r-column:14px;--r-dialog:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--desk:#10161f;--surface:#1a222d;--surface-2:#212b38;--ink:#e5eaf1;--ink-2:#9aa8b9;--line:#2e3a49;--accent:#7593f8;--accent-hover:#93abfa;--accent-ink:#0d1424;--high:#f06a5b;--medium:#f0b83a;--low:#4db585;--high-soft:#3a2124;--medium-soft:#382f1b;--low-soft:#1b3329;--focus:#93abfa;--shadow-lift:0 0 0 1px #ffffff12, 0 14px 32px -8px #0009;--shadow-card:0 0 0 1px #ffffff0f, 0 1px 2px #0000004d;--shadow-card-hover:0 0 0 1px #ffffff1a, 0 6px 16px -6px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--desk);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}h1,h2{font-family:var(--font-display);margin:0;line-height:1.15}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 1rem;font-weight:700;transition-property:background-color,color,scale;transition-duration:.15s;transition-timing-function:ease;display:inline-flex}.button:active:not(:disabled){scale:.97}.button:disabled{opacity:.6;cursor:progress}.button--primary{background:var(--accent);color:var(--accent-ink)}@media (hover:hover) and (pointer:fine){.button--primary:hover:not(:disabled){background:var(--accent-hover)}.button--ghost:hover,.icon-button:hover{background:var(--surface-2)}.icon-button--small:hover{color:var(--ink);background:var(--surface-2)}.card:hover{box-shadow:var(--shadow-card-hover)}.card__open:hover .card__title{text-underline-offset:3px;text-decoration:underline}}.button--ghost{border-color:var(--line);background:var(--surface)}.button--danger{background:var(--high);color:#fff}.button--danger-text{color:var(--high)}.button--block{width:100%}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:2.5rem;height:2.5rem;transition-property:background-color,color,scale;transition-duration:.15s;transition-timing-function:ease;display:inline-grid}.icon-button:active{scale:.94}.icon-button--small{width:1.75rem;height:1.75rem;color:var(--ink-2);background:0 0;border-color:#0000;position:relative}.icon-button--small:after{content:"";position:absolute;inset:-6px}input:not([type=radio]),select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-height:2.5rem;padding:.5rem .75rem}textarea{resize:vertical}input[aria-invalid=true]{border-color:var(--high)}.field{border:0;gap:.35rem;min-width:0;margin:0;padding:0;display:grid}.field__label{padding:0;font-size:.9rem;font-weight:700}.field__hint,.field__error{color:var(--ink-2);font-size:.85rem}.field__error{color:var(--high)}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-error{background:var(--high-soft);color:var(--high);border-radius:8px;margin:0;padding:.6rem .8rem;font-weight:700}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:inline-flex}.wordmark__mark{width:1.5rem;height:1.5rem}.mark-todo{fill:var(--ink-2)}.mark-progress{fill:var(--accent)}.mark-done{fill:var(--low)}.due{white-space:nowrap;border-radius:6px;padding:.1rem .55rem;font-size:.8rem;font-style:normal;font-weight:700;display:inline-block}.due--later{color:var(--ink-2);background:var(--surface-2)}.due--soon{color:var(--medium);background:var(--medium-soft)}.due--overdue{color:var(--high);border:1.5px dashed var(--high);transform:rotate(-2deg)}.prefs{align-items:center;gap:.5rem;display:flex}.switch{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:.15rem;padding:.2rem;display:inline-flex}.switch__option{min-height:2rem;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.85rem;font-weight:700;transition-property:background-color,color,scale;transition-duration:.15s;transition-timing-function:ease;display:inline-flex}.switch__option:active{scale:.95}.switch__option:hover{color:var(--ink)}.switch__option[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1e2a3a24}:root[data-theme=dark] .switch__option[aria-pressed=true]{background:var(--line);box-shadow:none}.auth__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.auth{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth__intro{flex-direction:column;gap:2.5rem;padding:2.5rem clamp(1.5rem,5vw,4.5rem);display:flex}.auth__pitch{max-width:34rem}.auth__pitch h1{letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700}.auth__pitch p{max-width:30rem;color:var(--ink-2);margin:0;font-size:1.1rem}.auth__preview{max-width:24rem;height:15rem;position:relative}.preview-card{border-radius:var(--r-card);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lift);border-left-width:5px;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.1rem;font-weight:700;animation:.6s cubic-bezier(.2,.8,.2,1) both deal;display:flex;position:absolute;left:0;right:0}.preview-card--high{border-left-color:var(--high);top:0;transform:rotate(-3deg)}.preview-card--medium{border-left-color:var(--medium);animation-delay:.12s;top:4.75rem;left:1.5rem;right:-1.5rem;transform:rotate(1.5deg)}.preview-card--low{border-left-color:var(--low);animation-delay:.24s;top:9.5rem;left:.5rem;right:-.5rem;transform:rotate(-1deg)}.preview-card--done span{color:var(--ink-2);text-decoration:line-through}@keyframes deal{0%{opacity:0;translate:0 1.5rem}}.auth__source{color:var(--ink-2);margin:auto 0 0;font-size:.9rem}.auth__panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:2.5rem clamp(1.5rem,5vw,4.5rem);display:flex}.tabs{background:var(--surface-2);border-radius:10px;gap:.25rem;max-width:24rem;margin-bottom:2rem;padding:.25rem;display:flex}.tabs button{min-height:2.5rem;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;font-weight:700}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1e2a3a1f}.auth__form{gap:1.1rem;max-width:24rem;display:grid}.auth__form h2{letter-spacing:-.02em;font-size:1.75rem}.app-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem clamp(1rem,3vw,2rem);display:flex}.app-header__actions{align-items:center;gap:.6rem;display:flex}.app-header__user{color:var(--ink-2);font-weight:700}.board-main{max-width:88rem;margin:0 auto;padding:1.75rem clamp(1rem,3vw,2rem) 3rem}.board-intro{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem;display:flex}.board-intro h1{letter-spacing:-.03em;font-size:clamp(2rem,4vw,2.75rem)}.progress{gap:.4rem;width:min(100%,20rem);display:grid}.progress__text{color:var(--ink-2);text-align:right;margin:0}.progress__text strong{color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem}.progress__bar{border-radius:var(--r-chip);background:var(--line);height:.5rem;position:relative;overflow:hidden}.progress__seg{transform-origin:0;transition:transform .4s var(--ease-out);position:absolute;inset:0}.progress__seg--done{background:var(--low)}.progress__seg--progress{background:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.search{max-width:24rem;color:var(--ink-2);flex:16rem;position:relative}.search svg{position:absolute;top:50%;left:.75rem;translate:0 -50%}.search input{padding-left:2.25rem}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--surface);cursor:pointer;min-height:2.25rem;padding:0 .9rem;font-size:.9rem;font-weight:700;transition-property:background-color,color,border-color,scale;transition-duration:.15s;transition-timing-function:ease}.chip:active{scale:.96}.chip:before{content:"";vertical-align:.05em;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}.chip:not([class*=chip--]):before{display:none}.chip--high:before{background:var(--high)}.chip--medium:before{background:var(--medium)}.chip--low:before{background:var(--low)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.sort select{width:auto;min-width:10rem}.toolbar__new{margin-left:auto}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.25rem;display:grid}.column{background:var(--surface-2);border-radius:22px;flex-direction:column;gap:.85rem;min-height:14rem;padding:.75rem;transition:box-shadow .15s,background-color .15s;display:flex;box-shadow:inset 0 0 0 2px #0000}:root[data-theme=dark] .column{background:#151c26}.column--over{background:color-mix(in srgb, var(--accent) 8%, var(--surface-2));box-shadow:inset 0 0 0 2px var(--accent)}.column__head{letter-spacing:-.01em;align-items:center;gap:.55rem;padding:.35rem .4rem .1rem;font-size:1.1rem;display:flex}.column__head:before{content:"";background:var(--ink-2);border-radius:3px;width:.65rem;height:.65rem}.column--in_progress .column__head:before{background:var(--accent)}.column--done .column__head:before{background:var(--low)}.column__count{border-radius:var(--r-chip);background:var(--surface);min-width:1.75rem;color:var(--ink-2);font-family:var(--font-body);font-variant-numeric:tabular-nums;text-align:center;margin-left:auto;padding:0 .45rem;font-size:.85rem;line-height:1.6}.column__list{gap:.65rem;display:grid}.column__empty{border:1.5px dashed var(--line);border-radius:var(--r-card);color:var(--ink-2);text-align:center;margin:0;padding:1.5rem 1rem;font-size:.95rem}.card{border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);cursor:grab;gap:.5rem;padding:.85rem .9rem .6rem 1.15rem;transition:box-shadow .2s,opacity .15s;display:grid;position:relative}.card:before{content:"";background:var(--ink-2);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:6px}.card--high:before{background:var(--high)}.card--medium:before{background:var(--medium)}.card--low:before{background:var(--low)}.card--dragging{opacity:.45}.card__open{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.card__title{text-wrap:pretty;overflow-wrap:anywhere;font-weight:700;line-height:1.35}.card--done .card__title{color:var(--ink-2);text-decoration:line-through}.card__desc{color:var(--ink-2);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:.92rem;display:-webkit-box;overflow:hidden}.card__footer{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.75rem;display:flex}.card__priority{color:var(--ink-2);font-size:.8rem}.card__moves{margin-right:-.35rem;display:flex}.column--skeleton{gap:.75rem}.skeleton{border-radius:var(--r-card);background:var(--line);opacity:.6;height:4.5rem;animation:1.2s ease-in-out infinite alternate pulse;display:block}.skeleton--head{width:40%;height:1.25rem}@keyframes pulse{to{opacity:.25}}.board-message{border-radius:var(--r-column);background:var(--high-soft);color:var(--ink);justify-items:start;gap:1rem;padding:1.5rem;display:grid}.board-message p{margin:0;font-weight:700}.board-filter-note{color:var(--ink-2);margin:0 0 1rem}.dialog{border-radius:var(--r-dialog);background:var(--surface);width:min(32rem,100vw - 2rem);color:var(--ink);box-shadow:var(--shadow-lift);opacity:0;transition-property:opacity,scale,overlay,display;transition-duration:.2s;transition-timing-function:var(--ease-out);transition-behavior:allow-discrete;border:0;padding:0;scale:.96}.dialog[open]{opacity:1;scale:1}@starting-style{.dialog[open]{opacity:0;scale:.96}}.dialog::backdrop{transition-property:background-color,overlay,display;transition-duration:.2s;transition-timing-function:var(--ease-out);transition-behavior:allow-discrete;background:#10161f00}.dialog[open]::backdrop{background:#10161f8c}@starting-style{.dialog[open]::backdrop{background:#10161f00}}.dialog__body{gap:1.1rem;padding:1.5rem;display:grid}.dialog__head{justify-content:space-between;align-items:center;display:flex}.dialog__head h2{letter-spacing:-.02em;font-size:1.5rem}.dialog__actions{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.dialog__save{margin-left:auto}.confirm-delete{color:var(--high);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.segmented{gap:.4rem;display:flex}.segmented__option{flex:1;position:relative}.segmented__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__option span{border:1px solid var(--line);text-align:center;border-radius:8px;padding:.5rem;font-size:.92rem;font-weight:700;display:block}.segmented__option input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.segmented__option--high input:checked+span{background:var(--high-soft);border-color:var(--high);color:var(--high)}.segmented__option--medium input:checked+span{background:var(--medium-soft);border-color:var(--medium);color:var(--medium)}.segmented__option--low input:checked+span{background:var(--low-soft);border-color:var(--low);color:var(--low)}.toasts{z-index:20;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:grid;position:fixed;bottom:1rem;left:50%;translate:-50%}.toast{animation:toast-in .22s var(--ease-out);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-lift);border-radius:10px;padding:.65rem 1rem;font-weight:700}@keyframes toast-in{0%{opacity:0;translate:0 8px;scale:.98}}.toast--error{background:var(--high);color:#fff}.wake-notice{z-index:30;border:1px solid var(--line);background:var(--surface);width:max-content;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lift);border-radius:10px;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.95rem;display:flex;position:fixed;top:1rem;left:50%;translate:-50%}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{rotate:360deg}}@media (width<=900px){.auth{grid-template-columns:1fr}.auth__intro{gap:1.5rem;padding-bottom:1rem}.auth__preview{display:none}.auth__source{margin:0}.auth__panel{border-left:0;border-top:1px solid var(--line);justify-content:start}.board{grid-template-columns:1fr}.column{min-height:0}}@media (width<=760px){.app-header__user,.switch__text{display:none}}@media (width<=600px){.app-header{padding-inline:1rem}.app-header .wordmark{gap:0;font-size:0}.app-header__actions{gap:.4rem}.app-header__logout{padding:0 .65rem}.app-header__logout-text{display:none}.search{flex-basis:100%;max-width:none}.sort{flex:100%}.sort select{width:100%;min-width:0}.toolbar__new{flex:1;margin-left:0}.progress{width:100%}.progress__text{text-align:left}.field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.button,.icon-button,.card,.column,.chip,.switch__option,.progress__seg,.dialog,.dialog::backdrop{transition:none}.button:active:not(:disabled),.icon-button:active,.chip:active,.switch__option:active{scale:none}.toast,.preview-card,.skeleton{animation:none}}
