/* Before ANY UI change: read ../PRODUCT.md + ../CLAUDE.md — operator-console register,
   status = state styling never decorative motion, prefers-reduced-motion stays honored. */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Geist:wght@300;400;500;600;700;800&display=swap');

:root {
  --bg:#08080a;
  --bg-surface:#0f0f12;
  --bg-elevated:#16161b;
  --bg-hot:#1a1a20;
  --border:#1e1e24;
  --text:#e8e8ea;
  --text-dim:#a0a0a8;
  --text-mute:#838386;
  --gold:#c9a961;
  --gold-soft:#d4bc87;
  --bull:#5cb88a;
  --bear:#e05d5d;
  --liq:#f2b33d;
  --review:#7fa3d9;
  --font-display:'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
  --font-body:'Geist', system-ui, -apple-system, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
  --shadow-tile-hover:0 10px 30px -10px rgba(201,169,97,.30);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.45}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
a{color:var(--gold-soft);text-decoration:none}
a:hover{text-decoration:underline}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#26262e;border-radius:6px}
::-webkit-scrollbar-track{background:transparent}
.loading,.fatal{min-height:100vh;display:grid;place-items:center;color:var(--text-dim);font-family:var(--font-mono)}
.fatal{display:block;padding:40px}.fatal h1{font-family:var(--font-display);color:var(--gold);font-weight:600}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes alertPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,93,93,0)}50%{box-shadow:0 0 0 3px rgba(224,93,93,.16)}}
@keyframes killPulse{0%,100%{box-shadow:0 6px 26px rgba(224,93,93,.5)}50%{box-shadow:0 6px 42px rgba(224,93,93,.85)}}

.topbar{position:fixed;top:0;left:0;right:0;height:52px;background:rgba(8,8,10,.96);border-bottom:1px solid var(--border);display:flex;align-items:center;z-index:100;backdrop-filter:blur(12px)}
.brand-seg{flex:1;padding:0 22px;display:flex;align-items:baseline;gap:10px;border-right:1px solid var(--border);height:100%}
.brand{font-family:var(--font-display);font-size:19px;color:var(--gold);line-height:52px;font-weight:600}.version{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);letter-spacing:.06em}.top-seg{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;border-right:1px solid var(--border);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.top-seg span{color:var(--text-mute);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.top-seg b{color:var(--gold);font-weight:600}.top-seg .good{color:var(--bull)}.top-seg .bad{color:var(--bear)}.focus-chip{padding:3px 10px;border-radius:4px;background:rgba(201,169,97,.14);color:var(--gold-soft)!important;font-size:11px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--bull);animation:pulse 2s infinite}.top-spacer{width:172px;flex-shrink:0;height:100%}
.freeze{position:fixed;right:16px;top:9px;z-index:5000;padding:8px 16px;border-radius:9999px;border:2px solid var(--bull);background:rgba(92,184,138,.18);color:var(--bull);font-family:var(--font-mono);font-size:12px;font-weight:800;letter-spacing:.06em;box-shadow:0 4px 14px rgba(0,0,0,.35)}.freeze.frozen{border-color:var(--bear);background:rgba(224,93,93,.92);color:#fff;animation:killPulse 1.4s ease-in-out infinite}

.body-shell{display:flex;padding-top:52px}.sidebar{position:sticky;top:52px;align-self:flex-start;height:calc(100vh - 52px);overflow-y:auto;background:var(--bg-surface);border-right:1px solid var(--border);padding:20px 0;width:240px;flex-shrink:0}.side-logo{padding:0 20px 18px;border-bottom:1px solid var(--border);margin-bottom:14px}.side-logo strong{display:block;font-family:var(--font-display);font-size:25px;color:var(--gold);line-height:1.05;font-weight:600}.side-logo span{display:block;font-family:var(--font-mono);font-size:10px;color:var(--text-mute);margin-top:5px;letter-spacing:.16em;text-transform:uppercase}.nav-main{width:calc(100% - 24px);margin:0 12px 4px;padding:11px 14px;background:rgba(201,169,97,.1);border:1px solid rgba(201,169,97,.4);border-radius:6px;color:var(--gold);font-size:13px;text-align:left}.side-label{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);letter-spacing:.14em;text-transform:uppercase;padding:16px 22px 8px}.side-list{margin:0 10px}.side-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;margin-bottom:2px;border-radius:5px;background:transparent;border:1px solid transparent;color:var(--text-dim);transition:background .15s,color .15s;text-align:left}.side-row span{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-row i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.side-row:hover{background:var(--bg-hot);color:var(--text)}.side-row.active{background:rgba(201,169,97,.12);border-color:rgba(201,169,97,.4);color:var(--gold)}.side-footer{border-top:1px solid var(--border);margin:14px 12px 0;padding-top:12px;display:flex;flex-direction:column;gap:6px}.side-footer button{width:100%;min-height:36px;padding:9px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text)!important;font-size:13px;text-align:left;font-family:var(--font-mono);letter-spacing:.02em}.side-footer button:hover{background:rgba(201,169,97,.12);border-color:rgba(201,169,97,.45);color:var(--gold)!important}.keys{margin:16px 14px 0;padding-top:12px;border-top:1px dashed var(--border);font-family:var(--font-mono);font-size:9px;color:var(--text-mute);line-height:1.9;letter-spacing:.04em}

.main{flex:1;min-width:0;padding:30px 36px 60px;overflow-x:auto}.main-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.main h1{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--gold);margin:0;line-height:1.1}.main-head p{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);margin:7px 0 0;letter-spacing:.03em}.view-toggle{display:flex;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:3px;gap:3px}.view-toggle button{padding:7px 16px;border:0;border-radius:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;background:transparent;color:var(--text-mute)}.view-toggle button.active{background:rgba(201,169,97,.15);color:var(--gold)}
.filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filters button{padding:6px 14px;border-radius:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.03em;background:var(--bg-elevated);color:var(--text-mute);border:1px solid var(--border)}.filters button.active{background:rgba(201,169,97,.15);color:var(--gold);border-color:rgba(201,169,97,.4)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px}.project-tile{background:var(--bg-elevated);border:1px solid var(--state-border);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:12px;text-align:left;color:var(--text);transition:transform .3s,border-color .3s,box-shadow .3s}.project-tile:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--shadow-tile-hover)}.project-tile.blocked{animation:alertPulse 1.6s infinite}.tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tile-top h2{font-family:var(--font-display);font-size:22px;color:var(--gold);line-height:1.05;margin:0;font-weight:600}.tile-top p{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 0}.state-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:4px;white-space:nowrap;border:1px solid}.pipeline-strip{display:flex;gap:5px}.pipe-seg{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}.pipe-seg i{height:4px;width:100%;border-radius:2px}.pipe-seg span{font-family:var(--font-mono);font-size:8px;letter-spacing:.02em}.hairline{height:1px;background:var(--border)}.stat-row{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px}.stat-row span{font-weight:600}.stat-row span:nth-child(2){color:var(--text-mute);font-weight:400}.health-bar{height:3px;border-radius:2px;background:#26262e;overflow:hidden}.health-bar i{display:block;height:100%}.focus-line{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);line-height:1.4;margin:0}.improve{display:flex;gap:7px;align-items:baseline;background:rgba(242,179,61,.07);border:1px solid rgba(242,179,61,.22);border-radius:6px;padding:7px 9px}.improve b,.improve span{font-size:11.5px;color:var(--liq);line-height:1.4}

.focus-card{background:var(--bg-elevated);border:1px solid var(--state-border);border-radius:12px;padding:22px 24px;margin-bottom:20px}.focus-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.focus-card h2{font-family:var(--font-display);font-size:32px;color:var(--gold);line-height:1.05;margin:0;font-weight:600}.focus-card p{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 0}.focus-badges{display:flex;gap:10px;align-items:center}.focus-badges span{font-family:var(--font-mono);font-size:11px;font-weight:600}.focus-badges b{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 12px;border-radius:6px;border:1px solid}.health-row{display:flex;align-items:center;gap:14px;margin-top:18px}.health-row span{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);letter-spacing:.1em;text-transform:uppercase}.health-row div{flex:1;height:6px;border-radius:3px;background:#26262e;overflow:hidden}.health-row i{display:block;height:100%}.health-row b{font-family:var(--font-mono);font-size:12px}.health-row em{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);font-style:normal}.focus-body{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.workflow-panel{flex:1;min-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:24px}.panel-title{display:flex;align-items:baseline;gap:10px;margin-bottom:20px}.panel-title h3,.rail-card h3{font-family:var(--font-display);font-size:18px;color:var(--gold);margin:0;font-weight:600}.panel-title span{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);letter-spacing:.06em}.stage-row{display:flex;gap:14px}.stage-gutter{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0}.stage-gutter i{width:13px;height:13px;border-radius:50%;border:2px solid var(--bg-elevated);flex-shrink:0}.stage-gutter span{flex:1;width:2px;margin-top:2px;background:#26262e}.stage-row.last .stage-gutter span{display:none}.stage-content{flex:1;min-width:0;padding:0 0 20px}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.stage-head h4{font-family:var(--font-display);font-size:18px;margin:0;font-weight:600}.stage-head b{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;border-radius:3px;padding:3px 7px}.stage-row.done .stage-gutter i{background:var(--bull)}.stage-row.done .stage-gutter span{background:var(--bull)}.stage-row.done h4{color:var(--text-dim)}.stage-row.done b{color:var(--bull);background:rgba(92,184,138,.12)}.stage-row.active .stage-gutter i{background:var(--gold)}.stage-row.active .stage-gutter span{background:linear-gradient(var(--gold),#26262e)}.stage-row.active h4{color:var(--gold)}.stage-row.active b{color:var(--gold);background:rgba(201,169,97,.13)}.stage-row.active .stage-content{background:rgba(201,169,97,.06);border-radius:6px;padding:10px 12px 20px}.stage-row.blocked .stage-gutter i{background:var(--bear)}.stage-row.blocked .stage-gutter span{background:linear-gradient(var(--bear),#26262e)}.stage-row.blocked h4{color:var(--bear)}.stage-row.blocked b{color:var(--bear);background:rgba(224,93,93,.13)}.stage-row.blocked .stage-content{background:rgba(224,93,93,.06);border-radius:6px;padding:10px 12px 20px}.stage-row.todo .stage-gutter i{background:#26262e}.stage-row.todo h4{color:var(--text-mute)}.stage-row.todo b{color:var(--text-mute);background:rgba(101,101,109,.12)}.stage-row ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.stage-row li{font-size:13px;color:var(--text-dim);line-height:1.45}.stage-row li span{font-family:var(--font-mono);margin-right:8px}.kind-d span{color:var(--bull)}.kind-a{color:var(--text)!important}.kind-a span{color:var(--gold)}.kind-f{color:var(--liq)!important}.kind-f span{color:var(--liq)}.kind-t span{color:var(--text-mute)}.right-rail{width:300px;display:grid;gap:14px}.rail-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:18px}.rail-card.warn{border-color:rgba(242,179,61,.3)}.rail-card p{margin:12px 0 0;color:var(--text-dim);font-size:12.5px;line-height:1.45}.rail-card p b{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);margin-bottom:4px}.rail-card p.clean{color:var(--bull)}.rail-card .ok,.rail-card .protected{color:var(--bull)}.rail-card .bad,.rail-card .missing{color:var(--bear)}.rail-card .watch{color:var(--liq)}


.hermes-strip{margin:0 0 18px;background:linear-gradient(135deg,rgba(22,22,27,.96),rgba(13,13,16,.98));border:1px solid rgba(92,184,138,.34);border-radius:12px;padding:14px 16px;box-shadow:0 10px 30px -20px rgba(92,184,138,.35)}
.hermes-strip.watch{border-color:rgba(242,179,61,.45);box-shadow:0 10px 30px -20px rgba(242,179,61,.35)}
.hermes-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;font-family:var(--font-mono)}
.hermes-title span{font-size:10px;letter-spacing:.16em;color:var(--text-mute)}
.hermes-title b{font-size:11px;color:var(--bull);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.hermes-strip.watch .hermes-title b{color:var(--liq)}
.hermes-grid{display:grid;grid-template-columns:repeat(8,minmax(112px,1fr));gap:8px}
.hermes-grid div{min-width:0;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:9px 10px}
.hermes-grid span{display:block;font-family:var(--font-mono);font-size:9px;color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;white-space:nowrap}
.hermes-grid b{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ai-room{display:flex;flex-direction:column;gap:18px}
.room-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border:1px solid rgba(201,169,97,.38);border-radius:14px;padding:24px;background:radial-gradient(circle at top left,rgba(201,169,97,.18),rgba(22,22,27,.96) 42%,rgba(10,10,12,.98))}
.room-hero span{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);letter-spacing:.16em}.room-hero h2{font-family:var(--font-display);font-size:34px;color:var(--gold);font-weight:600;margin:6px 0}.room-hero p{margin:0;color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.room-hero b{font-family:var(--font-mono);font-size:11px;color:var(--bull);border:1px solid rgba(92,184,138,.4);background:rgba(92,184,138,.12);border-radius:999px;padding:6px 10px;white-space:nowrap}
.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.room-card,.room-panel{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;padding:18px}.room-card h3,.room-panel h3{font-family:var(--font-display);font-size:22px;color:var(--gold);font-weight:600;margin:0 0 8px}.room-card p{color:var(--text-dim);font-size:13px;min-height:40px}.room-card div,.room-panel p{display:flex;gap:10px;align-items:baseline;margin:8px 0;font-family:var(--font-mono);font-size:11px}.room-card b,.room-panel b{min-width:74px;color:var(--text-mute);font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.12em}.room-card span,.room-panel p{color:var(--text)}.room-two{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.room-panel pre{white-space:pre-wrap;margin:0;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;line-height:1.55}

@media (max-width:900px){.hermes-grid,.decision-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.hermes-title{align-items:flex-start;flex-direction:column}.room-grid,.room-two{grid-template-columns:1fr}.room-hero{align-items:flex-start;flex-direction:column}.topbar{position:static;height:auto;flex-wrap:wrap}.top-spacer{display:none}.freeze{position:fixed}.body-shell{padding-top:0;display:block}.sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border)}.main{padding:24px 18px 50px}.main-head{align-items:flex-start;flex-direction:column}.tile-grid{grid-template-columns:1fr}.workflow-panel{min-width:0}.right-rail{width:100%}.top-seg,.brand-seg{height:44px}.brand{line-height:44px}}

.tester-panel{margin:0 0 18px;background:linear-gradient(135deg,rgba(22,22,27,.96),rgba(10,10,12,.98));border:1px solid rgba(224,93,93,.42);border-radius:12px;padding:16px;box-shadow:0 12px 34px -24px rgba(224,93,93,.45)}
.tester-panel.good{border-color:rgba(242,179,61,.45);box-shadow:0 12px 34px -24px rgba(242,179,61,.45)}
.tester-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}
.tester-head span{display:block;font-family:var(--font-mono);font-size:10px;color:var(--text-mute);letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
.tester-head h2{font-family:var(--font-display);font-size:26px;color:var(--bear);font-weight:600;margin:0 0 5px}.tester-panel.good .tester-head h2{color:var(--liq)}
.tester-head p{margin:0;color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.55;max-width:112ch}.tester-head a{white-space:nowrap;border:1px solid rgba(201,169,97,.38);background:rgba(201,169,97,.1);color:var(--gold);border-radius:7px;padding:7px 10px;font-family:var(--font-mono);font-size:11px;text-decoration:none}
.tester-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.tester-grid article{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.065);border-radius:9px;padding:10px 11px;min-width:0}.tester-grid article span{display:block;font-family:var(--font-mono);font-size:8.5px;color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.tester-grid article b{display:block;font-family:var(--font-mono);font-size:12px;color:var(--gold);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tester-grid article p{margin:5px 0 0;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tester-lanes{margin-top:11px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}.tester-lanes summary{font-family:var(--font-mono);font-size:10px;color:var(--gold);cursor:pointer}.tester-lane{display:grid;grid-template-columns:180px 105px 1fr;gap:10px;align-items:baseline;margin:7px 0 0;font-family:var(--font-mono);font-size:10px}.tester-lane b{color:var(--text)}.tester-lane span{color:var(--gold);font-weight:700}.tester-lane.bad span{color:var(--bear)}.tester-lane.warn span{color:var(--liq)}.tester-lane em{color:var(--text-mute);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1250px){.tester-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.tester-head{flex-direction:column}.tester-grid,.tester-lane{grid-template-columns:1fr}.tester-lane em{white-space:normal}}


/* Decision panel — base styles for the Hermes-shipped markup (it landed
   with only the responsive rule, so the cards rendered as bare paragraphs). */
.decision-panel{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:12px;margin:0 0 18px}
.decision-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:14px 16px;min-width:0}
.decision-card.primary{border-color:rgba(201,169,97,.4)}
.decision-card.watch{border-color:rgba(242,179,61,.4)}
.decision-card>span{display:block;font-family:var(--font-mono);font-size:9px;color:var(--text-mute);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.decision-card>b{display:block;font-family:var(--font-mono);font-size:13px;color:var(--gold);font-weight:600;line-height:1.4;margin-bottom:6px;overflow-wrap:anywhere}
.decision-card>p{margin:0;color:var(--text-dim);font-family:var(--font-mono);font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
@media (max-width:1100px){.decision-panel{grid-template-columns:1fr 1fr}}

.ops-snapshot{display:grid;grid-template-columns:1.1fr 1fr .8fr 1.1fr;gap:12px;margin:0 0 18px}
.ops-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:15px 16px;min-width:0}
.ops-card.primary{border-color:rgba(92,184,138,.34)}
.ops-card>span{display:block;font-family:var(--font-mono);font-size:9px;color:var(--text-mute);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.ops-card>b{display:block;font-family:var(--font-display);font-size:24px;color:var(--gold);font-weight:600;line-height:1.05;margin-bottom:8px}
.ops-card p{margin:5px 0;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;line-height:1.45;text-transform:none;letter-spacing:0}
.ops-card p b{display:inline-block;min-width:82px;color:var(--text-mute);font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-right:8px}
.lane-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.lane-counts i{font-style:normal;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);border-radius:8px;padding:8px 9px;color:var(--text-mute);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.lane-counts b{display:block;color:var(--gold);font-size:17px;margin-bottom:2px}
.ops-card.attention button{width:100%;display:block;text-align:left;border:1px solid rgba(242,179,61,.25);background:rgba(242,179,61,.08);border-radius:8px;color:var(--text);padding:8px 10px;margin:6px 0}
.ops-card.attention button b{display:block;color:var(--gold);font-family:var(--font-mono);font-size:11px;margin-bottom:3px}
.ops-card.attention button em{display:block;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.function-map{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:20px}
.function-row{width:100%;display:grid;grid-template-columns:1.1fr .45fr .45fr 1.6fr;gap:10px;align-items:center;text-align:left;border:1px solid transparent;background:rgba(255,255,255,.018);border-radius:8px;color:var(--text);padding:10px 12px;margin-top:7px}
.function-row:hover,.function-row.active{border-color:rgba(201,169,97,.45);background:rgba(201,169,97,.08)}
.function-row b{color:var(--gold);font-family:var(--font-mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.function-row span,.function-row i,.function-row em{font-family:var(--font-mono);font-size:11px;font-style:normal;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.function-row i{font-weight:700}
.function-row em{color:var(--text)}
@media (max-width:1100px){.ops-snapshot{grid-template-columns:1fr 1fr}.function-row{grid-template-columns:1fr}.function-row span,.function-row i,.function-row em{white-space:normal}}
@media (max-width:900px){.ops-snapshot{grid-template-columns:1fr}.lane-counts{grid-template-columns:repeat(2,1fr)}}


/* VAULT command-core overview, inspired by the user's reference screenshot without copying its brand. */
.vault-view{min-height:calc(100vh - 150px);display:grid;grid-template-columns:260px minmax(420px,1fr) 310px;gap:18px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(143,218,73,.13),rgba(8,8,10,.35) 36%,rgba(8,8,10,.96) 72%),linear-gradient(180deg,rgba(143,218,73,.04),rgba(8,8,10,0));border:1px solid rgba(143,218,73,.18);border-radius:16px;padding:18px;box-shadow:inset 0 0 80px rgba(143,218,73,.045)}
.vault-view:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(143,218,73,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(143,218,73,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%)}
.vault-view:after{content:"";position:absolute;left:26%;right:26%;bottom:28px;height:170px;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(143,218,73,.18) 0 1px,transparent 1px 13px);transform:perspective(540px) rotateX(66deg);transform-origin:bottom;opacity:.35}
.vault-vitals,.vault-command,.vault-core{position:relative;z-index:1}.vault-vitals,.vault-command{display:flex;flex-direction:column;gap:13px}.vault-logo{border-bottom:1px solid rgba(143,218,73,.26);padding-bottom:14px}.vault-logo b{display:block;font-family:var(--font-mono);font-size:24px;letter-spacing:.38em;color:#d9ffd0;text-shadow:0 0 18px rgba(143,218,73,.38)}.vault-logo span,.vault-metric span,.vault-objectives>span,.command-deck>span,.vault-docs>span,.vault-feed>span,.vault-status span,.vault-bottom span{display:block;font-family:var(--font-mono);font-size:9px;color:#8fda49;letter-spacing:.18em;text-transform:uppercase}.vault-metric{padding:12px 0;border-bottom:1px solid rgba(143,218,73,.18);position:relative}.vault-metric b{display:block;font-family:var(--font-mono);font-size:25px;line-height:1.05;color:#f2ffe9;margin:6px 0 4px}.vault-metric em{display:block;font-family:var(--font-mono);font-size:10px;color:rgba(232,255,221,.62);font-style:normal}.vault-metric i{display:block;height:2px;margin-top:9px;border-radius:2px;background:linear-gradient(90deg,#8fda49,rgba(143,218,73,.05))}.vault-objectives{margin-top:4px}.vault-objectives button{width:100%;display:grid;grid-template-columns:28px 1fr;gap:8px;text-align:left;border:1px solid rgba(143,218,73,.16);background:rgba(10,18,9,.42);color:rgba(232,255,221,.72);border-radius:6px;padding:8px;margin-top:7px;font-family:var(--font-mono);font-size:10px;line-height:1.35}.vault-objectives i{font-style:normal;color:#8fda49}.vault-core{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0 26px}.vault-status{width:min(520px,90%);display:flex;align-items:center;justify-content:center;gap:16px;font-family:var(--font-mono);text-align:center}.vault-status b{color:#d9ffd0;font-size:11px;font-weight:500;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-orb{position:relative;width:min(520px,82vw);aspect-ratio:1;margin:auto;border-radius:50%;background:radial-gradient(circle,rgba(217,255,208,.30) 0,rgba(143,218,73,.14) 4%,rgba(143,218,73,.06) 13%,rgba(143,218,73,.02) 28%,transparent 50%);filter:drop-shadow(0 0 14px rgba(143,218,73,.12))}.vault-orb svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.vault-orb line{stroke:rgba(143,218,73,.30);stroke-width:.2}.vault-hub{position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(8,8,10,.9);border:1.5px solid rgba(217,255,208,.85);box-shadow:0 0 8px rgba(217,255,208,.4);pointer-events:none}.vault-node{position:absolute;transform:translate(-50%,-50%);min-width:10px;min-height:10px;border:0;background:transparent;color:rgba(232,255,221,.8);font-family:var(--font-mono);font-size:9px;text-align:center}.vault-node i{display:block;width:16px;height:16px;margin:0 auto 5px;border-radius:50%;background:var(--node);box-shadow:0 0 14px var(--node),0 0 34px rgba(143,218,73,.28);transform:scale(.625);transform-origin:center}.vault-node span{display:block;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(5,8,5,.62);border:1px solid rgba(143,218,73,.12);padding:3px 5px;border-radius:4px}.vault-node.active span{border-color:#d9ffd0;color:#d9ffd0}.vault-node.active i{transform:scale(1);background:#d9ffd0;box-shadow:0 0 22px #8fda49,0 0 60px rgba(143,218,73,.5)}.vault-bottom{width:min(560px,92%);text-align:center;border-top:1px solid rgba(143,218,73,.22);padding-top:14px}.vault-bottom b{display:block;font-family:var(--font-mono);font-size:40px;line-height:1;color:#f2ffe9;margin:5px 0;text-shadow:0 0 24px rgba(143,218,73,.22)}.vault-bottom em{display:block;color:rgba(232,255,221,.62);font-family:var(--font-mono);font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-clock{text-align:right;border-bottom:1px solid rgba(143,218,73,.24);padding-bottom:15px}.vault-clock b{display:block;font-family:var(--font-mono);font-size:36px;font-weight:300;color:#f2ffe9;letter-spacing:.04em}.vault-clock span{font-family:var(--font-mono);font-size:10px;color:#8fda49;letter-spacing:.12em;text-transform:uppercase}.command-deck,.vault-docs,.vault-feed{border:1px solid rgba(143,218,73,.17);background:rgba(7,12,7,.48);border-radius:10px;padding:13px}.command-deck{display:grid;grid-template-columns:1fr 1fr;gap:8px}.command-deck>span,.vault-docs>span,.vault-feed>span{grid-column:1/-1;margin-bottom:3px}.command-deck button{border:1px solid rgba(143,218,73,.18);background:rgba(143,218,73,.06);color:rgba(232,255,221,.84);border-radius:5px;text-align:left;padding:8px 9px;font-family:var(--font-mono);font-size:10px}.command-deck button:hover,.vault-objectives button:hover{border-color:rgba(217,255,208,.55);background:rgba(143,218,73,.12)}.vault-docs p,.vault-feed p{margin:8px 0 0;color:rgba(232,255,221,.66);font-family:var(--font-mono);font-size:10px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-feed p{white-space:normal}.view-toggle button[data-action="vault"].active{background:rgba(143,218,73,.14);color:#d9ffd0}
@media (max-width:1250px){.vault-view{grid-template-columns:1fr}.vault-core{min-height:560px;order:-1}.vault-clock{text-align:left}.vault-command{display:grid;grid-template-columns:1fr 1fr}.vault-clock,.command-deck,.vault-docs,.vault-feed,.vault-guidance{min-width:0}}
@media (max-width:760px){.vault-command{display:flex}.vault-bottom b{font-size:30px}.vault-core{min-height:460px}.vault-node span{display:none}.vault-logo b{font-size:18px}.vault-view{padding:12px}}

/* VAULT fit pass: keep the command deck inside normal laptop widths. Orb width is set once, above, at all sizes — a graph doesn't need to fill wide monitors, and a bigger orb was clipping the bottom node against .vault-view's overflow:hidden. */
.vault-view{grid-template-columns:230px minmax(340px,1fr) 250px;gap:14px;padding:16px}
.vault-clock{overflow:hidden}
.vault-clock b{font-size:30px;white-space:nowrap}
.command-deck{grid-template-columns:1fr}
.command-deck button,.vault-docs p,.vault-feed p,.vault-guidance p{font-size:9.5px}
.vault-logo b{font-size:21px}
.vault-bottom b{font-size:36px}
@media (min-width:1500px){.vault-view{grid-template-columns:260px minmax(420px,1fr) 310px}.command-deck{grid-template-columns:1fr 1fr}.vault-clock b{font-size:36px}.vault-logo b{font-size:24px}.vault-bottom b{font-size:40px}}

/* Motion pass: reveal + feedback micro-interactions. Motion tracks state changes (view swap, selection, data reveal), never plain decoration. */
:root{--ease-out-quart:cubic-bezier(.25,1,.5,1);--ease-out-quint:cubic-bezier(.22,1,.36,1);--ease-out-expo:cubic-bezier(.16,1,.3,1)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@keyframes riseIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes popIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes barFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lineDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

.vault-view,.grid-view,.focus-view,.ai-room{animation:riseIn 200ms var(--ease-out-quart) both}

.project-tile{transition-timing-function:var(--ease-out-quart);animation:riseIn 240ms var(--ease-out-quart) both;animation-delay:calc(var(--i,0) * 30ms)}
.project-tile:active{transform:scale(.98)}

.health-bar i,.health-row i{transform-origin:left;animation:barFill 460ms var(--ease-out-quint) both;animation-delay:150ms}

.pipe-seg i{transform-origin:left;animation:barFill 360ms var(--ease-out-quart) both;animation-delay:calc(var(--i,0) * 28ms + 110ms)}

.stage-row{animation:riseIn 220ms var(--ease-out-quart) both;animation-delay:calc(var(--i,0) * 25ms)}

.vault-node{animation:popIn 300ms var(--ease-out-quint) both;animation-delay:calc(var(--i,0) * 35ms)}
.vault-node i{transition:transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart)}
.vault-orb line{stroke-dasharray:1;stroke-dashoffset:1;animation:lineDraw 600ms var(--ease-out-expo) forwards;animation-delay:180ms}

.side-row{transition:background .15s var(--ease-out-quart),color .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart),transform .15s var(--ease-out-quart)}
.side-row:hover{transform:translateX(2px)}
.function-row{transition:background .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart),transform .15s var(--ease-out-quart)}
.nav-main,.side-footer button,.command-deck button,.vault-objectives button,.view-toggle button,.filters button{transition:background .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart),transform .1s var(--ease-out-quart)}
.side-row:active,.function-row:active,.nav-main:active,.side-footer button:active,.command-deck button:active,.vault-objectives button:active,.view-toggle button:active,.filters button:active{transform:scale(.97)}
.freeze{transition:transform .18s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart)}
.freeze:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.4)}

.loading{animation:pulse 1.6s ease-in-out infinite}

/* Stability pass: keep the first load alive, but stop replaying reveal animations after every click/render. */
body.has-rendered .vault-view,
body.has-rendered .grid-view,
body.has-rendered .focus-view,
body.has-rendered .ai-room,
body.has-rendered .project-tile,
body.has-rendered .health-bar i,
body.has-rendered .health-row i,
body.has-rendered .pipe-seg i,
body.has-rendered .stage-row,
body.has-rendered .vault-node,
body.has-rendered .vault-orb line{
  animation:none!important;
}

/* Living vault graph — canvas point cloud under the project node ring.
   Ambient rotation is an Ahmed-approved exception to the no-decorative-motion
   rule (2026-07-04); prefers-reduced-motion gets one static frame. */
#vaultGraphCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vault-orb svg,.vault-node,.vault-hub{position:absolute}
.vault-orb svg{z-index:1}.vault-node{z-index:2}
.vault-orb-meta{text-align:center;font-family:var(--font-mono);font-size:10px;color:#8fda49;letter-spacing:.22em;margin:6px 0 10px;text-transform:uppercase;text-shadow:0 0 12px rgba(143,218,73,.3)}

/* SYSTEMS — the agentic-OS capability map: every automated thing, by domain. */
.systems-view{animation:riseIn 200ms var(--ease-out-quart) both}
.systems-lede{max-width:80ch;font-size:14px;line-height:1.6;color:var(--text);font-weight:400;margin:0 0 20px;text-wrap:pretty}
.systems-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;align-items:start}
.systems-branch{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.systems-branch h2{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--gold);margin:0 0 10px}
.systems-branch h2 span{color:var(--text-mute);font-weight:400;font-size:12px}
.system-row{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:baseline;padding:5px 0;border-top:1px solid rgba(255,255,255,.04)}
.system-row b{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;font-weight:700}
.system-row span{font-family:var(--font-mono);font-size:11.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.system-row em{font-family:var(--font-mono);font-size:9.5px;color:var(--text-mute);font-style:normal;white-space:nowrap}
body.has-rendered .systems-view{animation:none!important}

/* BRIEF — the one view built for reading, not glancing: body-size text, 72ch column, sentences. */
.brief-view{max-width:72ch;animation:riseIn 200ms var(--ease-out-quart) both}
.brief-view h2{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--gold);margin:34px 0 14px}
.brief-view h2 span{color:var(--text-mute);font-weight:400;font-size:14px}
.brief-os{font-size:15px;line-height:1.65;color:var(--text);font-weight:400;margin:0 0 22px;text-wrap:pretty}
.brief-guidance{background:var(--bg-elevated);border:1px solid rgba(201,169,97,.32);border-radius:12px;padding:18px 20px}
.brief-guidance h2{margin:0 0 10px}
.brief-guidance p{margin:9px 0 0;font-size:14px;line-height:1.55;color:var(--text);font-weight:400}
.brief-guidance p b{color:var(--gold);font-family:var(--font-mono);font-weight:600;margin-right:4px}
.brief-guidance p span{color:var(--text-dim)}
.brief-guidance em{display:block;margin-top:12px;font-family:var(--font-mono);font-size:10px;color:var(--text-mute);font-style:normal;letter-spacing:.04em}
.brief-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:12px}
.brief-item.blocked{border-color:rgba(224,93,93,.45)}
.brief-item header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.brief-item h3{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--text);margin:0}
.brief-item header b{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.05em;padding:2px 8px;border-radius:4px;border:1px solid}
.brief-item header span{font-family:var(--font-mono);font-size:10.5px;color:var(--text-mute)}
.brief-item p{margin:7px 0 0;font-size:14px;line-height:1.6;font-weight:400;text-wrap:pretty}
.brief-role{color:var(--text-dim)}
.brief-standing{color:var(--text)}
.brief-item.blocked .brief-standing{color:#f0b9b9}
.brief-next{color:var(--text)}
.brief-next b{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-right:8px}
.brief-open{display:inline-block;margin-top:12px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;transition:border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart)}
.brief-open:hover{border-color:rgba(201,169,97,.5);color:var(--gold)}
.brief-parked p{margin:6px 0;font-size:13.5px;line-height:1.55;color:var(--text-dim);font-weight:400}
.brief-parked b{color:var(--text);font-weight:500}
body.has-rendered .brief-view{animation:none!important}

.vault-guidance{border:1px solid rgba(143,218,73,.17);background:rgba(7,12,7,.48);border-radius:10px;padding:13px}
.vault-guidance>span{display:block;font-family:var(--font-mono);font-size:9px;color:#8fda49;letter-spacing:.18em;text-transform:uppercase;margin-bottom:3px}
.vault-guidance p{margin:8px 0 0;color:rgba(232,255,221,.66);font-family:var(--font-mono);font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.vault-guidance p.clean{color:rgba(232,255,221,.4)}
.vault-guidance b{color:#8fda49;margin-right:6px}
.vault-guidance em{display:block;color:rgba(232,255,221,.4);font-style:normal;font-size:9px;margin-top:2px}
.vault-guidance .guidance-stamp{margin-top:10px;padding-top:8px;border-top:1px solid rgba(143,218,73,.14);color:rgba(232,255,221,.45);font-size:9px}

.objective-line{margin:0!important;color:var(--gold-soft)!important;font-family:var(--font-mono);font-size:10px!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none!important;letter-spacing:0!important}
.objective-health{margin-top:12px;border:1px solid rgba(201,169,97,.26);background:rgba(201,169,97,.07);border-radius:8px;padding:10px 12px;display:flex;gap:12px;align-items:baseline;justify-content:space-between}
.objective-health span{font-family:var(--font-mono);font-size:9px;color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.objective-health b{font-family:var(--font-mono);font-size:11px;color:var(--gold-soft);font-weight:600;text-align:right}
.brief-objective{color:var(--gold-soft)!important}
.brief-objective b{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-right:8px}

.action-deck{margin:0 0 18px;border:1px solid rgba(201,169,97,.24);background:rgba(22,22,27,.72);border-radius:12px;padding:14px 16px}
.action-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px;font-family:var(--font-mono)}
.action-head span{font-size:10px;color:var(--gold);letter-spacing:.16em}
.action-head b{font-size:10px;color:var(--text-mute);font-weight:500;text-align:right}
.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.action-card{min-width:0;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:10px;padding:12px}
.action-card.needs-approval{border-color:rgba(224,93,93,.34)}
.action-card.operator-check,.action-card.safe-with-review{border-color:rgba(242,179,61,.34)}
.action-card span{font-family:var(--font-mono);font-size:8.5px;color:var(--text-mute);letter-spacing:.12em}
.action-card h3{margin:3px 0 5px;font-family:var(--font-display);font-size:15px;color:var(--gold);font-weight:600;line-height:1.15}
.action-card p{margin:0;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.action-card em{display:inline-block;margin-top:6px;color:var(--liq);font-family:var(--font-mono);font-size:9.5px;font-style:normal}
.action-card button{border:1px solid rgba(201,169,97,.38);background:rgba(201,169,97,.1);color:var(--gold);border-radius:6px;padding:5px 9px;font-family:var(--font-mono);font-size:10px}
.action-card code{grid-column:1/-1;color:var(--text-mute);font-family:var(--font-mono);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(0,0,0,.18);border-radius:6px;padding:6px 7px}
@media (max-width:1200px){.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.action-grid{grid-template-columns:1fr}.action-head{align-items:flex-start;flex-direction:column}.action-head b{text-align:left}}

.today-view{max-width:980px}
.today-actions,.yesterday{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.today-actions{border-color:rgba(201,169,97,.38)}
.today-head,.yesterday-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.today-head span,.yesterday-head span{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--text-mute)}
.today-head h2,.yesterday-head h2{margin:4px 0 0!important;font-family:var(--font-display);font-size:19px!important;color:var(--gold)!important}
.today-head em,.yesterday footer{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);font-style:normal}
.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.today-grid article{border:1px solid var(--border);border-radius:9px;padding:13px;background:rgba(255,255,255,.02)}
.today-grid article header{display:flex;justify-content:space-between;align-items:center}
.today-grid article header>b{font-family:var(--font-mono);color:var(--gold)}
.today-grid article header span{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;padding:2px 6px;border:1px solid var(--border);border-radius:4px;color:var(--text-mute)}
.today-grid article header span.new{color:var(--bull);border-color:rgba(92,184,138,.4)}
.today-grid article header span.repeated{color:var(--liq);border-color:rgba(242,179,61,.4)}
.today-grid h3{font-family:var(--font-display);font-size:15px;color:var(--text);margin:10px 0 6px}
.today-grid p{font-size:12px;line-height:1.5;color:var(--text-dim);margin:0}

/* Next Best Action hero — the answer to "what's next" within 2-3 seconds of
   opening the page. Same card language as .decision-card.primary, just the
   page-top-sized version of it; no new visual system. */
.nba-hero{background:var(--bg-elevated);border:1px solid rgba(201,169,97,.5);border-radius:14px;padding:24px 26px;margin-bottom:16px}
.nba-hero>span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.nba-hero h1{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--gold);margin:10px 0 8px;line-height:1.25}
.nba-hero p{font-family:var(--font-mono);font-size:13px;color:var(--text-dim);line-height:1.55;margin:0 0 16px;max-width:90ch}
.nba-hero.empty{border-color:var(--border)}
.nba-hero.empty p{margin:8px 0 0;color:var(--text-mute)}
.nba-source{display:flex;align-items:center;gap:10px}
.nba-source code{flex:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:11px;color:var(--text-mute);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:8px 10px}
.nba-source button{flex-shrink:0;background:rgba(201,169,97,.14);border:1px solid rgba(201,169,97,.45);border-radius:6px;padding:8px 14px;color:var(--gold);font-family:var(--font-mono);font-size:11px;font-weight:600}
.nba-source button:hover{background:rgba(201,169,97,.22)}

/* Persistent selfmodel banner — status by state styling, not motion, per
   PRODUCT.md. Fixed below the topbar so it shows on every view, not just TODAY. */
.alert-strip{position:fixed;top:52px;left:0;right:0;height:32px;z-index:90;display:flex;align-items:center;gap:10px;padding:0 22px;background:rgba(224,93,93,.16);border-bottom:1px solid rgba(224,93,93,.45)}
.alert-strip b{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--bear)}
.alert-strip span{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alert-strip em{font-family:var(--font-mono);font-size:10px;color:var(--text-mute);font-style:normal}
.body-shell.has-alert{padding-top:84px}
.body-shell.has-alert .sidebar{top:84px;height:calc(100vh - 84px)}
@media (max-width:900px){.alert-strip{position:static;height:auto;padding:8px 18px;flex-wrap:wrap}.body-shell.has-alert{padding-top:0}.body-shell.has-alert .sidebar{top:0;height:auto}}
.today-grid code{display:block;margin-top:9px;font-family:var(--font-mono);font-size:9px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.verdict-counts{display:flex;gap:6px;flex-wrap:wrap}
.verdict-counts i{font-family:var(--font-mono);font-size:8px;font-style:normal;text-transform:uppercase;color:var(--text-mute);border:1px solid var(--border);border-radius:5px;padding:4px 6px}
.verdict-counts b{color:var(--text);margin-right:4px}
.yesterday>article{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--border)}
.yesterday>article:first-of-type{margin-top:13px}
.yesterday>article>b{font-family:var(--font-mono);font-size:9px}
.yesterday>article.done>b{color:var(--bull)}
.yesterday>article.partial>b{color:var(--liq)}
.yesterday>article.ignored>b{color:var(--text-mute)}
.yesterday>article.blocked>b{color:var(--bear)}
.yesterday h3{font-size:13px;margin:0;color:var(--text)}
.yesterday p{font-size:11px;margin:3px 0 0;color:var(--text-dim)}
.yesterday footer{display:block;margin-top:10px}
.today-empty{color:var(--text-mute);font-size:12px}
@media (max-width:900px){.today-grid{grid-template-columns:1fr}.today-head,.yesterday-head{flex-direction:column}.yesterday>article{grid-template-columns:1fr}}
@media (max-width:700px){
  .topbar{height:52px;flex-wrap:nowrap;overflow:hidden}
  .brand-seg{flex:0 0 104px;padding:0 12px}
  .brand{font-size:16px}.version{display:none}
  .topbar .top-seg{display:none}
  .topbar .top-seg:nth-of-type(2),.topbar .top-seg:nth-of-type(6){display:flex;padding:0 9px;font-size:10px}
  .topbar .top-seg span{font-size:8px}
  .freeze{right:8px;top:9px;padding:7px 10px;font-size:10px}
  .sidebar{padding:8px 0;height:auto;overflow:hidden}
  .side-logo,.nav-main,.side-label,.side-footer,.keys{display:none}
  .side-list{display:flex;gap:6px;margin:0 10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .side-list::-webkit-scrollbar{display:none}
  .side-row{flex:0 0 auto;width:auto;min-width:132px;margin:0;padding:8px 10px}
  .main{padding:18px 12px 44px}
  .main-head{gap:14px;margin-bottom:16px}
  .main h1{font-size:26px}
  .view-toggle{width:100%;overflow-x:auto}
  .view-toggle button{flex:0 0 auto;padding:7px 12px;min-height:34px}
  .today-actions,.yesterday{padding:15px 14px}
}

.relevant-intel{background:var(--bg-elevated);border:1px solid rgba(127,163,217,.34);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.intel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.intel-head span{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--review)}
.intel-head h2{font-family:var(--font-display);font-size:19px!important;color:var(--text)!important;margin:4px 0 0!important}
.intel-head>em,.relevant-intel footer{font-family:var(--font-mono);font-size:9px;color:var(--text-mute);font-style:normal}
.relevant-intel>a{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--border);text-decoration:none}
.relevant-intel>a>b{font-family:var(--font-mono);font-size:9px;color:var(--review);text-transform:uppercase}
.relevant-intel h3{font-size:13px;color:var(--text);margin:0}
.relevant-intel p{font-family:var(--font-mono);font-size:9px;color:var(--text-mute);margin:3px 0}
.relevant-intel a em{font-size:11px;color:var(--text-dim);font-style:normal}
.relevant-intel a>i{color:var(--review);font-style:normal}
.relevant-intel footer{display:block;margin-top:10px}
@media (max-width:700px){.intel-head{flex-direction:column}.relevant-intel{padding:15px 14px}.relevant-intel>a{grid-template-columns:1fr}.relevant-intel a>i{display:none}}

/* Activity — observed work. State by color only; PRODUCT.md forbids decorative motion. */
.act-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--text-mute);line-height:1.5}
.act-scope{font-family:var(--font-mono);font-size:9px;color:var(--text-mute);letter-spacing:.1em;text-transform:uppercase;margin-left:6px}
.act-row{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.act-row:first-of-type{border-top:none}
.act-head{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.act-head b{font-size:12.5px;color:var(--text)}
.act-branch{font-family:var(--font-mono);font-size:9px;color:var(--gold);border:1px solid rgba(201,169,97,.35);border-radius:3px;padding:1px 5px}
.act-sum{font-family:var(--font-mono);font-size:10px;color:var(--bull)}
.act-commits{list-style:none;margin:7px 0 0;padding:0;display:grid;gap:4px}
.act-commits li{font-size:11.5px;color:var(--text-dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis}
.act-when{font-family:var(--font-mono);font-size:9px;color:var(--text-mute);margin-right:6px}
.act-dirty{font-family:var(--font-mono);font-size:10px;color:var(--liq);margin-top:6px!important;word-break:break-all}
.freeze.bad{color:var(--bear);border-color:rgba(224,93,93,.5)}
.freeze.warn{color:var(--liq);border-color:rgba(242,179,61,.5)}
.freeze[disabled]{opacity:.65;cursor:progress}


/* Direct Answer Strip — deterministic OS read, no decorative motion. */
.direct-answer-strip{border:1px solid rgba(201,169,97,.28);background:rgba(18,18,22,.82);border-radius:12px;padding:14px 16px;margin:0 0 18px}
.direct-answer-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px;font-family:var(--font-mono)}
.direct-answer-head span{font-size:10px;color:var(--gold);letter-spacing:.18em;font-weight:700}
.direct-answer-head b{font-size:10px;color:var(--text-mute);font-weight:500;text-align:right}
.direct-answer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.direct-answer-card{min-width:0;border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:10px;padding:12px 13px;border-left:3px solid var(--text-mute)}
.direct-answer-card.primary{border-left-color:var(--gold);background:rgba(201,169,97,.065)}
.direct-answer-card.good{border-left-color:var(--bull)}
.direct-answer-card.watch{border-left-color:var(--liq)}
.direct-answer-card.bad{border-left-color:var(--bear)}
.direct-answer-card span{display:block;font-family:var(--font-mono);font-size:8.5px;color:var(--text-mute);letter-spacing:.14em;margin-bottom:7px;font-weight:700}
.direct-answer-card h2{margin:0;color:var(--text);font-family:var(--font-display);font-size:15px;font-weight:650;line-height:1.25;overflow-wrap:anywhere}
.direct-answer-card p{margin:7px 0 0;color:var(--text-dim);font-size:12px;line-height:1.45;text-wrap:pretty}
@media(max-width:1100px){.direct-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.direct-answer-strip{padding:12px}.direct-answer-head{display:block}.direct-answer-head b{display:block;margin-top:4px;text-align:left}.direct-answer-grid{grid-template-columns:1fr}.direct-answer-card h2{font-size:14px}}

.mission-main .main-head h1 { letter-spacing: .18em; }
.mission-control { display: grid; gap: 16px; }
.mission-command { border: 1px solid rgba(166, 227, 161, .38); background: rgba(5, 12, 10, .92); padding: 18px; box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset; }
.mission-command span, .mission-bottom article > span, .mission-lane-head span { display: block; color: var(--text-mute); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 8px; }
.mission-command h2 { margin: 0 0 8px; font-size: clamp(26px, 4vw, 44px); line-height: .95; color: var(--text); }
.mission-command p { margin: 0; max-width: 980px; color: var(--text-soft); font-size: 15px; }
.mission-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mission-lane, .mission-bottom article { border: 1px solid rgba(255,255,255,.10); background: rgba(8, 13, 18, .90); padding: 14px; min-height: 100%; }
.mission-lane-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 10px; }
.mission-lane-head b { font-size: 11px; letter-spacing: .14em; }
.mission-lane.ready .mission-lane-head b, .mission-control.ready .mission-command span { color: var(--bull); }
.mission-lane.watch .mission-lane-head b, .mission-control.watch .mission-command span { color: var(--liq); }
.mission-lane.bad .mission-lane-head b, .mission-control.bad .mission-command span { color: var(--bear); }
.mission-lane.hold .mission-lane-head b { color: var(--text-mute); }
.mission-line { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.mission-line:last-child { border-bottom: 0; }
.mission-line span { display: block; color: var(--text-mute); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.mission-line b { display: block; color: var(--text); font-size: 15px; margin-top: 3px; }
.mission-line p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.mission-lane button { margin-top: 12px; width: 100%; border: 1px solid rgba(166, 227, 161, .28); background: rgba(166, 227, 161, .07); color: var(--text); padding: 10px; text-align: left; cursor: pointer; }
.mission-bottom { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 12px; }
.mission-empty { margin: 0; color: var(--text-mute); font-size: 13px; }
@media (max-width: 1100px) { .mission-lanes, .mission-bottom { grid-template-columns: 1fr; } }
.mission-lane[data-project], .mission-click { cursor: pointer; }
.mission-lane:hover, .mission-click:hover { border-color: rgba(166, 227, 161, .30); background: rgba(166, 227, 161, .045); }
.mission-lane em { display: block; margin-top: 12px; color: var(--bull); font-size: 11px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.mission-static { cursor: default; }

.decision-feedback { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 12px; }
.decision-feedback label { display: block; color: var(--text-dim); font-size: 12px; margin-bottom: 6px; }
.decision-feedback input { width: min(100%, 640px); box-sizing: border-box; background: var(--bg); color: var(--text); border: 1px solid var(--border); padding: 10px; }
.decision-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.decision-feedback button { background: var(--bg-elevated); color: var(--text); border: 1px solid var(--text-mute); padding: 8px 14px; cursor: pointer; }
.decision-feedback button:disabled { opacity: .5; cursor: default; }
.decision-feedback button:focus-visible, .decision-feedback input:focus-visible { outline: 2px solid var(--bull); outline-offset: 3px; }
.decision-feedback p { font-size: 12px; color: var(--text-dim); }
.decision-memory { border: 1px solid var(--border); padding: 16px; background: var(--bg-elevated); overflow-wrap: anywhere; }
.decision-memory h3 { font-size: 12px; letter-spacing: .14em; margin: 0 0 8px; }
.decision-memory p, .decision-memory li { color: var(--text-dim); font-size: 13px; line-height: 1.5; }
.decision-memory ul { padding-left: 18px; }
.decision-memory li { margin: 8px 0; }
.decision-memory small { display: block; }
.decision-memory summary { cursor: pointer; color: var(--text); }

/* Mobile access to utility views; keep all controls reachable by touch. */
@media(max-width:700px){
 .side-footer{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin:8px 10px 0;padding-top:8px}
 .side-footer button{width:auto;min-height:44px;flex:1 1 auto;text-align:center}
 .side-row,.view-toggle button{min-height:44px}
}
