body { min-height: 100vh; }
.board-top { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--line); background: var(--bg); }
.board-top .shell { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.board-nav { display: flex; align-items: center; gap: .8rem; font-size: .72rem; white-space: nowrap; }
.board-nav a { color: var(--muted); text-decoration: none; }
.mock-banner { border-bottom: 1px solid color-mix(in srgb, var(--alarm) 55%, var(--line)); background: color-mix(in srgb, var(--alarm) 7%, var(--bg)); color: var(--muted); font-size: .73rem; }
.mock-banner .shell { padding: .58rem 0; display: flex; gap: .65rem; align-items: center; }
.mock-banner strong { color: var(--alarm); text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; }
.board-shell { width: min(100%, 1600px); margin: 0 auto; display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: calc(100vh - var(--board-offset, 95px)); }
.board-side { border-right: 1px solid var(--line); padding: 1.15rem; position: sticky; top: var(--board-offset, 95px); align-self: start; height: calc(100vh - var(--board-offset, 95px)); overflow-y: auto; }
.side-title { color: var(--dim); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; margin: 1rem .6rem .5rem; }
.view-button { width: 100%; display: grid; grid-template-columns: 21px 1fr auto; align-items: center; gap: .6rem; border: 0; border-radius: 4px; background: transparent; color: var(--muted); padding: .65rem .6rem; text-align: left; cursor: pointer; }
.view-button:hover, .view-button.active { color: var(--ink); background: var(--panel-2); }
.view-button.active { box-shadow: inset 2px 0 var(--bronze); }
.view-button .count { font-size: .66rem; color: var(--dim); }
.key-roles { margin-top: 1.2rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.key-role { border: 1px solid var(--line); padding: .65rem; margin-top: .5rem; }
.key-role b { display: block; font-size: .75rem; }
.key-role span { display: block; color: var(--alarm); font-size: .65rem; margin-top: .18rem; }
.board-main { min-width: 0; padding: clamp(1rem, 2.4vw, 2.4rem); }
.board-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.3rem; }
.board-head h1 { font-size: clamp(2.1rem, 4vw, 3.7rem); margin: .35rem 0 0; }
.board-head p { margin: .4rem 0 0; color: var(--muted); font-size: .82rem; }
.system-health { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }
.health { border: 1px solid var(--line); padding: .55rem .7rem; min-width: 112px; }
.health b { display: block; font-size: .72rem; }
.health span { color: var(--muted); font-size: .65rem; }
.toolbar { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(220px, 1fr) auto; gap: .7rem; border: 1px solid var(--line); background: var(--panel); padding: .75rem; margin-bottom: 1rem; }
.field { display: grid; gap: .25rem; }
.field label { color: var(--dim); font-size: .6rem; text-transform: uppercase; letter-spacing: .11em; }
.field select, .field input { width: 100%; border: 1px solid var(--line); background: var(--bg); color: var(--ink); border-radius: 3px; padding: .65rem .7rem; min-height: 42px; }
.filter-row { display: flex; align-items: end; gap: .35rem; flex-wrap: wrap; }
.filter { border: 1px solid var(--line); background: var(--bg); color: var(--muted); min-height: 42px; padding: .55rem .7rem; cursor: pointer; }
.filter.active { border-color: var(--bronze); color: var(--bronze-soft); }
.objective-bar { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); background: var(--line); gap: 1px; margin-bottom: 1rem; }
.objective { background: var(--panel); padding: .85rem 1rem; }
.objective b { display: block; color: var(--ink); font-size: .8rem; }
.objective span { color: var(--muted); font-size: .67rem; }
.objective em { color: var(--bronze-soft); font-style: normal; }
.kill-switch { display: grid; grid-template-columns: minmax(0, 1fr) 236px; min-height: 156px; align-items: stretch; border: 1px solid color-mix(in srgb, var(--bronze) 28%, var(--line)); background: #0b0a09; color: #f4eee3; margin-bottom: 1rem; box-shadow: 0 22px 70px rgba(0,0,0,.24); overflow: hidden; }
.kill-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(1rem, 2vw, 1.45rem); min-width: 0; }
.kill-kicker { color: color-mix(in srgb, var(--alarm) 82%, #f4eee3); font-size: .59rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.kill-copy h2 { margin: .38rem 0 .65rem; font-family: Inter, sans-serif; font-size: clamp(1.1rem, 1.65vw, 1.5rem); letter-spacing: -.025em; font-weight: 820; }
.kill-identity { display: flex; align-items: baseline; gap: .52rem; margin: 0; color: #8f8980; font-size: .66rem; }
.kill-identity span { text-transform: uppercase; letter-spacing: .09em; }
.kill-identity strong { color: #f4eee3; font-size: .8rem; }
.kill-contract { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: .9rem; }
.kill-contract span { display: inline-flex; align-items: center; gap: .36rem; color: #8f8980; font-size: .58rem; letter-spacing: .02em; }
.kill-contract i { width: 4px; height: 4px; border-radius: 50%; background: #5e5952; }
.kill-instrument { border-left: 1px solid #2d2a26; background: #080706; padding: .75rem 1rem .72rem; display: grid; grid-template-rows: auto 1fr auto; place-items: center; }
.kill-instrument-head { width: 100%; display: flex; align-items: center; justify-content: space-between; color: #817c74; font-size: .55rem; letter-spacing: .11em; text-transform: uppercase; }
.kill-instrument-head b { color: #d7c6a3; font-size: .56rem; }
.kill-instrument-head b::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: .34rem; border-radius: 50%; background: var(--alarm); box-shadow: 0 0 9px color-mix(in srgb, var(--alarm) 70%, transparent); }
.kill-trigger { width: 108px; height: 108px; border: 0; border-radius: 50%; background: transparent; padding: 0; cursor: pointer; display: grid; place-items: center; -webkit-tap-highlight-color: transparent; }
.kill-bezel { width: 92px; height: 92px; border: 1px solid #514b44; border-radius: 50%; background: #12100e; box-shadow: 0 0 0 7px #050505, 0 0 0 8px #292621, inset 0 8px 15px rgba(0,0,0,.72); display: grid; place-items: center; }
.kill-orb { width: 68px; height: 68px; border: 1px solid color-mix(in srgb, var(--alarm) 78%, #f4eee3); border-radius: 50%; background: var(--alarm); color: #fff8f1; box-shadow: inset 0 -9px rgba(54,6,4,.35), inset 0 1px rgba(255,255,255,.26), 0 6px 0 color-mix(in srgb, var(--alarm) 60%, #120302), 0 9px 18px rgba(0,0,0,.42); display: grid; place-items: center; font-size: .54rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; transform: translateY(-2px); transition: transform .14s ease, box-shadow .14s ease, background .14s ease; }
.kill-trigger:hover .kill-orb { background: color-mix(in srgb, var(--alarm) 88%, #fff); transform: translateY(-3px); }
.kill-trigger:active .kill-orb { transform: translateY(4px); box-shadow: inset 0 -4px rgba(54,6,4,.3), inset 0 1px rgba(255,255,255,.18), 0 1px 0 color-mix(in srgb, var(--alarm) 55%, #120302); }
.kill-instrument small { color: #706b64; font-size: .54rem; letter-spacing: .03em; }
#kill-selected, #kill-dialog-identity, #kill-result-identity { display: inline-block; white-space: nowrap; }
.kill-trigger:focus-visible { outline: 2px solid var(--bronze-soft); outline-offset: 3px; }
.kill-confirm-btn:focus-visible, .kill-dialog-close:focus-visible, .kill-dialog input:focus-visible { outline: 3px solid var(--ink); outline-offset: -5px; }
.pipeline { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 1rem; }
.pipe-step { border: 0; background: var(--panel); color: var(--muted); text-align: left; padding: .75rem; min-width: 0; cursor: pointer; }
.pipe-step small { display: block; color: var(--dim); font-size: .58rem; letter-spacing: .09em; margin-bottom: .22rem; }
.pipe-step b { display: block; font-size: .72rem; overflow-wrap: normal; word-break: normal; }
.pipe-step.active { background: var(--panel-2); box-shadow: inset 0 -2px var(--bronze); color: var(--ink); }
.pipe-step.done small { color: var(--ok); }
.matrix-wrap { border: 1px solid var(--line); background: var(--panel); overflow: hidden; }
.matrix-head { padding: .8rem 1rem; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.matrix-head b { font-size: .8rem; }
.matrix-head span { color: var(--muted); font-size: .68rem; }
.table-scroll { overflow-x: auto; }
.access-table { width: 100%; min-width: 1050px; border-collapse: collapse; font-size: .73rem; }
.access-table th { padding: .68rem .75rem; text-align: left; color: var(--dim); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid var(--line); background: var(--panel); position: sticky; top: 0; }
.access-table td { padding: .76rem .75rem; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--muted); }
.access-table tbody tr { cursor: pointer; }
.access-table tbody tr:hover { background: var(--panel-2); }
.room-name { color: var(--ink); font-weight: 750; display: block; white-space: normal; }
.room-purpose { display: block; color: var(--dim); font-size: .62rem; margin-top: .13rem; }
.state-pill { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--line); border-radius: 999px; padding: .26rem .48rem; color: var(--muted); font-size: .62rem; white-space: nowrap; }
.state-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--dim); }
.state-pill.ready::before { background: var(--ok); }
.state-pill.partial::before { background: var(--bronze); }
.state-pill.blocked::before, .state-pill.drift::before { background: var(--alarm); }
.tag { display: inline-block; border: 1px solid var(--line); padding: .18rem .34rem; margin: .08rem .1rem .08rem 0; color: var(--dim); font-size: .56rem; letter-spacing: .04em; white-space: nowrap; }
.tag.risk { color: var(--alarm); border-color: color-mix(in srgb, var(--alarm) 45%, var(--line)); }
.name-lock { display: inline-block; white-space: nowrap; color: var(--ink); }
.relationship-arrow { color: var(--bronze); text-align: center; font-size: 1.1rem; }
.transaction[hidden] { display: none; }
.next-action { color: var(--bronze-soft); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: .2em; }
.empty-state { padding: 3rem; text-align: center; color: var(--muted); }
.transaction { margin-top: 1rem; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1rem; }
.tx-panel { border: 1px solid var(--line); background: var(--panel); padding: 1rem; }
.tx-panel h2 { font-family: Inter, sans-serif; letter-spacing: 0; font-size: .88rem; font-weight: 800; margin: 0 0 1rem; }
.diff { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.diff > div { border: 1px solid var(--line); padding: .75rem; }
.diff b { display: block; font-size: 1.4rem; color: var(--bronze-soft); }
.diff span { color: var(--muted); font-size: .65rem; }
.exception { border-left: 2px solid var(--alarm); padding: .65rem .8rem; background: color-mix(in srgb, var(--alarm) 6%, var(--panel)); margin-top: .8rem; }
.exception b { font-size: .74rem; display: block; }
.exception span { color: var(--muted); font-size: .65rem; }
.quorum { display: flex; gap: .45rem; margin-top: .7rem; }
.key-slot { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--dim); font-size: .7rem; }
.tx-actions { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: 1rem; }
.action-btn { border: 1px solid var(--bronze); background: transparent; color: var(--bronze-soft); padding: .65rem .75rem; cursor: pointer; font-size: .69rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.action-btn.primary { color: #17120b; background: var(--bronze-soft); }
.action-btn:disabled { opacity: .38; cursor: not-allowed; }
.tx-log { list-style: none; padding: 0; margin: 0; }
.tx-log li { border-bottom: 1px solid var(--line); padding: .65rem 0; font-size: .68rem; color: var(--muted); }
.tx-log time { display: block; color: var(--dim); font-size: .58rem; margin-bottom: .15rem; }
.drawer { position: fixed; z-index: 70; right: 0; top: 0; height: 100vh; width: min(460px, 100%); background: var(--panel); border-left: 1px solid var(--line-strong); box-shadow: -30px 0 90px rgba(0,0,0,.4); transform: translateX(105%); transition: transform .22s ease; overflow-y: auto; }
.drawer.open { transform: translateX(0); }
.drawer-head { position: sticky; top: 0; background: var(--panel); border-bottom: 1px solid var(--line); padding: 1rem; display: flex; justify-content: space-between; gap: 1rem; }
.drawer-close { border: 1px solid var(--line); background: transparent; color: var(--muted); width: 34px; height: 34px; cursor: pointer; }
.drawer-body { padding: 1rem; }
.drawer-body h2 { font-size: 2rem; margin: .4rem 0 1.2rem; }
.drawer-block { border-top: 1px solid var(--line); padding: 1rem 0; }
.drawer-block h3 { font-family: Inter,sans-serif; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 .55rem; color: var(--bronze); }
.drawer-block p { font-size: .78rem; color: var(--muted); margin: .25rem 0; }
.toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 100; max-width: 360px; border: 1px solid var(--bronze); background: var(--panel); color: var(--ink); padding: .8rem 1rem; box-shadow: var(--shadow); font-size: .75rem; transform: translateY(160%); transition: transform .2s ease; }
.toast.show { transform: translateY(0); }
.kill-dialog { width: min(650px, calc(100% - 2rem)); max-height: min(820px, calc(100vh - 2rem)); padding: 0; border: 1px solid var(--line-strong); background: var(--panel); color: var(--ink); box-shadow: 0 40px 140px rgba(0,0,0,.62); }
.kill-dialog::backdrop { background: rgba(5,4,3,.78); backdrop-filter: blur(8px); }
.kill-dialog-shell { margin: 0; }
.kill-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--line); }
.kill-dialog-status { display: flex; gap: .42rem; }
.kill-dialog-status span { border: 1px solid var(--line); color: var(--dim); padding: .25rem .42rem; font-size: .55rem; letter-spacing: .09em; text-transform: uppercase; }
.kill-dialog-status span:first-child { color: var(--alarm); border-color: color-mix(in srgb, var(--alarm) 45%, var(--line)); }
.kill-dialog-head h2 { margin: .7rem 0 0; font-family: Inter, sans-serif; font-size: clamp(1.25rem, 3vw, 1.9rem); letter-spacing: -.025em; }
.kill-dialog-close { flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: 1.2rem; }
.kill-dialog-body { padding: clamp(1rem, 3vw, 1.5rem); }
.kill-lead { margin: 0 0 1rem; color: var(--muted); font-size: .78rem; max-width: 62ch; }
.kill-scope { border: 1px solid var(--line); padding: .85rem; }
.kill-scope b { display: block; color: var(--dim); font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; }
.kill-scope ul { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: .65rem 0 0; padding: 0; background: var(--line); }
.kill-scope li { background: var(--panel); color: var(--muted); padding: .7rem; font-size: .67rem; }
.kill-scope li span { display: block; color: var(--alarm); font-size: .54rem; letter-spacing: .1em; margin-bottom: .3rem; }
.kill-check { display: flex; align-items: center; gap: .7rem; margin-top: .75rem; border: 1px solid var(--line); padding: .72rem .8rem; cursor: pointer; font-size: .72rem; }
.kill-check input { width: 18px; height: 18px; accent-color: var(--alarm); flex: 0 0 auto; }
.kill-phrase { display: grid; gap: .36rem; margin-top: 1rem; }
.kill-phrase > span { color: var(--dim); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.kill-phrase code { color: var(--alarm); font-size: .78rem; font-weight: 800; }
.kill-phrase input { min-height: 46px; border: 1px solid var(--line-strong); background: var(--bg); color: var(--ink); padding: .65rem .75rem; font: 800 .82rem/1 Inter, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.kill-note { margin: .7rem 0 0; color: var(--dim); font-size: .65rem; }
.kill-actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: 1.2rem; }
.kill-confirm-btn { border: 1px solid var(--alarm); background: var(--alarm); color: #fff; min-height: 44px; padding: .65rem .9rem; cursor: pointer; font-size: .66rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.kill-confirm-btn:disabled { border-color: var(--line); background: transparent; color: var(--dim); cursor: not-allowed; }
.kill-progress, .kill-result { min-height: 255px; display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 1.2rem; align-items: center; }
.kill-progress[hidden], .kill-result[hidden] { display: none; }
.kill-progress-mark { width: 72px; height: 72px; border: 1px solid var(--line); border-top: 4px solid var(--alarm); border-radius: 50%; animation: kill-spin .9s linear infinite; }
.kill-progress h3, .kill-result h3 { margin: .55rem 0 .45rem; font-size: clamp(1.8rem, 4vw, 3rem); }
.kill-progress p, .kill-result p { color: var(--muted); font-size: .78rem; }
.kill-result-seal { width: 82px; height: 82px; display: grid; place-items: center; border: 2px solid var(--alarm); border-radius: 50%; color: var(--alarm); font-size: .57rem; font-weight: 900; letter-spacing: .11em; transform: rotate(-7deg); }
@keyframes kill-spin { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  .board-shell { grid-template-columns: 76px minmax(0, 1fr); }
  .board-side { padding: .75rem .55rem; }
  .view-button { grid-template-columns: 1fr; text-align: center; }
  .view-button span:not(.icon) { display: none; }
  .side-title, .key-roles { display: none; }
  .toolbar { grid-template-columns: 1fr 1fr; }
  .filter-row { grid-column: 1 / -1; }
  .transaction { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .board-nav a { display: none; }
  .mock-banner .shell { align-items: flex-start; }
  .board-shell { display: block; }
  .board-side { position: sticky; top: var(--board-offset, 95px); z-index: 35; height: auto; border-right: 0; border-bottom: 1px solid var(--line); background: var(--bg); display: flex; overflow-x: auto; padding: .45rem; }
  .view-button { min-width: 58px; width: auto; padding: .45rem .6rem; }
  .board-main { padding: .8rem; }
  .board-head { align-items: flex-start; flex-direction: column; }
  .system-health { justify-content: flex-start; }
  .health { min-width: 98px; }
  .toolbar { grid-template-columns: 1fr; }
  .filter-row { grid-column: auto; }
  .objective-bar { grid-template-columns: 1fr; }
  .kill-switch { grid-template-columns: minmax(0, 1fr) 116px; min-height: 138px; }
  .kill-copy { padding: .85rem; }
  .kill-copy h2 { font-size: 1rem; }
  .kill-contract { display: none; }
  .kill-instrument { padding: .6rem .5rem; }
  .kill-trigger { width: 86px; height: 86px; }
  .kill-bezel { width: 70px; height: 70px; box-shadow: 0 0 0 5px #050505, 0 0 0 6px #292621, inset 0 6px 12px rgba(0,0,0,.72); }
  .kill-orb { width: 51px; height: 51px; font-size: .43rem; box-shadow: inset 0 -7px rgba(54,6,4,.35), inset 0 1px rgba(255,255,255,.26), 0 5px 0 color-mix(in srgb, var(--alarm) 60%, #120302), 0 7px 14px rgba(0,0,0,.42); }
  .kill-instrument small { display: none; }
  .kill-dialog { width: calc(100% - 1rem); max-height: calc(100vh - 1rem); }
  .kill-dialog-head, .kill-dialog-body { padding: 1rem; }
  .kill-scope ul { grid-template-columns: 1fr; }
  .kill-actions { align-items: stretch; flex-direction: column-reverse; }
  .kill-actions > * { width: 100%; min-height: 46px; }
  .kill-progress, .kill-result { grid-template-columns: 1fr; }
  .pipeline { display: flex; overflow-x: auto; }
  .pipe-step { min-width: 132px; }
  .diff { grid-template-columns: 1fr 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .drawer, .toast, .kill-trigger { transition: none; } .kill-progress-mark { animation: none; } }
