@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--color-primary:#171717;--color-on-primary:#fff;--color-ink:#171717;--color-body:#4d4d4d;--color-mute:#888;--color-hairline:#ebebeb;--color-hairline-strong:#a1a1a1;--color-canvas:#fff;--color-canvas-soft:#fafafa;--color-canvas-soft-2:#f5f5f5;--color-link:#0070f3;--color-error:#e00;--color-error-soft:#f7d4d6;--color-success:#0070f3;--color-warning:#f5a623;--gradient-develop-start:#007cf0;--gradient-develop-end:#00dfd8;--gradient-preview-start:#7928ca;--gradient-preview-end:#ff0080;--gradient-ship-start:#ff4d4d;--gradient-ship-end:#f9cb28;--font-sans:var(--font-geist-sans), Inter, system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-3xl:48px;--space-4xl:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:100px;--radius-full:9999px;--shadow-level-1:inset 0 0 0 1px #00000014;--shadow-level-2:0px 1px 1px #00000005, 0px 2px 2px #0000000a, inset 0 0 0 1px #00000014;--shadow-level-3:0px 2px 2px #0000000a, 0px 8px 8px -8px #0000000a, inset 0 0 0 1px #00000014;--shadow-level-4:0px 2px 2px #0000000a, 0px 8px 16px -4px #0000000a, inset 0 0 0 1px #00000014;--shadow-level-5:0px 1px 1px #00000005, 0px 8px 16px -4px #0000000a, 0px 24px 32px -8px #0000000f, inset 0 0 0 1px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-canvas-soft);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;line-height:24px}.main-layout{flex-direction:column;min-height:100vh;display:flex}.main-layout:before{content:"";background:radial-gradient(ellipse at 20% 50%, var(--gradient-develop-start), transparent 50%), radial-gradient(ellipse at 50% 30%, var(--gradient-develop-end), transparent 50%), radial-gradient(ellipse at 80% 50%, var(--gradient-preview-start), transparent 50%), radial-gradient(ellipse at 60% 70%, var(--gradient-preview-end), transparent 50%), radial-gradient(ellipse at 30% 60%, var(--gradient-ship-end), transparent 50%);opacity:.08;pointer-events:none;z-index:0;filter:blur(80px);width:1200px;height:600px;position:fixed;top:-200px;left:50%;transform:translate(-50%)}.board-container{width:100%;max-width:1400px;padding:var(--space-lg);z-index:1;flex-direction:column;height:100vh;margin:0 auto;display:flex;position:relative}.board-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;display:flex}.board-header h1{font-family:var(--font-sans);letter-spacing:-1.28px;color:var(--color-ink);font-size:32px;font-weight:600;line-height:40px}.btn-primary{align-items:center;gap:var(--space-xs);background:var(--color-primary);color:var(--color-on-primary);padding:0 var(--space-sm);border-radius:var(--radius-pill);height:40px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;font-size:14px;font-weight:500;line-height:20px;transition:background-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn-primary:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{align-items:center;gap:var(--space-xs);background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-hairline);padding:0 var(--space-sm);border-radius:var(--radius-pill);height:40px;font-family:var(--font-sans);cursor:pointer;font-size:14px;font-weight:500;line-height:20px;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{background:var(--color-canvas-soft-2);border-color:var(--color-hairline-strong)}.kanban-grid{gap:var(--space-lg);flex:1;grid-template-columns:repeat(3,1fr);min-height:0;display:grid;overflow:hidden}.kanban-column{background:var(--color-canvas);border-radius:var(--radius-lg);box-shadow:var(--shadow-level-3);flex-direction:column;transition:box-shadow .2s;display:flex;overflow:hidden}.kanban-column:hover{box-shadow:var(--shadow-level-4)}.column-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-hairline);background:var(--color-canvas);justify-content:space-between;align-items:center;display:flex}.column-header h2{font-family:var(--font-sans);letter-spacing:-.28px;color:var(--color-ink);text-transform:none;font-size:14px;font-weight:600;line-height:20px}.task-count{font-family:var(--font-mono);color:var(--color-mute);background:var(--color-canvas-soft-2);padding:2px var(--space-xs);border-radius:var(--radius-full);font-size:12px;font-weight:400;line-height:16px}.column-content{padding:var(--space-sm);gap:var(--space-xs);background:var(--color-canvas-soft);flex-direction:column;flex:1;display:flex;overflow-y:auto}.column-content::-webkit-scrollbar{width:4px}.column-content::-webkit-scrollbar-track{background:0 0}.column-content::-webkit-scrollbar-thumb{background:var(--color-hairline);border-radius:var(--radius-full)}.column-content::-webkit-scrollbar-thumb:hover{background:var(--color-hairline-strong)}.empty-state{text-align:center;color:var(--color-mute);padding:var(--space-3xl) var(--space-lg);font-family:var(--font-sans);font-size:14px;font-style:normal;line-height:20px}.task-card{background:var(--color-canvas);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;box-shadow:var(--shadow-level-2);transition:box-shadow .2s,transform .15s;position:relative}.task-card:hover{box-shadow:var(--shadow-level-4);transform:translateY(-2px)}.task-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.task-title{font-family:var(--font-sans);letter-spacing:-.28px;color:var(--color-ink);font-size:14px;font-weight:500;line-height:20px}.task-desc{font-family:var(--font-sans);color:var(--color-body);margin-bottom:var(--space-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}.task-card-footer{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-hairline);justify-content:space-between;align-items:center;display:flex}.task-date{align-items:center;gap:var(--space-xxs);font-family:var(--font-mono);color:var(--color-mute);font-size:12px;line-height:16px;display:flex}.task-actions{gap:var(--space-xxs);display:flex}.move-btn{background:var(--color-canvas);border:1px solid var(--color-hairline);color:var(--color-body);padding:2px var(--space-xs);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;font-size:12px;font-weight:500;line-height:16px;transition:all .15s}.move-btn:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.icon-btn{color:var(--color-mute);cursor:pointer;padding:var(--space-xxs);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;transition:all .15s;display:flex}.icon-btn:hover{background:var(--color-canvas-soft-2);color:var(--color-ink)}.delete-btn:hover{background:var(--color-error-soft);color:var(--color-error)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-canvas);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-level-5);animation:.2s slideUp;overflow:hidden}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-family:var(--font-sans);letter-spacing:-.6px;color:var(--color-ink);font-size:20px;font-weight:600;line-height:28px}.modal-form{padding:var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-group label{font-family:var(--font-sans);letter-spacing:-.28px;color:var(--color-ink);margin-bottom:var(--space-xs);font-size:14px;font-weight:500;line-height:20px;display:block}.form-group input,.form-group textarea{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);width:100%;padding:0 var(--space-sm);height:40px;color:var(--color-ink);font-family:var(--font-sans);font-size:14px;line-height:20px;transition:border-color .15s,box-shadow .15s}.form-group textarea{height:auto;padding:var(--space-sm);resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-mute)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-ink);box-shadow:0 0 0 1px var(--color-ink);outline:none}.modal-footer{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.loading-state{height:100vh;font-family:var(--font-sans);color:var(--color-mute);background:var(--color-canvas-soft);justify-content:center;align-items:center;font-size:16px;font-weight:400;line-height:24px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.kanban-column[data-status=todo] .column-header{border-top:2px solid var(--gradient-develop-start)}.kanban-column[data-status=in-progress] .column-header{border-top:2px solid var(--gradient-preview-start)}.kanban-column[data-status=done] .column-header{border-top:2px solid var(--gradient-ship-end)}.task-card{-webkit-user-select:none;user-select:none;cursor:pointer}.task-card:active{cursor:grabbing, move}.task-card.is-dragging{opacity:.3;outline:1px dashed var(--color-hairline-strong);box-shadow:none;transform:scale(.98)}.kanban-column{transition:box-shadow .2s,transform .2s,background-color .2s}.kanban-column.drag-over{box-shadow:var(--shadow-level-5);transform:translateY(-2px)}.kanban-column[data-status=todo].drag-over{background-color:#007cf008;border-color:#007cf04d}.kanban-column[data-status=in-progress].drag-over{background-color:#7928ca08;border-color:#7928ca4d}.kanban-column[data-status=done].drag-over{background-color:#ff4d4d08;border-color:#ff4d4d4d}.kanban-column.drag-over .column-content{background-color:#0000}@media (max-width:1024px){.kanban-grid{grid-template-columns:1fr;overflow-y:auto}.board-container{height:auto;min-height:100vh}.kanban-column{min-height:300px}}@media (max-width:600px){.board-container{padding:var(--space-md)}.board-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.board-header h1{letter-spacing:-.96px;font-size:24px;line-height:32px}}
