@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;510;560;600;680&family=JetBrains+Mono:wght@500;600&display=swap";:root{--accent: #5e6ad2;--accent-2: #828fff;--green: #4cb782;--amber: #f2c94c;--blue: #4ea7fc;--red: #eb5757;--rail: 150px;--col: 224px;--gap: 12px;--r: 8px;--topbar-h: 48px;--ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}:root,[data-theme=dark]{--bg: #0d0e10;--panel: #16171a;--panel-2: #1c1d21;--text: #f0f1f3;--text-2: #9a9ca3;--text-3: #66686f;--border: rgba(255, 255, 255, .07);--border-2: rgba(255, 255, 255, .12);--hover: rgba(255, 255, 255, .05);--accent-ink: #939dff;--accent-weak: rgba(94, 106, 210, .18);--on-accent: #fff;--user-bg: rgba(235, 87, 87, .11);--user-bd: #eb5757;--user-bdr: rgba(235, 87, 87, .28);--user-fg: #f0a8ab;--act-bg: rgba(78, 167, 252, .11);--act-bd: #4ea7fc;--act-bdr: rgba(78, 167, 252, .28);--act-fg: #9ec8f8;--step-bg: rgba(76, 183, 130, .11);--step-bd: #4cb782;--step-bdr: rgba(76, 183, 130, .28);--step-fg: #8fdcae;--topbar-bg: rgba(13, 14, 16, .72);--sh-xs: 0 1px 1px rgba(0, 0, 0, .4);--sh-sm: 0 1px 2px rgba(0, 0, 0, .5);--sh-md: 0 8px 24px -8px rgba(0, 0, 0, .7);--sh-lg: 0 24px 60px -16px rgba(0, 0, 0, .8)}[data-theme=light]{--bg: #fbfbfc;--panel: #ffffff;--panel-2: #fafbfc;--text: #16181d;--text-2: #62666d;--text-3: #9aa0a8;--border: #ebecf0;--border-2: #e0e2e8;--hover: #f3f4f6;--accent-ink: #4854c4;--accent-weak: #eceefb;--on-accent: #fff;--user-bg: #fdecec;--user-bd: #eb5757;--user-bdr: #f6cdce;--user-fg: #b1454a;--act-bg: #ebf4fe;--act-bd: #4ea7fc;--act-bdr: #c5defb;--act-fg: #2c6aa8;--step-bg: #eaf7f0;--step-bd: #4cb782;--step-bdr: #c2e7d4;--step-fg: #2a7c54;--topbar-bg: rgba(251, 251, 252, .78);--sh-xs: 0 1px 2px rgba(20, 22, 26, .05);--sh-sm: 0 1px 3px rgba(20, 22, 26, .08), 0 1px 2px rgba(20, 22, 26, .05);--sh-md: 0 8px 24px -10px rgba(20, 22, 26, .2);--sh-lg: 0 24px 60px -18px rgba(20, 22, 26, .3)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui);font-size:13px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;letter-spacing:-.011em;transition:background .2s,color .2s}button{font:inherit;cursor:pointer;color:inherit}::selection{background:var(--accent-weak)}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--topbar-bg);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px}.brand .logo{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--accent-2));color:#fff;font-weight:680;font-size:12px;box-shadow:var(--sh-xs)}.brand .name{font-weight:560;font-size:14px;letter-spacing:-.02em}.brand .proj{font-family:var(--mono);font-size:11px;color:var(--text-2);background:var(--hover);padding:3px 8px;border-radius:6px;border:1px solid var(--border)}.switcher{position:relative}.switcher-trigger{display:inline-flex;align-items:center;gap:6px;background:var(--hover);border:1px solid var(--border);border-radius:6px;padding:3px 8px;color:var(--text-2);font-family:var(--ui);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.switcher-trigger:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-2)}.switcher-trigger .proj{background:none;border:none;padding:0}.switcher-trigger .caret{font-size:10px;color:var(--text-3)}.switcher-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;padding:4px;background:var(--panel);border:1px solid var(--border-2);border-radius:9px;box-shadow:var(--sh-lg, 0 8px 28px rgba(0,0,0,.4))}.switcher-item{display:flex;align-items:center;border-radius:6px}.switcher-item:hover{background:var(--hover)}.switcher-item.active .label{color:var(--text);font-weight:560}.switcher-pick{flex:1;display:flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:7px 8px;color:var(--text-2);font-size:13px;text-align:left}.switcher-pick .check{width:12px;color:var(--accent-ink);font-size:11px}.switcher-pick .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-act{background:none;border:none;cursor:pointer;color:var(--text-3);padding:6px 7px;font-size:13px;border-radius:5px;opacity:0;transition:opacity .12s,color .12s,background .12s}.switcher-item:hover .switcher-act{opacity:1}.switcher-act:hover{color:var(--text);background:var(--border)}.switcher-add{display:block;width:100%;text-align:left;cursor:pointer;margin-top:4px;padding:7px 8px;border:none;border-radius:6px;border-top:1px solid var(--border);background:none;color:var(--accent-ink);font-size:13px;font-weight:510}.switcher-add:hover{background:var(--hover)}.topbar .spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;border:1px solid var(--border-2);background:var(--panel);border-radius:7px;padding:0 11px;color:var(--text);font-weight:510;font-size:12.5px;transition:background .12s,border-color .12s,box-shadow .12s,transform .06s}.btn:hover{background:var(--hover);border-color:var(--border-2)}.btn:active{transform:scale(.98)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:0 1px 2px #5e6ad266}.btn.primary:hover{background:var(--accent-ink)}.btn.icon{padding:0;width:30px;justify-content:center;font-size:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.scroller{height:calc(100vh - var(--topbar-h));overflow:auto}.map-grid{display:grid;grid-template-columns:var(--rail) repeat(var(--n),var(--col)) max-content;gap:var(--gap);align-items:stretch;padding:24px 24px 140px;width:max-content;min-width:100%}.rail{grid-column:1;display:flex;align-items:center;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:600;color:var(--text-3)}.bb{border-radius:var(--r);padding:11px 13px 11px 14px;min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:3px;font-weight:560;position:relative;background:var(--panel);border:1px solid var(--border);box-shadow:var(--sh-xs);animation:rise .35s cubic-bezier(.2,.8,.2,1) backwards}.bb:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--bb-edge, transparent)}.bb .kicker{font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}.bb .label{font-size:13.5px;line-height:1.25;letter-spacing:-.012em;color:var(--text)}.bb.user{--bb-edge: var(--user-bd);background:var(--user-bg);border-color:var(--user-bdr)}.bb.user .kicker,.bb.user .label{color:var(--user-fg)}.bb.act{--bb-edge: var(--act-bd);background:var(--act-bg);border-color:var(--act-bdr)}.bb.act .kicker,.bb.act .label{color:var(--act-fg)}.bb.step{--bb-edge: var(--step-bd);background:var(--step-bg);border-color:var(--step-bdr);min-height:48px}.bb.step .kicker,.bb.step .label{color:var(--step-fg)}.bb.muted{background:var(--hover);color:var(--text-3);border:1px dashed var(--border-2);box-shadow:none}.bb.muted .label{color:var(--text-3)}.bb .plus{position:absolute;top:7px;right:7px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:16px;line-height:0;background:var(--panel);border:1px solid var(--border-2);color:inherit;opacity:0;transition:opacity .14s,transform .14s}.bb:hover .plus{opacity:.9}.bb .plus:hover{transform:scale(1.1);opacity:1}.bb .handle{position:absolute;top:6px;right:8px;width:20px;height:20px;display:grid;place-items:center;font-size:12px;line-height:0;border:none;background:transparent;color:inherit;opacity:0;border-radius:5px;cursor:grab;touch-action:none;transition:opacity .14s,background .12s}.bb:hover .handle{opacity:.5}.bb .handle:hover{opacity:1;background:#7f7f7f29}.bb .handle:active{cursor:grabbing}.add-slot{border-radius:var(--r);min-height:48px;min-width:var(--col);border:1px dashed var(--border-2);background:transparent;color:var(--text-3);font-weight:510;display:grid;place-items:center;font-size:12.5px;transition:border-color .14s,color .14s,background .14s}.add-slot:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-weak)}.add-slot.trailing{min-width:128px}.split{grid-column:1 / -1;height:0;border-top:1px solid var(--border);margin:8px 0 2px}.lane-rail{grid-column:1;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;padding-top:14px}.lane-head{display:flex;align-items:center;gap:5px}.lane-rail .name{font-size:15px;font-weight:560;letter-spacing:-.02em}.caret{width:18px;height:18px;border:none;background:transparent;color:var(--text-3);display:grid;place-items:center;font-size:11px;border-radius:5px;transition:transform .15s ease,background .12s,color .12s}.caret:hover{background:var(--hover);color:var(--text)}.caret.closed{transform:rotate(-90deg)}.lane-bg.collapsed{display:flex;align-items:center;padding-left:14px;min-height:0;height:40px;color:var(--text-3);font-size:12px;font-weight:500;cursor:pointer;text-align:left}.lane-bg.collapsed:hover{background:var(--hover);color:var(--text)}.lane-rail .frac{font-family:var(--mono);font-size:11px;color:var(--text-2)}.lane-rail .bar{height:4px;width:108px;border-radius:999px;background:var(--border-2);overflow:hidden}.lane-rail .bar>i{display:block;height:100%;background:var(--green);border-radius:999px;transition:width .3s ease}.lane-rail .pts{align-self:flex-start;font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--accent-ink);background:var(--accent-weak);border-radius:999px;padding:2px 9px}.lane-bg{grid-column:2 / -1;border-radius:12px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--sh-xs)}.lane-bg.backlog{background:transparent;border-style:dashed;box-shadow:none}.cell{min-height:70px;padding:11px 8px;display:flex;flex-direction:column;gap:9px}.cell.over{background:var(--accent-weak);border-radius:11px;box-shadow:inset 0 0 0 1.5px var(--accent)}.cell.muted{opacity:.8}.story{height:104px;background:var(--panel-2);border:1px solid var(--border-2);border-radius:var(--r);padding:10px 11px 9px;color:var(--text);position:relative;display:flex;flex-direction:column;gap:8px;cursor:grab;box-shadow:var(--sh-xs);transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s,border-color .14s;animation:rise .3s cubic-bezier(.2,.8,.2,1) backwards}.story:hover{transform:translateY(-1px);box-shadow:var(--sh-md);border-color:var(--accent);z-index:5}.story:active{cursor:grabbing}.story.closed{opacity:.55}.story .title{font-weight:510;font-size:12.5px;line-height:1.35;color:var(--text);padding-right:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.story .row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto}.story .pts{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text-2)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.green{background:var(--green)}.dot.amber{background:var(--amber)}.dot.blue{background:var(--blue)}.tag{font-size:10.5px;font-weight:510;background:var(--hover);color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.story .iid{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.story .actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .14s}.story:hover .actions{opacity:1}.iconbtn{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--border-2);font-size:11px;color:var(--text-2);text-decoration:none}.iconbtn:hover{background:var(--hover);color:var(--text)}.add-card{border:1px dashed var(--border-2);background:transparent;color:var(--text-3);border-radius:var(--r);padding:8px;font-weight:510;font-size:16px;line-height:1;display:grid;place-items:center;transition:background .14s,border-color .14s,color .14s}.add-card:hover{background:var(--accent-weak);border-color:var(--accent);color:var(--accent-ink)}.rename-input{font:inherit;font-weight:560;font-size:13.5px;letter-spacing:-.012em;border:none;outline:none;width:100%;color:var(--text);background:var(--panel);border-radius:6px;padding:3px 7px;box-shadow:0 0 0 2px var(--accent)}.lane-rail .rename-input{font-size:15px;font-weight:560}.inline-input{font:inherit;font-weight:510;border:none;outline:none;width:100%;background:var(--panel);border-radius:var(--r);padding:10px 12px;color:var(--text);box-shadow:0 0 0 2px var(--accent);min-height:48px}.inline-input.card{min-height:auto;padding:9px 11px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;animation:fade .18s ease}.modal{width:452px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--border-2);border-radius:14px;padding:24px;box-shadow:var(--sh-lg);animation:pop .24s cubic-bezier(.2,.9,.25,1)}.modal h2{font-size:18px;font-weight:560;margin:0 0 4px;letter-spacing:-.02em}.modal .sub{color:var(--text-2);font-size:13px;margin:0 0 18px;line-height:1.5}.field{margin-bottom:13px}.field label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.field input{width:100%;padding:10px 12px;font:inherit;border:1px solid var(--border-2);border-radius:8px;background:var(--panel-2);color:var(--text);transition:border-color .14s,box-shadow .14s}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.modal .note{font-size:12px;color:var(--text-2);margin:8px 0 0;line-height:1.55}.modal .hint{font-family:var(--mono);font-size:11px;color:var(--accent-ink);margin:5px 0 0}.modal .actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.error{color:var(--red);background:#eb57571f;border:1px solid rgba(235,87,87,.3);padding:11px 13px;border-radius:9px;margin-bottom:14px;font-size:13px}.center{display:grid;place-items:center;align-content:center;height:72vh;gap:14px;color:var(--text-2);font-size:14px}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--border-2);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media print{@page{size:landscape;margin:10mm}*{animation:none!important;transition:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important}.topbar{display:none!important}.scroller{height:auto!important;overflow:visible!important}.map-grid{width:max-content!important;padding:0!important}.add-slot,.caret{display:none!important}}
