:root{--paper:#F7F6F1;--snow:#fff;--ink:#131A16;--pine:#16402E;--verdi:#10810D;--amber:#B87516;--rust:#A33B22;--mist:#6D7A73;--line:rgba(19,26,22,.12);--line-s:rgba(19,26,22,.07);--sage:#EDF3EE;--disp:"Bricolage Grotesque",sans-serif;--body:"Hanken Grotesk",sans-serif;--mono:"IBM Plex Mono",monospace;--sb:236px}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--verdi);color:#fff}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font:inherit;color:inherit}.disp{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;line-height:1.05}.mono,.num{font-family:var(--mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sb);background:var(--pine);display:flex;flex-direction:column;z-index:60}.sb-brand{display:flex;align-items:center;gap:11px;padding:18px 18px 16px}.sb-brand img{width:30px;height:30px;display:block;border-radius:2px}.sb-brand .t{font-family:var(--disp);font-weight:800;font-size:15.5px;letter-spacing:-.02em;color:#F1F5F1}.sb-brand .s{font-family:var(--mono);font-size:9px;letter-spacing:.26em;color:#7FA791;display:block;margin-top:1px}.sb-nav{flex:1 1;overflow-y:auto;padding:6px 10px 16px}.sb-sec{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:#5D8570;padding:16px 10px 7px;text-transform:uppercase}.sb-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;color:#BCD4C4;font-size:13.5px;font-weight:500;transition:background .18s,color .18s;position:relative}.sb-link:hover{background:rgba(255,255,255,.06);color:#F1F5F1}.sb-link.on{background:rgba(255,255,255,.1);color:#fff}.sb-link.on:before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:2px;background:#5DBF52;border-radius:0 2px 2px 0}.sb-link .ic{width:15px;height:15px;flex:none;opacity:.85}.sb-link .cnt{margin-left:auto;font-family:var(--mono);font-size:10.5px;background:rgba(255,255,255,.12);padding:1px 6px;border-radius:3px;color:#DCEAE1}.sb-link .cnt.hot{background:rgba(212,140,44,.34);color:#F5CE93}.sb-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.09);font-family:var(--mono);font-size:9.5px;color:#5D8570;letter-spacing:.06em}.sb-foot b{color:#7FA791;font-weight:400}.main{margin-left:var(--sb);min-height:100vh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(247,246,241,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-s);display:flex;align-items:center;gap:14px;padding:11px 26px}.tb-title{font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.025em}.tb-crumb{font-family:var(--mono);font-size:10.5px;color:var(--mist);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1px}.tb-spacer{flex:1 1}.search{display:flex;align-items:center;gap:8px;background:var(--snow);border:1px solid var(--line);border-radius:4px;padding:7px 11px;width:250px}.search input{border:none;outline:none;background:none;width:100%;font-size:13px}.search .k{font-family:var(--mono);font-size:10px;color:var(--mist);border:1px solid var(--line);border-radius:3px;padding:1px 5px}.timer-chip{display:flex;align-items:center;gap:9px;background:#FBF3E4;border:1px solid rgba(184,117,22,.34);border-radius:4px;padding:6px 11px}.timer-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.timer-chip .tt{font-family:var(--mono);font-size:13px;color:#8A560F;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.timer-chip .tk{font-size:11.5px;color:#8A560F;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.timer-chip button{color:#8A560F;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;border-left:1px solid rgba(184,117,22,.3);padding-left:9px}.role-sw{display:flex;background:var(--snow);border:1px solid var(--line);border-radius:4px;overflow:hidden}.role-sw button{font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:6px 10px;color:var(--mist);text-transform:uppercase;transition:.18s}.role-sw button.on{background:var(--ink);color:var(--paper)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--pine);border:1px solid var(--line);flex:none}.avatar.sm{width:22px;height:22px;font-size:9px}.avatar.lg{width:52px;height:52px;font-size:16px}.avatar.xl{width:78px;height:78px;font-size:22px}.content{padding:24px 26px 60px;max-width:1440px;width:100%}.view{display:none}.view.on{display:block;animation:fade .3s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.row{display:flex;align-items:center;gap:12px}.sec-title{font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:-.02em;margin-bottom:2px}.sec-sub{font-size:12.5px;color:var(--mist)}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--mist);text-transform:uppercase}.block{margin-bottom:26px}.grid{display:grid;grid-gap:14px;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g-2-1{grid-template-columns:1.7fr 1fr}@media(max-width:1140px){.g4{grid-template-columns:repeat(2,1fr)}.g-2-1,.g3{grid-template-columns:1fr}}.card{background:var(--snow);border:1px solid var(--line-s);border-radius:6px}.card-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-s)}.card-h .t{font-family:var(--disp);font-weight:700;font-size:13.5px;letter-spacing:-.01em}.card-h .sp{flex:1 1}.card-b{padding:16px}.card-b.flush{padding:0}.stat{background:var(--snow);border:1px solid var(--line-s);border-radius:6px;padding:15px 16px;position:relative;transition:border-color .25s}.stat:hover{border-color:var(--line)}.stat .lbl{font-size:9.5px;letter-spacing:.16em;color:var(--mist);text-transform:uppercase}.stat .lbl,.stat .v{font-family:var(--mono)}.stat .v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:29px;font-weight:500;letter-spacing:-.03em;margin-top:7px;line-height:1}.stat .v small{font-size:13px;color:var(--mist);margin-left:3px;letter-spacing:0}.stat .d{font-size:11.5px;color:var(--mist);margin-top:6px}.stat .d .up{color:var(--verdi)}.stat .d .dn{color:var(--rust)}.stat.accent .v{color:var(--verdi)}.stat.warn .v{color:var(--amber)}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.chip.backlog{background:#EFEFEA;color:#67716B;border-color:var(--line-s)}.chip.ready{background:#E7EEF6;color:#3C5C81;border-color:#CBDCEC}.chip.progress{background:#E9F3E8;color:#1E6A1C;border-color:#C8E2C6}.chip.review{background:#F1EBF7;color:#6A4A8C;border-color:#DFD2EC}.chip.done{background:#E8EFEA;color:#42715A;border-color:#CDDFD4}.chip.blocked{background:#FBF0E2;color:#8A560F;border-color:#EBD3AE}.chip.p-high{background:#F9E9E4;color:#9A3A20;border-color:#EFCFC5}.chip.p-med{background:#FBF3E4;color:#8A560F;border-color:#EBD3AE}.chip.p-low{background:#EFEFEA;color:#67716B;border-color:var(--line-s)}.chip.leave{background:#E7EEF6;color:#3C5C81;border-color:#CBDCEC}.chip.solid{background:var(--verdi);color:#fff;border-color:var(--verdi)}.tag{font-size:9.5px;letter-spacing:.1em;color:var(--verdi);border:1px solid rgba(16,129,13,.3);padding:2px 7px;border-radius:3px}.btn,.tag{font-family:var(--mono);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;letter-spacing:.08em;padding:8px 14px;border-radius:4px;border:1px solid transparent;transition:.2s}.btn-p{background:var(--ink);color:var(--paper)}.btn-p:hover{background:var(--verdi)}.btn-g{border-color:var(--line);color:var(--ink);background:var(--snow)}.btn-g:hover{border-color:var(--verdi);color:var(--verdi)}.btn-q{color:var(--mist);padding:6px 9px}.btn-q:hover{color:var(--ink);background:var(--sage)}.btn-d{border-color:rgba(163,59,34,.3);color:var(--rust);background:var(--snow)}.btn-d:hover{background:#F9E9E4}.btn.sm{padding:5px 10px;font-size:10px}table{width:100%;border-collapse:collapse}th{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--mist);text-transform:uppercase;text-align:left;padding:10px 16px;font-weight:400;white-space:nowrap}td,th{border-bottom:1px solid var(--line-s)}td{padding:12px 16px;font-size:13.5px;vertical-align:middle}tbody tr{transition:background .16s}tbody tr:hover{background:#FAFAF7}tbody tr:last-child td{border-bottom:none}td.n{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-name{font-weight:600}.t-sub{font-size:11.5px;color:var(--mist)}.bar{height:5px;background:var(--line-s);overflow:hidden}.bar,.bar i{border-radius:3px}.bar i{display:block;height:100%;background:var(--verdi);transition:width .5s cubic-bezier(.2,.8,.2,1)}.bar i.warn{background:var(--amber)}.bar i.over{background:var(--rust)}.bar.thick{height:8px}.blocked-bar{background:#FBF0E2;border:1px solid #ebd3ae;border-radius:6px;padding:13px 16px;gap:14px;margin-bottom:18px}.blocked-bar,.blocked-bar .ico{display:flex;align-items:center}.blocked-bar .ico{width:30px;height:30px;border-radius:4px;background:#F3DFC0;justify-content:center;flex:none}.blocked-bar .tx{flex:1 1;min-width:0}.blocked-bar .h{font-family:var(--disp);font-weight:700;font-size:13.5px;color:#7A4C0D}.blocked-bar .m{font-size:12.5px;color:#8A560F;margin-top:1px}.blocked-bar .m b{font-weight:600}.blocked-bar .clk{font-family:var(--mono);font-size:17px;color:#8A560F;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;line-height:1.1}.blocked-bar .clk small{display:block;font-size:8.5px;letter-spacing:.16em;opacity:.72}.blocked-bar .btn{border-color:#E0C089;color:#7A4C0D;background:#FDF8EF}.blocked-bar .btn:hover{background:#F7EBD6}.board{display:grid;grid-template-columns:repeat(5,minmax(215px,1fr));grid-gap:12px;gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}.col{background:#F2F1EC;border:1px solid var(--line-s);border-radius:6px;flex-direction:column;min-height:180px}.col,.col-h{display:flex}.col-h{align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-s)}.col-h .n{letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.col-h .c,.col-h .n{font-family:var(--mono);font-size:10px}.col-h .c{color:var(--mist);background:var(--snow);border:1px solid var(--line-s);padding:0 6px;border-radius:3px}.col-h .dot{width:6px;height:6px;border-radius:50%}.col-b{padding:9px;display:flex;flex-direction:column;gap:9px;min-height:60px}.tk{background:var(--snow);border:1px solid var(--line-s);border-radius:5px;padding:11px 12px;cursor:-webkit-grab;cursor:grab;transition:box-shadow .22s,transform .22s,border-color .22s}.tk:hover{box-shadow:0 14px 28px -20px rgba(19,26,22,.4);border-color:var(--line);transform:translateY(-1px)}.tk.drag{opacity:.4}.tk .id{font-family:var(--mono);font-size:9.5px;color:var(--mist);letter-spacing:.1em}.tk .ti{font-size:13px;font-weight:600;margin:5px 0 9px;line-height:1.35}.tk .mt{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tk .est{font-family:var(--mono);font-size:9.5px;color:var(--mist);margin-left:auto}.col.drop-on{background:#E9F3E8;border-color:#C8E2C6}.lrow{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-s);transition:background .16s}.lrow:last-child{border-bottom:none}.lrow:hover{background:#FAFAF7}.lrow .g{flex:1 1;min-width:0}.lrow .h{font-size:13.5px;font-weight:600}.lrow .s{font-size:11.5px;color:var(--mist);margin-top:1px}.ts{width:100%;border-collapse:collapse}.ts th{text-align:center;padding:9px 6px}.ts th:first-child{text-align:left;min-width:230px}.ts td{padding:0;border-bottom:1px solid var(--line-s)}.ts td:first-child{padding:11px 16px}.ts .cell{width:100%;height:42px;border:none;background:none;text-align:center;font-family:var(--mono);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-left:1px solid var(--line-s);transition:background .16s;outline:none}.ts .cell:hover{background:var(--sage)}.ts .cell:focus{background:#E4F0E3;box-shadow:inset 0 0 0 1.5px var(--verdi)}.ts .cell.empty{color:#C6CCC7}.ts tfoot td{background:#F2F1EC;font-family:var(--mono);font-weight:500;border-top:1px solid var(--line)}.ts tfoot .tot{text-align:center;border-left:1px solid var(--line-s);padding:11px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ts .wknd{background:#FAFAF7}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:var(--line-s);border:1px solid var(--line-s);border-radius:6px;overflow:hidden}.cal .dh{background:#F2F1EC;padding:8px;text-align:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--mist);text-transform:uppercase}.cal .dy{background:var(--snow);min-height:82px;padding:7px 8px}.cal .dy.off{background:#FAFAF7;color:#B9BFBA}.cal .dy .d{font-family:var(--mono);font-size:11px;color:var(--mist)}.cal .dy.today .d{background:var(--ink);color:var(--paper);border-radius:3px;padding:0 5px;display:inline-block}.cal .ev{font-size:10.5px;padding:2px 5px;border-radius:3px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal .ev.lv{background:#E7EEF6;color:#3C5C81}.cal .ev.hol{background:#E9F3E8;color:#1E6A1C}.cal .ev.sick{background:#F9E9E4;color:#9A3A20}.field{margin-bottom:14px}.field label{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--mist);text-transform:uppercase;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--snow);border:1px solid var(--line);border-radius:4px;padding:9px 11px;font-size:13.5px;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--verdi);box-shadow:0 0 0 3px rgba(16,129,13,.1)}.field textarea{resize:vertical;min-height:88px;font-family:var(--body);line-height:1.6}.field .hint{font-size:11.5px;color:var(--mist);margin-top:5px}.scrim{position:fixed;inset:0;background:rgba(19,26,22,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:60px 20px;overflow-y:auto}.scrim.on{display:flex}.modal{background:var(--paper);border-radius:8px;width:100%;max-width:720px;box-shadow:0 40px 80px -30px rgba(19,26,22,.5);animation:pop .26s cubic-bezier(.2,.8,.2,1)}.modal.wide{max-width:920px}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}.modal-h{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-s)}.modal-b{padding:20px;max-height:66vh;overflow-y:auto}.modal-f{display:flex;gap:9px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line-s);background:var(--snow);border-radius:0 0 8px 8px}.divider{height:1px;background:var(--line-s);margin:16px 0}.empty{text-align:center;padding:40px 20px;color:var(--mist);font-size:13px}.empty .e{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}.kv{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line-s);font-size:13px}.kv:last-child{border-bottom:none}.kv .k{color:var(--mist);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.kv .v{font-weight:500;text-align:right}.act{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-s);font-size:12.5px}.act:last-child{border-bottom:none}.act .tm{font-family:var(--mono);font-size:10px;color:var(--mist);flex:none;width:52px;padding-top:2px}.act .bd{flex:1 1;color:#41504A}.act .bd b{color:var(--ink);font-weight:600}.chk{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-s);font-size:13.5px}.chk:last-child{border-bottom:none}.chk .bx{width:17px;height:17px;border:1.5px solid var(--line);border-radius:3px;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s}.chk .bx.done{background:var(--verdi);border-color:var(--verdi);color:#fff}.chk.is-done .lb{color:var(--mist);text-decoration:line-through}.chk .who{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--mist);letter-spacing:.1em;text-transform:uppercase}.hide{display:none!important}.focus{position:fixed;inset:0;background:var(--paper);z-index:300;display:none;flex-direction:column;align-items:center;justify-content:center;padding:40px}.focus.on{display:flex;animation:fade .3s ease}.focus .wrap{max-width:660px;width:100%}.focus .ex{position:absolute;top:22px;right:26px}.focus .fid{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--mist)}.focus h2{font-family:var(--disp);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1.1;margin:12px 0 18px}.focus .brief{background:var(--snow);border:1px solid var(--line-s);border-radius:6px;padding:18px 20px;font-size:13.5px;color:#41504A;line-height:1.7;max-height:220px;overflow-y:auto}.focus .brief b{color:var(--ink)}.focus .clock{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:70px;letter-spacing:-.04em;text-align:center;margin:26px 0 6px;line-height:1}.focus .cl-lbl{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--mist);text-transform:uppercase}.focus .ctl{display:flex;gap:10px;justify-content:center;margin-top:24px}.mob-btn{display:none}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sidebar.open{transform:none;box-shadow:0 0 60px rgba(19,26,22,.4)}.main{margin-left:0}.mob-btn{display:inline-flex}.search{display:none}.content{padding:18px 16px 50px}.g2,.g3,.g4{grid-template-columns:1fr}.board{grid-template-columns:repeat(5,minmax(200px,1fr))}.timer-chip .tk{display:none}}#bloom{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(460px circle at var(--bx,-500px) var(--by,-500px),rgba(16,129,13,.055),rgba(16,129,13,.018) 42%,transparent 66%)}@media(pointer:coarse){#bloom{display:none}}.hero-band{position:relative;overflow:hidden;border-radius:8px;background:var(--pine);padding:30px 32px;margin-bottom:18px;isolation:isolate}.hero-band:before{inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 0);background-size:56px 56px}.hero-band:after,.hero-band:before{content:"";position:absolute;z-index:-1}.hero-band:after{width:520px;height:520px;right:-140px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(93,191,82,.26),transparent 66%);animation:drift 14s ease-in-out infinite alternate}@keyframes drift{to{transform:translate(-60px,50px) scale(1.14)}}.hero-band .hb-in{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}.hb-greet{font-family:var(--disp);font-weight:800;letter-spacing:-.035em;font-size:clamp(26px,3.4vw,42px);color:#F4F8F4;line-height:1.03}.hb-greet em{font-style:normal;color:#5DBF52}.hb-meta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#89B39A;text-transform:uppercase;margin-bottom:11px;display:flex;align-items:center;gap:10px}.hb-meta .live{width:6px;height:6px;border-radius:50%;background:#5DBF52;animation:pulse 1.8s infinite}.hb-line{font-size:14px;color:#C6DCCD;margin-top:12px;max-width:56ch;line-height:1.6}.hb-line b{color:#fff;font-weight:600}.hb-pulse{display:flex;align-items:flex-end;gap:5px;height:64px}.hb-pulse i{width:9px;border-radius:2px;background:rgba(255,255,255,.2);transform-origin:bottom;animation:grow .8s cubic-bezier(.2,.9,.3,1) backwards}.hb-pulse i.hi{background:#5DBF52}@keyframes grow{0%{transform:scaleY(0)}}.hb-pulse-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:#6E9B80;margin-top:9px;text-align:right}.spark{display:block;width:100%;height:26px;margin-top:9px;overflow:visible}.spark path.ln{fill:none;stroke:var(--verdi);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240;animation:draw 1.5s cubic-bezier(.2,.8,.2,1) .25s forwards}.spark path.ar{fill:url(#sg);opacity:0;animation:fadein .9s 1s forwards}.spark.amber path.ln{stroke:var(--amber)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadein{to{opacity:1}}.ring{transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:5;stroke-linecap:round}.ring .bg{stroke:var(--line-s)}.ring .fg{stroke:var(--verdi);stroke-dasharray:var(--c);stroke-dashoffset:var(--c);animation:ringfill 1.3s cubic-bezier(.2,.8,.2,1) .2s forwards}@keyframes ringfill{to{stroke-dashoffset:var(--o)}}.ring-wrap{position:relative;width:66px;height:66px;flex:none}.ring-wrap .lbl{position:absolute;display:flex;align-items:center;font-family:var(--mono);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cmdk,.ring-wrap .lbl{inset:0;justify-content:center}.cmdk{position:fixed;z-index:400;display:none;align-items:flex-start;padding:14vh 20px;background:rgba(19,26,22,.34);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cmdk.on{display:flex;animation:fade .16s ease}.cmdk-box{width:100%;max-width:600px;background:var(--paper);border-radius:10px;box-shadow:0 50px 90px -30px rgba(19,26,22,.6),0 0 0 1px rgba(19,26,22,.1);overflow:hidden;animation:cmdpop .22s cubic-bezier(.2,.9,.3,1)}@keyframes cmdpop{0%{opacity:0;transform:translateY(-12px) scale(.985)}to{opacity:1;transform:none}}.cmdk-in{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--line-s)}.cmdk-in input{flex:1 1;border:none;outline:none;background:none;font-size:16px;font-family:var(--body)}.cmdk-in input::placeholder{color:#A9B2AC}.cmdk-in .esc{font-family:var(--mono);font-size:9.5px;color:var(--mist);border:1px solid var(--line);border-radius:3px;padding:2px 6px}.cmdk-list{max-height:388px;overflow-y:auto;padding:7px}.cmdk-grp{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--mist);text-transform:uppercase;padding:11px 11px 6px}.cmdk-it{gap:11px;padding:9px 11px;border-radius:5px;cursor:pointer;font-size:13.5px}.cmdk-it,.cmdk-it .ic{display:flex;align-items:center}.cmdk-it .ic{width:24px;height:24px;border-radius:4px;background:var(--sage);justify-content:center;flex:none;font-family:var(--mono);font-size:9px;color:var(--pine)}.cmdk-it .tx{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-it .tx small{display:block;font-size:11px;color:var(--mist)}.cmdk-it .hint{font-family:var(--mono);font-size:9.5px;color:var(--mist)}.cmdk-it.sel{background:var(--ink);color:var(--paper)}.cmdk-it.sel .hint,.cmdk-it.sel .tx small{color:#9FB0A6}.cmdk-it.sel .ic{background:var(--verdi);color:#fff}.cmdk-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--line-s);background:var(--snow);font-family:var(--mono);font-size:9.5px;color:var(--mist);letter-spacing:.08em}.cmdk-foot b{border:1px solid var(--line);border-radius:3px;padding:1px 5px;font-weight:400;margin-right:5px}.toasts{position:fixed;right:22px;bottom:22px;z-index:500;display:flex;flex-direction:column;gap:9px;align-items:flex-end}.toast{display:flex;align-items:center;gap:11px;background:var(--ink);color:var(--paper);border-radius:6px;padding:12px 16px;font-size:13px;min-width:250px;box-shadow:0 22px 44px -20px rgba(19,26,22,.6);animation:tin .34s cubic-bezier(.2,.9,.3,1)}.toast.out{animation:tout .3s forwards}@keyframes tin{0%{opacity:0;transform:translateX(30px)}}@keyframes tout{to{opacity:0;transform:translateX(30px)}}.toast .tic{width:20px;height:20px;border-radius:50%;background:var(--verdi);display:flex;align-items:center;justify-content:center;flex:none}.toast small{display:block;color:#9FB0A6;font-size:11px;margin-top:1px}.view.on>*{animation:riseIn .5s cubic-bezier(.2,.85,.3,1) backwards}.view.on>:first-child{animation-delay:.02s}.view.on>:nth-child(2){animation-delay:.07s}.view.on>:nth-child(3){animation-delay:.12s}.view.on>:nth-child(4){animation-delay:.17s}.view.on>:nth-child(5){animation-delay:.22s}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}}@keyframes shipFlash{0%{box-shadow:0 0 0 0 rgba(16,129,13,.5)}to{box-shadow:0 0 0 16px rgba(16,129,13,0)}}.tk.shipped{animation:shipFlash .7s ease-out;border-color:var(--verdi)}.spark-burst{position:fixed;width:7px;height:7px;border-radius:50%;background:var(--verdi);pointer-events:none;z-index:600}.card{transition:box-shadow .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}.stat{cursor:default}.stat:hover{transform:translateY(-2px);box-shadow:0 20px 38px -26px rgba(19,26,22,.4)}#projects-grid .card:hover,#team-grid .card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -28px rgba(19,26,22,.42);border-color:var(--line)}.btn{position:relative;overflow:hidden}.btn-p:after{content:"";position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .25s}.btn-p:active:after{opacity:.14}.lrow{position:relative}.lrow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--verdi);transform:scaleY(0);transform-origin:center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.lrow:hover:before{transform:scaleY(1)}.sb-link{overflow:hidden}.avatar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}.avatar:hover{transform:scale(1.12)}@media(prefers-reduced-motion:reduce){#bloom{display:none}*,:after,:before{animation-duration:1ms!important;transition-duration:1ms!important}}.board{grid-template-columns:repeat(6,minmax(215px,1fr))}@media(max-width:980px){.board{grid-template-columns:repeat(6,minmax(200px,1fr))}}.sk{background:linear-gradient(90deg,var(--line-s) 25%,rgba(19,26,22,.03) 37%,var(--line-s) 63%);background-size:400% 100%;border-radius:3px;animation:shimmer 1.4s ease infinite;display:block;height:11px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.sk.tall{height:64px;border-radius:6px}.sk.line{margin-bottom:9px}.sk.line:last-child{margin-bottom:0}.err{padding:26px 20px;text-align:center;font-size:12.5px}.err,.err .e{color:var(--rust)}.err .e{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}.restricted{padding:26px 20px;text-align:center;color:var(--mist);font-size:12.5px}.restricted .e{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}.field .bad{font-size:11.5px;color:var(--rust);margin-top:5px}.field input.bad-in,.field select.bad-in,.field textarea.bad-in{border-color:var(--rust)}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:inherit;border-color:var(--line);color:inherit}.md{font-size:13.5px;color:#41504A;line-height:1.75}.md h1,.md h2,.md h3{font-family:var(--disp);font-weight:700;color:var(--ink);letter-spacing:-.01em;margin:16px 0 7px;line-height:1.25}.md h1{font-size:17px}.md h2{font-size:15px}.md h3{font-size:13.5px}.md h1:first-child,.md h2:first-child,.md h3:first-child{margin-top:0}.md p{margin-bottom:11px}.md p:last-child{margin-bottom:0}.md ol,.md ul{margin:0 0 11px 18px}.md li{margin-bottom:4px}.md code{font-family:var(--mono);font-size:12px;background:var(--sage);padding:1px 5px;border-radius:3px;color:var(--pine)}.md pre{background:#F2F1EC;border:1px solid var(--line-s);border-radius:5px;padding:12px 14px;overflow-x:auto;margin-bottom:11px}.md pre code{background:none;padding:0}.md b,.md strong{color:var(--ink);font-weight:600}.md a{color:var(--verdi);text-decoration:underline;text-underline-offset:2px}.md hr{border:none;border-top:1px solid var(--line-s);margin:14px 0}.md blockquote{border-left:2px solid var(--line);padding-left:12px;color:var(--mist)}.bell{position:relative}.bell .pip{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--rust);border:1.5px solid var(--paper)}.notif-panel{position:absolute;top:46px;right:0;width:330px;background:var(--snow);border:1px solid var(--line);border-radius:6px;z-index:80;box-shadow:0 24px 48px -28px rgba(19,26,22,.4);max-height:60vh;overflow-y:auto}.notif{display:block;padding:11px 14px;border-bottom:1px solid var(--line-s)}.notif:last-child{border-bottom:none}.notif.unread{background:#FAFBF9}.notif .h{font-size:12.5px;font-weight:600}.notif .s{font-size:11.5px;color:var(--mist);margin-top:2px;line-height:1.5}.notif .t{font-family:var(--mono);font-size:9.5px;color:var(--mist);margin-top:4px}.ts .cell.saving{background:#FBF3E4}.ts .cell.bad-in{box-shadow:inset 0 0 0 1.5px var(--rust)}.col.drop-no{background:#F9E9E4;border-color:#EFCFC5}.toast.warn .tic{background:var(--amber)}.toast.bad .tic{background:var(--rust)}@media(max-width:1180px){.topbar .tb-crumb{display:none}}@media(max-width:980px){.role-sw{display:none}}.avatar{overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-edit{position:relative;display:inline-block}.avatar-edit .pen{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;border:2px solid var(--snow);background:var(--pine);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s,transform .2s}.avatar-edit .pen:hover{background:var(--verdi);transform:scale(1.08)}.avatar-edit .pen:disabled{opacity:.55;cursor:default;transform:none}.lrow.flush{padding:10px 0 10px 10px;margin-left:-10px}.imp-src{min-height:190px;font-family:var(--mono);font-size:12px;line-height:1.65;transition:border-color .18s,background .18s}.imp-src.over{border-color:var(--verdi);background:var(--sage)}.imp{width:100%;border-collapse:collapse}.imp th{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--mist);text-transform:uppercase;text-align:center;padding:8px;font-weight:400}.imp td,.imp th{border-bottom:1px solid var(--line-s)}.imp td{padding:9px 8px;vertical-align:top}.imp td:first-child{width:26px;padding-top:12px}.imp tr:last-child td{border-bottom:none}.imp tr.off{opacity:.42}.imp .t{font-size:13px;font-weight:600;line-height:1.35}.imp .s{color:var(--mist);margin-top:2px}.imp .s,.imp .w{font-size:11px;line-height:1.5}.imp .w{color:#8A560F;margin-top:4px}.imp select{font-size:12px;padding:5px 7px;min-width:118px}