:root{color-scheme:dark;--bg:#0b101a;--sidebar:#0e1522;--panel:#101927;--raised:#152134;--line:#263447;--text:#dbe4f0;--muted:#93a4ba;--accent:#70aaff;--focus:#a9ccff;--inspector-width:50%;font:13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit;color:inherit}button,.button{border:1px solid var(--line);background:var(--raised);padding:5px 10px;border-radius:5px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:550}button:hover,.button:hover{background:#20314a;border-color:#456286}button:disabled{opacity:.5;cursor:wait}button.primary,.button.primary{background:#235fc0;border-color:#3476dc;color:#fff}button.primary:hover,.button.primary:hover{background:#2b6ed4}.quiet{background:transparent;border-color:transparent;color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,textarea{background:#0c1421;border:1px solid var(--line);border-radius:5px;padding:7px 9px;min-width:0;width:100%;outline:none}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.muted,.panel-help{color:var(--muted)}.row{display:flex;align-items:center;gap:8px;min-width:0}.row input{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.workspace{height:100dvh;display:grid;grid-template-columns:178px minmax(0,1fr);overflow:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;padding:16px 10px 12px}.wordmark{font-weight:800;font-size:19px;letter-spacing:1.6px;color:#e7efff;text-decoration:none;white-space:nowrap}.wordmark:hover{text-decoration:none}.wordmark span{display:block;color:#7590af;font-size:10px;font-weight:450;letter-spacing:1px;margin-top:0}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 3px 10px;font-size:10px;letter-spacing:1.2px;color:var(--muted)}.icon-button{font-size:19px;line-height:1;border:0;background:transparent;padding:3px 7px;color:var(--muted)}.project-list{overflow:auto;flex:1;display:flex;flex-direction:column;gap:3px;min-height:0}.project-button{padding:9px 9px;min-width:0;justify-content:flex-start;text-align:left;background:transparent;border-color:transparent;font-weight:450;color:#afbed0}.project-button::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#4e6380;margin-right:5px}.project-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-button[aria-current=true]{background:#183152;border-color:#234775;color:#e4efff}.project-button[aria-current=true]::before{background:#82b8ff}.project-form{display:grid;gap:7px;margin-bottom:12px}.sidebar-bottom{display:grid;gap:7px;border-top:1px solid var(--line);padding:12px 2px 0;margin-top:12px;font-size:11px;color:var(--muted)}.sidebar-bottom span{overflow:hidden;text-overflow:ellipsis}.main{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.toolbar{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px;border-bottom:1px solid var(--line);background:#0e1624}.project-heading{min-width:0;display:flex;align-items:center;gap:11px}.project-heading strong{font-size:13px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#6f849f}.toolbar-actions{display:flex;align-items:center;gap:5px}.toolbar-actions button{background:transparent;border-color:transparent;color:#a8b8cc}.toolbar-actions button[aria-expanded=true]{background:#192d47;border-color:#304b70;color:#cfe3ff}.toolbar-actions .primary{margin-right:7px}.agent-bar{height:36px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0d1522;padding:0 17px;gap:10px}.agent-tabs{display:flex;align-self:stretch;gap:17px;overflow:auto;min-width:0}.agent-tab{border:none;border-bottom:2px solid transparent;border-radius:0;padding:0 1px;background:transparent;white-space:nowrap;color:#8195b0;font-size:12px;font-weight:500}.agent-tab[data-selected=true]{color:#d7e8ff;border-bottom-color:var(--accent)}.agent-tab:hover{background:transparent;color:#d7e8ff}.connection-status{font-size:10px;color:#8c9fb8;white-space:nowrap}.connection-status[data-state=online]::before{content:"";display:inline-block;width:5px;height:5px;background:#73b99a;border-radius:50%;margin-right:6px}.work-area{display:flex;flex:1;min-height:0;min-width:0}.conversation{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}.conversation-heading{flex:none;min-height:33px;display:flex;align-items:center;gap:9px;padding:7px 24px;font-size:11px;color:#92a8c3;border-bottom:1px solid #1c293b}.conversation-heading strong{color:#becfe3;font-weight:500}.message-list{flex:1;overflow:auto;min-height:0;padding:16px 24px 24px;scrollbar-width:thin;scrollbar-color:#34465f transparent}.message{margin:0 0 22px;max-width:1040px}.message-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#8c9fb9;margin-bottom:6px}.message-meta strong{font-size:11px;font-weight:600;color:#c6d7eb}.tag{border:1px solid #2d405a;color:#a6bedf;border-radius:3px;padding:0 5px;font-size:9px;line-height:17px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:13px;margin:0;color:#d0ddec}.message-body.is-owner{padding-left:11px;border-left:2px solid #4977ae}.message-source{display:block;margin-top:7px;font-size:10px;color:#6f89a9;overflow-wrap:anywhere}.message-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:11px}.empty-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100%;max-width:550px;margin:0 auto;padding:20px 8px;color:#90a3bd}.empty-state h1{font-size:21px;font-weight:550;line-height:1.3;color:#cfdef1;margin:0 0 12px;letter-spacing:-.4px}.empty-state p{margin:0 0 12px;line-height:1.65}.empty-state .eyebrow{margin-bottom:10px}.composer{margin:0 18px 13px;border:1px solid #344760;border-radius:8px;background:#121e2f;padding:8px 11px 7px;flex:none;min-height:91px}.composer textarea{border:0;border-radius:0;resize:none;min-height:36px;max-height:140px;padding:0;background:transparent;font-size:13px;line-height:1.6}.composer textarea:focus-visible{outline:none}.composer-bottom{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:5px}.composer-help{display:flex;align-items:center;min-width:0;gap:8px;font-size:10px;color:#7f94af}.composer-help span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-help button{padding:3px 0;font-size:11px}.composer-bottom .primary{padding:4px 9px;font-size:11px}.draft-attachments{display:flex;gap:5px;flex-wrap:wrap}.draft-attachment{font-size:10px;white-space:normal}.inspector{width:var(--inspector-width);flex:none;min-width:0;display:flex;flex-direction:column;background:var(--panel);overflow:hidden}.divider{width:7px;flex:none;cursor:col-resize;background:#0a111d;position:relative;touch-action:none}.divider::after{position:absolute;content:"";left:3px;top:0;bottom:0;width:1px;background:var(--line)}.divider:hover,.divider:focus-visible{background:#1f3c63}.inspector-header{height:39px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 15px;border-bottom:1px solid var(--line)}.inspector-header strong{font-size:12px;font-weight:600}.inspector-panel{padding:15px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin}.panel-help{font-size:11px;line-height:1.6;margin:0 0 18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}h2{font-size:13px;font-weight:600;margin:0}.stacked-form{display:grid;gap:7px;margin:12px 0 20px}.stacked-form label{font-size:11px;color:#a6b8d0}.stacked-form textarea{font-size:12px}.memory-list{display:flex;gap:5px;flex-wrap:wrap}.memory-list button{font-size:11px}.memory-list button[aria-pressed=true]{background:#1b3a5f;border-color:#4a75a7}.memory-history{padding:12px 0;border-top:1px solid var(--line);font-size:11px}.memory-history summary{cursor:pointer;color:#b8cbe4;margin-bottom:8px}.context-search{padding-top:16px;border-top:1px solid var(--line);display:grid;gap:7px;font-size:11px}.record{padding:13px 0;border-bottom:1px solid var(--line)}.record:first-child{padding-top:4px}.record h3{font-size:12px;margin:0 0 5px;font-weight:550;overflow-wrap:anywhere}.record p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#b9cbe1;margin:6px 0;line-height:1.6}.record small{font-size:10px;color:#829ab8;overflow-wrap:anywhere}.record .row{justify-content:space-between}.record details{margin-top:7px;color:#8dadd4;font-size:11px}.record details summary{cursor:pointer}.record pre{font:11px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.notice{position:absolute;bottom:116px;left:24px;max-width:min(600px,calc(100% - 48px));padding:9px 14px;border:1px solid #405b7e;border-radius:6px;background:#1d304b;color:#e1edff;font-size:12px;box-shadow:0 4px 20px #0005;z-index:6}.notice[data-error=true]{border-color:#ba726c;background:#422927}.session-gate{min-height:100dvh;display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:center;max-width:620px;margin:auto;padding:30px}.session-gate h1{font-size:23px;line-height:1.4;margin:15px 0 0}.session-gate p{color:var(--muted);margin:0 0 12px}
@media(max-width:1050px){.workspace{grid-template-columns:160px minmax(0,1fr)}.toolbar{padding:0 11px}.toolbar-actions{gap:2px}.toolbar-actions .primary{margin-right:2px}.eyebrow{display:none}.message-list{padding:15px 17px}.conversation-heading{padding-left:17px}.composer-help span{display:none}.composer{margin-right:11px;margin-left:11px}.connection-status{display:none}}
@media(max-width:720px){.workspace{height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.sidebar{padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.sidebar .wordmark{font-size:14px}.sidebar .wordmark span,.sidebar-bottom,.sidebar-heading span{display:none}.sidebar-heading{margin:0;grid-column:3;grid-row:1}.project-list{flex-direction:row;grid-column:2;grid-row:1;max-height:40px}.project-button{flex:none;padding:5px 9px;max-width:160px;font-size:11px}.project-form{grid-column:1/-1;grid-row:2;margin:0}.toolbar{height:auto;min-height:44px;padding:7px 10px;flex-wrap:wrap;gap:5px}.project-heading{display:none}.toolbar-actions{width:100%;justify-content:space-between;gap:2px}.toolbar-actions .button,.toolbar-actions button{font-size:11px;padding:5px 6px}.agent-bar{height:34px;padding:0 11px}.agent-tabs{gap:14px}.message-list{padding:13px 13px 16px}.conversation-heading{padding:6px 13px;font-size:10px}.composer{margin:0 9px 9px;min-height:86px}.empty-state h1{font-size:18px}.inspector{position:absolute;inset:78px 0 0;width:100%!important;z-index:4;border-top:1px solid var(--line)}.divider{display:none!important}.inspector-panel{padding:14px}.notice{left:12px;max-width:calc(100% - 24px);bottom:107px;z-index:8}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Split-screen workspace: sidebar | mission form | project thread.
   Tokens and control styles above are reused; only layout and the new
   surfaces are added here. */
:root{--mint:#7ee0c0;--mint-ink:#062b22;--warn:#e0b567;--bad:#e07a72;--ok:#7ec89a}
.workspace{grid-template-columns:216px 720px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr)}
.topbar{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--line);background:#0e1624;min-width:0}
.topbar .wordmark{font-size:15px}
.topbar .wordmark span{display:inline;font-size:9px;margin-left:4px}
.crumb{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.crumb strong{color:var(--text);font-weight:600}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:9px;white-space:nowrap}
.chip{border:1px solid #2c4a46;color:var(--mint);border-radius:999px;padding:2px 10px;font-size:9px;letter-spacing:1.1px;font-weight:600}
.chip[data-state=bad]{border-color:#5c3733;color:var(--bad)}
.chip[data-state=busy]{border-color:#5c4f33;color:var(--warn)}
.chip[data-state=blocked]{border-color:#6a5230;color:#e0a95f}
.roster-item .dot[data-state=blocked]{background:#e0a95f}
.plan-blocked{margin:0 0 14px;padding:9px 12px;border:1px solid #6a5230;border-radius:6px;background:#241c12;color:#f0d2a4;font-size:12px;line-height:1.6}
.budget{font:11px/1 ui-monospace,monospace;color:var(--muted)}
.sidebar{padding-top:12px;overflow:auto}
.sidebar .sidebar-heading{margin-top:18px}
.sidebar .sidebar-heading:first-child{margin-top:0}
.sidebar .icon-button{font-size:11px;letter-spacing:.4px;color:var(--mint)}
.project-list{flex:none;overflow:visible}
.roster{display:flex;flex-direction:column;gap:2px}
.roster-item{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:5px;font-size:12px;color:#afbed0;background:none;border:1px solid transparent;width:100%;justify-content:flex-start;text-align:left;font-weight:450}
.roster-item:hover{background:#16233a;border-color:transparent}
.roster-item .dot{width:6px;height:6px;border-radius:50%;flex:none;background:#4e6380}
.roster-item .dot[data-state=ok]{background:var(--ok)}
.roster-item .dot[data-state=running]{background:var(--warn)}
.roster-item .dot[data-state=failed]{background:var(--bad)}
.roster-item .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-item .meta{font:10px/1 ui-monospace,monospace;color:#6f849f;flex:none}
.roster-item[aria-current=true]{background:#183152;color:#e4efff}
.pane-mission{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-width:0;min-height:0}
.pane-top{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}
.pane-top strong{font-size:12px;letter-spacing:1.3px;color:#cfdef1}
.seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.seg button{border:0;border-radius:0;background:transparent;font-size:11px;letter-spacing:1px;padding:6px 18px;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--mint);color:var(--mint-ink);font-weight:700}
.pane-body{flex:1;min-height:0;overflow:auto;padding:18px 20px 0;display:flex;flex-direction:column;gap:14px}
.pane-body .help{font-size:11px;color:var(--muted);margin:0;line-height:1.6}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:10px;letter-spacing:1.1px;color:var(--muted)}
.field textarea{font-size:13px;line-height:1.6;padding:12px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#more-options summary{cursor:pointer;color:var(--mint);font-size:11px}
#more-options[open]{display:grid;gap:12px}
.manual{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}
.task{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:6px;background:#0c1421}
.task input,.task select{font-size:11px;padding:5px 7px}
.task .drop{border:0;background:transparent;color:var(--muted);padding:2px 6px}
.pane-foot{position:sticky;bottom:0;background:var(--panel);border-top:1px solid var(--line);margin:auto -20px 0;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.summary{font:11px/1.5 ui-monospace,monospace;color:var(--muted);min-width:0}
#run-mission{background:var(--mint);border-color:var(--mint);color:var(--mint-ink);font-weight:700;padding:9px 26px;font-size:13px}
#run-mission:hover{background:#95ead0}
.main .agent-bar{height:46px;padding:0 18px}
.bar-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.main .agent-tabs{gap:20px}
.main .agent-tab{font-size:13px;padding:0 2px}
.sub-tabs{flex:none;padding:0 24px;border-bottom:1px solid #1c293b;min-height:0}
.sub-tabs:empty{display:none}
.tab-panel{flex:1;overflow:auto;min-height:0;padding:16px 24px 24px}
.step-line{display:flex;align-items:center;gap:9px;font-size:12px;color:#9fd8c4;padding:8px 0}
.step-line .spin{width:7px;height:7px;border-radius:50%;background:var(--warn)}
.cost-row,.evidence-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.cost-row .k{color:var(--muted)}
.mission-pick{cursor:pointer}
.mission-pick[aria-current=true]{background:#16233a}
@media(max-width:1500px){.workspace{grid-template-columns:200px 560px minmax(0,1fr)}}
@media(max-width:1200px){.workspace{grid-template-columns:180px minmax(0,1fr)}.pane-mission{grid-column:2}.main{grid-column:2;display:none}.workspace[data-view=thread] .pane-mission{display:none}.workspace[data-view=thread] .main{display:flex}}
@media(max-width:1500px){.main .agent-tabs{gap:14px}.main .agent-tab{font-size:12px}.bar-right .toolbar-actions button{padding:4px 6px;font-size:11px}.bar-right{gap:6px}}
@media(max-width:1400px){.main .agent-bar{height:auto;min-height:46px;flex-wrap:wrap;padding:6px 14px;gap:6px}.bar-right{width:100%;margin-left:0;justify-content:flex-start;overflow-x:auto}.sub-tabs .agent-tab{font-size:12px}}
.pane-foot{flex-wrap:wrap}.summary{flex:1 1 240px}
.task{grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px}
.t-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.t-dep,.t-agent{font:10px/1 ui-monospace,monospace;color:var(--muted);white-space:nowrap}

/* Login gate: a real port over the workspace, not a block below it. It covers
   the whole viewport with its own background, anchors its content near the top
   and locks page scroll while it is up. Type and colour come from the tokens
   and control styles above; nothing new is invented here. */
.session-gate{position:fixed;inset:0;z-index:30;background:var(--bg);display:block;min-height:0;max-width:none;margin:0;padding:14vh 30px 40px;overflow:auto;overscroll-behavior:contain}
.session-gate-panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:620px;margin:0 auto}
.session-gate .wordmark{font-size:19px}
.session-gate h1{font-size:23px;line-height:1.4;margin:15px 0 0}
.session-gate p{color:var(--muted);margin:0 0 12px;max-width:52ch}
.gate-actions{flex-wrap:wrap}
body.session-gated{overflow:hidden}
@media(max-height:620px){.session-gate{padding-top:12vh}}
@media(max-width:720px){.session-gate{padding:12vh 18px 32px}}

/* The standalone /login page reuses the gate above: same port, same column,
   same tokens. Only the form's vertical anchor and the inline failure line are
   specific to it. */
.login-page{padding-top:6vh}
.login-page .session-gate-panel{gap:6px}
.login-page h1{margin:2px 0 0}
.login-form{width:100%;max-width:340px;gap:6px;margin:0}
.login-form label{font-size:11px;color:#a6b8d0}
.login-form .row{margin-top:6px}
.login-error{margin:4px 0 0;max-width:340px;padding:8px 12px;border:1px solid #ba726c;border-radius:6px;background:#422927;color:#e1edff;font-size:12px}
.activation{width:100%;max-width:340px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:11px}
.activation summary{cursor:pointer;color:#b8cbe4;list-style:none}
.activation summary::-webkit-details-marker{display:none}
.activation summary::before{content:"▸ ";color:var(--muted)}
.activation[open] summary::before{content:"▾ "}
.activation-status{margin:10px 0 0;color:var(--muted);line-height:1.6}
.activation-form{gap:6px;margin:10px 0 0}
.activation-form label{font-size:11px;color:#a6b8d0}
.activation-form small{font-size:10px;line-height:1.55}
.activation-identity{display:grid;gap:4px;margin:0}
.activation-identity div{display:flex;gap:8px;justify-content:space-between}
.activation-identity dt{color:var(--muted)}
.activation-identity dd{margin:0;overflow-wrap:anywhere;text-align:right}
.activation-check{display:flex;align-items:flex-start;gap:7px;line-height:1.5;color:#a6b8d0}
.activation-check input{width:auto;flex:none;margin-top:2px}
@media(max-height:620px){.login-page{padding-top:4vh}}

.field-help{margin:5px 0 0;font-size:10px;line-height:1.5;color:var(--muted)}
.pane-mission select option:disabled{color:#5b6b81}

.run-result{margin:14px 0 20px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#121e2f;max-width:1040px}
.run-result strong{display:block;font-size:12px;font-weight:600;color:#cfdef1;margin-bottom:9px}
.run-result-task{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#b9cbe1;padding:3px 0}
.run-result-task .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.run-result-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;color:#d0ddec;margin:6px 0 10px}
.run-result-facts{margin-top:9px;padding-top:8px;border-top:1px solid #1c293b;font:10px/1.6 ui-monospace,monospace;color:var(--muted)}
.run-result-note{margin:8px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}

/* The confirmation step is a decision, so it carries its own buttons. */
.confirm-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.confirm-actions{display:flex;gap:6px}
.confirm-actions button{padding:3px 12px;font-size:11px}
.confirm-hint{font-size:10px;color:var(--muted)}
.live-badge{margin-left:8px;border:1px solid #2c4a46;color:var(--mint);border-radius:999px;padding:1px 8px;font-size:9px;letter-spacing:1px;font-weight:600}
.role-live{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:9px 12px;border:1px solid #2c4a46;border-radius:6px;background:#12231f;font-size:12px;color:#cfe9e0}
.role-row .role-meta{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 7px}
.role-meta .tag{text-transform:lowercase}
.role-review{display:flex;gap:8px;font-size:11px;color:#a6bedf;margin:4px 0 0;line-height:1.55}
.role-review .k{flex:none;color:var(--muted);font:10px/1.7 ui-monospace,monospace}
