@font-face{font-family:"Work Sans";src:url("./assets/work-sans.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Oswald";src:url("./assets/oswald.ttf") format("truetype");font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("./assets/ibm-plex-mono.ttf") format("truetype");font-display:swap}
:root{--bg:#171d21;--surface:#222b2f;--surface-2:#293338;--ink:#edf0e9;--muted:#a8b4b3;--line:#394347;--accent:#d9f27b;--accent-ink:#1b2611;--paper:#f2f0e9;--paper-ink:#252d2e;--paper-muted:#67716d;--todo:#9cc5c6;--progress:#d8cc94;--blocked:#edae9b;--done:#a7d3ad}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Work Sans",Arial,sans-serif;font-size:15px;line-height:1.45}button,input,select{font:inherit}button,select{cursor:pointer}button{border:0}button:focus,input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:active{transform:scale(.97)}select:active,input:active{border-color:var(--accent)}[hidden]{display:none!important}
.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.rail{background:#1d2528;border-right:1px solid #344044;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:11px;font-family:"Oswald",Impact,sans-serif;font-size:29px;letter-spacing:-.03em;line-height:1}.brand-dot{color:var(--accent)}.brand-mark{width:31px;height:31px;display:flex;align-items:center;gap:3px;transform:rotate(-21deg)}.brand-mark i{display:block;width:7px;background:var(--accent);border-radius:1px}.brand-mark i:nth-child(1){height:13px}.brand-mark i:nth-child(2){height:23px}.brand-mark i:nth-child(3){height:17px}.rail>.brand{height:77px;padding-inline:27px;border-bottom:1px solid #344044}.rail-body{padding:42px 18px 24px}.rail-label,.rail-foot,.topbar,.eyebrow,.section-index,.visible-count,.lane-label,.lane-count,.task-id,.task-meta,.task-footer,.main-footer,.detail-top,.detail-kicker,.detail-section-label span,.facts dt,.status-field,.status-hint,.status-feedback,.field>span:first-child,.total-card small{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.055em}.rail-label{color:#9ea9a8;padding-inline:10px}.rail-body h2{font-family:"Oswald",Impact,sans-serif;font-size:31px;font-weight:500;line-height:1.14;letter-spacing:-.02em;margin:18px 10px 11px}.rail-body p{font-size:13px;color:#a3b0ad;line-height:1.5;margin:0 10px}.rail-divider{height:1px;background:#384346;margin:42px 10px 29px}.quick-filters{display:grid;gap:4px;margin-top:14px}.quick-filter{width:100%;min-height:45px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:#b7c2bf;background:transparent;padding:0 11px;border-left:2px solid transparent;transition:background-color .18s,color .18s,border-color .18s}.quick-filter span:last-child{font-family:"IBM Plex Mono",monospace;font-size:12px;color:#a6b4af;font-variant-numeric:tabular-nums}.quick-filter.active{background:#2c3737;color:var(--accent);border-color:var(--accent)}.quick-filter.active span:last-child{color:var(--accent)}.quick-filter:focus,.quick-filter:focus-visible{outline-offset:-3px}.rail-foot{margin-top:auto;border-top:1px solid #344044;min-height:62px;display:flex;align-items:center;gap:8px;padding-inline:26px;color:#a7b3af;font-size:10px}.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #d9f27b21;flex:none}.foot-index{margin-left:auto;color:#9aa9a4}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-inline:42px;color:#aab6b3}.topbar-path span{color:#65706d;margin-inline:9px}.topbar-caption{display:flex;align-items:center;gap:10px}.mobile-brand{display:none}.workspace-head{padding:38px 42px 30px}.eyebrow{display:flex;align-items:center;gap:10px;color:#b5c1b7;font-size:11px}.eyebrow-line{width:24px;height:2px;background:var(--accent)}.eyebrow-num{color:#879b91;margin-left:3px}.title-row{display:flex;justify-content:space-between;align-items:end;gap:24px}.title-row h1{font-family:"Oswald",Impact,sans-serif;font-weight:500;font-size:clamp(44px,4.1vw,59px);line-height:1.1;letter-spacing:-.03em;margin:10px 0 5px}.title-period{color:var(--accent)}.title-row p{margin:0;color:#b4c0bc;font-size:14px}.total-card{display:flex;align-items:baseline;gap:11px;color:var(--accent);padding-bottom:5px}.total-card>span{font-family:"Oswald",Impact,sans-serif;font-size:58px;line-height:.9;font-variant-numeric:tabular-nums}.total-card small{color:#94a49a;max-width:45px;line-height:1.35}.board-section{padding:0 42px 35px}.board-toolbar{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:end;justify-content:space-between;gap:24px}.board-label{display:flex;align-items:center;gap:13px;min-height:50px}.section-index{color:var(--accent);border:1px solid #6b7d61;min-width:27px;height:27px;display:grid;place-items:center}.board-label h2{font-family:"Oswald",Impact,sans-serif;font-weight:400;letter-spacing:-.01em;font-size:25px;margin:0}.visible-count{color:#9eaaa7;border-left:1px solid var(--line);padding-left:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.toolbar-controls{display:flex;align-items:end;gap:10px}.field{display:grid;gap:7px}.field>span:first-child{color:#aebcb3}.input-wrap{position:relative;display:block}.input-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#94a6a2;stroke-width:1.7;pointer-events:none}.field input,.field select{height:43px;background:#242d31;border:1px solid #465256;border-radius:3px;color:var(--ink);font-size:14px;transition:border-color .18s,background-color .18s}.field input{width:245px;padding:0 12px 0 39px}.field input::placeholder{color:#8fa09b;opacity:1}.field select{width:145px;padding:0 30px 0 11px}.field select option{background:#242d31}.field input:focus,.field select:focus{background:#2b3639;border-color:var(--accent)}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:21px;align-items:start}.lane{min-width:0;background:#1e272a;border:1px solid #374246;border-top:3px solid var(--lane-color);min-height:225px}.lane-head{padding:14px 14px 13px;border-bottom:1px solid #354145;display:flex;justify-content:space-between;align-items:center;gap:5px}.lane-label{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--lane-color);text-transform:uppercase}.lane-count{color:#c1cbc7;font-variant-numeric:tabular-nums}.lane-list{display:grid;gap:8px;padding:8px}.task-card{min-width:0;background:#293337;border:1px solid #405055;transition:border-color .18s,background-color .18s}.task-card:focus-within{border-color:var(--accent)}.task-open{width:100%;min-height:146px;background:transparent;color:inherit;text-align:left;display:flex;flex-direction:column;align-items:stretch;padding:13px 13px 10px;transition:background-color .18s}.task-open:focus,.task-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.task-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.task-id{color:#94a49f;font-size:10px}.priority{font-family:"IBM Plex Mono",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.priority.high{color:#efb49f}.priority.medium{color:#d6c997}.priority.low{color:#a9baba}.task-title{font-size:15px;font-weight:600;line-height:1.34;color:#f2f3ee;margin:13px 0 7px;letter-spacing:-.017em}.task-summary{font-size:12px;color:#abbab4;line-height:1.4;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.task-footer{border-top:1px solid #445054;margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:5px;color:#b8c4be;font-size:10px}.task-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-due{white-space:nowrap;font-variant-numeric:tabular-nums}.task-arrow{color:var(--accent);font-size:15px;line-height:1;margin-left:2px}.empty-state,.load-error{margin-top:21px;background:#242e31;border:1px solid #455351;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.empty-glyph{font-family:"Oswald";font-size:64px;line-height:1;color:var(--accent)}.empty-state h3,.load-error h3{font-family:"Oswald";font-size:27px;font-weight:400;margin:9px 0 3px}.empty-state p,.load-error p{color:#b3c0bb;margin:0 0 22px}.button-solid{background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:700;padding:12px 20px;min-height:44px;transition:background-color .18s,transform .18s}.button-solid span{margin-left:11px}.main-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 42px 22px;display:flex;justify-content:space-between;gap:20px;color:#899a94;font-size:10px}
.detail-layer{position:fixed;inset:0;z-index:10;display:flex;justify-content:flex-end}.scrim{position:absolute;inset:0;background:rgba(6,13,15,.73)}.detail-panel{position:relative;z-index:1;width:min(600px,100%);height:100%;background:var(--paper);color:var(--paper-ink);display:flex;flex-direction:column;box-shadow:-20px 0 60px #060c0d55}.detail-panel:focus{outline:0}.detail-top{height:73px;min-height:73px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;border-bottom:1px solid #d1d6cb;color:#59675e}.close-button{width:44px;height:44px;background:#e0e4d9;color:#293331;display:grid;place-items:center;font-size:27px;line-height:1;transition:background-color .18s,transform .18s}.close-button:focus,.close-button:focus-visible,.status-section select:focus,.status-section select:focus-visible{outline-color:#506b31}.detail-scroll{overflow:auto;padding:39px 44px 55px}.detail-kicker{display:flex;align-items:center;gap:12px;color:#607069;font-size:11px}.detail-kicker-rule{width:26px;height:1px;background:#9ba7a0}.detail-scroll h2{font-family:"Oswald",Impact,sans-serif;font-weight:500;font-size:clamp(36px,3.7vw,49px);line-height:1.14;letter-spacing:-.026em;margin:19px 0 17px}.detail-status-row{display:flex;gap:12px;align-items:center;margin-bottom:37px}.status-badge{font-family:"IBM Plex Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:7px 10px;color:#283633;background:#d9e2dd}.status-badge.todo{background:#d4e9e9;color:#2c5454}.status-badge.in-progress{background:#efe9c5;color:#675e29}.status-badge.blocked{background:#f4d8cf;color:#784133}.status-badge.done{background:#d5e9d8;color:#2c5935}.detail-priority{font-family:"IBM Plex Mono";font-size:11px;color:#5b6b63;text-transform:uppercase}.detail-section{border-top:1px solid #c9d0c5;padding-top:20px;margin-top:25px}.detail-section-label{display:flex;align-items:center;gap:11px;margin-bottom:17px}.detail-section-label span{color:#536d32}.detail-section-label h3{font-family:"Oswald";font-size:21px;font-weight:400;margin:0}.detail-body{font-size:15px;line-height:1.65;color:#3a4542;white-space:pre-wrap}.detail-body p{margin:0 0 14px}.facts{margin:0}.facts>div{display:grid;grid-template-columns:125px minmax(0,1fr);border-top:1px solid #d7dcd2;padding:10px 0}.facts>div:first-child{border-top:0}.facts dt{color:#56655d}.facts dd{margin:0;font-size:14px;color:#293634}.status-field{display:block;color:#57655c;margin-bottom:8px}.status-section select{width:100%;height:47px;padding:0 13px;border:1px solid #9ea99f;background:#fbfbf5;color:#26302d;border-radius:2px;font-size:15px}.status-section select:active{border-color:#506b31}.status-hint{color:#56655c;font-size:11px;margin:10px 0 0}.status-feedback{min-height:20px;color:#3b6728;font-size:11px;margin:9px 0 0}.toast{position:fixed;bottom:24px;right:24px;z-index:20;background:var(--accent);color:var(--accent-ink);border:1px solid #a5bb57;padding:12px 18px;font-size:13px;font-weight:600;box-shadow:0 10px 30px #0005}.noscript{margin:20px;padding:20px;border:1px solid var(--accent);color:var(--ink)}
.lane-todo{--lane-color:var(--todo)}.lane-in-progress{--lane-color:var(--progress)}.lane-blocked{--lane-color:var(--blocked)}.lane-done{--lane-color:var(--done)}
.detail-open{overflow:hidden}
.field input,.field select{height:44px;font-size:16px}.status-section select{font-size:16px}
@media (hover:hover) and (pointer:fine){.quick-filter:hover{background:#2b3639;color:#f5f6ef}.quick-filter.active:hover{background:#35413b}.field input:hover,.field select:hover{border-color:#879b90}.task-card:hover{border-color:#94a980;background:#2d3939}.task-open:hover{background:#31403c}.button-solid:hover{background:#e8fbab}.close-button:hover{background:#d0dac5}.status-section select:hover{border-color:#607c4c}}
@media(max-width:1180px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.rail>.brand{padding-inline:20px}.rail-body{padding-inline:10px}.rail-foot{padding-inline:15px}.board{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-head,.board-section{padding-inline:30px}.topbar,.main-footer{padding-inline:30px}}
@media(max-width:700px){.app-shell{display:block}.rail{display:none}.topbar{height:63px;padding-inline:20px}.mobile-brand{display:flex;font-size:24px}.mobile-brand .brand-mark{transform:rotate(-21deg) scale(.82);transform-origin:left center;width:25px}.topbar-path{display:none}.topbar-caption{font-size:10px}.workspace-head{padding:25px 20px 21px}.title-row h1{font-size:44px}.title-row p{font-size:13px;max-width:250px}.total-card{gap:5px}.total-card>span{font-size:45px}.total-card small{font-size:9px;max-width:35px}.board-section{padding:0 20px 24px}.board-toolbar{display:block;padding-top:16px}.board-label{min-height:35px}.board-label h2{font-size:22px}.toolbar-controls{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:9px}.field input,.field select{width:100%;font-size:14px}.board{grid-template-columns:1fr;margin-top:17px;gap:15px}.lane{min-height:0}.lane-head{padding:12px 14px}.lane-list{gap:7px}.task-open{min-height:132px}.task-title{margin-top:9px}.main-footer{padding:17px 20px 22px}.main-footer span:last-child{display:none}.detail-top{height:61px;min-height:61px;padding-inline:20px}.detail-scroll{padding:29px 22px 45px}.detail-scroll h2{font-size:39px}.toast{right:12px;left:12px;bottom:12px;text-align:center}}
@media(max-width:370px){.toolbar-controls{grid-template-columns:minmax(0,1fr) 122px}.title-row h1{font-size:39px}.total-card>span{font-size:39px}.topbar-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0ms!important;animation-duration:0ms!important}}
