@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-ext-800-normal-DRv2ic_2.woff2) format("woff2"),url(/assets/outfit-latin-ext-800-normal-DyhPHUt-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-800-normal-CQna6-G7.woff2) format("woff2"),url(/assets/outfit-latin-800-normal-BRHLSPcU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg-light: #f4f5f7;--color-bg-dark: #1d2125;--color-surface-light: #ffffff;--color-surface-dark: #22272b;--color-column-light: #ebecf0;--color-column-dark: #161a1d;--color-hover-light: #fafbfc;--color-hover-dark: #282e33;--color-text-main-light: #172b4d;--color-text-main-dark: #e8eaed;--color-text-sub-light: #5e6c84;--color-text-sub-dark: #b0b8c4;--color-primary-light: #0052cc;--color-primary-dark: #579dff;--color-primary-hover-light: #0065ff;--color-primary-hover-dark: #3570c6;--color-danger-light: #de350b;--color-danger-dark: #f15b50;--color-danger-hover-light: #bf2600;--color-danger-hover-dark: #ff8f73;--color-border-light: #dfe1e6;--color-border-dark: #a6c5e229;--color-completed-light: #36b37e;--color-completed-dark: #216e4e;--bg-color: var(--color-bg-light);--surface-color: var(--color-surface-light);--column-bg: var(--color-column-light);--card-hover-bg: var(--color-hover-light);--text-main: var(--color-text-main-light);--text-sub: var(--color-text-sub-light);--primary: var(--color-primary-light);--primary-hover: var(--color-primary-hover-light);--danger: var(--color-danger-light);--danger-hover: var(--color-danger-hover-light);--border: var(--color-border-light);--completed-line: var(--color-completed-light);--shadow-sm: 0 1px 2px rgba(9, 30, 66, .25);--shadow-md: 0 4px 8px -2px rgba(9, 30, 66, .25);--modal-overlay: rgba(9, 30, 66, .54);--btn-subtle: rgba(9, 30, 66, .04);--btn-hover: rgba(9, 30, 66, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-brand: "Outfit", var(--font-sans);--font-mono: "Consolas", "Monaco", monospace}[data-theme=dark]{--bg-color: var(--color-bg-dark);--surface-color: var(--color-surface-dark);--column-bg: var(--color-column-dark);--card-hover-bg: var(--color-hover-dark);--text-main: var(--color-text-main-dark);--text-sub: var(--color-text-sub-dark);--primary: var(--color-primary-dark);--primary-hover: var(--color-primary-hover-dark);--danger: var(--color-danger-dark);--danger-hover: var(--color-danger-hover-dark);--border: var(--color-border-dark);--completed-line: var(--color-completed-dark);--shadow-sm: 0 1px 1px rgba(9, 30, 66, .25), 0 0 1px rgba(9, 30, 66, .31);--modal-overlay: rgba(0, 0, 0, .6);--btn-subtle: #a6c5e214;--btn-hover: #a6c5e229}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);display:flex;flex-direction:column;min-height:max(100%,500px);height:max-content;min-width:max(100%,850px);width:max-content;line-height:1.5;-webkit-font-smoothing:antialiased}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}[data-theme=dark]::view-transition-new(root){animation:reveal-theme .6s ease-out}:root:not([data-theme=dark])::view-transition-new(root){animation:reveal-theme .6s ease-out}@keyframes reveal-theme{0%{clip-path:circle(0px at var(--click-x, 50%) var(--click-y, 50%))}to{clip-path:circle(var(--click-r, 150vmax) at var(--click-x, 50%) var(--click-y, 50%))}}.hidden{display:none!important}code{background-color:var(--btn-subtle);border:1px solid var(--border);padding:.2rem .4rem;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--primary)}@keyframes brandGradientFlow{0%{background-position:0% 50%}33%{background-position:100% 100%}66%{background-position:50% 0%}to{background-position:0% 50%}}.brand-text{font-family:var(--font-brand);font-weight:800;background:linear-gradient(120deg,#8a2387,#ff007f,#ff5e00);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px;padding-right:.1em;animation:brandGradientFlow 8s ease-in-out infinite alternate}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:4px;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;background-color:var(--btn-subtle);color:var(--text-main);transition:all .2s ease}.btn:hover:not(:disabled){background-color:var(--btn-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn--danger{background-color:transparent;color:var(--danger)}.btn--danger:hover:not(:disabled){background-color:#de350b1a}.btn-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-sub);border-radius:4px;padding:.5rem;transition:all .2s ease}.btn-icon:hover{color:var(--text-main);background-color:var(--btn-subtle)}.btn-icon--small{padding:.25rem}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--surface-color);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:10}.app-header__left{flex:1;display:flex;justify-content:flex-start}.app-header__left .logo{font-size:2.25rem}.app-header__center{display:flex;justify-content:center;align-items:center}#add-column-header-btn{margin-left:.75rem}.board-selector-btn{display:flex;align-items:center;justify-content:flex-start;font-family:var(--font-sans);font-size:.95rem;font-weight:300;color:var(--text-main);background-color:var(--surface-color);border:1px solid var(--border);box-shadow:0 3px #091e421a;cursor:pointer;height:calc(2.3125rem + 2px);padding:0 .6rem 0 calc(.75rem - 2px);border-radius:6px;transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s ease,background-color .15s ease;transform:translateZ(0);will-change:transform,box-shadow;white-space:nowrap;max-width:400px;min-width:0}#current-board-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}[data-theme=dark] .board-selector-btn{box-shadow:0 3px #0006}.board-selector-btn:hover{background-color:var(--btn-hover);box-shadow:none;transform:translate3d(0,3px,0)}[data-theme=dark] .board-selector-btn:hover{box-shadow:none}.app-header__right{flex:1;display:flex;gap:.75rem;align-items:center;justify-content:flex-end}#add-task-btn{margin-left:.5rem}.theme-toggle{border-radius:50%}.board-container{display:flex;flex-grow:1;padding:1.5rem;gap:1.25rem;align-items:flex-start}.board-container:before,.board-container:after{content:"";margin:auto}.empty-state{align-self:center;margin:0 auto;text-align:center;color:var(--text-sub);background-color:var(--surface-color);padding:3.6rem 4.8rem;border-radius:8px;box-shadow:var(--shadow-sm);max-width:600px;transition:all .2s ease;border:2px dashed transparent}.empty-state.drag-over{border-color:var(--primary);background-color:var(--btn-subtle);transform:scale(1.02)}.empty-state__title{color:var(--text-main);margin-bottom:1.15rem;font-family:var(--font-brand);font-weight:700;font-size:2rem}.empty-state__desc{font-size:1.05rem}.interactive-code{cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.interactive-code:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.board-column{background-color:var(--column-bg);border-radius:6px;width:300px;min-width:300px;display:flex;flex-direction:column;position:relative}.interactive-header{cursor:pointer;border-top-left-radius:6px;border-top-right-radius:6px;background-color:transparent;transition:background-color .15s ease-out;-webkit-font-smoothing:antialiased}.interactive-header:hover{background-color:var(--btn-hover)}.column-header{padding:1rem 1.25rem 1rem 1rem;display:flex;justify-content:flex-start;align-items:center}.column-title{font-size:1rem;font-weight:600;color:var(--text-main);text-transform:none;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;min-width:0;flex-grow:1}.column-title.no-emoji{padding-left:.25rem}.column-title-text{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere;word-break:normal;overflow:hidden;min-width:0;flex-grow:1}.column-title-emoji{font-size:1.3em;line-height:1;flex-shrink:0}.line-num.line-error{color:var(--danger)!important;font-weight:700}.stripe.stripe-error{background-color:#dc354540!important}.task-count{color:#fff;font-size:.75rem;background-color:var(--primary);padding:.15rem .6rem;border-radius:12px;font-weight:700;flex-shrink:0;cursor:default;position:absolute;top:-10px;right:-10px;z-index:5;box-shadow:var(--shadow-sm)}.task-list{padding:.5rem;flex-grow:1;min-height:60px}.task-list:after{content:"";display:block;height:10px}.task-card{background-color:var(--surface-color);border-radius:4px;box-shadow:var(--shadow-sm);padding:.75rem;margin-bottom:.5rem;position:relative;cursor:grab;border-left:3px solid transparent;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease;-webkit-font-smoothing:antialiased}.task-card:hover,.task-card:focus-within{background-color:var(--card-hover-bg);box-shadow:var(--shadow-md)}.task-card:active{cursor:grabbing}.task-card.dragging{opacity:1;background-color:transparent;outline:2px dashed var(--danger);outline-offset:-2px;box-shadow:none;position:relative;transition:none}.task-card.dragging:after{content:"";position:absolute;inset:0;background-color:var(--danger);opacity:.1;border-radius:4px}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.animate-pop-in{animation:popIn .3s cubic-bezier(.175,.885,.32,1.275) forwards;will-change:transform,opacity}.animate-pop-out{animation:popOut .2s cubic-bezier(.55,.085,.68,.53) forwards;will-change:transform,opacity}.is-deleting .task-text,.is-deleting .column-title-text,.is-deleting .task-card__body,.is-deleting .task-card,.is-deleting *{white-space:nowrap!important;text-overflow:clip!important;overflow:hidden!important}.drop-indicator{height:var(--drag-height, 60px);border:2px dashed var(--primary);border-radius:6px;margin-bottom:.5rem;pointer-events:none;box-sizing:border-box;position:relative}.drop-indicator:after{content:"";position:absolute;inset:0;background-color:var(--primary);opacity:.1;border-radius:4px}.task-card.completed{background-color:var(--card-hover-bg);border-left-color:var(--completed-line)}.task-card__content{display:flex;align-items:flex-start;gap:.5rem}.task-card__checkbox{padding-top:2px}.hide-checkboxes .task-card__checkbox{display:none}.checkbox-input{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.task-card__body{flex-grow:1;overflow:hidden;padding-right:2.75rem}.task-text{font-size:.875rem;color:var(--text-main);word-break:break-word}.task-text del,.task-text s,.task-text strike,.view-task-text del,.view-task-text s,.view-task-text strike{padding-right:3px}html:not(.hide-checkboxes) .task-card.completed .task-text{text-decoration:line-through;color:var(--text-sub)}.task-text p{margin-bottom:.5rem}.task-text p:last-child{margin-bottom:0}.task-text a{color:var(--primary);text-decoration:none}.task-text a:hover{text-decoration:underline}.task-card__actions{position:absolute;top:0;right:0;bottom:0;width:2.5rem;opacity:0;transition:opacity .2s ease;display:flex}.task-card__actions .edit-btn{width:100%;height:100%;border-radius:0 4px 4px 0;background-color:var(--surface-color);box-shadow:-4px 0 8px #0000000d;margin:0;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;-webkit-font-smoothing:antialiased}.task-card__actions .edit-btn:hover{background-color:#091e422e}[data-theme=dark] .task-card__actions .edit-btn:hover{background-color:var(--btn-hover)}.task-card:hover .task-card__actions,.task-card:focus-within .task-card__actions{opacity:1}.task-card.hide-actions .task-card__actions{display:none!important}.task-card.dragging .task-card__actions,body.is-dragging .task-card__actions{opacity:0!important;pointer-events:none;visibility:hidden}body.is-dragging .task-card{pointer-events:none!important}body.modal-open{overflow:hidden;padding-right:14px}@media(max-width:850px)and (pointer:coarse){body.modal-open{padding-right:0}}.modal{position:fixed;inset:0;background-color:var(--modal-overlay);display:flex;justify-content:center;align-items:center;padding:1rem;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal__content{background-color:var(--surface-color);border-radius:6px;width:500px;max-width:100%;max-height:100%;box-shadow:var(--shadow-md);display:flex;flex-direction:column;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal__header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0}.modal__title{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:1rem}.modal__title>span{font-size:1.5em;transform:translateY(-2px)}#close-modal-btn,#close-settings-btn,#close-board-settings-btn,#close-col-modal-btn,#close-edit-col-modal-btn,#close-validation-modal-btn,#close-view-task-btn{font-size:1.5rem;font-weight:700;width:2rem;height:2rem;border-radius:50%;background-color:var(--btn-subtle)}#close-modal-btn:hover,#close-settings-btn:hover,#close-board-settings-btn:hover,#close-col-modal-btn:hover,#close-edit-col-modal-btn:hover,#close-validation-modal-btn:hover,#close-view-task-btn:hover{background-color:var(--danger);color:#fff}.modal__body{padding:1.5rem;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-sub);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.form-control{width:100%;font-family:inherit;padding:.75rem;border:2px solid var(--border);border-radius:4px;background-color:var(--surface-color);color:var(--text-main);font-size:.875rem;transition:border-color .2s ease,color .2s ease;outline:none}#board-select{appearance:none;-webkit-appearance:none;padding-right:35px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b778c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textarea-wrapper{position:relative}.line-numbers{display:none;flex-shrink:0;width:2.25rem;background-color:var(--surface-color);border:2px solid var(--border);border-right:2px solid var(--border);border-radius:4px 0 0 4px;font-family:inherit;font-size:.875rem;line-height:21px;color:var(--text-sub);text-align:right;-webkit-user-select:none;user-select:none;overflow:hidden;font-variant-numeric:tabular-nums}.line-numbers .line-num{display:block;padding:0 .4rem 0 .2rem;line-height:21px;box-sizing:border-box}.line-numbers .line-num.line-even{background-color:#091e420a}[data-theme=dark] .line-numbers .line-num.line-even{background-color:#ffffff0a}.textarea-wrapper.bulk-mode .line-numbers{display:block;box-sizing:border-box;height:238px;overflow:hidden}.textarea-stripes-wrap{position:relative;flex:1;min-width:0;font-size:0;line-height:0}.textarea-wrapper.bulk-mode .textarea-stripes-wrap{overflow:hidden}.textarea-stripes{display:none;position:absolute;inset:0;pointer-events:none;border:2px solid transparent;border-left:none;box-sizing:border-box;overflow:hidden;clip-path:inset(0);border-radius:0 4px 4px 0}.textarea-wrapper.bulk-mode .textarea-stripes{display:block}.textarea-stripes .stripe{width:100%}.textarea-stripes .stripe.stripe-even{background-color:#091e420a}[data-theme=dark] .textarea-stripes .stripe.stripe-even{background-color:#ffffff0a}.textarea-wrapper.bulk-mode .form-control{border-left:none;border-radius:0 4px 4px 0;line-height:21px;resize:none;box-sizing:border-box;height:238px;overflow-y:auto;background-color:transparent;position:relative;z-index:1}.textarea-wrapper.bulk-mode{display:flex;height:238px}.textarea-wrapper.bulk-mode .form-control:focus{outline:none!important;box-shadow:none!important;border-color:var(--border)!important}.textarea-wrapper.bulk-mode:focus-within:after{content:"";position:absolute;inset:0;border:2px solid var(--primary);border-radius:4px;pointer-events:none;z-index:2}.textarea-wrapper.bulk-limit:focus-within:after{border-color:var(--danger)}.bulk-toggle-group{margin-top:11px;margin-bottom:30px}.bulk-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-toggle__label{font-size:.8rem;color:var(--text-sub)}.input-with-emoji{position:relative;display:flex;align-items:stretch}.input-with-emoji .form-control{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.emoji-btn{display:flex;align-items:center;justify-content:center;padding:0 .75rem;background-color:var(--surface-color);border:2px solid var(--border);border-right:1px solid var(--border);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer;font-size:1.25rem;transition:all .2s ease}.emoji-btn:hover,.emoji-btn:focus{background-color:var(--btn-hover)}.emoji-btn.empty .emoji-display{opacity:.5;filter:grayscale(100%);display:inline-block}.modal-divider{border:0;border-top:1px solid var(--border);margin:1.5rem 0}.modal-section-title{font-size:1rem;color:var(--text-main);margin-bottom:.5rem;font-weight:600}.column-order-spoiler{margin-top:1.25rem}.column-order-spoiler>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.25rem;-webkit-user-select:none;user-select:none}.column-order-spoiler>summary::-webkit-details-marker{display:none}.column-order-spoiler>summary:after{content:"";display:inline-block;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b778c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .2s ease;flex-shrink:0}.column-order-spoiler[open]>summary:after{transform:rotate(180deg)}.column-order-spoiler>summary:hover:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230052cc' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");transform:scale(1.1)}.column-order-spoiler[open]>summary:hover:after{transform:rotate(180deg) scale(1.1)}[data-theme=dark] .column-order-spoiler>summary:hover:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23579dff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");transform:scale(1.1)}[data-theme=dark] .column-order-spoiler[open]>summary:hover:after{transform:rotate(180deg) scale(1.1)}.column-order-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;max-height:240px;overflow-y:auto}.column-order-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:var(--bg-color);border:2px solid var(--border);border-radius:4px;font-size:.875rem;transition:border-color .2s ease;cursor:pointer}.column-order-item--active{border-color:var(--primary)}.col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;margin-left:2px}.column-order-controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0;margin-left:.75rem}.column-order-item.column-hidden .col-name{opacity:.35}.col-order-divider{width:2px;height:16px;background-color:var(--border)}.col-order-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:#6b778c;cursor:pointer;transition:background-color .12s ease,color .12s ease;padding:0}.col-order-btn *{pointer-events:none}.col-order-btn:hover:not(:disabled){background-color:var(--primary);color:#fff}.col-order-btn:active:not(:disabled){opacity:.7}.col-order-btn:disabled{opacity:.2;cursor:default}@keyframes emojiRiseFade{0%{transform:translateY(8px);opacity:0}15%{transform:translateY(0);opacity:.5}85%{transform:translateY(0);opacity:.5}to{transform:translateY(-8px);opacity:0}}.input-with-emoji:focus-within .emoji-btn{border-color:var(--primary)}.input-with-emoji:focus-within .form-control{border-color:var(--primary);box-shadow:none}.emoji-picker{position:absolute;top:100%;left:0;margin-top:.5rem;background-color:var(--surface-color);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);padding:.75rem;z-index:1010;width:260px;max-height:250px;overflow-y:auto;transform-origin:top left;animation:modalFadeIn .15s ease-out}.emoji-clear-btn{display:block;width:100%;padding:.4rem;margin-bottom:.5rem;background-color:var(--bg-color);border:1px solid var(--border);border-radius:4px;color:var(--text-sub);font-size:.75rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease}.emoji-clear-btn:hover{background-color:var(--btn-hover);color:var(--text-main)}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem}.emoji-option{display:flex;align-items:center;justify-content:center;font-size:1.5rem;width:2rem;height:2rem;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s}.emoji-option:hover{background-color:var(--btn-hover)}.form-control:focus{background-color:var(--surface-color);border-color:var(--primary)}textarea.form-control{resize:none;min-height:100px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-info{flex:1;padding-right:1.5rem}.setting-info .form-label{margin-bottom:.25rem;font-size:.875rem;color:var(--text-main)}.setting-desc{font-size:.75rem;color:var(--text-sub);line-height:1.4;display:block}.switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--btn-subtle);border:2px solid var(--border);transition:.3s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:50%;transform:translateY(-50%);background-color:var(--text-sub);transition:.3s}input:checked+.slider{background-color:var(--primary);border-color:var(--primary)}input:focus+.slider{box-shadow:0 0 1px var(--primary)}input:checked+.slider:before{transform:translate(20px) translateY(-50%);background-color:#fff}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.modal__footer{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);background-color:var(--bg-color);border-bottom-left-radius:6px;border-bottom-right-radius:6px;flex-shrink:0}.modal__actions-right{display:flex;gap:.75rem;margin-left:auto}*{scrollbar-width:thin;scrollbar-color:var(--text-sub) rgba(9,30,66,.05)}[data-theme=dark] *{scrollbar-color:var(--text-sub) rgba(0,0,0,.15)}::-webkit-scrollbar{width:14px;height:16px}::-webkit-scrollbar-track{background:#091e420d;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-track{background:#00000026}::-webkit-scrollbar-thumb{background:var(--text-sub);border-radius:6px;border:2px solid var(--bg-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-main)}@media(max-width:850px)and (pointer:coarse){body{min-width:100vw;width:100vw;overflow-x:hidden}.app-header{padding:1rem}.app-header__left .logo{font-size:1.5rem;margin-right:.5rem}.board-container{padding:1rem;gap:1rem;overflow-x:auto;width:100%}.empty-state{max-width:100%;padding:2rem 1.5rem}.modal__content{width:95%;margin:0 auto}}.modal__content--wide{max-width:640px}.view-task-body{padding:1.5rem;max-height:60vh;overflow-y:auto;overflow-x:auto}.view-task-text{font-size:.95rem;line-height:1.7;color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.view-task-text code{padding:.15rem .4rem;border-radius:4px;font-size:.85em}.view-task-text a{color:var(--primary);text-decoration:underline}.validation-error-body{padding:1rem 1.5rem;max-height:50vh;overflow-y:auto}.validation-error-intro{color:var(--text-secondary);font-size:.82rem;font-weight:300;margin-bottom:1rem}.validation-error-list{display:flex;flex-direction:column;gap:.5rem}.validation-error-item{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;background:var(--bg-color);border-radius:8px;border-left:3px solid var(--danger);font-size:.82rem;font-family:var(--font-mono);line-height:1.4}.validation-error-item--warning{border-left-color:var(--warning, #f0ad4e)}.validation-error-item--warning .validation-error-rule{color:var(--warning, #f0ad4e)}.validation-error-line{flex-shrink:0;background:var(--danger);color:#fff;font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;min-width:2.5rem;text-align:center;font-family:Inter,monospace}.validation-error-item--warning .validation-error-line{background:var(--warning, #f0ad4e)}.validation-error-message{color:var(--text-primary);word-break:break-word;line-height:2}.validation-error-message code{padding:.15rem .45rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.validation-error-rule{color:var(--danger);font-size:.65rem;font-family:var(--font-mono);opacity:1;margin-top:.45rem;font-weight:300;letter-spacing:.3px}.validation-error-body-cell{flex:1;min-width:0}.validation-ignore-btn{flex-shrink:0;align-self:center;padding:.2rem .55rem;background:transparent;border:1px solid var(--warning, #f0ad4e);border-radius:4px;color:var(--warning, #f0ad4e);font-size:.7rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;text-transform:uppercase;letter-spacing:.5px}.validation-ignore-btn:hover{background:var(--warning, #f0ad4e);color:#1a1a1a}.validation-error-item--dismissed{animation:validation-dismiss .3s ease-out forwards;pointer-events:none}@keyframes validation-dismiss{0%{opacity:1;max-height:200px;padding:.6rem .75rem;margin-bottom:0}50%{opacity:0;max-height:200px;padding:.6rem .75rem}to{opacity:0;max-height:0;padding:0;margin:0;overflow:hidden}}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:10000;pointer-events:none;max-width:420px;width:calc(100% - 3rem)}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:12px;font-size:.85rem;line-height:1.45;box-shadow:0 8px 24px #0003,0 2px 8px #0000001a;animation:toast-slide-in .35s cubic-bezier(.2,0,0,1) forwards;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast--error{background:#dc3545eb;color:#fff;border:1px solid rgba(255,255,255,.15)}.toast--warning{background:#f0ad4eeb;color:#1a1a1a;border:1px solid rgba(0,0,0,.1)}.toast__icon{flex-shrink:0;font-size:1.1rem;line-height:1.3}.toast__body{flex:1;min-width:0}.toast__title{font-weight:600;margin-bottom:.2rem}.toast__message{opacity:.9;word-break:break-word}.toast__details-btn{display:inline-block;margin-top:.4rem;padding:.2rem .6rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}.toast__details-btn:hover{background:#ffffff59}.toast__close{flex-shrink:0;background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;line-height:1;opacity:.7;padding:0;transition:opacity .15s}.toast__close:hover{opacity:1}.toast.toast--exiting{animation:toast-fade-out .25s cubic-bezier(.4,0,1,1) forwards}@keyframes toast-slide-in{0%{transform:translateY(100%) translate(20px);opacity:0}to{transform:translateY(0) translate(0);opacity:1}}@keyframes toast-fade-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(10px);opacity:0}}
