.pg{display:grid;grid-template-columns:270px 1fr;gap:14px;align-items:start;min-height:420px}.pg-side{border:1px solid var(--border);border-radius:8px;background:var(--card);padding:8px;max-height:calc(100vh - 150px);overflow:auto;position:sticky;top:8px;display:flex;flex-direction:column;gap:2px}.pg-side-head{display:flex;gap:6px;margin-bottom:6px}.pg-search{flex:1;min-width:0;padding:6px 9px;font-size:.9rem}.pg button.mini,.ik button.mini{padding:4px 8px;font-size:.82rem;line-height:1.3}.pg-tree,.pg-hits{display:flex;flex-direction:column;gap:1px}.pg-hits-n{font-size:.78rem;color:var(--muted);margin:2px 4px 6px}.pg-section{margin-bottom:4px}.pg-section-h{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:5px}.pg-section-h:hover{color:var(--fg)}.pg-section-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-section-c{font-weight:600;opacity:.7}.pg-row{display:flex;align-items:center;gap:2px;border-radius:5px}.pg-row:hover{background:color-mix(in srgb,var(--accent) 8%,var(--card))}.pg-row.on{background:color-mix(in srgb,var(--accent) 16%,var(--card))}.pg-row.on .pg-item-t{font-weight:600}.pg-caret{flex:0 0 16px;width:16px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.7rem;line-height:1;border-radius:3px}.pg-caret:hover{color:var(--fg)}.pg-caret.spacer{cursor:default;pointer-events:none}.pg-item{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:1px;padding:5px 6px;border:none;background:transparent;color:var(--fg);cursor:pointer;border-radius:5px;font:inherit}.pg-hits .pg-item:hover{background:color-mix(in srgb,var(--accent) 8%,var(--card))}.pg-hits .pg-item.on{background:color-mix(in srgb,var(--accent) 16%,var(--card))}.pg-item-t{font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-item-s{font-size:.75rem;color:var(--muted)}.pg-count{flex:0 0 auto;margin-right:6px;min-width:16px;padding:0 5px;border-radius:99px;text-align:center;font-size:.7rem;color:var(--muted);background:color-mix(in srgb,var(--fg) 8%,transparent)}.pg-snippet{white-space:normal;line-height:1.4}.pg-snippet mark{background:color-mix(in srgb,var(--accent) 28%,transparent);color:inherit;border-radius:2px;padding:0 1px}.pg-empty{color:var(--muted);padding:24px 8px;text-align:center;font-size:.9rem}.pg-main{min-width:0}.pg-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.pg-head h2{margin:0 0 4px;font-size:1.25rem}.pg-meta{margin:0;font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pg-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pg-err{color:var(--error);margin:0 0 8px;font-size:.9rem}.pg-trust{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;font-size:.78rem;line-height:1.5;border:1px solid var(--border)}.pg-trust.c-wip{color:var(--muted)}.pg-trust.c-unvalidated{color:#b45309;border-color:color-mix(in srgb,#f59e0b 50%,transparent);background:color-mix(in srgb,#f59e0b 12%,transparent)}.pg-trust.c-validated{color:#15803d;border-color:color-mix(in srgb,#22c55e 50%,transparent);background:color-mix(in srgb,#22c55e 12%,transparent)}.pg-trust.c-validated.lapsed{color:var(--error);border-color:color-mix(in srgb,var(--error) 50%,transparent);background:color-mix(in srgb,var(--error) 10%,transparent)}@media(prefers-color-scheme:dark){.pg-trust.c-unvalidated{color:#fbbf24}.pg-trust.c-validated{color:#4ade80}}.pg-revs{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:12px}.pg-revs h4{margin:0 0 6px;font-size:.85rem}.pg-rev{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:var(--muted);padding:3px 0}.pg-edit{display:flex;flex-direction:column;gap:8px}.pg-title-in{font-size:1.05rem;font-weight:600}.pg-meta-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.pg-meta-row label{flex:1;min-width:160px;max-width:320px}.pg-toolbar{display:flex;gap:4px;flex-wrap:wrap}.pg-toolbar button{padding:3px 8px;font-size:.8rem}.pg-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.pg-split textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55;min-height:420px;width:100%}.pg-preview{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:4px 14px;overflow:auto;max-height:70vh;min-height:420px}.pg-hint{font-size:.78rem;color:var(--muted);margin:0}.pg-hint code{background:color-mix(in srgb,var(--fg) 8%,transparent);padding:1px 5px;border-radius:4px;margin:0 2px}.pg-files{display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem}.pg-file{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:10px;padding:1px 6px}.pg-file .link{padding:0}.pg-read{max-width:76ch}.pg-foot{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px;padding-top:14px;border-top:1px solid var(--border)}.pg-foot>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.pg-foot h4{margin:0 0 2px;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.pg-reason{display:inline-block;padding:0 7px;border-radius:10px;font-size:.75rem;line-height:1.6;border:1px solid var(--border);color:var(--muted)}.pg-reason.r-resolved{color:#15803d;border-color:color-mix(in srgb,#22c55e 50%,transparent)}.pg-reason.r-helped{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.pg-reason.r-wrong{color:var(--error);border-color:color-mix(in srgb,var(--error) 50%,transparent)}@media(prefers-color-scheme:dark){.pg-reason.r-resolved{color:#4ade80}}.md{font-size:.95rem;line-height:1.6;color:var(--fg);overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{line-height:1.3;font-weight:650;margin:1.4em 0 .5em}.md h1{font-size:1.4rem}.md h2{font-size:1.15rem;padding-bottom:.25em;border-bottom:1px solid var(--border)}.md h3{font-size:1.02rem}.md h4,.md h5,.md h6{font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.md p{margin:0 0 1em}.md ul,.md ol{margin:0 0 1em;padding-left:1.5em}.md li{margin:.25em 0}.md li.task-list-item{list-style:none;margin-left:-1.3em}.md li.task-list-item input{margin-right:6px;accent-color:var(--accent)}.md blockquote{margin:0 0 1em;padding:.1em 0 .1em 12px;border-left:3px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--muted)}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:color-mix(in srgb,var(--fg) 8%,transparent);padding:.12em .4em;border-radius:4px}.md pre{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0 0 1em}.md pre code{background:none;padding:0;font-size:.86rem;line-height:1.55}.md a{color:var(--accent);text-decoration:none}.md a:hover{text-decoration:underline}.md img{max-width:100%;border-radius:6px;margin:.4em 0}.md hr{border:none;border-top:1px solid var(--border);margin:1.6em 0}.md-tablewrap{overflow-x:auto;margin:0 0 1em}.md table{border-collapse:collapse;font-size:.88rem;width:100%}.md th,.md td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.md th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.md-wiki{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--accent);border-bottom:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);border-radius:0}.md-wiki:hover{border-bottom-style:solid}.ik{display:grid;gap:6px}.ik h3{font-size:.95rem;margin:8px 0 2px}.ik-linked{display:flex;flex-direction:column;gap:2px}.ik-row{display:flex;align-items:center;gap:8px;padding:3px 0}.ik-title{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ik-read{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px 12px;margin:2px 0 6px;max-height:320px;overflow:auto}.ik-search{width:100%;padding:6px 9px;font-size:.9rem}.ik-hits{display:flex;flex-direction:column;gap:2px}.ik-hits-n{font-size:.78rem;color:var(--muted);margin:2px 0}.ik-hit{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:.85rem}.ik-hit b{font-weight:600}.ik-attach{display:inline-flex;gap:3px;flex-shrink:0}.ik-already{font-size:.78rem;color:var(--muted);flex-shrink:0}@media(max-width:1100px){.pg-split{grid-template-columns:1fr}.pg-preview{min-height:0}}@media(max-width:860px){.pg{grid-template-columns:1fr}.pg-side{position:static;max-height:320px}}.catpick{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card)}.catpick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.catpick-current{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.9rem}.catpick-current .sep{color:var(--muted)}.catpick-meta{color:var(--muted);font-size:.78rem}.tier-chip{display:inline-block;padding:0 7px;border-radius:10px;font-size:.75rem;line-height:1.6;background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--fg);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));white-space:nowrap}.catpick-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.catpick-row select{flex:1;min-width:140px;padding:5px 8px}.catpick button,.related button{padding:5px 10px;font-size:.85rem}.catpick-suggest{display:grid;gap:4px;padding:6px 8px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--card));font-size:.85rem}.catpick-suggest .why{color:var(--muted)}.catpick .notice{font-size:.82rem;color:#2da44e;margin:0}.catpick .error{font-size:.82rem}.related{display:grid;gap:4px;margin-top:4px}.related-toggle{background:none;border:none;color:var(--accent);text-align:left;padding:2px 0;font-size:.85rem;cursor:pointer}.related-group{display:grid;gap:2px;font-size:.85rem}.related-group h4{margin:4px 0 0;font-size:.8rem;color:var(--muted);font-weight:500}.related-group ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.related-group li{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.related-group .repo{color:var(--muted);font-size:.78rem}.related-group .shared{color:var(--muted);font-size:.75rem}.related-group .snippet{color:var(--muted);font-size:.78rem;width:100%}.related .errors{color:var(--error);font-size:.8rem;margin:0}.cat-admin{display:grid;gap:12px}.cat-admin .subtabs{display:flex;gap:4px}.cat-admin table{font-size:.88rem}.cat-admin th,.cat-admin td{padding:5px 6px}.cat-admin td input,.cat-admin td select{padding:4px 6px;font-size:.88rem;width:100%}.cat-admin td input.num{width:70px}.cat-admin td input.code{width:90px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cat-admin tr.category-row td{background:color-mix(in srgb,var(--accent) 8%,var(--card));font-weight:600}.cat-admin tr.archived td{opacity:.55}.cat-admin .actions{display:flex;gap:4px;white-space:nowrap}.cat-admin .actions button{padding:2px 7px;font-size:.8rem}.cat-admin .rule-pattern{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.cat-admin .tester{display:grid;gap:6px;padding:10px;border:1px solid var(--border);border-radius:8px}.cat-admin .tester textarea{font:inherit;font-size:.88rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.cat-admin .dirty{color:#b45309;font-size:.85rem}.prod-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prod-head .spacer{flex:1}.prod-range{display:inline-flex;gap:2px}.prod-range button{background:transparent;color:var(--muted);border:1px solid var(--border);padding:5px 10px}.prod-range button.active{color:var(--fg);background:var(--card);border-color:var(--accent)}.prod-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.prod-stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.prod-stat .n{font-size:1.4rem;font-weight:600}.prod-stat .l{color:var(--muted);font-size:.82rem}.prod-table tr.clickable{cursor:pointer}.prod-table tr.ghost td{color:var(--muted);font-style:italic}.prod-table td.num,.prod-table th.num{text-align:right;font-variant-numeric:tabular-nums}.prod-scale{display:inline-flex;align-items:center;gap:6px}.prod-scale .track{position:relative;width:90px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.prod-scale .zero{position:absolute;top:0;bottom:0;width:1px;background:var(--fg);opacity:.5}.prod-scale .fill{position:absolute;top:0;bottom:0;background:var(--accent)}.prod-scale .fill.neg{background:var(--error)}.prod-tiers{display:inline-flex;align-items:flex-end;gap:2px;height:22px}.prod-tiers svg{display:block}.prod-tiers .t-bar{fill:var(--accent)}.prod-tiers .t-bar.e0{fill:var(--muted);opacity:.6}.prod-flag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.76rem;border:1px solid var(--border);margin-right:4px;white-space:nowrap}.prod-flag.standout{border-color:var(--accent);color:var(--accent)}.prod-flag.review,.prod-flag.cherry_pick{border-color:var(--error);color:var(--error)}.prod-drill h3{margin:0 0 6px;font-size:1rem}.prod-kind{display:inline-block;padding:0 6px;border-radius:4px;font-size:.76rem;border:1px solid var(--border);color:var(--muted);margin-right:6px}.prod-factors{display:flex;gap:6px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.prod-factors span{border:1px solid var(--border);border-radius:4px;padding:0 5px}.prod-factors span.hit{color:var(--fg)}.prod-factors span.neg{color:var(--error);border-color:var(--error)}.prod-override{text-decoration:line-through;color:var(--muted);margin-right:4px}.prod-provisional td{color:var(--muted)}.prod-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:grid;gap:10px}.prod-panel h3{margin:0;font-size:1rem}.prod-panel p{margin:0}.prod-weights h4{margin:14px 0 6px;font-size:.95rem}.prod-weights tr.off td{color:var(--muted)}.prod-weights tr.unmeasured td{opacity:.6}.prod-weights tr.dirty td{background:color-mix(in srgb,var(--accent) 8%,var(--card))}.prod-weights input[type=number]{width:90px;padding:4px 6px}.prod-weights .desc{color:var(--muted);font-size:.8rem;max-width:60ch}.prod-weights .badge-un{display:inline-block;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--border);font-size:.72rem;color:var(--muted)}.prod-weights .row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.prod-weights .row-actions button{padding:4px 8px;font-size:.82rem}.prod-saved{color:var(--muted);font-size:.8rem}.prod-matrix h4{margin:12px 0 4px;font-size:.95rem}.prod-matrix .code{color:var(--muted);font-size:.8rem;margin-right:6px;font-variant-numeric:tabular-nums}.item-effort{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:grid;gap:6px;background:var(--bg)}.item-effort .head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.item-effort .pts{font-size:1.15rem;font-weight:600}.item-effort details summary{cursor:pointer;color:var(--muted);font-size:.85rem}.item-effort table.compact{margin-top:6px}.item-effort .override-row{display:flex;gap:6px;align-items:end;flex-wrap:wrap}.item-effort .override-row label{flex:1;min-width:120px}.item-effort .override-row input{width:100%}.item-effort .override-row button{padding:6px 10px}.users-admin{max-height:86vh;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.users-admin-body{overflow:auto;display:grid;gap:14px;align-content:start}.users-table td{vertical-align:middle}.users-table select{padding:3px 6px;font-size:.88rem}.users-table input.inline{padding:3px 6px;font-size:.88rem;width:130px}.users-table .actions{display:flex;gap:6px;flex-wrap:wrap}.users-table .actions button{padding:3px 8px;font-size:.82rem}.users-table tr.disabled-user td:not(.actions-cell){opacity:.55}.users-table .hint{display:block;color:var(--muted);font-size:.75rem}.auth-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.76rem;border:1px solid var(--border);color:var(--muted)}.auth-badge.oidc{border-color:var(--accent);color:var(--accent)}.role-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.76rem;border:1px solid #8250df;color:#8250df}.inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.inline-form input{padding:4px 8px;font-size:.88rem}.create-user{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;align-items:end}.create-user label{display:grid;gap:3px;font-size:.85rem;color:var(--muted)}.create-user label input,.create-user label select{color:var(--fg)}.create-user .span-all{grid-column:1 / -1}.secret-once{border:1px solid #b45309;background:color-mix(in srgb,#b45309 8%,var(--card));border-radius:8px;padding:10px 12px;display:grid;gap:8px}.secret-once h4{margin:0;color:#b45309;font-size:.95rem}.secret-once pre{margin:0;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.85rem;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.secret-once .row{gap:8px}.bell{position:relative}.bell-btn{position:relative;background:none;border:1px solid transparent;border-radius:8px;padding:6px;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;line-height:0}.bell-btn:hover,.bell-btn:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--border)}.bell-count{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error);color:#fff;font-size:.7rem;font-weight:600;line-height:18px;text-align:center}.bell-pop{position:absolute;right:0;top:40px;width:min(380px,92vw);max-height:70vh;overflow:auto;padding:6px}.bell-head{padding:2px 4px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.bell-head .menu-title{padding:0}.bell-empty{padding:10px;margin:0}.bell-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.bell-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:6px}.bell-item.unread{background:color-mix(in srgb,var(--accent) 8%,transparent)}.bell-item-main{flex:1;min-width:0;display:grid;gap:2px}.bell-title{font-weight:600;text-align:left}button.bell-title{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;font-weight:600}button.bell-title:hover{text-decoration:underline}.bell-body{white-space:pre-wrap;overflow-wrap:anywhere}.bell-dot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;border:none;background:var(--accent);cursor:pointer;padding:0}.bell-dot:hover{transform:scale(1.3)}.small-btn{padding:3px 8px;font-size:.8rem}.draft-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.draft{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:grid;gap:6px}.draft-head{flex-wrap:wrap;gap:8px}.draft-actions{flex-wrap:wrap;gap:6px}.draft-note{max-width:220px;font-size:.85rem;padding:5px 8px}.draft-why{margin:0;font-style:italic}.draft .kv{grid-template-columns:max-content 1fr}.draft .kv .kv-row{display:contents}.draft .kv dd{overflow-wrap:anywhere}.draft-kind{border:1px solid var(--border);background:var(--card);color:var(--fg)}.draft-kind.kind-issue,.draft-kind.kind-pull,.draft-kind.kind-comment{border-color:var(--accent);color:var(--accent)}.draft-kind.kind-task,.draft-kind.kind-project{border-color:color-mix(in srgb,var(--fg) 30%,transparent)}.drafts table.compact td{vertical-align:top}:root{--chat-w: 440px;--chat-user-bg: color-mix(in srgb, var(--accent) 14%, var(--card));--chat-assistant-bg: var(--bg);--chat-shadow: rgba(0, 0, 0, .15);--chat-hair: color-mix(in srgb, var(--fg) 10%, transparent)}@media(prefers-color-scheme:dark){:root{--chat-user-bg: color-mix(in srgb, var(--accent) 22%, var(--card));--chat-assistant-bg: color-mix(in srgb, var(--bg) 70%, var(--card) 30%);--chat-shadow: rgba(0, 0, 0, .45)}}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:25;width:52px;height:52px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-fg);border:1px solid transparent;box-shadow:0 6px 18px var(--chat-shadow);cursor:pointer}.chat-fab:hover,.chat-fab:focus-visible{filter:brightness(1.08)}.chat-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-fab.beside-drawer{right:calc(var(--drawer-w) + 20px)}.chat-fab.open{display:none}.chat-fab svg{width:24px;height:24px;display:block}.chat-fab .chat-unread{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:var(--error);border:2px solid var(--card)}.chat-panel{position:fixed;top:0;bottom:0;right:0;width:var(--chat-w);z-index:19;background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 24px var(--chat-shadow);display:flex;flex-direction:column;min-height:0}.chat-panel.beside-drawer{right:0}@media(min-width:1200px){body.chat-beside .drawer{right:var(--chat-w);box-shadow:none}}.chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex:0 0 auto}.chat-head h2{margin:0;font-size:1rem}.chat-head .spacer{flex:1}.chat-head button{padding:4px 10px}.chat-av{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:11px;font-weight:700;letter-spacing:0}.chat-av-lg{width:28px;height:28px;font-size:14px}.chat-tabs{display:flex;align-items:stretch;gap:2px;padding:8px 12px 0;flex:0 0 auto;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--border)}.chat-tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;max-width:180px;padding:6px 6px 8px 10px;margin-bottom:-1px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);font-size:.85rem;border-radius:8px 8px 0 0;border:1px solid transparent;border-bottom:none}.chat-tab:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 4%,transparent)}.chat-tab.on{color:var(--fg);background:var(--card);border-color:var(--border);box-shadow:0 1px 0 var(--card)}.chat-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chat-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tab-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--error)}.chat-tab-x{flex:0 0 auto;width:18px;height:18px;line-height:18px;text-align:center;border-radius:4px;font-size:15px;color:var(--muted);visibility:hidden}.chat-tab:hover .chat-tab-x,.chat-tab.on .chat-tab-x,.chat-tab:focus-visible .chat-tab-x{visibility:visible}.chat-tab-x:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 10%,transparent)}.chat-tab-new{flex:0 0 auto;width:30px;margin-bottom:4px;padding:0;align-self:center;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:6px;font-size:1.1rem;line-height:1}.chat-tab-new:hover,.chat-tab-new.on{color:var(--fg);border-color:var(--border);background:var(--card)}.chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:16px}.chat-msg{display:flex;flex-direction:column;gap:4px;max-width:100%}.chat-who{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.chat-who time{margin-left:4px;font-size:.72rem;opacity:.8}.chat-msg.assistant .chat-text{padding:0 0 0 26px}.chat-text.md{font-size:.92rem;line-height:1.55}.chat-text.md>:first-child{margin-top:0}.chat-text.md>:last-child{margin-bottom:0}.chat-text.md p{margin:0 0 .7em}.chat-text.md h1,.chat-text.md h2,.chat-text.md h3,.chat-text.md h4{font-size:.95rem;margin:1.1em 0 .4em;padding:0;border:none;font-weight:650}.chat-text.md ul,.chat-text.md ol{padding-left:1.3em;margin:0 0 .7em}.chat-text.md li{margin:.15em 0}.chat-text.md pre{overflow-x:auto;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.82rem}.chat-text.md code{font-size:.88em}.chat-text.md blockquote{margin:.6em 0;padding:6px 12px;border-left:3px solid var(--border);color:var(--muted);font-size:.88rem}.chat-text.md blockquote p{margin:0 0 .4em}.chat-text.md table{border-collapse:collapse;font-size:.85rem}.chat-text.md th,.chat-text.md td{border:1px solid var(--border);padding:3px 8px}.chat-text.md .md-wiki{background:none;border:none;color:var(--accent);padding:0;font:inherit;text-decoration:underline;cursor:pointer}.chat-msg.user{align-items:flex-end}.chat-msg.user .chat-bubble{max-width:88%;padding:8px 12px;border-radius:12px 12px 3px;background:var(--chat-user-bg);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:.92rem;line-height:1.5}.chat-sys{margin:0;text-align:center;font-size:.78rem;color:var(--muted)}.chat-sys:before,.chat-sys:after{content:" — ";opacity:.6}.chat-error{padding:8px 10px;border-radius:8px;border:1px solid var(--error);color:var(--error);font-size:.85rem;margin:0}.chat-notice{color:var(--muted);font-size:.9rem;margin:0;padding:8px 10px}.chat-typing{display:inline-flex;align-items:center;gap:4px;padding:6px 0 6px 26px}.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);display:inline-block;animation:chat-pulse 1.2s infinite ease-in-out}.chat-typing i:nth-child(2){animation-delay:.2s}.chat-typing i:nth-child(3){animation-delay:.4s}@keyframes chat-pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none;opacity:.6}}.chat-blank{margin:auto 0;padding:24px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.chat-blank-k{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.chat-blank-t{margin:0;font-size:1rem;font-weight:650}.chat-blank-title{font-weight:400;color:var(--muted)}.chat-blank-s{margin:0;font-size:.85rem;color:var(--muted);max-width:32ch}.chat-blank-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.chat-blank-alt{font-size:.85rem}.chat-blank .chat-typing{padding-left:0}.chat-compose{flex:0 0 auto;border-top:1px solid var(--border);padding:10px 16px 12px;display:grid;gap:6px}.chat-compose-box{display:flex;align-items:flex-end;gap:6px;padding:6px 6px 6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:12px}.chat-compose-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.chat-compose-box textarea{flex:1;min-width:0;min-height:24px;max-height:168px;padding:4px 0;margin:0;background:transparent;border:none;resize:none;font-size:.92rem;line-height:1.5}.chat-compose-box textarea:focus{outline:none}.chat-send{flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:8px;display:grid;place-items:center}.chat-send svg{width:18px;height:18px}.chat-compose-hint{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--muted);padding:0 4px}.chat-count.over{color:var(--error)}@media(max-width:1199.98px){.chat-panel.beside-drawer{display:none}.chat-fab.open.beside-drawer{display:grid}}@media(max-width:699.98px){:root{--chat-w: 100vw}.chat-fab.beside-drawer,.chat-fab.open.beside-drawer{display:none}}.chat-prepared{font-weight:400;opacity:.7}.chat-warming{margin:-6px 0 0 26px;font-size:.82rem}.chat-slow{margin:-8px 0 0 26px;font-size:.8rem}body.drawer-collapsed .chat-fab.beside-drawer{right:76px}:root{--bg: #f6f7f9;--fg: #1c1f24;--muted: #6b7280;--card: #ffffff;--border: #d9dde3;--accent: #2f6fed;--accent-fg: #ffffff;--error: #b42318;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;--drawer-w: min(720px, 100vw)}@media(prefers-color-scheme:dark){:root{--bg: #0f1216;--fg: #e6e8eb;--muted: #9aa3ad;--card: #171b21;--border: #2a303a;--accent: #5b8def;--accent-fg: #0b0f14;--error: #f97066}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg)}.center{min-height:100%;display:grid;place-items:center;padding:16px}.page{max-width:880px;margin:0 auto;padding:20px 32px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.row{display:flex;align-items:center;gap:12px}h1{font-size:1.4rem;margin:0 0 12px}h2{font-size:1.05rem;margin:0 0 8px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.login{width:100%;max-width:360px;display:grid;gap:12px}label{display:grid;gap:4px;font-size:.9rem;color:var(--muted)}input{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;border:1px solid transparent;border-radius:6px;padding:9px 12px;background:var(--accent);color:var(--accent-fg);cursor:pointer}button:disabled{opacity:.55;cursor:default}button.secondary{background:transparent;color:var(--fg);border-color:var(--border)}button.link{background:none;color:var(--accent);padding:4px 0;text-align:left}.muted{color:var(--muted)}.error{color:var(--error);margin:0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.page.wide{max-width:1800px;padding-bottom:88px}.stack{display:grid;gap:20px}.wrap{flex-wrap:wrap}.small{font-size:.85rem}.nowrap{white-space:nowrap}.tabs{display:flex;gap:4px;margin-left:16px}.tab{background:transparent;color:var(--muted);border:1px solid transparent;padding:6px 10px}.tab.active{color:var(--fg);border-color:var(--border);background:var(--card)}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{min-width:140px}select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:.85rem}tr:last-child td{border-bottom:none}tr.inactive td{opacity:.6}tr.error td{color:var(--error)}tr.muted td{color:var(--muted)}table.compact th,table.compact td{padding:6px 12px;font-size:.88rem}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.78rem;line-height:1.5}.pr{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;font-size:.8rem;border:1px solid var(--border)}.pr-open{border-color:#2da44e;color:#2da44e}.pr-merged{border-color:#8250df;color:#8250df}.pr-closed{border-color:var(--muted);color:var(--muted)}.pager{margin-top:12px;justify-content:center}.actions button{margin-right:4px;margin-bottom:4px;padding:5px 8px;font-size:.85rem}button.danger{color:var(--error);border-color:var(--error)}.spacer{flex:1}.banner{background:var(--card);border:1px solid var(--accent);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:.9rem}.banner .link{padding:0;margin-left:6px}.th-sort{background:none;border:none;color:var(--muted);padding:0;font:inherit;font-size:.85rem;cursor:pointer}.th-sort.active{color:var(--fg);text-decoration:underline}.age-col{width:84px;text-align:right;white-space:nowrap}.age-n{font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums}.age-u{color:var(--muted);font-size:.8rem;margin-left:2px}td.age-col.amber .age-n{color:#b45309}@media(prefers-color-scheme:dark){td.age-col.amber .age-n{color:#f59e0b}}tr.gone td{opacity:.45;text-decoration:line-through}table.compact .age-n{font-size:1.05rem}.state{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78rem;border:1px solid var(--border);color:var(--muted)}.state-draft{border-style:dashed}.state-changes_requested{border-color:#b42318;color:#b42318}.state-approved{border-color:#2da44e;color:#2da44e}.state-blocked{border-color:#b45309;color:#b45309}.state-merged{border-color:#8250df;color:#8250df}input.days{width:56px;padding:3px 6px}.between{justify-content:space-between}.badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--error);color:#fff;font-size:.72rem}.badge.quiet{background:var(--muted)}.flag{display:inline-block;margin-left:8px;padding:0 6px;border-radius:4px;font-size:.72rem;vertical-align:middle}.flag.pending{background:var(--border);color:var(--fg)}.flag.rejected{background:var(--error);color:#fff}tr.clickable{cursor:pointer}tr.clickable:hover td{background:color-mix(in srgb,var(--accent) 8%,var(--card))}tr.selected td{background:color-mix(in srgb,var(--accent) 14%,var(--card))}.banner.rejected{border-color:var(--error)}.ok{color:#2da44e}.drawer{position:fixed;top:0;right:0;bottom:0;width:var(--drawer-w);background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 24px #00000026;padding:24px;overflow-y:auto;z-index:20;display:grid;gap:16px;align-content:start}.drawer h2{margin:0}.drawer h3{font-size:.95rem;margin:8px 0 4px}.drawer .close{padding:4px 10px}.body{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.controls{display:grid;gap:16px}.control{display:grid;gap:6px}.control>label{font-size:.85rem;color:var(--muted)}.check{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:1px 8px}textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;resize:vertical}.comments{display:grid;gap:10px}.comment{padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.comment-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;font-size:.85rem}.comment .body.comment-body{max-height:none;overflow:visible;padding:0;border:0;background:transparent}.share{display:inline-flex;align-items:center;gap:6px}.share-btn{padding:4px 10px}.share-btn.copied{color:#2da44e;border-color:#2da44e}.share-btn.failed{color:var(--error);border-color:var(--error)}.share-url{font-size:.8rem;padding:4px 6px;width:260px}.ask-misty{padding:4px 10px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.ask-misty:hover,.ask-misty:focus-visible{background:color-mix(in srgb,var(--accent) 10%,var(--card))}.tabs.subtabs{margin-bottom:4px}.tabs.subtabs .tab{font-size:.9rem}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:30;padding:16px}.modal{width:100%;max-width:560px;display:grid;gap:12px}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.lane{flex:0 0 280px;background:var(--bg);border:1px solid var(--border);border-radius:10px;min-height:120px;display:flex;flex-direction:column}.lane.done{border-color:#2da44e}.lane.implicit{border-style:dashed}.lane.drag-over{outline:2px solid var(--accent);outline-offset:-2px}.lane-head{display:flex;justify-content:space-between;align-items:baseline;padding:8px 10px;border-bottom:1px solid var(--border);font-weight:600}.cards{display:grid;gap:8px;padding:8px}.empty{text-align:center;padding:8px 0}.bcard{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:grid;gap:4px;cursor:grab}.bcard:active{cursor:grabbing}.bcard.pending{border-style:dashed}.bcard-top{display:flex;justify-content:space-between;align-items:center}.bcard-title{background:none;border:none;color:var(--fg);text-align:left;padding:0;font:inherit;cursor:pointer}.bcard-title:hover{text-decoration:underline}.bcard-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.bcard-meta .age{font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.bcard-meta .age.amber{color:#b45309}@media(prefers-color-scheme:dark){.bcard-meta .age.amber{color:#f59e0b}}.more{background:transparent;border:1px solid transparent;color:var(--muted);padding:0 6px;line-height:1.2;font-size:1rem}.more:hover,.more:focus-visible{border-color:var(--border);color:var(--fg)}.menu{position:fixed;z-index:40;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;min-width:220px;padding:4px;display:grid}.menu-title{padding:6px 10px;color:var(--muted);font-size:.8rem}.menu-item{background:none;border:none;color:var(--fg);text-align:left;padding:8px 10px;border-radius:6px;font:inherit}.menu-item:hover,.menu-item:focus-visible{background:color-mix(in srgb,var(--accent) 14%,var(--card))}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:8px;display:flex;gap:14px;align-items:center;box-shadow:0 8px 24px #0000004d}.toast .link{color:var(--bg);text-decoration:underline;padding:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat.headline{border-color:var(--accent)}.stat-n{font-size:1.8rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.stat-l{color:var(--muted);font-size:.85rem}.wait-col{width:150px;white-space:nowrap}.wait{font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums}.wait.amber{color:#b45309}@media(prefers-color-scheme:dark){.wait.amber{color:#f59e0b}}tr.draft td{opacity:.6}tr.oldest td:first-child{box-shadow:inset 3px 0 #b45309}.ci{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78rem;border:1px solid var(--border)}.ci-success{border-color:#2da44e;color:#2da44e}.ci-failure,.ci-error{border-color:var(--error);color:var(--error)}.ci-pending{border-color:#b45309;color:#b45309}.ci-none{border-style:dashed;color:var(--muted)}.add{color:#2da44e}.del{color:var(--error)}.pm-tasks tr.closed-task td{opacity:.55}.pm-tasks tr.closed-task td:nth-child(2){text-decoration:line-through}.pm-type{font-size:.76rem;padding:1px 7px;border-radius:4px;border:1px solid var(--border);color:var(--muted)}.pm-type-milestone{border-color:#8250df;color:#8250df}.pm-type-bug{border-color:var(--error);color:var(--error)}.pm-type-epic,.pm-type-feature{border-color:var(--accent);color:var(--accent)}.pm-prio{font-size:.78rem}.pm-prio-r0{color:var(--error);font-weight:700}.pm-prio-r1{color:#b45309;font-weight:600}.pm-prio-r3,.pm-prio-r4{color:var(--muted)}.drawer label{display:grid;gap:4px}.pm-bar{align-items:center}.pm-relations h3{font-size:.95rem;margin:6px 0 4px}.pm-relations ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:4px}.pm-relations .link{padding:0 0 0 8px}.rel-kind{display:inline-block;min-width:74px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.rel-blocked_by{color:var(--error)}.rel-blocks{color:#b45309}.modal.wide{max-width:900px;width:100%;max-height:86vh;overflow:auto}.pm-team-grid{display:grid;grid-template-columns:260px 1fr;gap:20px}@media(max-width:720px){.pm-team-grid{grid-template-columns:1fr}}.pm-team-list{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:4px}.pm-team-list button{width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:6px;padding:6px 8px;color:var(--fg);cursor:pointer;font:inherit}.pm-team-list button:hover{background:color-mix(in srgb,var(--accent) 8%,var(--card))}.pm-team-list button.active{border-color:var(--border);background:var(--card)}.chip-member{display:inline-flex;align-items:center;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1px 4px 1px 9px;font-size:.82rem}.chip-member .x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}.pm-create-team{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.pm-team-grid h4{margin:14px 0 6px;font-size:.9rem}.viz-root{--viz-surface: #fcfcfb;--viz-series-1: #2a78d6;--viz-series-2: #eb6834;--viz-grid: #e1e0d9;--viz-axis: #c3c2b7;--viz-muted: #898781;--viz-ref: #52514e;--viz-critical: #d03b3b}@media(prefers-color-scheme:dark){.viz-root{--viz-surface: #1a1a19;--viz-series-1: #3987e5;--viz-series-2: #d95926;--viz-grid: #2c2c2a;--viz-axis: #383835;--viz-muted: #898781;--viz-ref: #c3c2b7}}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.chart .chart-head{margin-bottom:6px}.chart-svg{width:100%;height:auto;background:var(--viz-surface);border-radius:6px;display:block}.chart-svg .grid{stroke:var(--viz-grid);stroke-width:1}.chart-svg .axis{stroke:var(--viz-axis);stroke-width:1}.chart-svg .tick{fill:var(--viz-muted);font-size:11px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.chart-svg .bar{fill:var(--viz-series-1)}.chart-svg .bar:hover{opacity:.85}.chart-svg .dot{fill:var(--viz-series-1);stroke:var(--viz-surface);stroke-width:2}.chart-svg .dot:hover{r:7}.chart-svg .ref{stroke:var(--viz-ref);stroke-width:1;stroke-dasharray:4 3}.reason{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.9rem;margin:6px 0}.reason-mark{font-weight:700;color:var(--fg)}.envbadge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:6px;background:#b45309;color:#fff;font-size:.7rem;vertical-align:middle;letter-spacing:.05em}.age-flag{margin-left:4px;font-size:.7rem;color:#b45309;vertical-align:top}@media(prefers-color-scheme:dark){.age-flag{color:#f59e0b}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}tr:focus-visible{outline-offset:-2px}.progress{display:inline-flex;align-items:center;gap:8px}.bar{display:inline-block;width:120px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.fill{display:block;height:100%;background:var(--accent);transition:width .3s}.job{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);align-items:center}.job:last-child{border-bottom:none}@media(max-width:720px){.job{grid-template-columns:1fr;gap:2px}.topbar{flex-direction:column;align-items:flex-start;gap:8px}}.palette-open{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;padding:4px 8px}kbd{font:inherit;font-size:.75em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--bg);color:var(--fg)}.palette-backdrop{align-items:flex-start;justify-content:center;padding-top:10vh}.palette{width:min(640px,92vw);background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 48px #00000059;display:flex;flex-direction:column;overflow:hidden}.palette-input{border:none;border-bottom:1px solid var(--border);border-radius:0;padding:14px 16px;font-size:1.05rem;background:transparent;color:var(--fg)}.palette-input:focus{outline:none}.palette-list{list-style:none;margin:0;padding:6px 0;max-height:52vh;overflow-y:auto}.palette-group{padding:8px 14px 2px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.palette-row{display:flex;align-items:baseline;gap:8px;padding:7px 14px;cursor:pointer;border-left:3px solid transparent}.palette-row.active{background:color-mix(in srgb,var(--accent) 14%,var(--card));border-left-color:var(--accent)}.palette-title{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-sub{margin-left:auto;font-size:.8rem;white-space:nowrap;flex-shrink:0}.palette-badge{flex-shrink:0;border:1px solid var(--border);border-radius:10px;padding:0 7px;font-size:.72rem;color:var(--muted)}.palette-empty{padding:16px}.palette-foot{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--border)}.chart{position:relative;margin:0}.chart-svg .vbar.series-1{fill:var(--viz-series-1)}.chart-svg .vbar.series-2{fill:var(--viz-series-2)}.chart-svg .vbar:hover,.chart-svg .vbar:focus-visible{opacity:.85;outline:none;stroke:var(--viz-ref);stroke-width:1.5}.chart-legend{display:flex;gap:16px;padding:6px 2px 0;font-size:.8rem;color:var(--muted)}.chart-legend .key{display:inline-flex;align-items:center;gap:6px}.chart-legend .swatch{width:11px;height:11px;border-radius:3px;display:inline-block}.chart-legend .swatch.series-1{background:var(--viz-series-1)}.chart-legend .swatch.series-2{background:var(--viz-series-2)}.chart-tip{position:absolute;transform:translate(-50%,-130%);background:var(--fg);color:var(--bg);padding:4px 8px;border-radius:6px;font-size:.78rem;white-space:nowrap;pointer-events:none;z-index:5}.pm{--pm-r: 14px;--pm-r-sm: 10px;--pm-r-xs: 7px;--pm-hair: color-mix(in srgb, var(--fg) 10%, transparent);--pm-hair-soft: color-mix(in srgb, var(--fg) 5%, transparent);--pm-lift-1: 0 1px 2px rgba(16, 24, 40, .08), 0 1px 1px rgba(16, 24, 40, .05);--pm-lift-2: 0 8px 20px -6px rgba(16, 24, 40, .2), 0 2px 6px rgba(16, 24, 40, .08);--pm-lift-3: 0 32px 64px -16px rgba(16, 24, 40, .3), 0 8px 20px rgba(16, 24, 40, .12);--pm-ease: cubic-bezier(.2, .8, .25, 1);--pm-fast: .14s var(--pm-ease);--pm-med: .22s var(--pm-ease);--pm-surface: var(--card);--pm-trough: color-mix(in srgb, var(--bg) 72%, var(--border) 28%);--pm-s1: #2a78d6;--pm-s2: #eb6834;--pm-bad: #b42318;--pm-bad-bg: color-mix(in srgb, #d03b3b 12%, transparent);display:flex;gap:20px;align-items:flex-start}@media(prefers-color-scheme:dark){.pm{--pm-lift-1: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 1px rgba(0, 0, 0, .18);--pm-lift-2: 0 8px 20px -6px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .28);--pm-lift-3: 0 32px 64px -16px rgba(0, 0, 0, .66), 0 8px 20px rgba(0, 0, 0, .34);--pm-surface: color-mix(in srgb, var(--card) 92%, var(--fg) 3%);--pm-trough: color-mix(in srgb, var(--bg) 58%, var(--card) 42%);--pm-s1: #3987e5;--pm-s2: #d95926;--pm-bad: #ff9d8f;--pm-bad-bg: color-mix(in srgb, #ff6b57 16%, transparent)}}.pm ::-webkit-scrollbar{width:10px;height:10px}.pm ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--fg) 14%,transparent);border-radius:99px;border:3px solid transparent;background-clip:content-box}.pm ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--fg) 24%,transparent);background-clip:content-box}.pm ::-webkit-scrollbar-track{background:transparent}.pm .mini{padding:3px 8px;font-size:11.5px;line-height:1.3;border-radius:var(--pm-r-xs);background:transparent;color:var(--muted);border:1px solid var(--pm-hair);transition:color var(--pm-fast),border-color var(--pm-fast),background var(--pm-fast)}.pm .mini:hover{color:var(--fg);border-color:var(--border)}.pm .mini.primary{background:var(--accent);color:var(--accent-fg);border-color:transparent}.pm .mini.primary:hover{filter:brightness(1.08);color:var(--accent-fg)}.pm .mini.secondary{color:var(--fg)}.pm-rail{flex:0 0 250px;display:flex;flex-direction:column;gap:3px;position:sticky;top:8px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:2px}.pm-rail-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:4px;padding:0 4px 10px}.pm-rail-head h2{margin:0;font-size:12px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.pm-rail-head-2{margin-top:14px;padding-top:12px;border-top:1px solid var(--pm-hair-soft)}.pm-rail-tools{display:flex;align-items:center;gap:6px}.pm-tree{display:flex;flex-direction:column;gap:2px}.pm-rail-item{position:relative;display:flex;align-items:flex-start;gap:1px;padding:0 6px;border-radius:var(--pm-r-sm);border:none;background:transparent;color:inherit;transition:background var(--pm-fast)}.pm-rail-item:before{content:"";position:absolute;left:1px;top:50%;translate:0 -50%;width:3px;height:0;border-radius:99px;background:var(--accent);transition:height var(--pm-med)}.pm-rail-item:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}.pm-rail-item.on{background:color-mix(in srgb,var(--accent) 12%,transparent)}.pm-rail-item.on:before{height:18px}.pm-rail-btn{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:1px;padding:6px 4px 7px;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit}.pm-caret{flex:0 0 15px;width:15px;height:26px;margin-top:3px;padding:0;line-height:1;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;border-radius:4px}.pm-caret:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 8%,transparent)}.pm-caret.spacer{cursor:default;pointer-events:none;flex:0 0 15px}.pm-rail-key{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-rail-item.on .pm-rail-key{color:var(--accent)}.pm-rail-name{font-size:13px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.pm-rail-crumb{color:var(--muted);font-weight:400;font-size:.85em}.pm-rail-item.is-done .pm-rail-name{color:var(--muted)}.pm-rail-sub{font-size:10.5px;color:var(--muted);line-height:1.25}.pm-rail-roll{color:var(--pm-s1)}.pm-rail-bar{height:2px;border-radius:99px;background:var(--pm-hair);overflow:hidden;margin-top:4px;width:100%}.pm-rail-bar i{display:block;height:100%;border-radius:99px;background:var(--pm-s1);transition:width var(--pm-med)}.pm-rail-count{align-self:center;flex:0 0 auto;min-width:16px;padding:0 5px;margin-left:4px;font-size:10px;font-weight:700;line-height:16px;text-align:center;border-radius:99px;color:var(--muted);background:color-mix(in srgb,var(--fg) 9%,transparent)}.pm-rail-item.dragging{opacity:.45}.pm-rail-item.drop,.pm-rail-head.drop{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--pm-r-sm)}.pm-rail-head.droppable{background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:var(--pm-r-sm)}.pm-rail-head.droppable h2{color:var(--accent)}.pm-done-section{margin-top:10px;border-top:1px solid var(--pm-hair-soft);padding-top:6px}.pm-done-head{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px 8px;font:inherit;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.09em;border-radius:var(--pm-r-sm);transition:background var(--pm-fast),color var(--pm-fast)}.pm-done-head:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 4%,transparent)}.pm-rail-off{gap:0}.pm-rail-reopen{flex:0 0 26px;align-self:stretch;min-height:220px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;margin-right:10px;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--pm-surface);color:var(--muted);transition:color var(--pm-fast),border-color var(--pm-fast)}.pm-rail-reopen:hover{color:var(--fg);border-color:var(--accent)}.pm-rail-reopen-t{writing-mode:vertical-rl;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.pm-main{flex:1;min-width:0}.pm-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.pm-head-id{min-width:0}.pm-head h2{margin:0 0 3px;font-size:21px;font-weight:640;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-key{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pm-s1);background:color-mix(in srgb,var(--pm-s1) 14%,transparent);padding:3px 7px;border-radius:var(--pm-r-xs);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-crumbline{margin:0}.pm-meta{font-size:12px;color:var(--muted);margin:6px 0 0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.pm-head-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-seg{display:inline-flex;padding:3px;gap:2px;border-radius:99px;background:color-mix(in srgb,var(--fg) 6%,transparent)}.pm-seg button{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px 14px;border-radius:99px;font-size:12.5px;font-weight:550;font-family:inherit;transition:color var(--pm-fast),background var(--pm-fast),box-shadow var(--pm-fast)}.pm-seg button:hover{color:var(--fg)}.pm-seg button.on{background:var(--pm-surface);color:var(--fg);box-shadow:var(--pm-lift-1)}.pm-seg.small button{padding:3px 10px;font-size:11.5px}.pm-err{padding:9px 12px;border-radius:var(--pm-r-sm);background:var(--pm-bad-bg);margin:0 0 12px;font-size:12.5px}.pm-empty{color:var(--muted);font-size:12.5px;padding:12px 4px;margin:0}.pm-empty.small{padding:6px 8px}.pm-empty-pane{padding:40px 0;text-align:center}.pm-sec-h{margin:0 0 9px;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:9px;align-items:center}.pm-sec-h b{color:var(--pm-s1);font-size:11px}.pm-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding:2px 2px 14px}.pm-col{flex:0 0 272px;border-radius:var(--pm-r);background:var(--pm-trough);box-shadow:inset 0 0 0 1px var(--pm-hair-soft);display:flex;flex-direction:column;max-height:72vh;transition:box-shadow var(--pm-med),outline-color var(--pm-med);outline:2px solid transparent;outline-offset:-2px}.pm-col.over{outline-color:var(--accent);box-shadow:var(--pm-lift-2)}.pm-col.done{background:color-mix(in srgb,var(--pm-trough) 88%,var(--pm-s1) 12%)}.pm-col>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--pm-hair-soft);background:inherit;border-radius:var(--pm-r) var(--pm-r) 0 0}.pm-col-name{font-size:11.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pm-col.done .pm-col-name{color:var(--pm-s1)}.pm-col-counts{display:inline-flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums}.pm-col-pts{font-size:10.5px;color:var(--muted);white-space:nowrap}.pm-col-n{font-size:11px;font-weight:600;color:var(--muted);min-width:20px;text-align:center;white-space:nowrap;padding:2px 7px;border-radius:99px;background:color-mix(in srgb,var(--fg) 7%,transparent)}.pm-col-n.over-wip{color:var(--pm-bad);background:var(--pm-bad-bg)}.pm-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:56px}.pm-card{background:var(--pm-surface);border-radius:var(--pm-r-sm);padding:9px 12px 10px;cursor:grab;box-shadow:var(--pm-lift-1);display:flex;flex-direction:column;gap:6px;transition:transform var(--pm-fast),box-shadow var(--pm-fast),opacity var(--pm-fast)}.pm-card:hover{transform:translateY(-2px);box-shadow:var(--pm-lift-2)}.pm-card:active{transform:translateY(0);cursor:grabbing}.pm-card.dragging{opacity:.4;transform:rotate(1.4deg) scale(.98);box-shadow:var(--pm-lift-3)}.pm-card.blocked{box-shadow:var(--pm-lift-1),inset 0 0 0 1px color-mix(in srgb,var(--pm-bad) 45%,transparent)}.pm-card-top{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 -3px}.pm-blocked{margin:0;font-size:11px;font-weight:600;color:var(--pm-bad)}.pm-card-t{background:none;border:none;padding:0;margin:0;color:var(--fg);text-align:left;cursor:pointer;font:inherit;font-size:13px;line-height:1.4;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pm-card-t:hover{text-decoration:underline}.pm-card-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pm-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:550;padding:3px 8px;line-height:1.2;border-radius:var(--pm-r-xs);background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--muted);white-space:nowrap}.pm-chip.inline{margin-left:6px;vertical-align:middle}.pm-chip.none{background:transparent;outline:1px dashed var(--pm-hair);outline-offset:-1px}.pm-chip.quiet{background:transparent}.pm-chip.overdue,.pm-chip.p-urgent,.pm-chip.p-high{background:var(--pm-bad-bg);color:var(--pm-bad)}.pm-chip.p-urgent{font-weight:700}.pm-chip.gitea{background:color-mix(in srgb,var(--pm-s2) 18%,transparent);color:var(--pm-s2)}.pm-late{color:var(--pm-bad);font-weight:600}.pm-done-tag{color:var(--pm-s1);font-size:11px;font-weight:600}.pm-avs{display:inline-flex;align-items:center}.pm-avs .pm-av+.pm-av{margin-left:-5px}.pm-av{width:21px;height:21px;border-radius:99px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;letter-spacing:.02em;background:color-mix(in srgb,var(--pm-s1) 24%,var(--pm-surface));color:var(--fg);box-shadow:inset 0 0 0 1px var(--pm-hair),0 0 0 1.5px var(--pm-surface)}.pm-av.more{background:color-mix(in srgb,var(--fg) 8%,var(--pm-surface));font-size:9px}.pm-board.compact .pm-card{padding:5px 9px 6px;gap:3px}.pm-board.compact .pm-card-top{display:none}.pm-board.compact .pm-card-t{-webkit-line-clamp:1;font-size:12.5px}.pm-board.compact .pm-card-meta{gap:3px}.pm-board.compact .pm-chip{padding:1px 6px;font-size:10px}.pm-board.compact .pm-av{width:17px;height:17px;font-size:8px}.pm-board.compact .pm-col-body{gap:4px}.pm .board{gap:14px;padding:2px 2px 14px}.pm .board .lane{border:none;background:var(--pm-trough);box-shadow:inset 0 0 0 1px var(--pm-hair-soft);border-radius:var(--pm-r);max-height:72vh;overflow-y:auto}.pm .board .lane.done{background:color-mix(in srgb,var(--pm-trough) 88%,var(--pm-s1) 12%)}.pm .board .lane.implicit{box-shadow:inset 0 0 0 1px var(--pm-hair)}.pm .board .lane.drag-over{outline-color:var(--accent)}.pm .board .lane-head{position:sticky;top:0;z-index:1;background:inherit;border-bottom:1px solid var(--pm-hair-soft);font-size:11.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px 10px}.pm .board .lane.done .lane-head{color:var(--pm-s1)}.pm .board .bcard{border:none;background:var(--pm-surface);border-radius:var(--pm-r-sm);box-shadow:var(--pm-lift-1);transition:transform var(--pm-fast),box-shadow var(--pm-fast)}.pm .board .bcard:hover{transform:translateY(-2px);box-shadow:var(--pm-lift-2)}.pm .board .bcard.pending{outline:1px dashed var(--pm-hair);outline-offset:-1px}.pm-listwrap{overflow-x:auto;border-radius:var(--pm-r);background:var(--pm-surface);box-shadow:var(--pm-lift-1)}.pm-list{width:100%;border-collapse:collapse;font-size:12.5px;background:transparent;border:none;border-radius:0}.pm-list th{text-align:left;font-weight:600;color:var(--muted);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:11px 16px;border-bottom:1px solid var(--pm-hair)}.pm-list td{padding:10px 16px;border-bottom:1px solid var(--pm-hair-soft);vertical-align:middle}.pm-list th.num,.pm-list td.num{text-align:right;font-variant-numeric:tabular-nums}.pm-list tbody tr{cursor:pointer;transition:background var(--pm-fast)}.pm-list tbody tr.static{cursor:default}.pm-list tbody tr:last-child td{border-bottom:none}.pm-list tbody tr:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}.pm-list tr.overdue td:first-child{box-shadow:inset 2px 0 0 var(--pm-bad)}.pm-list tr.closed td{opacity:.6}.pm-th{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit}.pm-th:hover,.pm-th.on{color:var(--fg)}.pm-graphs{display:flex;flex-direction:column;gap:18px}.pm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.pm-tile{background:var(--pm-surface);border-radius:var(--pm-r);padding:14px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--pm-lift-1);transition:transform var(--pm-fast),box-shadow var(--pm-fast)}.pm-tile:hover{transform:translateY(-1px);box-shadow:var(--pm-lift-2)}.pm-tile.bad{box-shadow:var(--pm-lift-1),inset 0 0 0 1px color-mix(in srgb,var(--pm-bad) 40%,transparent)}.pm-tile-k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:650}.pm-tile-v{font-size:27px;font-weight:640;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pm-tile.bad .pm-tile-v{color:var(--pm-bad)}.pm-tile-s{font-size:11.5px;color:var(--muted)}.pm-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.pm-chart{position:relative;margin:0;min-width:0;background:var(--pm-surface);border-radius:var(--pm-r);padding:15px 17px 17px;box-shadow:var(--pm-lift-1)}.pm-chart>figcaption{font-size:12.5px;font-weight:620;margin-bottom:12px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.pm-chart-hint{font-weight:400;font-size:11px;color:var(--muted)}.pm-legend{display:flex;gap:14px;font-size:11.5px;color:var(--muted);margin-bottom:10px}.pm-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}.pm-bars{display:flex;flex-direction:column;gap:8px}.pm-bar-row{display:grid;grid-template-columns:100px 1fr 32px;gap:10px;align-items:center}.pm-bar-lbl{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-bar-track{width:100%;height:10px;overflow:visible;display:block}.pm-bar-n{font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums}.pm-tip{position:absolute;pointer-events:none;z-index:5;white-space:nowrap;background:var(--pm-surface);box-shadow:var(--pm-lift-2);border-radius:var(--pm-r-xs);padding:6px 10px;font-size:11.5px;font-weight:500}.pm-chart .viz-root{--viz-surface: transparent}.pm-chart .chart-legend{padding-top:8px}@media(prefers-reduced-motion:reduce){.pm *,.pm *:before{transition-duration:1ms!important;animation-duration:1ms!important}.pm-card:hover,.pm-tile:hover,.pm .board .bcard:hover{transform:none}}@media(max-width:900px){.pm{flex-direction:column;gap:14px}.pm-rail{flex:1 1 auto;width:100%;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:8px;padding-bottom:4px;position:static;max-height:none}.pm-rail-head{flex:0 0 auto;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:0 8px 0 0}.pm-rail-head-2{margin-top:0;padding-top:0;border-top:none;border-left:1px solid var(--pm-hair-soft);padding-left:10px}.pm-tree{flex-direction:row;gap:6px}.pm-rail-item{flex:0 0 182px}.pm-done-section{margin-top:0;padding-top:0;border-top:none;display:flex;gap:6px;align-items:stretch}.pm-done-head{width:auto;white-space:nowrap}.pm-rail-off .pm-rail-reopen{flex:0 0 auto;min-height:0;flex-direction:row;padding:6px 12px;margin:0 0 8px;align-self:flex-start}.pm-rail-reopen-t{writing-mode:horizontal-tb}.pm-head h2{font-size:18px}.pm-bar-row{grid-template-columns:80px 1fr 32px}}.cyclebar{display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;gap:8px 20px;align-items:center;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;margin-bottom:10px}.cyclebar.late{border-left-color:var(--error)}.cyclebar-id{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.cyclebar-days{font-weight:600}.cyclebar-days.bad{color:var(--error)}.cyclebar-progress{min-width:200px}.cyclebar-track{position:relative;height:10px;border-radius:5px;background:var(--border);overflow:hidden}.cyclebar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:5px}.cyclebar-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--fg);opacity:.75}.cyclebar-nums{font-size:.85rem;margin-top:5px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.cyclebar-stats{display:flex;gap:18px;margin:0}.cyclebar-stats>div{text-align:right}.cyclebar-stats dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.cyclebar-stats dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.cyclebar-stats .bad dd{color:var(--error)}.cyclebar-stats .warn dd{color:#b45309}@media(max-width:900px){.cyclebar{grid-template-columns:1fr}.cyclebar-stats{justify-content:flex-start}}.board-tools{display:flex;align-items:center;gap:10px;margin-bottom:8px}.bcard-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bcard-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.78rem}.bcard-meta .spacer{flex:1}.bcard-meta .who{color:var(--fg)}.pm-gitea-linked{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.pm-gitea-linked p{margin:0 0 8px}.button-link{display:inline-block;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);text-decoration:none;font-size:.9rem}.button-link:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.button-link.sso{display:block;text-align:center;background:var(--accent);color:var(--accent-fg);border-color:var(--accent);padding:10px;font-weight:600}.button-link.sso:hover{filter:brightness(1.08);background:var(--accent)}.or-divider{text-align:center;margin:4px 0 0}.usermenu{position:relative}.avatar-btn{background:none;border:none;padding:0;cursor:pointer}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:.78rem;font-weight:700;letter-spacing:.02em}.avatar-btn:hover .avatar{filter:brightness(1.08)}.usermenu-pop{position:absolute;right:0;top:40px;min-width:210px}.usermenu-pop .menu-title{border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:4px}.stack-tight{display:grid;gap:6px}.modal h3{margin:14px 0 6px;font-size:.95rem}fieldset.assignees{border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:8px 0;display:grid;gap:6px}fieldset.assignees legend{font-size:.85rem;padding:0 4px}fieldset.assignees label{display:inline-flex;align-items:center;gap:4px;margin-right:10px}.pm-gitea-pull{border-left:3px solid var(--border);padding-left:10px;margin:6px 0;display:grid;gap:6px}.drawer-collapse{padding:4px 9px;font-size:1rem;line-height:1}.drawer.collapsed{width:56px;padding:12px 8px;overflow:hidden;gap:0}.drawer.collapsed>:not(.drawer-bar){display:none!important}.drawer-bar{display:flex;flex-direction:column;align-items:center;gap:10px;height:100%}.drawer-bar-label{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted);font-size:.85rem;max-height:60vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-bar-close{margin-top:auto;padding:2px 8px}table.queue th{position:relative;-webkit-user-select:none;user-select:none}table.queue th .th-sort .dir{margin-left:4px;font-size:.75rem}table.queue .col-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none;z-index:2}table.queue .col-resizer:hover,table.queue .col-resizer.active{background:color-mix(in srgb,var(--accent) 35%,transparent)}table.queue.resized{table-layout:fixed}table.queue.resized td{overflow:hidden;text-overflow:ellipsis}.modal-backdrop.guarded .modal{max-height:calc(100vh - 32px);overflow:auto}.modal-backdrop.guarded>*{grid-area:1 / 1}.discard-confirm{z-index:1;width:min(380px,calc(100vw - 32px));display:grid;gap:8px;padding:16px 20px;box-shadow:0 12px 40px #00000059;border:1px solid var(--border)}.discard-confirm p{margin:0}.discard-confirm .row{gap:8px;margin-top:4px}.secondary.danger{color:var(--error);border-color:color-mix(in srgb,var(--error) 45%,var(--border))}.draft-restored{margin:-4px 0 0}
