:root{--paper:#f3efe6;--paper-2:#e9e3d6;--paper-3:#ded6c5;--card:#fffdf7;--ink:#262421;--ink-2:#57524a;--ink-3:#8a8374;--rule:#d3cbb9;--rule-strong:#b9b09c;--signal:#e8a33d;--signal-soft:#f6dfb4;--signal-ink:#6e4304;--danger:#c2412a;--danger-soft:#f3d3cb;--ok:#3c7a4b;--ok-soft:#d5e7d6;--agent:#2f5d8a;--agent-soft:#d6e2ee;--shadow:0 1px 0 #2624210f, 0 2px 6px -2px #2624211f;--shadow-lift:0 2px 0 #2624210d, 0 14px 30px -10px #26242159;--grid:#2624210b;--font:"Schibsted Grotesk", ui-sans-serif, sans-serif;--mono:"Martian Mono", ui-monospace, monospace;--radius:6px;--col-w:292px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#191816;--paper-2:#211f1c;--paper-3:#2b2925;--card:#2a2824;--ink:#ede8dd;--ink-2:#b6af9f;--ink-3:#7f796c;--rule:#37342e;--rule-strong:#4a463e;--signal:#eaa845;--signal-soft:#4a3714;--signal-ink:#f6d398;--danger:#e8644d;--danger-soft:#4a221b;--ok:#72b682;--ok-soft:#1f3824;--agent:#86afdb;--agent-soft:#1f2f40;--shadow:0 1px 0 #0000004d, 0 2px 6px -2px #00000080;--shadow-lift:0 2px 0 #0000004d, 0 16px 34px -10px #000c;--grid:#ede8dd09;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:.78em}.app{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.topbar{border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.brand-mark{grid-template-columns:repeat(3,6px);align-items:start;gap:2px;height:18px;display:grid}.brand-mark i{background:var(--ink);border-radius:1px;display:block}.brand-mark i:first-child{background:var(--signal);height:18px}.brand-mark i:nth-child(2){height:12px}.brand-mark i:nth-child(3){height:7px}.crumbs{color:var(--ink-2);align-items:center;gap:8px;min-width:0;display:flex}.crumbs .sep{color:var(--rule-strong)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar .spacer{flex:1}.stage{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--signal);color:var(--signal-ink);background:var(--signal-soft);border-radius:3px;padding:3px 7px;font-size:10px}.nav-tabs{gap:2px;display:flex}.nav-tabs a{border-radius:var(--radius);color:var(--ink-2);padding:6px 10px;font-weight:500;text-decoration:none}.nav-tabs a:hover{background:var(--paper-2);color:var(--ink)}.nav-tabs a.active{background:var(--ink);color:var(--paper)}.btn{border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--card);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.primary:hover{background:color-mix(in srgb, var(--ink) 85%, var(--signal))}.btn.signal{background:var(--signal);border-color:var(--signal);color:#2a1a02}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--paper-2)}.btn.danger{color:var(--danger)}.btn.sm{padding:4px 8px;font-size:12px}.input,.select,.textarea{border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--card);outline:none;width:100%;padding:8px 10px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px color-mix(in srgb, var(--signal) 35%, transparent)}.textarea{resize:vertical;min-height:90px;line-height:1.5}.input.bare{background:0 0;border-color:#0000;padding-left:0}.input.bare:hover{border-color:var(--rule)}.input.bare:focus{background:var(--card);padding-left:8px}label.field{gap:5px;display:grid}label.field>span,.label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:10px}.chip{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;display:inline-flex}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}button.chip{cursor:pointer}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.board-page{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid}.board-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px 4px;display:flex}.board-toolbar h1{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:800}.board-page.show-floor{grid-template-columns:minmax(0,1fr) auto}.repo-link{color:var(--ink-3);border-bottom:1px dotted var(--rule);font-size:11px;text-decoration:none}.repo-link:hover{color:var(--ink)}.board-toolbar .key{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--rule);border-radius:3px;padding:2px 6px;font-size:11px}.board-main{flex-direction:column;min-width:0;min-height:0;display:flex}.board{scroll-snap-type:x proximity;flex:1;align-items:stretch;gap:14px;padding:12px 20px 24px;display:flex;overflow:auto hidden}.column{flex:0 0 var(--col-w);background:color-mix(in srgb, var(--paper-2) 80%, transparent);border:1px solid var(--rule);scroll-snap-align:start;border-radius:8px;flex-direction:column;min-height:0;animation:.4s cubic-bezier(.2,.7,.2,1) both rise;display:flex;position:relative}.column.over-target{border-color:var(--ink-2);background:var(--paper-3)}.column.cat-done{background:color-mix(in srgb, var(--ok-soft) 40%, var(--paper-2))}.column.gated:before{content:"";border-left:1.5px solid var(--signal);border-right:1.5px solid var(--signal);border-radius:1px;width:4px;position:absolute;top:10px;bottom:10px;left:-9px}.gate-tag{font-family:var(--mono);letter-spacing:.14em;color:var(--signal-ink);background:var(--paper);white-space:nowrap;z-index:1;padding:0 5px;font-size:9px;position:absolute;top:50%;left:-23px;transform:translateY(-50%)rotate(-90deg)}.col-head{border-bottom:1px solid var(--rule);gap:8px;padding:11px 12px 9px;display:grid}.col-title{align-items:baseline;gap:8px;display:flex}.col-title h2{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:13px;font-weight:600;overflow:hidden}.col-count{font-family:var(--mono);color:var(--ink-3);font-size:11px}.col-count.full{color:var(--signal-ink);font-weight:700}.col-count.over{color:var(--danger);font-weight:700}.wip{gap:3px;height:6px;display:flex}.wip i{background:var(--paper-3);border:1px solid var(--rule);border-radius:1.5px;flex:1;transition:background .25s}.wip i.filled{background:var(--ink-2);border-color:var(--ink-2)}.wip.full i.filled{background:var(--signal);border-color:var(--signal)}.wip.over i{background:repeating-linear-gradient(-45deg, var(--danger) 0 3px, var(--danger-soft) 3px 6px);border-color:var(--danger)}.wip-none{border-bottom:1px dashed var(--rule-strong);height:6px;margin-bottom:-1px}.col-body{flex-direction:column;flex:1;gap:8px;min-height:80px;padding:10px;display:flex;overflow-y:auto}.col-foot{padding:6px 10px 10px}.quick-add{gap:6px;display:grid}.tile{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--prio,var(--rule-strong));border-radius:var(--radius);box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;gap:6px;padding:9px 10px 8px;transition:box-shadow .15s,transform .15s,border-color .15s;display:grid;position:relative}.tile:hover{border-color:var(--rule-strong);border-left-color:var(--prio,var(--rule-strong))}.tile.dragging{opacity:.35}.tile.overlay{cursor:grabbing;box-shadow:var(--shadow-lift);transform:rotate(-1.2deg)scale(1.02)}.tile.stale{border-style:dashed dashed dashed solid}.tile.prio-critical{--prio:var(--danger)}.tile.prio-high{--prio:var(--signal)}.tile.prio-medium{--prio:var(--ink-3)}.tile.prio-low{--prio:var(--rule)}.tile-top{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:6px;font-size:10.5px;display:flex}.tile-top .type{text-transform:uppercase;letter-spacing:.06em;font-size:9px}.tile-top .type.bug{color:var(--danger)}.tile-top .type.spike{color:var(--agent)}.tile-top .grow{flex:1}.tile-title{overflow-wrap:anywhere;font-size:13.5px;font-weight:500;line-height:1.35}.tile-foot{align-items:center;gap:6px;min-height:22px;display:flex}.tile-foot .grow{flex:1}.est{font-family:var(--mono);background:var(--paper-2);color:var(--ink-2);border-radius:3px;padding:1px 5px;font-size:10px}.stale-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--danger);font-size:9px}.pips{align-items:center;gap:2px;display:inline-flex}.pips .lbl{font-family:var(--mono);color:var(--ink-3);margin-right:3px;font-size:9px}.pips i{border:1px solid var(--rule-strong);border-radius:1px;width:6px;height:6px}.pips i.met{background:var(--ok);border-color:var(--ok)}.pips.complete .lbl{color:var(--ok)}.avatar{--size:22px;width:var(--size);height:var(--size);flex:0 0 var(--size);font-size:calc(var(--size) * .42);letter-spacing:-.02em;color:var(--paper);background:var(--ink-2);text-transform:uppercase;border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.avatar.agent{background:var(--agent);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);border-radius:0}.avatar.lg{--size:30px}.floor{border-left:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 92%, transparent);align-content:start;gap:22px;width:300px;padding:16px;display:grid;overflow-y:auto}.floor h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);justify-content:space-between;margin:0 0 10px;font-size:10px;font-weight:500;display:flex}.who{border-bottom:1px dashed var(--rule);grid-template-columns:auto 1fr;gap:4px 10px;padding:8px 0;display:grid}.who:last-child{border-bottom:none}.who-name{align-items:baseline;gap:6px;font-weight:600;display:flex}.who-roles{color:var(--ink-3);font-size:11px}.who-cards{grid-column:2;gap:3px;display:grid}.who-card{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:6px;padding:0;font-size:12.5px;text-decoration:none;display:flex}.who-card:hover{color:var(--ink)}.who-card .mono{color:var(--ink-3);flex:none}.idle{color:var(--ink-3);font-size:12px;font-style:italic}.feed{gap:10px;display:grid}.feed-item{color:var(--ink-2);grid-template-columns:auto 1fr;gap:8px;font-size:12.5px;animation:.3s both fade;display:grid}.feed-item strong{color:var(--ink);font-weight:600}.feed-item time{font-family:var(--mono);color:var(--ink-3);font-size:9.5px;display:block}.feed-item .quote{border-left:2px solid var(--rule-strong);color:var(--ink);white-space:pre-wrap;margin-top:3px;padding-left:8px;display:block}.scrim{z-index:40;background:#14120f52;animation:.15s both fade;position:fixed;inset:0}.drawer{background:var(--paper);border-left:1px solid var(--rule-strong);z-index:41;grid-template-rows:auto 1fr;width:min(620px,100vw);animation:.22s cubic-bezier(.2,.7,.2,1) both slide;display:grid;position:fixed;top:0;bottom:0;right:0;box-shadow:-20px 0 50px -20px #00000059}.drawer-head{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:12px 18px;display:flex}.drawer-head .grow{flex:1}.drawer-body{align-content:start;gap:22px;padding:18px 22px 40px;display:grid;overflow-y:auto}.drawer-title{letter-spacing:-.025em;font-size:22px;font-weight:800;line-height:1.2}.meta-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.section{gap:8px;display:grid}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ac-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.ac-row .n{font-family:var(--mono);color:var(--ink-3);width:18px;font-size:10px}.checklist{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);gap:2px;padding:4px;display:grid}.check{border-radius:4px;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.check:hover{background:var(--paper)}.check .box{border:1.5px solid var(--rule-strong);width:16px;height:16px;color:var(--paper);cursor:pointer;background:0 0;border-radius:3px;place-items:center;padding:0;font-size:11px;display:grid}.check .box.met{background:var(--ok);border-color:var(--ok)}.check .box.auto{cursor:default;border-style:dotted}.check .box.auto.met{border-style:solid}.check .by{color:var(--ink-3);text-align:right;font-size:11px}.gate-state{font-family:var(--mono);border-radius:3px;padding:2px 6px;font-size:10px}.gate-state.ok{background:var(--ok-soft);color:var(--ok)}.gate-state.no{background:var(--signal-soft);color:var(--signal-ink)}.claim-bar{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);align-items:center;gap:10px;padding:10px 12px;display:flex}.claim-bar .grow{flex:1;display:grid}.claim-bar small{color:var(--ink-3)}.timeline{gap:12px;display:grid}.timeline .feed-item{font-size:13px}.page{align-content:start;gap:26px;width:100%;max-width:980px;margin:0 auto;padding:28px 20px 60px;display:grid}.page h1{letter-spacing:-.035em;margin:0;font-size:30px;font-weight:800}.page h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.page .lede{color:var(--ink-2);max-width:60ch;margin:6px 0 0}.panel{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-head p{color:var(--ink-3);margin:4px 0 0;font-size:13px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.project-card{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:8px;gap:10px;padding:18px;text-decoration:none;transition:transform .15s,box-shadow .15s;animation:.4s both rise;display:grid}.project-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.project-card .name{letter-spacing:-.02em;font-size:18px;font-weight:700}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);border-bottom:1px solid var(--rule);padding:6px;font-size:9.5px;font-weight:500}.table td{border-bottom:1px dashed var(--rule);vertical-align:top;padding:6px}.table tr:last-child td{border-bottom:none}.table .input,.table .select{padding:5px 7px;font-size:13px}.table-wrap{overflow-x:auto}.roles{flex-wrap:wrap;gap:4px;display:flex}.empty{text-align:center;color:var(--ink-2);border:1.5px dashed var(--rule-strong);border-radius:10px;padding:48px 20px}.center{place-items:center;min-height:100%;padding:24px;display:grid}.splash{text-align:center;justify-items:center;gap:18px;max-width:420px;display:grid}.splash h1{letter-spacing:-.05em;margin:0;font-size:56px;font-weight:800;line-height:1}.splash p{color:var(--ink-2);margin:0;font-size:15px}.splash .brand-mark{margin-bottom:18px;transform:scale(2.2)}.code{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);white-space:pre;padding:10px 12px;font-size:11.5px;overflow-x:auto}.toasts{z-index:60;gap:8px;width:min(460px,100vw - 32px);display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lift);border-left:4px solid var(--signal);border-radius:8px;gap:6px;padding:12px 14px;animation:.25s both rise;display:grid}.toast.error{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--ok)}.toast strong{font-weight:700}.toast ul{opacity:.9;margin:0;padding-left:18px;font-size:13px}.toast-actions{justify-content:flex-end;gap:8px;display:flex}.toast .btn{border-color:color-mix(in srgb, var(--paper) 30%, transparent);color:var(--paper);background:0 0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=900px){.board-page{grid-template-columns:1fr}.board-page.show-floor{grid-template-columns:minmax(0,1fr)}.board-page.show-floor .floor{z-index:30;width:min(320px,100vw);box-shadow:var(--shadow-lift);position:fixed;inset:52px 0 0 auto}}@media (width<=640px){:root{--col-w:84vw}.topbar{gap:10px;padding:10px 16px}.crumbs .hide-sm,.stage{display:none}.board{padding:10px 16px 20px}.board-toolbar{padding:12px 16px 2px}.meta-grid{grid-template-columns:repeat(2,1fr)}.page{padding:20px 16px 48px}.drawer-body{padding:16px 16px 40px}}.btn.on{border-color:var(--signal);color:var(--ink)}
