:root {
  --ink: #e9eee9;
  --muted: #9aa79f;
  --deep: #07110f;
  --deep-2: #0b1714;
  --panel: #101d19;
  --panel-2: #14241f;
  --line: rgba(218, 235, 225, .13);
  --green: #79d9a7;
  --green-deep: #143d2f;
  --amber: #e8b86e;
  --red: #e87974;
  --paper: #e8e8df;
  --paper-ink: #101713;
  --shadow: 0 24px 70px rgba(0, 0, 0, .26);
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--deep); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
[hidden] { display: none !important; }
.shell { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: -6rem; left: 1rem; padding: .8rem 1rem; color: #08110e; background: var(--green); border-radius: 6px; font-weight: 800; }
.skip-link:focus { top: 1rem; }
.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; }

.public-header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.brand, .command-brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--ink); text-decoration: none; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(121,217,167,.65); color: var(--green); background: rgba(121,217,167,.07); font: 900 .72rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.brand strong, .command-brand strong { display: block; font-size: .92rem; line-height: 1.1; letter-spacing: -.01em; }
.brand small, .command-brand small { display: block; margin-top: .25rem; color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.public-header nav { display: flex; align-items: center; gap: 1.3rem; }
.public-header nav a { color: var(--muted); font-size: .86rem; text-decoration: none; font-weight: 700; }
.public-header nav a:hover, .public-header nav a:focus-visible { color: var(--green); }
.quiet-button { padding: .65rem .85rem; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: rgba(255,255,255,.025); cursor: pointer; font-size: .82rem; font-weight: 780; }

.public-hero { min-height: 760px; padding: 11rem 0 6rem; position: relative; overflow: hidden; }
.public-hero:before { content: ""; position: absolute; width: min(44vw, 590px); aspect-ratio: 1; right: -5%; top: 12%; border: 1px solid rgba(121,217,167,.12); border-radius: 50%; box-shadow: 0 0 0 52px rgba(121,217,167,.025), 0 0 0 112px rgba(121,217,167,.018); }
.public-hero:after { content: "01"; position: absolute; right: 8%; top: 27%; color: rgba(232,232,223,.055); font: 900 clamp(13rem,25vw,26rem)/.75 ui-monospace,monospace; }
.kicker, .eyebrow-small { margin: 0; color: var(--green); font: 800 .68rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .19em; text-transform: uppercase; }
.public-hero h1 { position: relative; z-index: 1; max-width: 900px; margin: 1.2rem 0 0; font-size: clamp(4.5rem, 10vw, 9.8rem); line-height: .82; letter-spacing: -.075em; text-transform: uppercase; }
.public-hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(121,217,167,.78); }
.hero-copy { position: relative; z-index: 1; max-width: 710px; margin: 2.1rem 0 0; color: #c6d0ca; font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.6; }
.hero-meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.4rem; color: var(--muted); font: 700 .72rem/1.2 ui-monospace,monospace; letter-spacing: .08em; text-transform: uppercase; }
.hero-meta span { display: inline-flex; align-items: center; gap: .55rem; }
.pulse { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 rgba(121,217,167,.5); animation: pulse 2.2s infinite; }
@keyframes pulse { 60%,100% { box-shadow: 0 0 0 9px rgba(121,217,167,0); } }

.work-section { padding: 7rem 0 9rem; }
.section-lead { display: grid; grid-template-columns: 1fr .65fr; gap: 3rem; align-items: end; margin-bottom: 2.5rem; }
.section-lead h2, .method-grid h2 { margin: .7rem 0 0; font-size: clamp(3rem, 6vw, 6.5rem); line-height: .9; letter-spacing: -.065em; text-transform: uppercase; }
.section-lead > p { max-width: 560px; margin: 0; color: var(--muted); line-height: 1.6; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.project-feature { grid-column: 1 / -1; min-height: 520px; display: grid; grid-template-columns: 1.18fr .82fr; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.project-visual { position: relative; min-height: 440px; overflow: hidden; background: linear-gradient(#14251f 0 48%, #0a110e 48%); }
.ravenhurst-visual:before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 32px 32px; }
.moon { position: absolute; width: 78px; height: 78px; right: 16%; top: 14%; border-radius: 50%; background: #d5cbb7; box-shadow: 0 0 48px rgba(213,203,183,.25); }
.ridge { position: absolute; left: -5%; right: -5%; bottom: 0; }
.ridge-one { height: 58%; background: #111b17; clip-path: polygon(0 85%, 9% 61%, 19% 76%, 32% 28%, 44% 71%, 57% 43%, 67% 67%, 81% 35%, 100% 72%, 100% 100%, 0 100%); }
.ridge-two { height: 43%; background: #08100c; clip-path: polygon(0 60%, 17% 35%, 32% 70%, 48% 27%, 60% 66%, 73% 42%, 88% 63%, 100% 31%, 100% 100%, 0 100%); }
.keep { position: absolute; left: 41%; bottom: 4%; width: 18%; height: 37%; border: 1px solid #474e45; background: #111712; box-shadow: -50px 42px 0 -14px #111712, 50px 42px 0 -14px #111712; }
.keep:before { content: ""; position: absolute; left: 38%; bottom: 0; width: 24%; height: 52%; background: #030604; border: 1px solid #4f554c; }
.signal { position: absolute; left: 1rem; top: 1rem; padding: .5rem .65rem; color: var(--green); border: 1px solid rgba(121,217,167,.35); background: rgba(4,9,7,.65); font: 800 .65rem/1 ui-monospace,monospace; letter-spacing: .16em; }
.project-copy { display: flex; flex-direction: column; padding: clamp(2rem, 4vw, 4.2rem); }
.project-labels { display: flex; flex-wrap: wrap; gap: .5rem; }
.type-tag, .state-tag { display: inline-flex; padding: .42rem .55rem; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font: 800 .63rem/1 ui-monospace,monospace; letter-spacing: .11em; text-transform: uppercase; }
.state-testing { color: var(--amber); border-color: rgba(232,184,110,.28); }
.state-operational { color: var(--green); border-color: rgba(121,217,167,.28); }
.project-copy h3, .project-card h3 { margin: auto 0 1rem; font-size: clamp(2.5rem, 5vw, 5rem); line-height: .9; letter-spacing: -.06em; text-transform: uppercase; }
.project-copy > p { margin: 0; color: #bcc7c0; font-size: 1.05rem; line-height: 1.6; }
.project-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin: 2rem 0 0; }
.project-facts div { padding-top: .8rem; border-top: 1px solid var(--line); }
.project-facts dt { color: var(--muted); font-size: .67rem; text-transform: uppercase; letter-spacing: .09em; }
.project-facts dd { margin: .35rem 0 0; font-size: .82rem; font-weight: 750; }
.project-card { min-height: 360px; display: flex; flex-direction: column; padding: 1.3rem; border: 1px solid var(--line); background: var(--panel); transition: transform .2s ease, border-color .2s ease; }
.project-card:hover { transform: translateY(-4px); border-color: rgba(121,217,167,.38); }
.project-card .project-labels { margin-top: 1.3rem; }
.card-number { color: rgba(232,232,223,.18); font: 900 3.8rem/.8 ui-monospace,monospace; }
.project-card h3 { margin-top: auto; font-size: clamp(2rem, 3.5vw, 3.4rem); }
.project-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.project-card footer { display: flex; justify-content: space-between; gap: .8rem; margin-top: 1.5rem; padding-top: .8rem; border-top: 1px solid var(--line); color: #899890; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.containment-card { background: linear-gradient(145deg, #13221d, #0b1512); }
.scene-card { background: linear-gradient(145deg, #1a201c, #0c1411); }
.bridge-card { background: linear-gradient(145deg, #101f1d, #0c1312); }

.method-section { padding: 8rem 0; color: var(--paper-ink); background: var(--paper); }
.method-section .kicker { color: #2e6752; }
.method-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5rem; }
.method-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(16,23,19,.22); }
.method-grid li { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(16,23,19,.22); }
.method-grid li > span { color: #47705f; font: 800 .72rem/1.3 ui-monospace,monospace; }
.method-grid li strong { font-size: 1.12rem; }
.method-grid li p { margin: .45rem 0 0; color: #4b5751; line-height: 1.55; }
.public-footer { min-height: 120px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: var(--muted); font-size: .75rem; }

/* Owner command center */
.owner-view { min-height: 100vh; background: #08100e; }
.command-header { min-height: 66px; display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(260px, 1fr); align-items: center; gap: 1rem; padding: 0 1rem; border-bottom: 1px solid var(--line); background: #0b1512; }
.command-brand { justify-self: start; }
.mode-readout { display: flex; align-items: center; gap: 1rem; color: var(--muted); font-size: .72rem; }
.mode-readout span { display: inline-flex; align-items: center; gap: .5rem; }
.demo-badge { padding: .35rem .5rem; border: 1px solid rgba(232,184,110,.3); color: var(--amber); background: rgba(232,184,110,.07); font: 800 .62rem/1 ui-monospace,monospace; letter-spacing: .1em; }
.amber { background: var(--amber); }
.end-session { justify-self: end; padding: .63rem .8rem; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.03); color: #dce4df; cursor: pointer; font-size: .76rem; font-weight: 750; }
.command-layout { min-height: calc(100vh - 66px); display: grid; grid-template-columns: 250px minmax(0,1fr); }
.project-rail { position: sticky; top: 0; height: calc(100vh - 66px); display: flex; flex-direction: column; padding: 1rem; border-right: 1px solid var(--line); background: #0a1411; overflow-y: auto; }
.rail-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rail-heading small { display: block; color: var(--green); font: 800 .58rem/1 ui-monospace,monospace; letter-spacing: .16em; }
.rail-heading strong { display: block; margin-top: .3rem; font-size: 1.12rem; }
.rail-heading button { width: 29px; height: 29px; border: 1px solid var(--line); border-radius: 5px; background: rgba(255,255,255,.03); cursor: pointer; }
.search-box { display: block; margin-top: 1rem; }
.search-box input { width: 100%; padding: .62rem .7rem; border: 1px solid var(--line); border-radius: 5px; outline: 0; color: var(--ink); background: #07100d; font-size: .76rem; }
.search-box input:focus { border-color: rgba(121,217,167,.5); box-shadow: 0 0 0 3px rgba(121,217,167,.07); }
.registry-filters { display: flex; gap: .3rem; margin: .7rem 0; overflow-x: auto; }
.registry-filters button { padding: .4rem .5rem; border: 0; border-radius: 4px; color: #829088; background: transparent; cursor: pointer; font-size: .64rem; font-weight: 750; white-space: nowrap; }
.registry-filters button.is-active { color: var(--green); background: rgba(121,217,167,.08); }
.project-list { display: grid; gap: .35rem; }
.registry-item { width: 100%; display: grid; grid-template-columns: 31px 1fr auto; gap: .6rem; align-items: center; padding: .7rem; border: 1px solid transparent; border-radius: 6px; text-align: left; color: var(--ink); background: transparent; cursor: pointer; }
.registry-item:hover { background: rgba(255,255,255,.025); }
.registry-item.is-selected { border-color: rgba(121,217,167,.2); background: rgba(121,217,167,.075); }
.registry-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 5px; background: #15231f; color: #b9c7bf; font: 800 .62rem/1 ui-monospace,monospace; }
.registry-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.registry-item small { display: block; margin-top: .18rem; color: #7d8b83; font-size: .61rem; }
.dot { width: 7px; height: 7px; display: inline-block; flex: 0 0 auto; border-radius: 50%; background: #65736b; }
.dot.green { background: var(--green); box-shadow: 0 0 8px rgba(121,217,167,.4); }
.dot.amber { background: var(--amber); }
.dot.gray { background: #65736b; }
.rail-legend { margin-top: auto; display: flex; flex-wrap: wrap; gap: .8rem; padding-top: 1rem; color: #75847c; font-size: .6rem; }
.rail-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.command-main { min-width: 0; padding: 1.4rem; }
.project-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 1.2rem; }
.breadcrumbs { display: flex; gap: .45rem; color: #78877f; font: 700 .63rem/1 ui-monospace,monospace; text-transform: uppercase; letter-spacing: .08em; }
.breadcrumbs b { color: #47534d; }
.project-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: .6rem; }
.project-title-row h1 { margin: 0; font-size: clamp(2.2rem,4vw,3.7rem); line-height: .9; letter-spacing: -.055em; }
.revision { padding: .35rem .45rem; border: 1px solid var(--line); color: #8fa096; font: 700 .62rem/1 ui-monospace,monospace; }
.project-head p { margin: .55rem 0 0; color: #87968e; font-size: .75rem; }
.head-actions { display: flex; gap: .5rem; }
.primary-action, .secondary-action, .danger-action, .take-control, .return-control { padding: .68rem .82rem; border-radius: 5px; cursor: pointer; font-size: .72rem; font-weight: 800; }
.primary-action, .take-control { border: 1px solid #63c18f; color: #05100b; background: var(--green); }
.secondary-action, .return-control { border: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.035); }
.danger-action { border: 1px solid rgba(232,121,116,.3); color: #f09b96; background: rgba(232,121,116,.06); }
button:disabled { cursor: not-allowed; opacity: .42; }
.truth-banner { display: flex; align-items: center; gap: .7rem 1rem; padding: .7rem .85rem; border: 1px solid rgba(232,184,110,.25); border-radius: 5px; color: #b9c4bd; background: rgba(232,184,110,.055); font-size: .7rem; line-height: 1.4; }
.truth-banner strong { color: var(--amber); white-space: nowrap; }
.command-tabs { display: flex; gap: .2rem; margin-top: 1rem; border-bottom: 1px solid var(--line); }
.command-tabs button { position: relative; padding: .72rem .8rem; border: 0; color: #78877f; background: transparent; cursor: pointer; font-size: .69rem; font-weight: 800; }
.command-tabs button span { margin-left: .25rem; padding: .12rem .3rem; border-radius: 9px; background: #17241f; font-size: .58rem; }
.command-tabs button.is-active { color: var(--ink); }
.command-tabs button.is-active:after { content: ""; position: absolute; height: 2px; left: .7rem; right: .7rem; bottom: -1px; background: var(--green); }
.command-panel { display: none; padding-top: 1rem; }
.command-panel.is-active { display: block; }
.workbench-grid { display: grid; grid-template-columns: minmax(350px,.88fr) minmax(420px,1.12fr); gap: .8rem; }
.panel-card { min-width: 0; border: 1px solid var(--line); border-radius: 7px; background: #0d1815; }
.card-head { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.card-head h2, .lane-section h2, .panel-heading h2 { margin: .3rem 0 0; font-size: 1rem; letter-spacing: -.02em; }
.lane-pill, .viewer-state { display: inline-flex; align-items: center; gap: .4rem; color: #89988f; font-size: .62rem; }
.authority-box { padding: 1rem; border-bottom: 1px solid var(--line); background: #0a1411; }
.authority-box h3 { margin: .35rem 0; font-size: .9rem; }
.authority-box > p { margin: 0 0 .8rem; color: #9aaba1; font-size: .68rem; line-height: 1.5; }
.authority-handoff { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.authority-handoff label { display: block; margin-bottom: .4rem; color: #8fa097; font-size: .62rem; font-weight: 750; }
.authority-handoff textarea { width: 100%; resize: vertical; padding: .65rem; border: 1px solid var(--line); border-radius: 5px; color: #c5d1ca; background: #06100d; font: 600 .57rem/1.45 ui-monospace,monospace; }
.authority-actions { display: flex; align-items: center; gap: .7rem; margin-top: .5rem; }
.authority-actions span { color: #718078; font-size: .56rem; }
.composer { padding: .9rem 1rem 1rem; border-top: 1px solid var(--line); }
.composer > label { display: block; margin-bottom: .45rem; color: #87968e; font-size: .64rem; font-weight: 750; }
.composer textarea { width: 100%; min-height: 76px; resize: vertical; padding: .7rem; outline: 0; border: 1px solid var(--line); border-radius: 5px; color: var(--ink); background: #07100d; font-size: .72rem; line-height: 1.45; }
.composer textarea:focus { border-color: rgba(121,217,167,.45); box-shadow: 0 0 0 3px rgba(121,217,167,.06); }
.composer-footer { display: flex; justify-content: space-between; gap: .7rem; margin-top: .55rem; }
.request-kind select { height: 100%; padding: 0 .55rem; border: 1px solid var(--line); border-radius: 5px; color: #b7c2bb; background: #101b17; font-size: .67rem; }
.composer-note { margin: .45rem 0 0; color: #64726a; font-size: .57rem; }
.viewer-card { overflow: hidden; }
.viewer-head { min-height: 68px; }
.viewer-frame { position: relative; aspect-ratio: 16/9; min-height: 300px; background: #030604; }
.viewer-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.viewer-cover { position: absolute; inset: 0; display: grid; place-items: center; padding: 2rem; text-align: center; background: rgba(3,6,4,.6); backdrop-filter: blur(4px); transition: opacity .2s ease; }
.viewer-cover.is-released { opacity: 0; pointer-events: none; }
.viewer-cover > div { max-width: 360px; }
.control-icon { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto .7rem; border: 1px solid rgba(121,217,167,.36); border-radius: 50%; color: var(--green); background: rgba(121,217,167,.08); font-size: 1.3rem; }
.viewer-cover strong { display: block; font-size: 1rem; }
.viewer-cover p { margin: .45rem 0 0; color: #9ba8a0; font-size: .68rem; line-height: 1.5; }
.viewer-toolbar { display: flex; align-items: center; gap: 1rem; padding: .65rem .8rem; border-top: 1px solid var(--line); }
.viewer-toolbar > div span { display: block; color: #68776f; font-size: .55rem; text-transform: uppercase; }
.viewer-toolbar > div strong { display: block; margin-top: .15rem; font: 700 .61rem/1 ui-monospace,monospace; }
.viewer-toolbar button { margin-left: auto; }
.open-live-game { margin-left: auto; text-decoration: none; white-space: nowrap; }
.viewer-toolbar .open-live-game + button { margin-left: 0; }
.is-live-workbench .lane-grid .lane-card:not(:first-child), .is-live-workbench .bridge-actions, .is-live-workbench #release-tab { display: none; }
.is-live-workbench .lane-grid { grid-template-columns: minmax(220px, 360px); }
.lease-note { margin: 0; padding: 0 .8rem .7rem; color: #6f7f76; font-size: .59rem; }
.scale-lab-card { margin-top: .8rem; overflow: hidden; }
.scale-range { color: var(--amber); font: 700 .61rem/1 ui-monospace,monospace; }
.scale-lab-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.scale-lab-intro p { max-width: 850px; margin: 0; color: #8f9f96; font-size: .66rem; line-height: 1.5; }
#scale-form { padding: .9rem 1rem 1rem; }
.scale-controls { display: grid; grid-template-columns: repeat(3,minmax(180px,1fr)); gap: .45rem .7rem; }
.scale-control { display: block; padding: .55rem .6rem; border: 1px solid var(--line); border-radius: 5px; background: #091310; }
.scale-control > span { display: flex; justify-content: space-between; gap: .6rem; }
.scale-control strong { font-size: .6rem; }
.scale-control output { color: var(--amber); font: 750 .61rem/1 ui-monospace,monospace; }
.scale-control input { width: 100%; margin-top: .5rem; accent-color: var(--green); }
.scale-note { display: block; margin-top: .8rem; color: #87968e; font-size: .63rem; font-weight: 750; }
#scale-message { width: 100%; margin-top: .4rem; resize: vertical; padding: .65rem; border: 1px solid var(--line); border-radius: 5px; color: var(--ink); background: #07100d; font-size: .68rem; }
.scale-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .65rem; }
.scale-submit-row p { margin: 0; color: #718078; font-size: .6rem; }
.lane-section { margin-top: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: 7px; background: #0d1815; }
.lane-section > header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.lane-section > header > p { max-width: 520px; margin: 0; color: #75847c; font-size: .66rem; line-height: 1.4; }
.lane-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .55rem; margin-top: .8rem; }
.lane-card { min-height: 130px; padding: .75rem; border: 1px solid var(--line); border-radius: 5px; background: #0a1411; }
.lane-active { border-color: rgba(121,217,167,.26); }
.lane-busy { border-color: rgba(232,184,110,.22); }
.lane-top { display: flex; justify-content: space-between; color: #66756d; font: 700 .58rem/1 ui-monospace,monospace; text-transform: uppercase; letter-spacing: .08em; }
.lane-card > strong { display: block; margin-top: 1.3rem; font-size: .76rem; }
.lane-card > p { margin: .28rem 0 0; color: #829188; font-size: .63rem; }
.lane-card > small { display: block; margin-top: .65rem; color: #5d6c64; font-size: .55rem; }
.lane-add { padding: 0; border-style: dashed; }
.lane-add button { width: 100%; height: 100%; display: grid; place-content: center; justify-items: center; border: 0; color: #718078; background: transparent; cursor: pointer; }
.lane-add button span { font-size: 1.3rem; }
.lane-add button strong { margin-top: .25rem; color: #93a198; font-size: .67rem; }
.lane-add button small { margin-top: .25rem; font-size: .55rem; }
.bridge-operations { display: grid; grid-template-columns: minmax(260px,1.5fr) repeat(5,minmax(90px,.55fr)) auto; gap: .5rem; margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.bridge-next-action, .bridge-stat, .bridge-actions { min-height: 86px; padding: .7rem; border: 1px solid var(--line); border-radius: 5px; background: #091310; }
.bridge-next-action strong { display: block; margin-top: .38rem; font-size: .68rem; }
.bridge-next-action p { margin: .3rem 0 0; color: #74837a; font-size: .57rem; line-height: 1.45; }
.bridge-stat span { display: block; color: #6e7d74; font-size: .56rem; text-transform: uppercase; letter-spacing: .07em; }
.bridge-stat strong { display: block; margin-top: .35rem; color: var(--green); font: 800 1.25rem/1 ui-monospace,monospace; }
.bridge-stat small { display: block; margin-top: .32rem; color: #627068; font-size: .52rem; }
.bridge-warning strong { color: var(--amber); }
.bridge-actions { display: grid; align-content: center; gap: .35rem; }
.bridge-actions button { white-space: nowrap; font-size: .6rem; padding: .52rem .6rem; }
.panel-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: 1rem 0 1.2rem; }
.panel-heading h2 { font-size: 1.5rem; }
.panel-heading > p { max-width: 560px; margin: 0; color: #7f8e85; font-size: .72rem; line-height: 1.5; }
.timeline { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 7px; background: #0d1815; }
.timeline li { display: grid; grid-template-columns: 38px 1fr; gap: .8rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.timeline li:last-child { border-bottom: 0; }
.timeline-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green); background: #13221d; font-size: .75rem; }
.timeline time { display: block; color: #69786f; font: 700 .58rem/1 ui-monospace,monospace; }
.timeline strong { display: block; margin-top: .35rem; font-size: .77rem; }
.timeline p { margin: .28rem 0 .5rem; color: #98a69e; font-size: .68rem; }
.timeline code { padding: .25rem .4rem; border-radius: 3px; color: #7d8d84; background: #08110e; font-size: .56rem; }
.evidence-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .6rem; }
.test-summary { padding: 1rem; border: 1px solid rgba(121,217,167,.2); border-radius: 6px; background: #0d1815; }
.test-summary span { color: #77877e; font-size: .62rem; }
.test-summary strong { display: block; margin-top: .7rem; color: var(--green); font: 800 1.8rem/1 ui-monospace,monospace; }
.test-summary p { margin: .4rem 0 0; color: #718078; font-size: .6rem; text-transform: uppercase; }
.test-summary.muted { border-color: var(--line); }
.test-summary.muted strong { color: #68776f; }
.evidence-table-wrap { margin-top: .7rem; overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; }
table { width: 100%; border-collapse: collapse; background: #0d1815; font-size: .69rem; }
th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; }
th { color: #6e7d74; font-size: .58rem; text-transform: uppercase; letter-spacing: .07em; }
td { color: #a8b4ad; }
tbody tr:last-child td { border-bottom: 0; }
.result-pass { color: var(--green); }
.result-pending { color: var(--amber); }
.release-layout { display: grid; grid-template-columns: minmax(450px,1fr) 330px; gap: .8rem; }
.release-card, .release-policy { padding: 1.2rem; border: 1px solid var(--line); border-radius: 7px; background: #0d1815; }
.release-status { display: flex; align-items: center; gap: .5rem; color: var(--amber); font-size: .64rem; }
.release-card h3 { margin: 1.1rem 0; font-size: 1.35rem; }
.release-card ul { margin: 0; padding: 0; list-style: none; }
.release-card li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--line); color: #84938a; font-size: .69rem; }
.release-card li strong { color: #b5c0b9; }
.release-warning { padding: .7rem; border: 1px solid rgba(232,184,110,.2); color: #b5a682; background: rgba(232,184,110,.05); font-size: .64rem; line-height: 1.45; }
.release-actions { display: flex; justify-content: flex-end; gap: .5rem; }
.release-policy strong { font-size: .8rem; }
.release-policy p, .release-policy li { color: #8b9991; font-size: .67rem; line-height: 1.55; }
.release-policy ol { padding-left: 1.1rem; }

.access-dialog, .simple-dialog { width: min(520px, calc(100% - 32px)); padding: 2rem; border: 1px solid rgba(121,217,167,.25); border-radius: 10px; color: var(--ink); background: #0e1b17; box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(2,6,4,.78); backdrop-filter: blur(4px); }
.dialog-close { position: absolute; right: .8rem; top: .8rem; width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.access-dialog h2, .simple-dialog h2 { margin: .7rem 0; font-size: 2.1rem; line-height: .95; letter-spacing: -.04em; }
.access-dialog > p:not(.kicker), .simple-dialog p { color: #9caaa2; line-height: 1.55; font-size: .82rem; }
.access-options { display: grid; gap: .55rem; margin-top: 1.3rem; }
.demo-disclosure { padding: .7rem; border: 1px solid rgba(232,184,110,.2); background: rgba(232,184,110,.05); }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 1.2rem; max-width: min(520px,calc(100% - 32px)); transform: translate(-50%, 120px); padding: .75rem 1rem; border: 1px solid rgba(121,217,167,.3); border-radius: 6px; color: var(--ink); background: #10211b; box-shadow: var(--shadow); opacity: 0; transition: transform .22s ease, opacity .22s ease; font-size: .75rem; }
.toast.is-visible { transform: translate(-50%,0); opacity: 1; }

@media (max-width: 1080px) {
  .portfolio-grid { grid-template-columns: repeat(2,1fr); }
  .project-feature { grid-template-columns: 1fr 1fr; }
  .bridge-card { grid-column: 1 / -1; }
  .command-layout { grid-template-columns: 210px minmax(0,1fr); }
  .workbench-grid { grid-template-columns: 1fr; }
  .scale-controls { grid-template-columns: repeat(2,minmax(170px,1fr)); }
  .viewer-frame { min-height: 0; }
  .lane-grid { grid-template-columns: repeat(2,1fr); }
  .bridge-operations { grid-template-columns: repeat(4,1fr); }
  .bridge-next-action { grid-column: 1 / -1; }
  .bridge-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 24px,1220px); }
  .public-header nav a { display: none; }
  .public-hero { min-height: 620px; padding-top: 8rem; }
  .section-lead, .method-grid { grid-template-columns: 1fr; gap: 2rem; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .project-feature { grid-template-columns: 1fr; }
  .project-visual { min-height: 300px; }
  .project-copy { min-height: 420px; }
  .bridge-card { grid-column: auto; }
  .project-facts { grid-template-columns: 1fr; }
  .public-footer { flex-wrap: wrap; padding: 2rem 0; }
  .command-header { grid-template-columns: 1fr auto; }
  .mode-readout { display: none; }
  .end-session { max-width: 180px; }
  .command-layout { display: block; }
  .project-rail { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .project-list { grid-template-columns: repeat(2,1fr); }
  .rail-legend { display: none; }
  .project-head, .panel-heading, .lane-section > header { align-items: start; flex-direction: column; }
  .command-tabs { overflow-x: auto; }
  .command-tabs button { white-space: nowrap; }
  .truth-banner { align-items: start; flex-direction: column; }
  .workbench-grid { grid-template-columns: minmax(0,1fr); }
  .lane-grid, .evidence-grid { grid-template-columns: 1fr 1fr; }
  .release-layout { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .public-hero h1 { font-size: 3.9rem; }
  .project-list, .lane-grid, .evidence-grid, .bridge-operations { grid-template-columns: 1fr; }
  .bridge-next-action, .bridge-actions { grid-column: auto; }
  .command-main { padding: .8rem; }
  .head-actions { width: 100%; }
  .head-actions button { flex: 1; }
  .composer-footer, .viewer-toolbar, .scale-lab-intro, .scale-submit-row { align-items: stretch; flex-direction: column; }
  .scale-controls { grid-template-columns: 1fr; }
  .viewer-toolbar button, .open-live-game { width: 100%; margin-left: 0; text-align: center; }
  .release-actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
