:root {
    --bg: #071017;
    --bg-deep: #03080d;
    --panel: #0b1720;
    --panel-2: #0f1d27;
    --panel-3: #12232d;
    --text: #f2f7f6;
    --muted: #a5b5b8;
    --subtle: #6f858a;
    --line: #22343d;
    --line-bright: #3d5a63;
    --accent: #4fe0d0;
    --accent-strong: #7af9e8;
    --accent-muted: #173e44;
    --signal: #ef9d4c;
    --danger: #ff746f;
    --safety: #f2c96d;
    --white: #ffffff;
    --black: #000000;
    --shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
    --container: min(1180px, calc(100vw - 40px));
    --header-height: 84px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 28px);
    background: var(--bg-deep);
}

body {
    margin: 0;
    min-width: 320px;
    color: var(--text);
    background:
        radial-gradient(circle at 80% 5%, rgba(79, 224, 208, 0.08), transparent 30rem),
        var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    overflow-x: hidden;
}

body.nav-open {
    overflow: hidden;
}

img,
svg,
canvas {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select {
    font: inherit;
}

button,
a,
summary,
input,
select {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 2px solid var(--accent-strong);
    outline-offset: 4px;
}

::selection {
    color: var(--bg-deep);
    background: var(--accent-strong);
}

.container {
    width: var(--container);
    margin-inline: auto;
}

.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;
}

.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 9999;
    padding: 10px 14px;
    color: var(--bg-deep);
    background: var(--accent-strong);
    font-weight: 800;
    transform: translateY(-160%);
    transition: transform 160ms ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.utility-bar {
    position: relative;
    z-index: 60;
    border-bottom: 1px solid rgba(79, 224, 208, 0.16);
    color: var(--subtle);
    background: var(--bg-deep);
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.utility-bar__inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.utility-bar__inner span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(79, 224, 208, 0.08), 0 0 16px rgba(79, 224, 208, 0.7);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    min-height: var(--header-height);
    border-bottom: 1px solid transparent;
    background: rgba(7, 16, 23, 0.72);
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

@supports (backdrop-filter: blur(18px)) {
    .site-header {
        backdrop-filter: blur(18px);
    }
}

.site-header.is-scrolled {
    border-bottom-color: rgba(79, 224, 208, 0.13);
    background: rgba(3, 8, 13, 0.93);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
}

.site-header__inner {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    min-width: 0;
}

.brand__mark {
    width: 50px;
    height: 50px;
    object-fit: contain;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.28));
}

.brand__type {
    display: grid;
    max-width: min(40vw, 320px);
    line-height: 0.98;
    letter-spacing: 0.12em;
}

.brand__type strong {
    font-size: 1rem;
    font-weight: 900;
}

.brand__type span {
    margin-top: 6px;
    color: var(--accent);
    font-size: 0.52rem;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: 0.14em;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 30px);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.primary-nav > a:not(.button) {
    position: relative;
    padding-block: 10px;
    color: var(--muted);
    transition: color 160ms ease;
}

.primary-nav > a:not(.button)::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 1px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 180ms ease;
}

.primary-nav > a:not(.button):hover,
.primary-nav > a:not(.button):focus-visible {
    color: var(--white);
}

.primary-nav > a:not(.button):hover::after,
.primary-nav > a:not(.button):focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
}

.nav-toggle {
    display: none;
    width: 46px;
    height: 46px;
    padding: 10px;
    border: 1px solid var(--line);
    color: var(--text);
    background: transparent;
    cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
    display: block;
    height: 1px;
    margin-block: 6px;
    background: currentColor;
    transition: transform 180ms ease, opacity 180ms ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
    transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
    opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(4) {
    transform: translateY(-7px) rotate(-45deg);
}

.button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 18px;
    border: 1px solid transparent;
    color: var(--text);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button:disabled {
    opacity: 0.62;
    cursor: wait;
    transform: none;
}

.button--compact {
    min-height: 42px;
    padding: 9px 15px;
    font-size: 0.7rem;
}

.button--large {
    min-height: 56px;
    padding-inline: 24px;
}

.button--primary {
    color: var(--bg-deep);
    background: var(--accent);
    border-color: var(--accent);
    box-shadow: 0 0 0 rgba(79, 224, 208, 0);
}

.button--primary:hover {
    background: var(--accent-strong);
    border-color: var(--accent-strong);
    box-shadow: 0 12px 32px rgba(79, 224, 208, 0.18);
}

.button--ghost {
    border-color: var(--line-bright);
    background: rgba(255, 255, 255, 0.015);
}

.button--ghost:hover {
    border-color: var(--accent);
    color: var(--accent-strong);
}

.button--safety {
    color: #201807;
    border-color: var(--safety);
    background: var(--safety);
}

.button--safety:hover {
    background: #ffe098;
    border-color: #ffe098;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-strong);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.text-link span {
    transition: transform 160ms ease;
}

.text-link:hover span {
    transform: translateX(4px);
}

.eyebrow {
    margin: 0 0 18px;
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.eyebrow span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.eyebrow span::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    line-height: 1.02;
}

h1,
h2 {
    letter-spacing: -0.045em;
}

h1 {
    max-width: 820px;
    margin-bottom: 26px;
    font-size: clamp(3.5rem, 8.2vw, 7.8rem);
    font-weight: 900;
}

h1 em,
h2 em {
    color: var(--accent);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

h2 {
    margin-bottom: 24px;
    font-size: clamp(2.55rem, 5.3vw, 5rem);
    font-weight: 860;
}

h3 {
    font-size: 1.42rem;
}

.lead {
    color: var(--text);
    font-size: clamp(1.08rem, 2vw, 1.32rem);
    line-height: 1.6;
}

.hero {
    position: relative;
    min-height: calc(100vh - 34px);
    padding: clamp(68px, 9vw, 130px) 0 0;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(3, 8, 13, 0.96) 0%, rgba(3, 8, 13, 0.68) 49%, rgba(3, 8, 13, 0.26) 100%),
        radial-gradient(circle at 72% 40%, rgba(79, 224, 208, 0.12), transparent 34rem),
        var(--bg-deep);
}

.hero::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 9vw;
    width: 1px;
    background: linear-gradient(transparent, rgba(79, 224, 208, 0.22), transparent);
}

.hero::after {
    content: "";
    position: absolute;
    right: -12rem;
    bottom: 4rem;
    width: 42rem;
    height: 42rem;
    border: 1px solid rgba(79, 224, 208, 0.08);
    border-radius: 50%;
    box-shadow:
        0 0 0 7rem rgba(79, 224, 208, 0.018),
        0 0 0 14rem rgba(79, 224, 208, 0.012);
}

.hero__canvas,
.hero__noise {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.hero__canvas {
    opacity: 0.62;
}

.hero__noise {
    opacity: 0.06;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.36'/%3E%3C/svg%3E");
}

.hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.72fr);
    align-items: center;
    gap: clamp(45px, 7vw, 100px);
}

.hero__content {
    padding-bottom: 72px;
}

.hero__logo-wrap {
    max-width: min(100%, 760px);
    margin: 18px 0 22px;
}

.hero__logo {
    display: block;
    width: 100%;
    height: auto;
    padding: 16px 18px;
    border: 1px solid rgba(79, 224, 208, 0.12);
    border-radius: 22px;
    background: rgba(248, 249, 251, 0.98);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
}

.hero__lede {
    max-width: 680px;
    margin-bottom: 34px;
    color: var(--muted);
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
}

.hero__actions,
.final-cta__actions,
.operation-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 730px;
    margin: 50px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.hero__facts li {
    display: grid;
    gap: 4px;
    padding: 19px 18px 19px 0;
}

.hero__facts li + li {
    padding-left: 18px;
    border-left: 1px solid var(--line);
}

.hero__facts strong {
    color: var(--text);
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.hero__facts span {
    color: var(--subtle);
    font-size: 0.79rem;
}

.hero-console {
    position: relative;
    min-height: 620px;
    border: 1px solid rgba(79, 224, 208, 0.24);
    background: linear-gradient(145deg, rgba(14, 31, 39, 0.96), rgba(5, 13, 19, 0.92));
    box-shadow: var(--shadow), inset 0 0 70px rgba(79, 224, 208, 0.025);
    overflow: hidden;
}

.hero-console::before,
.hero-console::after {
    content: "";
    position: absolute;
    z-index: 3;
    width: 34px;
    height: 34px;
    border-color: var(--accent);
}

.hero-console::before {
    top: 10px;
    left: 10px;
    border-top: 1px solid;
    border-left: 1px solid;
}

.hero-console::after {
    right: 10px;
    bottom: 10px;
    border-right: 1px solid;
    border-bottom: 1px solid;
}

.console__topline,
.caseboard__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--line);
    color: var(--subtle);
    background: rgba(0, 0, 0, 0.22);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.13em;
}

.console__live {
    color: var(--accent);
}

.console__live i {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 12px currentColor;
}

.console__map {
    position: relative;
    min-height: 365px;
    overflow: hidden;
    background:
        linear-gradient(rgba(79, 224, 208, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.04) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(79, 224, 208, 0.12), transparent 55%);
    background-size: 36px 36px, 36px 36px, auto;
}

.console__map svg {
    position: absolute;
    inset: 7% 3%;
    width: 94%;
    height: 86%;
}

.console__map path {
    fill: none;
    stroke: rgba(79, 224, 208, 0.34);
    stroke-width: 1.2;
    stroke-dasharray: 5 7;
}

.map-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(79, 224, 208, 0.17);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.map-ring--one {
    width: 160px;
    height: 160px;
}

.map-ring--two {
    width: 280px;
    height: 280px;
}

.map-ring--three {
    width: 420px;
    height: 420px;
}

.map-scan {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 190px;
    height: 1px;
    background: linear-gradient(90deg, var(--accent), transparent);
    transform-origin: left;
    animation: scan-rotate 9s linear infinite;
}

.map-node {
    position: absolute;
    z-index: 2;
    width: 10px;
    height: 10px;
    border: 2px solid var(--bg-deep);
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 6px rgba(79, 224, 208, 0.08), 0 0 18px rgba(79, 224, 208, 0.7);
}

.map-node--a { top: 25%; left: 23%; }
.map-node--b { top: 64%; left: 36%; }
.map-node--c { top: 31%; right: 24%; }
.map-node--d { right: 19%; bottom: 18%; background: var(--signal); box-shadow: 0 0 0 6px rgba(239, 157, 76, 0.08), 0 0 18px rgba(239, 157, 76, 0.7); }

.map-label {
    position: absolute;
    padding: 4px 7px;
    border: 1px solid rgba(79, 224, 208, 0.25);
    color: var(--accent);
    background: rgba(3, 8, 13, 0.78);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.54rem;
    letter-spacing: 0.12em;
}

.map-label--a { top: 19%; left: 11%; }
.map-label--b { right: 8%; bottom: 12%; color: var(--signal); border-color: rgba(239, 157, 76, 0.35); }

.console__brief {
    padding: 28px 30px 31px;
}

.console__kicker {
    margin-bottom: 8px;
    color: var(--accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.console__brief h2 {
    margin-bottom: 14px;
    font-size: 2.2rem;
    letter-spacing: -0.03em;
}

.console__brief > p:not(.console__kicker) {
    margin-bottom: 19px;
    color: var(--muted);
    font-size: 0.9rem;
}

.console__readout {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.console__readout span {
    padding: 5px 8px;
    border: 1px solid var(--line-bright);
    color: var(--subtle);
    font-size: 0.6rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.trust-strip {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: clamp(50px, 7vw, 96px);
    border-top: 1px solid rgba(79, 224, 208, 0.15);
    border-bottom: 1px solid rgba(79, 224, 208, 0.15);
}

.trust-strip span {
    padding: 20px 16px;
    color: var(--subtle);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.trust-strip span + span {
    border-left: 1px solid rgba(79, 224, 208, 0.12);
}

.section {
    position: relative;
    padding: clamp(90px, 11vw, 160px) 0;
}

.section--intro {
    background: var(--bg);
}

.section-heading {
    max-width: 900px;
    margin-bottom: clamp(48px, 7vw, 82px);
}

.section-heading--split {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.55fr);
    align-items: end;
    gap: 80px;
}

.section-heading--split h2 {
    margin-bottom: 0;
}

.section-heading--split > p,
.section-heading__body {
    max-width: 650px;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 1.06rem;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.feature-card {
    position: relative;
    min-height: 360px;
    padding: clamp(30px, 4vw, 48px);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: linear-gradient(145deg, rgba(15, 29, 39, 0.48), rgba(7, 16, 23, 0.8));
    overflow: hidden;
    transition: background-color 180ms ease, transform 180ms ease;
}

.feature-card:hover {
    background: linear-gradient(145deg, rgba(18, 43, 50, 0.72), rgba(7, 16, 23, 0.86));
}

.feature-card__number {
    position: absolute;
    top: 18px;
    right: 22px;
    color: var(--line-bright);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.7rem;
}

.feature-card__icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin-bottom: 46px;
    border: 1px solid var(--line-bright);
    transform: rotate(45deg);
}

.feature-card__icon span {
    position: absolute;
    display: block;
    background: var(--accent);
}

.feature-card__icon span:nth-child(1) {
    top: 50%; left: 17%; width: 66%; height: 1px;
}

.feature-card__icon span:nth-child(2) {
    top: 17%; left: 50%; width: 1px; height: 66%;
}

.feature-card__icon span:nth-child(3) {
    top: calc(50% - 5px); left: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 18px rgba(79, 224, 208, 0.8);
}

.feature-card h3 {
    margin-bottom: 16px;
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.feature-card p {
    max-width: 550px;
    margin-bottom: 32px;
    color: var(--muted);
}

.section--loop {
    background:
        linear-gradient(rgba(79, 224, 208, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.025) 1px, transparent 1px),
        var(--bg-deep);
    background-size: 72px 72px, 72px 72px, auto;
}

.mission-loop {
    display: grid;
    grid-template-columns: minmax(240px, 0.38fr) minmax(0, 1fr);
    min-height: 480px;
    border: 1px solid var(--line);
    background: rgba(7, 16, 23, 0.86);
    box-shadow: var(--shadow);
}

.mission-loop__rail {
    display: grid;
    border-right: 1px solid var(--line);
}

.mission-loop__rail button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 24px;
    border: 0;
    border-bottom: 1px solid var(--line);
    color: var(--subtle);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

.mission-loop__rail button:last-child {
    border-bottom: 0;
}

.mission-loop__rail button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: var(--accent);
    transform: scaleY(0);
    transition: transform 180ms ease;
}

.mission-loop__rail button span {
    color: var(--line-bright);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.64rem;
}

.mission-loop__rail button[aria-selected="true"] {
    color: var(--text);
    background: linear-gradient(90deg, rgba(79, 224, 208, 0.1), transparent);
}

.mission-loop__rail button[aria-selected="true"]::before {
    transform: scaleY(1);
}

.mission-loop__rail button[aria-selected="true"] span {
    color: var(--accent);
}

.mission-loop__panels {
    position: relative;
    min-height: 100%;
    overflow: hidden;
}

.mission-loop__panels::before {
    content: "";
    position: absolute;
    right: -5rem;
    bottom: -10rem;
    width: 32rem;
    height: 32rem;
    border: 1px solid rgba(79, 224, 208, 0.08);
    border-radius: 50%;
    box-shadow: 0 0 0 5rem rgba(79, 224, 208, 0.02), 0 0 0 10rem rgba(79, 224, 208, 0.012);
}

.mission-loop__panel {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: none;
    align-content: end;
    padding: clamp(45px, 7vw, 80px);
}

.mission-loop__panel.is-active {
    display: grid;
    animation: panel-in 260ms ease both;
}

.mission-loop__count {
    margin-bottom: auto;
    color: var(--accent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: 0.15em;
}

.mission-loop__panel h3 {
    margin: 70px 0 18px;
    font-size: clamp(3rem, 7vw, 6rem);
    letter-spacing: -0.06em;
}

.mission-loop__panel > p:last-child {
    max-width: 720px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: clamp(1.02rem, 2vw, 1.28rem);
}

.section--operation {
    background:
        radial-gradient(circle at 15% 50%, rgba(239, 157, 76, 0.07), transparent 30rem),
        var(--panel);
}

.operation-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.52fr) minmax(540px, 1fr);
    align-items: center;
    gap: clamp(50px, 8vw, 110px);
}

.operation-copy > p:not(.eyebrow) {
    color: var(--muted);
}

.operation-copy .lead {
    color: var(--text);
}

.operation-actions {
    margin-top: 36px;
}

.caseboard {
    border: 1px solid var(--line-bright);
    background: var(--bg-deep);
    box-shadow: var(--shadow);
}

.caseboard__body {
    position: relative;
    min-height: 560px;
    background:
        linear-gradient(rgba(79, 224, 208, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
}

.evidence-card {
    position: absolute;
    z-index: 2;
    width: 230px;
    padding: 20px;
    border: 1px solid var(--line-bright);
    background: rgba(11, 23, 32, 0.96);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
}

.evidence-card--primary {
    top: 45px;
    left: 50%;
    width: 300px;
    transform: translateX(-50%);
    border-color: rgba(79, 224, 208, 0.55);
}

.evidence-card--left { top: 305px; left: 35px; }
.evidence-card--right { top: 300px; right: 35px; }
.evidence-card--bottom { bottom: 30px; left: 50%; transform: translateX(-50%); }

.evidence-card__type {
    display: block;
    margin-bottom: 12px;
    color: var(--accent);
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.evidence-card h3 {
    margin-bottom: 9px;
    font-size: 1.06rem;
}

.evidence-card p {
    margin-bottom: 0;
    color: var(--subtle);
    font-size: 0.78rem;
    line-height: 1.5;
}

.confidence {
    display: inline-block;
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--signal);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.58rem;
}

.caseboard__links {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.caseboard__links path {
    fill: none;
    stroke: rgba(79, 224, 208, 0.32);
    stroke-width: 1.2;
    stroke-dasharray: 4 5;
}

.section--roles {
    background: var(--bg-deep);
}

.role-selector {
    border: 1px solid var(--line);
    background: var(--panel);
    box-shadow: var(--shadow);
}

.role-selector__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--line);
}

.role-selector__tabs button {
    min-height: 104px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 18px 26px;
    border: 0;
    border-right: 1px solid var(--line);
    color: var(--subtle);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.role-selector__tabs button:last-child {
    border-right: 0;
}

.role-selector__tabs small {
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.role-selector__tabs span {
    font-size: 1.15rem;
    font-weight: 850;
}

.role-selector__tabs button[aria-selected="true"] {
    color: var(--text);
    background: linear-gradient(180deg, rgba(79, 224, 208, 0.1), transparent);
    box-shadow: inset 0 3px 0 var(--accent);
}

.role-selector__tabs button[aria-selected="true"] small {
    color: var(--accent);
}

.role-panel {
    position: relative;
    min-height: 500px;
    display: none;
    grid-template-columns: 90px minmax(0, 0.88fr) minmax(300px, 0.6fr);
    align-items: center;
    gap: 42px;
    padding: clamp(40px, 7vw, 78px);
    overflow: hidden;
}

.role-panel.is-active {
    display: grid;
    animation: panel-in 260ms ease both;
}

.role-panel__number {
    align-self: start;
    color: var(--line-bright);
    font-size: 4.8rem;
    font-weight: 900;
    letter-spacing: -0.09em;
    writing-mode: vertical-rl;
}

.role-panel__copy {
    position: relative;
    z-index: 2;
}

.role-panel__copy h3 {
    margin-bottom: 18px;
    font-size: clamp(3rem, 6vw, 5.4rem);
    letter-spacing: -0.055em;
}

.role-panel__copy ul {
    display: grid;
    gap: 12px;
    margin: 28px 0;
    padding: 0;
    list-style: none;
}

.role-panel__copy li {
    position: relative;
    padding-left: 22px;
    color: var(--muted);
}

.role-panel__copy li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 8px;
    height: 1px;
    background: var(--accent);
}

.device-line {
    display: grid;
    gap: 5px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.device-line span {
    color: var(--accent);
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.role-panel__visual {
    position: relative;
    justify-self: center;
    width: min(340px, 100%);
    aspect-ratio: 1;
    border: 1px solid rgba(79, 224, 208, 0.16);
    border-radius: 50%;
}

.role-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(79, 224, 208, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.role-orbit--one { width: 72%; height: 72%; }
.role-orbit--two { width: 42%; height: 42%; border-style: dashed; animation: orbit 16s linear infinite; }

.role-symbol {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 72px;
    border: 1px solid var(--accent);
    transform: translate(-50%, -50%) rotate(45deg);
    box-shadow: 0 0 45px rgba(79, 224, 208, 0.12);
}

.role-symbol::before,
.role-symbol::after {
    content: "";
    position: absolute;
    background: var(--accent);
}

.role-symbol::before { top: 50%; left: 12%; width: 76%; height: 1px; }
.role-symbol::after { top: 12%; left: 50%; width: 1px; height: 76%; }

.role-panel__visual--handler .role-symbol {
    border-radius: 50%;
}

.role-panel__visual--field-support .role-symbol {
    width: 82px;
    height: 52px;
    transform: translate(-50%, -50%);
}

.section--world {
    background:
        linear-gradient(180deg, rgba(7, 16, 23, 0.2), rgba(3, 8, 13, 0.4)),
        var(--panel-2);
}

.faction-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.faction-card {
    position: relative;
    min-height: 350px;
    padding: 36px;
    border: 1px solid var(--line);
    background: linear-gradient(160deg, rgba(18, 35, 45, 0.88), rgba(7, 16, 23, 0.96));
    overflow: hidden;
}

.faction-card::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -120px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(79, 224, 208, 0.1);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(79, 224, 208, 0.015), 0 0 0 68px rgba(79, 224, 208, 0.009);
}

.faction-card__code {
    margin-bottom: 60px;
    color: var(--accent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.16em;
}

.faction-card h3 {
    max-width: 250px;
    margin-bottom: 18px;
    font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.faction-card p {
    color: var(--muted);
}

.faction-card > span {
    position: absolute;
    right: 30px;
    bottom: 30px;
    left: 36px;
    color: var(--subtle);
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.world-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
}

.world-link > span {
    color: var(--subtle);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.66rem;
    letter-spacing: 0.14em;
}

.section--ai {
    background: var(--bg-deep);
}

.ai-layout {
    display: grid;
    grid-template-columns: minmax(380px, 0.85fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(70px, 10vw, 150px);
}

.ai-visual {
    position: relative;
    width: min(520px, 100%);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid rgba(79, 224, 208, 0.12);
    border-radius: 50%;
    background:
        linear-gradient(rgba(79, 224, 208, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.035) 1px, transparent 1px),
        radial-gradient(circle, rgba(79, 224, 208, 0.12), transparent 52%);
    background-size: 34px 34px, 34px 34px, auto;
}

.ai-visual__core {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    display: grid;
    place-items: center;
    border: 1px solid var(--accent);
    color: var(--accent-strong);
    background: var(--bg-deep);
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    transform: translate(-50%, -50%) rotate(45deg);
    box-shadow: 0 0 55px rgba(79, 224, 208, 0.15);
}

.ai-visual__core span {
    display: block;
    transform: rotate(-45deg);
}

.ai-visual__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px dashed rgba(79, 224, 208, 0.26);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.ai-visual__ring--one { width: 58%; height: 58%; animation: orbit 20s linear infinite; }
.ai-visual__ring--two { width: 82%; height: 82%; animation: orbit-reverse 26s linear infinite; }

.ai-visual__label {
    position: absolute;
    padding: 7px 10px;
    border: 1px solid var(--line-bright);
    color: var(--muted);
    background: var(--bg-deep);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.56rem;
    letter-spacing: 0.1em;
}

.ai-visual__label::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 8px var(--accent);
}

.ai-visual__label--a { top: 12%; left: 35%; }
.ai-visual__label--b { top: 42%; right: -4%; }
.ai-visual__label--c { bottom: 13%; left: 31%; }
.ai-visual__label--d { top: 47%; left: -8%; }

.ai-copy .lead {
    margin-bottom: 35px;
}

.boundary-list {
    display: grid;
    gap: 0;
    margin-bottom: 32px;
    border-top: 1px solid var(--line);
}

.boundary-list > div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 22px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}

.boundary-list strong {
    color: var(--text);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.boundary-list span {
    color: var(--muted);
    font-size: 0.93rem;
}

.section--ecosystem {
    background: var(--panel);
}

.ecosystem-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.ecosystem-card {
    min-height: 620px;
    display: flex;
    flex-direction: column;
    padding: clamp(28px, 3.4vw, 42px);
    border: 1px solid var(--line);
    background: var(--bg-deep);
}

.ecosystem-card--archive {
    background: linear-gradient(160deg, rgba(19, 53, 59, 0.72), rgba(3, 8, 13, 0.96));
}

.ecosystem-card--safety {
    border-color: rgba(242, 201, 109, 0.34);
    background: linear-gradient(160deg, rgba(70, 53, 23, 0.37), rgba(3, 8, 13, 0.96));
}

.ecosystem-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 70px;
    color: var(--subtle);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.57rem;
    letter-spacing: 0.12em;
}

.ecosystem-card__index {
    color: var(--line-bright);
    font-size: 1rem;
}

.ecosystem-card--archive .ecosystem-card__type {
    color: var(--accent);
}

.ecosystem-card--safety .ecosystem-card__type {
    color: var(--safety);
}

.ecosystem-card h3 {
    margin-bottom: 20px;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    letter-spacing: -0.025em;
    overflow-wrap: normal;
}

.ecosystem-card > p,
.ecosystem-card li {
    color: var(--muted);
}

.ecosystem-card ul {
    display: grid;
    gap: 10px;
    margin: 22px 0 30px;
    padding: 0;
    list-style: none;
}

.ecosystem-card li {
    position: relative;
    padding-left: 18px;
    font-size: 0.9rem;
}

.ecosystem-card li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 7px;
    height: 1px;
    background: var(--accent);
}

.ecosystem-card blockquote {
    margin: 18px 0 28px;
    padding: 18px 20px;
    border-left: 2px solid var(--accent);
    color: var(--text);
    background: rgba(79, 224, 208, 0.055);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
}

.ecosystem-card__links {
    display: grid;
    gap: 0;
    margin: 18px 0 30px;
    border-top: 1px solid var(--line);
}

.ecosystem-card__links a {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.ecosystem-card__links a:hover {
    color: var(--accent-strong);
}

.safety-notice {
    display: grid;
    gap: 4px;
    margin: 18px 0 20px;
    padding: 15px 16px;
    border: 1px solid rgba(255, 116, 111, 0.38);
    color: #ffd5d3;
    background: rgba(255, 116, 111, 0.08);
    font-size: 0.83rem;
}

.safety-notice strong {
    color: var(--danger);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ecosystem-card > .button {
    width: 100%;
    margin-top: auto;
}

.ecosystem-card__note {
    margin: 15px 0 0;
    color: var(--subtle) !important;
    font-size: 0.72rem;
    line-height: 1.55;
}

.section--status {
    padding-block: clamp(70px, 8vw, 110px);
    background: var(--bg-deep);
}

.status-panel {
    display: grid;
    grid-template-columns: 1fr 0.72fr;
    gap: clamp(50px, 8vw, 110px);
    padding: clamp(38px, 6vw, 70px);
    border: 1px solid var(--line-bright);
    background: linear-gradient(145deg, rgba(19, 44, 51, 0.72), rgba(7, 16, 23, 0.95));
}

.status-panel h2 {
    margin-bottom: 0;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.status-panel__copy p {
    color: var(--muted);
}

.section--faq {
    background: var(--panel-2);
}

.faq-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.44fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(60px, 10vw, 140px);
}

.faq-heading {
    position: sticky;
    top: calc(var(--header-height) + 35px);
}

.faq-heading h2 {
    font-size: clamp(2.8rem, 5vw, 4.5rem);
}

.faq-heading > p:not(.eyebrow) {
    color: var(--muted);
}

.faq-list {
    border-top: 1px solid var(--line-bright);
}

.faq-list details {
    border-bottom: 1px solid var(--line-bright);
}

.faq-list summary {
    position: relative;
    padding: 27px 54px 27px 0;
    color: var(--text);
    font-size: clamp(1.05rem, 2.2vw, 1.3rem);
    font-weight: 760;
    list-style: none;
    cursor: pointer;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary span,
.faq-list summary span::after {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 16px;
    height: 1px;
    background: var(--accent);
    content: "";
}

.faq-list summary span::after {
    top: 0;
    right: 0;
    transform: rotate(90deg);
    transition: transform 160ms ease;
}

.faq-list details[open] summary span::after {
    transform: rotate(0deg);
}

.faq-list details p {
    max-width: 760px;
    padding: 0 52px 27px 0;
    color: var(--muted);
}

.section--signup {
    background: var(--bg);
}

.signup-panel {
    display: grid;
    grid-template-columns: minmax(280px, 0.7fr) minmax(430px, 1fr);
    gap: clamp(60px, 9vw, 120px);
    padding: clamp(38px, 6vw, 72px);
    border: 1px solid var(--line-bright);
    background:
        linear-gradient(rgba(79, 224, 208, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.03) 1px, transparent 1px),
        var(--panel);
    background-size: 48px 48px, 48px 48px, auto;
}

.signup-copy h2 {
    font-size: clamp(2.25rem, 4.5vw, 4rem);
}

.signup-copy > p:not(.eyebrow) {
    color: var(--muted);
}

.signup-form {
    display: grid;
    grid-template-columns: 1fr 0.72fr;
    gap: 20px;
    align-content: center;
}

.signup-form > label:not(.checkbox-label) {
    display: grid;
    gap: 8px;
}

.signup-form label > span {
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.signup-form input[type="email"],
.signup-form select {
    width: 100%;
    height: 54px;
    padding: 0 15px;
    border: 1px solid var(--line-bright);
    border-radius: 0;
    color: var(--text);
    background: rgba(3, 8, 13, 0.88);
}

.signup-form input::placeholder {
    color: #62747a;
}

.signup-form select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);
    background-position: calc(100% - 17px) 23px, calc(100% - 12px) 23px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.checkbox-label {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: start;
    gap: 10px;
}

.checkbox-label input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--accent);
}

.checkbox-label span {
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    line-height: 1.45;
    text-transform: none !important;
}

.signup-form .button {
    justify-self: start;
}

.form-status {
    grid-column: 1 / -1;
    display: none;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--line-bright);
    color: var(--muted);
    background: rgba(3, 8, 13, 0.7);
    font-size: 0.85rem;
}

.form-status.is-visible {
    display: block;
}

.form-status.is-success {
    border-color: rgba(79, 224, 208, 0.45);
    color: var(--accent-strong);
}

.form-status.is-error {
    border-color: rgba(255, 116, 111, 0.5);
    color: #ffd5d3;
}

.honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.final-cta {
    position: relative;
    padding: clamp(100px, 13vw, 190px) 0;
    background:
        radial-gradient(circle at 50% 60%, rgba(79, 224, 208, 0.14), transparent 35rem),
        var(--bg-deep);
    overflow: hidden;
    text-align: center;
}

.final-cta__grid {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    background:
        linear-gradient(rgba(79, 224, 208, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(circle at center, black, transparent 72%);
}

.final-cta__inner {
    position: relative;
    z-index: 2;
    max-width: 930px;
}

.final-cta h2 {
    font-size: clamp(3rem, 7vw, 6.6rem);
}

.final-cta p:not(.eyebrow) {
    max-width: 650px;
    margin: 0 auto 34px;
    color: var(--muted);
    font-size: 1.04rem;
}

.final-cta__actions {
    justify-content: center;
}

.site-footer {
    border-top: 1px solid var(--line);
    background: #020609;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 0.55fr);
    gap: 60px;
    padding-block: 70px;
}

.footer-brand p {
    max-width: 430px;
    margin-top: 24px;
    color: var(--subtle);
    font-size: 0.88rem;
}

.site-footer h2 {
    margin-bottom: 18px;
    color: var(--subtle);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-footer__grid > div:not(.footer-brand) {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__grid > div:not(.footer-brand) a {
    color: var(--muted);
    font-size: 0.85rem;
}

.site-footer__grid > div:not(.footer-brand) a:hover {
    color: var(--accent-strong);
}

.site-footer__bottom {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border-top: 1px solid var(--line);
    color: var(--subtle);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.58rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.js [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 620ms ease, transform 620ms ease;
}

.js [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
}

@keyframes scan-rotate {
    to { transform: rotate(360deg); }
}

@keyframes orbit {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes orbit-reverse {
    to { transform: translate(-50%, -50%) rotate(-360deg); }
}

@keyframes panel-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --------------------------------------------------------------------------
   Expanded internal marketing pages
   -------------------------------------------------------------------------- */

.primary-nav > a.is-current {
    color: var(--white);
}

.primary-nav > a.is-current::after {
    transform: scaleX(1);
}

.page-hero {
    position: relative;
    min-height: 720px;
    display: grid;
    align-items: center;
    padding: clamp(90px, 11vw, 150px) 0 clamp(80px, 10vw, 130px);
    overflow: hidden;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 82% 20%, rgba(79, 224, 208, 0.12), transparent 28rem),
        linear-gradient(150deg, rgba(18, 35, 45, 0.72), rgba(3, 8, 13, 0.98));
}

.page-hero::before,
.page-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.page-hero::before {
    inset: 0;
    opacity: 0.07;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.page-hero::after {
    right: -18rem;
    bottom: -24rem;
    width: 56rem;
    height: 56rem;
    border: 1px solid rgba(79, 224, 208, 0.08);
    border-radius: 50%;
    box-shadow: 0 0 0 8rem rgba(79, 224, 208, 0.018), 0 0 0 16rem rgba(79, 224, 208, 0.012);
}

.page-hero__grid {
    position: absolute;
    inset: 0;
    opacity: 0.13;
    background-image:
        linear-gradient(rgba(79, 224, 208, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.08) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.page-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.78fr);
    align-items: center;
    gap: clamp(50px, 7vw, 100px);
}

.page-hero__copy h1 {
    max-width: 820px;
    margin-bottom: 28px;
    font-size: clamp(4rem, 7.2vw, 7.4rem);
}

.page-hero__lede {
    max-width: 720px;
    margin: 0 0 34px;
    color: var(--muted);
    font-size: clamp(1.08rem, 1.7vw, 1.34rem);
}

.page-hero__brand {
    position: relative;
    padding: 24px;
    border: 1px solid rgba(79, 224, 208, 0.24);
    background: linear-gradient(155deg, rgba(17, 35, 45, 0.94), rgba(4, 10, 15, 0.96));
    box-shadow: var(--shadow), inset 0 0 55px rgba(79, 224, 208, 0.03);
}

.page-hero__brand::before,
.page-hero__brand::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-color: var(--accent);
}

.page-hero__brand::before {
    top: 9px;
    left: 9px;
    border-top: 1px solid;
    border-left: 1px solid;
}

.page-hero__brand::after {
    right: 9px;
    bottom: 9px;
    border-right: 1px solid;
    border-bottom: 1px solid;
}

.page-hero__brand > img {
    width: 100%;
    height: auto;
    padding: 18px;
    border-radius: 14px;
    background: rgba(250, 251, 252, 0.98);
}

.page-hero__signal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    color: var(--muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.65rem;
    letter-spacing: 0.13em;
}

.page-hero__signal i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 16px var(--accent);
}

.page-hero__readouts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--line);
    border-top: 0;
}

.page-hero__readouts span {
    min-width: 0;
    padding: 13px 10px;
    color: var(--subtle);
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

.page-hero__readouts span + span {
    border-left: 1px solid var(--line);
}

.section--dark {
    position: relative;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 14% 20%, rgba(79, 224, 208, 0.055), transparent 25rem),
        var(--bg-deep);
}

.section--console {
    position: relative;
    border-top: 1px solid rgba(79, 224, 208, 0.12);
    border-bottom: 1px solid rgba(79, 224, 208, 0.12);
    background:
        linear-gradient(rgba(79, 224, 208, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.025) 1px, transparent 1px),
        linear-gradient(150deg, #09141c, #03080d);
    background-size: 40px 40px, 40px 40px, auto;
}

.split-feature {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    align-items: center;
    gap: clamp(50px, 8vw, 110px);
}

.split-feature--wide {
    grid-template-columns: minmax(420px, 1.08fr) minmax(0, 0.92fr);
}

.split-feature .lead {
    color: var(--text);
    font-size: clamp(1.15rem, 2vw, 1.42rem);
}

.metric-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.metric-row > div {
    display: grid;
    gap: 6px;
    padding: 17px 16px;
}

.metric-row > div + div {
    border-left: 1px solid var(--line);
}

.metric-row span {
    color: var(--subtle);
    font-size: 0.61rem;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.metric-row strong {
    font-size: 0.82rem;
}

.check-list {
    display: grid;
    gap: 11px;
    padding: 0;
    margin: 24px 0 0;
    list-style: none;
}

.check-list li {
    position: relative;
    padding-left: 23px;
    color: var(--muted);
}

.check-list li::before {
    content: "";
    position: absolute;
    top: 0.68em;
    left: 0;
    width: 8px;
    height: 8px;
    border: 1px solid var(--accent);
    transform: rotate(45deg);
}

.inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.inline-links a {
    padding: 8px 12px;
    border: 1px solid var(--line);
    color: var(--accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.text-button {
    padding: 10px 0;
    border: 0;
    color: var(--accent);
    background: transparent;
    font-weight: 800;
    cursor: pointer;
}

/* Home systems preview */
.section--systems-preview {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: linear-gradient(160deg, rgba(15, 29, 39, 0.84), rgba(3, 8, 13, 0.97));
}

.systems-preview-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.systems-preview-grid a {
    position: relative;
    min-height: 310px;
    display: flex;
    flex-direction: column;
    padding: 26px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, rgba(18, 35, 45, 0.84), rgba(5, 12, 18, 0.96));
    overflow: hidden;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.systems-preview-grid a:nth-child(1),
.systems-preview-grid a:nth-child(2) {
    grid-column: span 3;
}

.systems-preview-grid a:nth-child(n+3) {
    grid-column: span 2;
}

.systems-preview-grid a::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(79, 224, 208, 0.09);
    border-radius: 50%;
}

.systems-preview-grid a:hover,
.systems-preview-grid a:focus-visible {
    border-color: rgba(79, 224, 208, 0.46);
    transform: translateY(-4px);
}

.systems-preview-grid span,
.system-card__code {
    color: var(--accent);
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.systems-preview-grid h3 {
    margin: 22px 0 12px;
    font-size: clamp(1.45rem, 2.2vw, 2.15rem);
    line-height: 1.08;
}

.systems-preview-grid p {
    color: var(--muted);
}

.systems-preview-grid strong {
    margin-top: auto;
    color: var(--accent);
    font-size: 0.73rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Game overview */
.systems-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.system-card {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    padding: 32px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, var(--panel-2), var(--bg-deep));
}

.system-card h3 {
    margin: 26px 0 14px;
    font-size: 2rem;
    line-height: 1.08;
}

.system-card p {
    color: var(--muted);
}

.system-card .text-link {
    margin-top: auto;
}

.system-map {
    position: relative;
    min-height: 720px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    align-items: center;
    gap: 24px;
    padding: 60px;
    border: 1px solid var(--line);
    background:
        linear-gradient(rgba(79, 224, 208, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.035) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(79, 224, 208, 0.08), transparent 35%);
    background-size: 42px 42px, 42px 42px, auto;
}

.system-map::before,
.system-map::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 54%;
    height: 54%;
    border: 1px solid rgba(79, 224, 208, 0.14);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.system-map::after {
    width: 34%;
    height: 34%;
    border-style: dashed;
}

.system-map__node,
.system-map__core {
    position: relative;
    z-index: 2;
}

.system-map__node {
    min-height: 145px;
    display: grid;
    align-content: center;
    padding: 22px;
    border: 1px solid var(--line);
    background: rgba(5, 13, 19, 0.92);
}

.system-map__node:hover {
    border-color: var(--accent);
}

.system-map__node span {
    color: var(--accent);
    font-family: ui-monospace, monospace;
    font-size: 0.66rem;
}

.system-map__node strong {
    margin-top: 7px;
    font-size: 1.25rem;
}

.system-map__node small {
    color: var(--subtle);
}

.system-map__node--economy { grid-column: 1; grid-row: 1; }
.system-map__node--contracts { grid-column: 3; grid-row: 1; }
.system-map__node--world { grid-column: 1; grid-row: 3; }
.system-map__node--ai { grid-column: 3; grid-row: 3; }
.system-map__node--justice { grid-column: 2; grid-row: 3; }

.system-map__core {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    place-items: center;
    gap: 12px;
    text-align: center;
}

.system-map__core img {
    width: 150px;
    filter: drop-shadow(0 0 30px rgba(79, 224, 208, 0.18));
}

.system-map__core span {
    color: var(--accent);
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.operation-terminal,
.ledger-terminal,
.reputation-board,
.reason-code,
.cover-file,
.bounty-board,
.first-session {
    border: 1px solid rgba(79, 224, 208, 0.22);
    background: linear-gradient(145deg, rgba(14, 31, 39, 0.96), rgba(5, 13, 19, 0.96));
    box-shadow: var(--shadow);
}

.operation-terminal__top,
.ledger-terminal__head,
.reputation-board__head,
.reason-code__head,
.cover-file__head,
.bounty-board__head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--line);
    color: var(--subtle);
    background: rgba(0, 0, 0, 0.24);
    font-family: ui-monospace, monospace;
    font-size: 0.61rem;
    letter-spacing: 0.11em;
}

.operation-terminal ol {
    display: grid;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

.operation-terminal li {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 20px;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid var(--line);
}

.operation-terminal li > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--accent);
    color: var(--accent);
    font-weight: 900;
}

.operation-terminal li div {
    display: grid;
}

.operation-terminal small {
    color: var(--muted);
}

.operation-terminal > p {
    margin: 0;
    padding: 22px 24px;
    color: var(--accent);
    font-size: 0.78rem;
}

/* Economy */
.market-comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.market-panel {
    min-height: 560px;
    display: flex;
    flex-direction: column;
    padding: 36px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, var(--panel-2), var(--bg-deep));
}

.market-panel--lawful { border-top: 3px solid var(--accent); }
.market-panel--shadow { border-top: 3px solid var(--signal); }

.market-panel__header,
.contract-tier__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--subtle);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.11em;
}

.market-panel--lawful .market-panel__header strong { color: var(--accent); }
.market-panel--shadow .market-panel__header strong { color: var(--signal); }

.market-panel h3 {
    margin: 60px 0 12px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.market-panel > p {
    color: var(--muted);
}

.market-panel__metric {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

.market-panel__metric span {
    color: var(--subtle);
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.market-panel__metric strong {
    font-size: 1.35rem;
}

.basket-visual {
    position: relative;
    min-height: 590px;
    border: 1px solid var(--line);
    background:
        linear-gradient(rgba(79, 224, 208, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79, 224, 208, 0.04) 1px, transparent 1px),
        radial-gradient(circle, rgba(79, 224, 208, 0.13), transparent 46%);
    background-size: 38px 38px, 38px 38px, auto;
    overflow: hidden;
}

.basket-visual__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 66%;
    height: 66%;
    border: 1px dashed rgba(79, 224, 208, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.basket-visual__core {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    gap: 8px;
    transform: translate(-50%, -50%);
}

.basket-visual__core img {
    width: 110px;
}

.basket-visual__core span {
    color: var(--accent);
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.basket-item {
    position: absolute;
    width: 175px;
    display: grid;
    padding: 14px;
    border: 1px solid var(--line);
    background: rgba(4, 11, 16, 0.92);
}

.basket-item > span {
    color: var(--accent);
    font-family: ui-monospace, monospace;
    font-size: 0.63rem;
}

.basket-item small {
    color: var(--subtle);
}

.basket-item--food { top: 9%; left: 8%; }
.basket-item--transport { top: 9%; right: 8%; }
.basket-item--comms { top: 43%; right: 3%; }
.basket-item--lodging { bottom: 8%; right: 12%; }
.basket-item--operations { bottom: 8%; left: 10%; }

.flow-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.flow-card {
    min-height: 300px;
    padding: 30px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, var(--panel-2), var(--bg-deep));
}

.flow-card > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    font-size: 1.5rem;
}

.flow-card--faucet > span { color: var(--accent); }
.flow-card--sink > span { color: var(--danger); }
.flow-card--transfer > span { color: var(--signal); }
.flow-card--lock > span { color: var(--safety); }

.flow-card h3 {
    margin: 30px 0 12px;
    font-size: 1.65rem;
}

.flow-card p { color: var(--muted); }

.policy-console {
    display: grid;
    grid-template-columns: 0.9fr 1.05fr;
    gap: 48px;
    padding: clamp(30px, 5vw, 64px);
    border: 1px solid rgba(79, 224, 208, 0.25);
    background: rgba(3, 8, 13, 0.86);
    box-shadow: var(--shadow);
}

.policy-console__intro h2 { margin-bottom: 18px; }
.policy-console__intro > p { color: var(--muted); }

.policy-console__status {
    display: grid;
    gap: 8px;
    margin-top: 34px;
    padding: 20px;
    border-left: 3px solid var(--accent);
    background: rgba(79, 224, 208, 0.05);
}

.policy-console.is-inflationary .policy-console__status { border-left-color: var(--danger); background: rgba(255, 116, 111, 0.06); }
.policy-console.is-contractionary .policy-console__status { border-left-color: var(--signal); background: rgba(239, 157, 76, 0.06); }

.policy-console__status span,
.policy-console__controls label > span,
.policy-console__readout span {
    color: var(--subtle);
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.11em;
}

.policy-console__status strong { color: var(--accent); font-size: 1.2rem; }
.policy-console.is-inflationary .policy-console__status strong { color: var(--danger); }
.policy-console.is-contractionary .policy-console__status strong { color: var(--signal); }
.policy-console__status small { color: var(--muted); }

.policy-console__controls {
    display: grid;
    gap: 24px;
}

.policy-console__controls label {
    display: grid;
    gap: 10px;
}

.policy-console__controls label > span {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.policy-console__controls output { color: var(--accent); }

.policy-console input[type="range"] {
    width: 100%;
    accent-color: var(--accent);
}

.policy-console__readout {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.policy-console__readout > div {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.policy-console__readout > div + div { border-left: 1px solid var(--line); }
.policy-console__readout strong { font-size: 1.3rem; }

.index-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.index-grid article {
    min-height: 250px;
    padding: 28px;
    border: 1px solid var(--line);
    background: var(--panel);
}

.index-grid span { color: var(--accent); font-size: 0.65rem; font-weight: 850; letter-spacing: 0.12em; }
.index-grid strong { display: block; margin: 34px 0 16px; font-size: 1.35rem; }
.index-grid p { color: var(--muted); }

.ledger-terminal { overflow: hidden; }

.ledger-row {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 18px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
    font-family: ui-monospace, monospace;
    font-size: 0.74rem;
}

.ledger-row time { color: var(--subtle); }
.ledger-row span { color: var(--muted); }
.ledger-faucet { color: var(--accent); }
.ledger-sink { color: var(--danger); }
.ledger-transfer { color: var(--signal); }
.ledger-lock { color: var(--safety); }

.ledger-terminal__foot {
    display: flex;
    justify-content: space-between;
    padding: 20px 18px;
    color: var(--accent);
    font-family: ui-monospace, monospace;
    font-size: 0.72rem;
}

/* Contracts */
.contract-tier-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.contract-tier {
    min-height: 620px;
    display: flex;
    flex-direction: column;
    padding: 36px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, var(--panel-2), var(--bg-deep));
}

.contract-tier--verified { border-top: 3px solid var(--accent); }
.contract-tier--unverified { border-top: 3px solid var(--signal); }

.contract-tier__badge {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--subtle);
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.contract-tier__badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 14px var(--accent);
}

.contract-tier--unverified .contract-tier__badge i { background: var(--signal); box-shadow: 0 0 14px var(--signal); }

.contract-tier h3 {
    margin: 52px 0 16px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.contract-tier > p { color: var(--muted); }

.contract-tier__footer {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr;
    margin-top: auto;
    padding-top: 25px;
    border-top: 1px solid var(--line);
}

.contract-tier__footer strong { color: var(--text); text-align: right; }

.contract-simulator {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 50px;
    align-items: center;
}

.contract-simulator__copy > p { color: var(--muted); }
.contract-simulator__controls { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.contract-state-machine {
    padding: 28px;
    border: 1px solid rgba(79, 224, 208, 0.25);
    background: rgba(4, 10, 15, 0.93);
    box-shadow: var(--shadow);
}

.contract-state-machine ol {
    display: grid;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

.contract-state-machine li {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border-left: 2px solid var(--line);
    color: var(--subtle);
}

.contract-state-machine li + li { border-top: 1px solid rgba(34, 52, 61, 0.7); }
.contract-state-machine li.is-active { border-left-color: var(--accent); color: var(--text); background: rgba(79, 224, 208, 0.055); }
.contract-state-machine li.is-complete { border-left-color: var(--accent-muted); color: var(--muted); }
.contract-state-machine li[data-contract-state="breached"].is-active { border-left-color: var(--danger); background: rgba(255, 116, 111, 0.06); }

.contract-state-machine li > span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    font-family: ui-monospace, monospace;
}

.contract-state-machine li div { display: grid; }
.contract-state-machine small { color: var(--subtle); }

.contract-state-machine__readout {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid var(--line);
    background: rgba(0, 0, 0, 0.18);
}

.contract-state-machine__readout span { color: var(--subtle); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.12em; }
.contract-state-machine__readout strong { display: block; margin: 8px 0; color: var(--accent); font-family: ui-monospace, monospace; }
.contract-state-machine__readout p { margin: 0; color: var(--muted); }

.lockbox-visual {
    position: relative;
    min-height: 610px;
    display: grid;
    place-items: center;
    perspective: 1200px;
}

.lockbox-visual__case {
    position: relative;
    width: min(480px, 80%);
    aspect-ratio: 1.45;
    display: grid;
    place-items: center;
    border: 2px solid #54707b;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), transparent 32%),
        linear-gradient(155deg, #1a2c36, #081017 68%);
    box-shadow: inset 0 0 0 8px #0e1d25, inset 0 0 60px rgba(79,224,208,.06), 0 35px 70px rgba(0,0,0,.48);
    transform: rotateX(5deg) rotateY(-8deg);
}

.lockbox-visual__case::before,
.lockbox-visual__case::after {
    content: "";
    position: absolute;
    top: 12%;
    bottom: 12%;
    width: 22px;
    border: 1px solid #405965;
    background: #101f27;
}
.lockbox-visual__case::before { left: -23px; }
.lockbox-visual__case::after { right: -23px; }

.lockbox-visual__seal,
.lockbox-visual__id,
.lockbox-visual__mass {
    position: absolute;
    font-family: ui-monospace, monospace;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
}
.lockbox-visual__seal { top: 17px; left: 20px; padding: 5px 8px; color: var(--bg-deep); background: var(--accent); font-weight: 900; }
.lockbox-visual__id { top: 21px; right: 20px; color: var(--subtle); }
.lockbox-visual__mass { right: 20px; bottom: 18px; color: var(--signal); }
.lockbox-visual__case img { width: 118px; opacity: .88; }
.lockbox-visual__handle { position: absolute; top: -27px; width: 34%; height: 28px; border: 5px solid #344a55; border-bottom: 0; border-radius: 8px 8px 0 0; }
.lockbox-visual__scan { position: absolute; inset: 0; width: 2px; background: linear-gradient(transparent, var(--accent), transparent); box-shadow: 0 0 20px var(--accent); animation: lockbox-scan 3.8s linear infinite; }
.lockbox-visual__shadow { position: absolute; bottom: 55px; width: 65%; height: 50px; border-radius: 50%; background: rgba(0,0,0,.55); filter: blur(18px); }

@keyframes lockbox-scan {
    from { left: 8%; }
    to { left: 92%; }
}

.upr-layout {
    display: grid;
    grid-template-columns: minmax(420px, 1.12fr) minmax(0, 0.88fr);
    gap: 30px;
}

.upr-map {
    position: relative;
    min-height: 600px;
    border: 1px solid var(--line);
    background:
        linear-gradient(rgba(79,224,208,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(79,224,208,.045) 1px, transparent 1px),
        #071017;
    background-size: 34px 34px;
    overflow: hidden;
}

.upr-map__road { position: absolute; left: 0; bottom: 15%; width: 100%; height: 80px; border-top: 1px solid #40545d; border-bottom: 1px solid #40545d; background: rgba(255,255,255,.025); transform: rotate(-8deg); }
.upr-map__property { position: absolute; top: 11%; right: 9%; width: 46%; height: 50%; display: grid; place-items: center; border: 2px solid #405863; background: rgba(15,29,39,.88); }
.upr-map__property span { color: var(--subtle); font-size: .7rem; letter-spacing: .12em; }
.upr-map__drop { position: absolute; right: 41%; bottom: 29%; display: grid; gap: 8px; justify-items: center; color: var(--accent); font-size: .64rem; font-weight: 850; letter-spacing: .1em; }
.upr-map__drop i { width: 52px; height: 52px; border: 2px solid var(--accent); background: rgba(79,224,208,.12); box-shadow: 0 0 25px rgba(79,224,208,.22); }
.upr-map__courier { position: absolute; left: 10%; bottom: 11%; width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid var(--signal); border-radius: 50%; color: var(--signal); font-size: .58rem; font-weight: 850; }
.upr-map__path { position: absolute; left: 17%; bottom: 22%; width: 42%; height: 2px; border-top: 2px dashed var(--accent); transform: rotate(-9deg); transform-origin: left; }
.upr-map__barrier { position: absolute; top: 26%; right: 22%; width: 30%; height: 4px; background: var(--danger); transform: rotate(28deg); }
.upr-map__barrier span { position: absolute; top: -23px; color: var(--danger); font-size: .55rem; font-weight: 850; letter-spacing: .09em; white-space: nowrap; }
.upr-map__status { position: absolute; right: 18px; bottom: 18px; padding: 10px 12px; border: 1px solid rgba(79,224,208,.3); color: var(--accent); background: rgba(3,8,13,.82); font-family: ui-monospace, monospace; font-size: .63rem; }

.upr-rules { display: grid; gap: 12px; }
.upr-rules article { display: grid; grid-template-columns: 46px 1fr; gap: 18px; padding: 22px; border: 1px solid var(--line); background: rgba(10,23,31,.82); }
.upr-rules article > span { color: var(--accent); font-family: ui-monospace, monospace; }
.upr-rules h3 { margin: 0 0 7px; font-size: 1.1rem; }
.upr-rules p { margin: 0; color: var(--muted); }

.profession-track {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
.profession-track article { min-height: 310px; padding: 24px; border: 1px solid var(--line); background: var(--panel); }
.profession-track span { color: var(--accent); font-size: .64rem; font-weight: 850; letter-spacing: .12em; }
.profession-track h3 { margin: 40px 0 12px; font-size: 1.45rem; }
.profession-track p { color: var(--muted); }

.reputation-board { overflow: hidden; }
.reputation-entry { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 18px; border-bottom: 1px solid var(--line); font-family: ui-monospace, monospace; }
.reputation-entry span { color: var(--subtle); font-size: .7rem; }
.reputation-entry .rep-good { color: var(--accent); }
.reputation-entry .rep-warn { color: var(--signal); }
.reputation-entry .rep-danger { color: var(--danger); }
.reputation-board__foot { padding: 18px; color: var(--muted); font-size: .75rem; }

/* World and housing */
.housing-model-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.housing-model { min-height: 500px; padding: 32px; border: 1px solid var(--line); background: linear-gradient(145deg, var(--panel-2), var(--bg-deep)); }
.housing-model--instance { border-top: 3px solid var(--accent); }
.housing-model--persistent { border-top: 3px solid var(--signal); }
.housing-model--fort { border-top: 3px solid var(--danger); }
.housing-model__tag { color: var(--accent); font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.housing-model h3 { margin: 46px 0 14px; font-size: 2rem; line-height: 1.08; }
.housing-model > p { color: var(--muted); }

.property-map {
    position: relative;
    min-height: 650px;
    border: 1px solid var(--line);
    background: #08131b;
    overflow: hidden;
}
.property-map__grid { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(79,224,208,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(79,224,208,.08) 1px, transparent 1px); background-size: 38px 38px; }
.property-map__hub { position: absolute; top: 43%; left: 41%; width: 150px; height: 150px; display: grid; place-items: center; padding: 18px; border: 2px solid var(--accent); border-radius: 50%; color: var(--accent); background: rgba(79,224,208,.08); text-align: center; font-size: .64rem; font-weight: 850; letter-spacing: .1em; box-shadow: 0 0 0 60px rgba(79,224,208,.025), 0 0 0 130px rgba(79,224,208,.014); }
.property-map__road { position: absolute; height: 18px; background: rgba(255,255,255,.05); border-top: 1px solid #38505b; border-bottom: 1px solid #38505b; }
.property-map__road--a { top: 52%; left: -10%; width: 120%; transform: rotate(-14deg); }
.property-map__road--b { top: 35%; left: 23%; width: 85%; transform: rotate(65deg); }
.property-plot { position: absolute; min-width: 110px; padding: 13px; display: grid; border: 1px solid var(--line-bright); background: rgba(3,8,13,.9); font-family: ui-monospace, monospace; }
.property-plot span { color: var(--accent); }
.property-plot--prime { top: 29%; left: 25%; border-color: var(--accent); }
.property-plot--trade { top: 24%; right: 13%; border-color: var(--signal); }
.property-plot--border { bottom: 19%; left: 24%; }
.property-plot--remote { bottom: 11%; right: 12%; }
.property-map__fort { position: absolute; top: 10%; left: 7%; width: 140px; height: 90px; display: grid; place-items: center; border: 1px dashed var(--danger); color: var(--danger); background: rgba(255,116,111,.04); font-size: .65rem; text-align: center; }
.property-map__fort span { color: var(--subtle); }
.property-map__legend { position: absolute; left: 18px; bottom: 18px; display: flex; align-items: center; gap: 12px; color: var(--subtle); font-size: .61rem; letter-spacing: .09em; }
.property-map__legend i { width: 110px; height: 5px; background: linear-gradient(90deg, var(--subtle), var(--signal), var(--accent)); }

.auction-timeline,
.property-lifecycle,
.evidence-pipeline,
.play-loop {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border: 1px solid var(--line);
}
.auction-timeline article,
.property-lifecycle article,
.evidence-pipeline article,
.play-loop article {
    min-height: 300px;
    padding: 26px;
    background: linear-gradient(145deg, var(--panel), var(--bg-deep));
}
.auction-timeline article + article,
.property-lifecycle article + article,
.evidence-pipeline article + article,
.play-loop article + article { border-left: 1px solid var(--line); }
.auction-timeline span,
.property-lifecycle span,
.evidence-pipeline span,
.play-loop span { color: var(--accent); font-family: ui-monospace, monospace; }
.auction-timeline h3,
.property-lifecycle h3,
.evidence-pipeline h3,
.play-loop h3 { margin: 44px 0 12px; font-size: 1.45rem; }
.auction-timeline p,
.property-lifecycle p,
.evidence-pipeline p,
.play-loop p { color: var(--muted); }

.land-tax-console { border: 1px solid rgba(79,224,208,.25); background: rgba(3,8,13,.92); box-shadow: var(--shadow); }
.land-tax-console__head { display:flex; justify-content:space-between; gap:16px; padding:14px 17px; border-bottom:1px solid var(--line); color:var(--subtle); font-family:ui-monospace,monospace; font-size:.63rem; }
.land-tax-console__value { display:flex; justify-content:space-between; align-items:end; padding:28px 22px 16px; }
.land-tax-console__value span { color:var(--subtle); font-size:.65rem; font-weight:850; letter-spacing:.12em; }
.land-tax-console__value strong { color:var(--accent); font-size:3rem; }
.land-tax-console__bar { height:10px; margin:0 22px 24px; background:var(--line); overflow:hidden; }
.land-tax-console__bar i { display:block; width:84%; height:100%; background:linear-gradient(90deg,var(--signal),var(--accent)); }
.land-tax-console dl { margin:0; }
.land-tax-console dl div { display:flex; justify-content:space-between; padding:14px 22px; border-top:1px solid var(--line); }
.land-tax-console dt { color:var(--muted); }
.land-tax-console dd { margin:0; color:var(--accent); font-family:ui-monospace,monospace; }
.land-tax-console__total { display:flex; justify-content:space-between; padding:20px 22px; border-top:1px solid var(--accent-muted); color:var(--accent); font-size:.75rem; }

.property-lifecycle { grid-template-columns: repeat(5, 1fr); }
.property-lifecycle article { min-height: 330px; }
.property-lifecycle article.is-current { background: linear-gradient(145deg, rgba(79,224,208,.09), var(--bg-deep)); }

.fort-blueprint { position:relative; min-height:620px; border:1px solid var(--line); background:linear-gradient(rgba(79,224,208,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,224,208,.04) 1px,transparent 1px),#061018; background-size:35px 35px; overflow:hidden; }
.fort-blueprint__wall { position:absolute; border:2px solid #546a72; background:rgba(18,35,45,.82); }
.fort-blueprint__wall--a { top:13%; left:13%; width:68%; height:18%; transform:rotate(-5deg); }
.fort-blueprint__wall--b { top:29%; right:13%; width:18%; height:55%; transform:rotate(6deg); }
.fort-blueprint__wall--c { bottom:14%; left:18%; width:62%; height:18%; transform:rotate(4deg); }
.fort-module { position:absolute; width:120px; height:90px; display:grid; place-items:center; border:1px solid var(--accent); color:var(--accent); background:rgba(3,8,13,.92); font-size:.62rem; font-weight:850; text-align:center; }
.fort-module--power { top:35%; left:18%; }
.fort-module--food { top:35%; left:43%; }
.fort-module--shop { bottom:24%; left:30%; }
.fort-module--intel { top:18%; right:18%; }
.fort-module--drop { bottom:11%; right:7%; border-color:var(--signal); color:var(--signal); }
.fort-blueprint__route { position:absolute; right:-8%; bottom:17%; width:38%; border-top:2px dashed var(--signal); transform:rotate(-17deg); }
.fort-blueprint__route span { position:absolute; top:-26px; left:30px; color:var(--signal); font-size:.6rem; letter-spacing:.09em; }

/* AI mission vectors */
.ai-stack { max-width: 960px; margin-inline:auto; border:1px solid var(--line); }
.ai-stack article { display:grid; grid-template-columns:56px 1fr auto; gap:20px; align-items:center; padding:22px; background:linear-gradient(90deg,rgba(79,224,208,.035),transparent); }
.ai-stack article + article { border-top:1px solid var(--line); }
.ai-stack article > span { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line-bright); color:var(--accent); font-family:ui-monospace,monospace; }
.ai-stack h3 { margin:0 0 4px; font-size:1.15rem; }
.ai-stack p { margin:0; color:var(--muted); }
.ai-stack article > strong { color:var(--subtle); font-size:.63rem; letter-spacing:.1em; }
.ai-stack article:last-child { background:rgba(79,224,208,.08); }
.ai-stack article:last-child > strong { color:var(--accent); }

.vector-grid,
.sense-grid,
.failure-grid,
.fugitive-grid,
.guardrail-grid,
.entry-grid,
.evidence-type-grid,
.habit-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.vector-grid article,
.sense-card,
.failure-grid article,
.fugitive-grid article,
.guardrail-grid article,
.entry-grid article,
.evidence-type-grid article,
.habit-grid article {
    min-height:320px;
    padding:28px;
    border:1px solid var(--line);
    background:linear-gradient(145deg,var(--panel-2),var(--bg-deep));
}
.vector-grid span,
.sense-card > span,
.failure-grid span,
.fugitive-grid span,
.guardrail-grid span,
.entry-grid span,
.evidence-type-grid span,
.habit-grid span { color:var(--accent); font-size:.64rem; font-weight:850; letter-spacing:.11em; }
.vector-grid h3,
.sense-card h3,
.failure-grid h3,
.fugitive-grid h3,
.guardrail-grid h3,
.entry-grid h3,
.evidence-type-grid h3,
.habit-grid h3 { margin:42px 0 12px; font-size:1.45rem; line-height:1.13; }
.vector-grid p,
.sense-card p,
.failure-grid p,
.fugitive-grid p,
.guardrail-grid p,
.entry-grid p,
.evidence-type-grid p,
.habit-grid p { color:var(--muted); }
.vector-grid small,
.sense-card small { display:block; margin-top:22px; color:var(--subtle); font-size:.66rem; line-height:1.5; letter-spacing:.05em; }

.mission-verifier { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; padding:clamp(28px,5vw,60px); border:1px solid rgba(79,224,208,.24); background:rgba(3,8,13,.9); box-shadow:var(--shadow); }
.mission-verifier blockquote { margin:25px 0; padding:24px; border-left:3px solid var(--signal); color:var(--text); background:rgba(239,157,76,.05); font-size:1.1rem; }
.mission-verifier__brief > p { color:var(--muted); }
.mission-verifier__checks { display:grid; gap:10px; margin-top:24px; }
.mission-verifier__checks label { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:14px; border:1px solid var(--line); cursor:pointer; }
.mission-verifier__checks label:has(input:checked) { border-color:rgba(79,224,208,.45); background:rgba(79,224,208,.05); }
.mission-verifier__checks input { margin-top:5px; accent-color:var(--accent); }
.mission-verifier__checks span { display:grid; }
.mission-verifier__checks small { color:var(--subtle); }
.mission-verifier__result { display:grid; align-content:center; gap:30px; padding:30px; border:1px solid var(--line); background:radial-gradient(circle at 50% 30%,rgba(79,224,208,.1),transparent 45%),#071017; }
.verifier-orbit { position:relative; width:210px; height:210px; display:grid; place-items:center; align-content:center; gap:0; margin-inline:auto; border:1px solid var(--accent); border-radius:50%; box-shadow:0 0 0 28px rgba(79,224,208,.025),0 0 0 56px rgba(79,224,208,.014); }
.verifier-orbit::before { content:""; position:absolute; inset:18px; border:1px dashed rgba(79,224,208,.36); border-radius:50%; }
.verifier-orbit span { font-size:4rem; line-height:1; font-weight:900; }
.verifier-orbit small { color:var(--accent); font-size:.6rem; letter-spacing:.12em; }
.mission-verifier.is-high-risk .verifier-orbit { border-color:var(--danger); box-shadow:0 0 0 28px rgba(255,116,111,.025),0 0 0 56px rgba(255,116,111,.014); }
.mission-verifier.is-low-risk .verifier-orbit { border-color:var(--accent-strong); }
.verifier-classification { padding:20px; border:1px solid var(--line); }
.verifier-classification > span { color:var(--subtle); font-size:.63rem; font-weight:850; letter-spacing:.11em; }
.verifier-classification strong { display:block; margin:8px 0; color:var(--accent); }
.mission-verifier.is-high-risk .verifier-classification strong { color:var(--danger); }
.verifier-classification p { margin:0; color:var(--muted); }
.verifier-signals { display:grid; gap:10px; }
.verifier-signals span { display:flex; align-items:center; justify-content:space-between; color:var(--subtle); font-size:.65rem; font-weight:850; letter-spacing:.1em; }
.verifier-signals i { width:34%; height:5px; background:var(--line); }
.verifier-signals i.is-alert { background:var(--danger); box-shadow:0 0 10px rgba(255,116,111,.4); }
.verifier-signals i.is-clear { background:var(--accent); box-shadow:0 0 10px rgba(79,224,208,.4); }

.sense-grid { grid-template-columns:repeat(2,1fr); }
.sense-card { min-height:360px; }
.sense-card--logic { border-top:3px solid var(--accent); }
.sense-card--empathy { border-top:3px solid var(--signal); }
.sense-card--signal { border-top:3px solid #65a8ff; }
.sense-card--field { border-top:3px solid var(--safety); }

.broker-network { position:relative; min-height:600px; border:1px solid var(--line); background:linear-gradient(rgba(79,224,208,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,224,208,.04) 1px,transparent 1px),radial-gradient(circle,rgba(79,224,208,.1),transparent 42%); background-size:36px 36px,36px 36px,auto; overflow:hidden; }
.broker-network svg { position:absolute; inset:0; width:100%; height:100%; }
.broker-network path { fill:none; stroke:rgba(79,224,208,.26); stroke-width:1.5; stroke-dasharray:7 9; }
.broker-network__core { position:absolute; z-index:2; top:50%; left:50%; display:grid; place-items:center; gap:8px; transform:translate(-50%,-50%); }
.broker-network__core img { width:118px; }
.broker-network__core span { color:var(--accent); font-size:.62rem; font-weight:850; letter-spacing:.12em; }
.broker-node { position:absolute; z-index:2; min-width:160px; display:grid; padding:14px; border:1px solid var(--line-bright); background:rgba(3,8,13,.94); }
.broker-node strong { font-size:.8rem; }
.broker-node span { color:var(--accent); font-size:.62rem; }
.broker-node--a { top:12%; left:8%; }
.broker-node--b { top:11%; right:8%; }
.broker-node--c { bottom:12%; left:8%; }
.broker-node--d { right:8%; bottom:12%; }

.failure-grid { grid-template-columns:repeat(4,1fr); }

/* Justice */
.justice-axis-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.justice-axis { padding:34px; border:1px solid var(--line); background:linear-gradient(145deg,var(--panel-2),var(--bg-deep)); }
.justice-axis__label { color:var(--accent); font-size:.66rem; font-weight:850; letter-spacing:.12em; }
.justice-axis h3 { margin:46px 0 24px; font-size:2rem; }
.justice-axis ol { display:grid; gap:0; padding:0; margin:0; list-style:none; }
.justice-axis li { display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-top:1px solid var(--line); }
.justice-axis li span { color:var(--text); font-size:.78rem; font-weight:850; }
.justice-axis li small { color:var(--muted); text-align:right; }
.justice-axis > p { color:var(--muted); }

.warrant-console { display:grid; grid-template-columns:.86fr 1.14fr; gap:48px; padding:clamp(30px,5vw,60px); border:1px solid rgba(79,224,208,.24); background:rgba(3,8,13,.9); box-shadow:var(--shadow); }
.warrant-console__intro > p { color:var(--muted); }
.warrant-console__tabs { display:grid; grid-template-columns:repeat(5,1fr); margin-top:28px; border:1px solid var(--line); }
.warrant-console__tabs button { padding:12px 6px; border:0; border-left:1px solid var(--line); color:var(--subtle); background:transparent; cursor:pointer; font-size:.7rem; font-weight:850; text-transform:uppercase; }
.warrant-console__tabs button:first-child { border-left:0; }
.warrant-console__tabs button[aria-selected="true"] { color:var(--bg-deep); background:var(--accent); }
.warrant-console__display { display:grid; grid-template-columns:170px 1fr; gap:28px; align-items:center; padding:28px; border:1px solid var(--line); background:linear-gradient(145deg,#0c1c25,#050c12); }
.warrant-console__seal { position:relative; width:155px; height:155px; display:grid; place-items:center; border:2px solid var(--accent); border-radius:50%; box-shadow:0 0 0 20px rgba(79,224,208,.025); }
.warrant-console__seal::before { content:""; position:absolute; inset:18px; border:1px dashed rgba(79,224,208,.35); border-radius:50%; }
.warrant-console__seal span { font-size:4rem; font-weight:900; }
.warrant-console__seal i { position:absolute; bottom:18px; width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); }
.warrant-console__copy > span { color:var(--accent); font-size:.65rem; font-weight:850; letter-spacing:.11em; }
.warrant-console__copy h3 { margin:10px 0 14px; font-size:1.5rem; }
.warrant-console__copy > p { color:var(--muted); }
.warrant-console__copy dl { margin:22px 0 0; }
.warrant-console__copy dl div { display:grid; grid-template-columns:120px 1fr; gap:15px; padding:11px 0; border-top:1px solid var(--line); }
.warrant-console__copy dt { color:var(--subtle); font-size:.7rem; }
.warrant-console__copy dd { margin:0; color:var(--text); }
.warrant-console[data-active-tier="echo"] .warrant-console__seal,
.warrant-console[data-active-tier="delta"] .warrant-console__seal { border-color:var(--danger); box-shadow:0 0 0 20px rgba(255,116,111,.025); }
.warrant-console[data-active-tier="echo"] .warrant-console__seal i,
.warrant-console[data-active-tier="delta"] .warrant-console__seal i { background:var(--danger); box-shadow:0 0 12px var(--danger); }

.evidence-pipeline { grid-template-columns:repeat(6,1fr); }
.evidence-pipeline article { min-height:330px; }

.bounty-board { overflow:hidden; }
.bounty-target { display:grid; grid-template-columns:130px 1fr; gap:22px; align-items:center; padding:24px; border-bottom:1px solid var(--line); }
.bounty-target__portrait { width:120px; height:120px; display:grid; place-items:center; border:1px solid var(--danger); border-radius:50%; background:rgba(255,116,111,.04); }
.bounty-target__portrait img { width:100px; }
.bounty-target span { color:var(--danger); font-size:.64rem; font-weight:850; letter-spacing:.11em; }
.bounty-target h3 { margin:8px 0 4px; }
.bounty-target p { margin:0; color:var(--muted); }
.bounty-board dl { margin:0; }
.bounty-board dl div { display:flex; justify-content:space-between; gap:18px; padding:14px 20px; border-bottom:1px solid var(--line); }
.bounty-board dt { color:var(--muted); }
.bounty-board dd { margin:0; color:var(--accent); font-family:ui-monospace,monospace; }
.bounty-board__foot { display:flex; justify-content:space-between; gap:18px; padding:18px 20px; color:var(--danger); font-size:.68rem; }

.fugitive-grid,
.guardrail-grid { grid-template-columns:repeat(3,1fr); }
.fugitive-grid article,
.guardrail-grid article { min-height:300px; }

.facility-paths { display:grid; gap:12px; }
.facility-paths article { display:grid; grid-template-columns:48px 1fr auto; gap:18px; align-items:center; padding:22px; border:1px solid var(--line); background:rgba(10,23,31,.84); }
.facility-paths article > span { color:var(--accent); font-family:ui-monospace,monospace; }
.facility-paths h3 { margin:0 0 5px; font-size:1.2rem; }
.facility-paths p { margin:0; color:var(--muted); }
.facility-paths strong { color:var(--subtle); font-size:.62rem; letter-spacing:.09em; text-align:right; }

/* How to play */
.play-role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.play-role-grid article { min-height:520px; padding:32px; border:1px solid var(--line); background:linear-gradient(145deg,var(--panel-2),var(--bg-deep)); }
.play-role-grid article > span { color:var(--accent); font-size:.65rem; font-weight:850; letter-spacing:.12em; }
.play-role-grid h3 { margin:50px 0 16px; font-size:2.4rem; }
.play-role-grid p { color:var(--muted); }
.play-loop { grid-template-columns:repeat(6,1fr); }
.play-loop article { min-height:330px; padding:22px; }
.play-loop h3 { font-size:1.2rem; }
.cover-file { overflow:hidden; }
.cover-file dl { margin:0; }
.cover-file dl div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:16px 20px; border-bottom:1px solid var(--line); }
.cover-file dt { color:var(--subtle); }
.cover-file dd { margin:0; }
.cover-file__warning { padding:20px; color:var(--signal); font-size:.7rem; font-weight:850; letter-spacing:.09em; }
.first-session { padding:35px; }
.first-session__time { color:var(--accent); font-size:.65rem; font-weight:850; letter-spacing:.12em; }
.first-session h3 { margin:30px 0 12px; font-size:3rem; }
.first-session p,
.first-session li { color:var(--muted); }
.habit-grid { grid-template-columns:repeat(5,1fr); }
.habit-grid article { min-height:330px; padding:24px; }

/* Dossier */
.evidence-type-grid { grid-template-columns:repeat(4,1fr); }
.provenance-chain { display:grid; gap:0; border:1px solid var(--line); }
.provenance-chain article { display:grid; grid-template-columns:50px 1fr; gap:18px; padding:20px; border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(79,224,208,.035),transparent); }
.provenance-chain article:last-child { border-bottom:0; }
.provenance-chain span { color:var(--accent); font-family:ui-monospace,monospace; }
.provenance-chain small { grid-column:2; color:var(--subtle); }
.confidence-board { display:grid; gap:12px; }
.confidence-board article { display:grid; grid-template-columns:1fr 220px; gap:18px 30px; align-items:center; padding:24px; border:1px solid var(--line); background:var(--panel); }
.confidence-board article div { display:grid; }
.confidence-board span { color:var(--accent); font-size:.62rem; font-weight:850; letter-spacing:.11em; }
.confidence-board meter { width:100%; height:12px; accent-color:var(--accent); }
.confidence-board p { grid-column:1/-1; margin:0; color:var(--muted); }
.reason-code { overflow:hidden; }
.reason-code h3 { margin:0; padding:26px 20px; border-bottom:1px solid var(--line); font-size:1.6rem; }
.reason-code dl { margin:0; }
.reason-code dl div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:14px 20px; border-bottom:1px solid var(--line); }
.reason-code dt { color:var(--subtle); }
.reason-code dd { margin:0; }

/* FAQ and gateway */
.faq-page-layout { display:grid; grid-template-columns:260px 1fr; gap:60px; align-items:start; }
.faq-page-nav { position:sticky; top:calc(var(--header-height) + 28px); display:grid; padding:24px; border:1px solid var(--line); background:var(--panel); }
.faq-page-nav a { padding:12px 0; border-top:1px solid var(--line); color:var(--muted); }
.faq-page-nav a:hover { color:var(--accent); }
.faq-list--page h2 { margin-top:0; }

.gateway-layout { display:grid; grid-template-columns:1fr .86fr; gap:60px; align-items:center; }
.gateway-brief .lead { font-size:1.3rem; }
.gateway-panel { padding:34px; border:1px solid rgba(239,157,76,.38); background:linear-gradient(145deg,rgba(45,29,15,.5),rgba(3,8,13,.96)); box-shadow:var(--shadow); }
.gateway-panel.is-confirmed { border-color:rgba(79,224,208,.42); background:linear-gradient(145deg,rgba(16,50,47,.36),rgba(3,8,13,.96)); }
.gateway-panel__status { display:flex; align-items:center; gap:10px; color:var(--signal); font-size:.66rem; font-weight:850; letter-spacing:.12em; }
.gateway-panel.is-confirmed .gateway-panel__status { color:var(--accent); }
.gateway-panel__status i { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 12px currentColor; }
.gateway-panel h3 { margin:34px 0 12px; font-size:2rem; }
.gateway-panel > p { color:var(--muted); }
.gateway-form { display:grid; gap:22px; margin-top:26px; }
.gateway-panel .text-link { display:inline-flex; margin-top:20px; }
.entry-grid { grid-template-columns:repeat(3,1fr); }


@media (max-width: 1080px) {
    :root {
        --container: min(100% - 36px, 980px);
    }

    .primary-nav {
        gap: 15px;
    }

    .primary-nav > a:not(.button) {
        display: none;
    }

    .hero__grid {
        grid-template-columns: 1fr;
    }

    .hero__content {
        max-width: 830px;
    }

    .hero-console {
        width: min(760px, 100%);
        min-height: 580px;
        margin-left: auto;
    }

    .operation-layout {
        grid-template-columns: 1fr;
    }

    .caseboard {
        width: min(820px, 100%);
        margin-left: auto;
    }

    .role-panel {
        grid-template-columns: 70px minmax(0, 1fr) 280px;
    }

    .ecosystem-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ecosystem-card--safety {
        grid-column: 1 / -1;
        min-height: 540px;
    }
}

@media (max-width: 820px) {
    :root {
        --header-height: 72px;
        --container: min(100% - 28px, 720px);
    }

    .utility-bar__inner span:nth-child(2),
    .utility-bar__inner span:nth-child(3) {
        display: none;
    }

    .utility-bar__inner {
        justify-content: center;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 45;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 28px;
        overflow-y: auto;
        background: rgba(3, 8, 13, 0.985);
        clip-path: inset(0 0 0 100%);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: clip-path 220ms ease, opacity 160ms ease, visibility 220ms ease;
    }

    .primary-nav.is-open {
        clip-path: inset(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .primary-nav > a:not(.button) {
        display: block;
        padding: 18px 0;
        border-bottom: 1px solid var(--line);
        font-size: 0.9rem;
    }

    .primary-nav .button {
        margin-top: 22px;
    }

    .hero {
        padding-top: 74px;
    }

    .hero::before {
        left: 14px;
    }

    .hero__content {
        padding-bottom: 45px;
    }

    .hero__facts {
        grid-template-columns: 1fr;
    }

    .hero__facts li,
    .hero__facts li + li {
        padding: 14px 0;
        border-left: 0;
        border-top: 1px solid var(--line);
    }

    .hero__facts li:first-child {
        border-top: 0;
    }

    .hero-console {
        min-height: 540px;
    }

    .trust-strip {
        grid-template-columns: 1fr 1fr;
    }

    .trust-strip span:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(79, 224, 208, 0.12);
    }

    .trust-strip span:nth-child(4) {
        border-top: 1px solid rgba(79, 224, 208, 0.12);
    }

    .section-heading--split,
    .ai-layout,
    .status-panel,
    .faq-layout,
    .signup-panel {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .feature-grid {
        grid-template-columns: 1fr;
    }

    .mission-loop {
        grid-template-columns: 1fr;
    }

    .mission-loop__rail {
        grid-template-columns: repeat(3, 1fr);
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .mission-loop__rail button {
        min-height: 78px;
        justify-content: center;
        padding: 13px;
        border-right: 1px solid var(--line);
        font-size: 0.67rem;
    }

    .mission-loop__rail button::before {
        top: auto;
        right: 0;
        width: auto;
        height: 3px;
        transform: scaleX(0);
    }

    .mission-loop__rail button[aria-selected="true"]::before {
        transform: scaleX(1);
    }

    .mission-loop__panel {
        min-height: 360px;
    }

    .caseboard__body {
        min-height: 720px;
    }

    .evidence-card--left,
    .evidence-card--right,
    .evidence-card--bottom {
        left: 50%;
        right: auto;
        width: min(84%, 360px);
        transform: translateX(-50%);
    }

    .evidence-card--left { top: 265px; }
    .evidence-card--right { top: 430px; }
    .evidence-card--bottom { top: 585px; bottom: auto; }
    .caseboard__links { display: none; }

    .role-selector__tabs {
        grid-template-columns: 1fr;
    }

    .role-selector__tabs button {
        min-height: 82px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .role-selector__tabs button:last-child {
        border-bottom: 0;
    }

    .role-panel {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .role-panel__number {
        display: none;
    }

    .role-panel__visual {
        width: min(260px, 90%);
        grid-row: 1;
    }

    .faction-grid,
    .ecosystem-grid {
        grid-template-columns: 1fr;
    }

    .ecosystem-card,
    .ecosystem-card--safety {
        grid-column: auto;
        min-height: 0;
    }

    .ai-visual {
        width: min(430px, 92%);
    }

    .faq-heading {
        position: static;
    }

    .signup-form {
        grid-template-columns: 1fr;
    }

    .checkbox-label,
    .form-status {
        grid-column: auto;
    }

    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .site-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        padding-block: 22px;
    }
}

@media (max-width: 540px) {
    :root {
        --container: calc(100% - 22px);
    }

    .brand__mark {
        width: 42px;
        height: 42px;
    }

    .brand__type {
        max-width: 180px;
    }

    .brand__type strong {
        font-size: 0.82rem;
    }

    .brand__type span {
        font-size: 0.44rem;
        letter-spacing: 0.12em;
    }

    h1 {
        font-size: clamp(3.2rem, 17vw, 5.2rem);
    }

    .hero__logo-wrap {
        margin-bottom: 18px;
    }

    .hero__logo {
        padding: 12px;
        border-radius: 18px;
    }

    .hero__actions,
    .final-cta__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hero__actions .button,
    .final-cta__actions .button {
        width: 100%;
    }

    .hero-console {
        min-height: 560px;
    }

    .console__topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .console__map {
        min-height: 320px;
    }

    .console__brief {
        padding: 24px 20px;
    }

    .trust-strip {
        grid-template-columns: 1fr;
    }

    .trust-strip span,
    .trust-strip span + span,
    .trust-strip span:nth-child(3),
    .trust-strip span:nth-child(4) {
        border-top: 1px solid rgba(79, 224, 208, 0.12);
        border-left: 0;
    }

    .trust-strip span:first-child {
        border-top: 0;
    }

    .feature-card {
        min-height: 330px;
    }

    .mission-loop__rail {
        grid-template-columns: 1fr 1fr;
    }

    .mission-loop__panel h3 {
        font-size: 3rem;
    }

    .caseboard__body {
        min-height: 750px;
    }

    .evidence-card--primary {
        width: min(88%, 340px);
    }

    .world-link {
        align-items: flex-start;
        flex-direction: column;
    }

    .boundary-list > div {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .ai-visual__label--b,
    .ai-visual__label--d {
        display: none;
    }

    .signup-panel,
    .status-panel {
        padding: 28px 22px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-brand {
        grid-column: auto;
    }
}


@media (max-width: 1080px) {
    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 45;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 28px;
        overflow-y: auto;
        background: rgba(3, 8, 13, 0.985);
        clip-path: inset(0 0 0 100%);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: clip-path 220ms ease, opacity 160ms ease, visibility 220ms ease;
    }

    .primary-nav.is-open {
        clip-path: inset(0);
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .primary-nav > a:not(.button) {
        display: block;
        padding: 18px 0;
        border-bottom: 1px solid var(--line);
        font-size: 0.9rem;
    }

    .primary-nav .button {
        margin-top: 22px;
    }

    .page-hero__layout,
    .split-feature,
    .split-feature--wide,
    .gateway-layout {
        grid-template-columns: 1fr;
    }

    .page-hero__copy {
        max-width: 850px;
    }

    .page-hero__brand {
        width: min(760px, 100%);
        margin-left: auto;
    }

    .systems-preview-grid a:nth-child(n) {
        grid-column: span 3;
    }

    .flow-grid,
    .index-grid,
    .vector-grid,
    .failure-grid,
    .evidence-type-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .profession-track,
    .habit-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .policy-console,
    .contract-simulator,
    .mission-verifier,
    .warrant-console,
    .upr-layout {
        grid-template-columns: 1fr;
    }

    .warrant-console__display {
        grid-template-columns: 160px 1fr;
    }

    .housing-model-grid,
    .play-role-grid,
    .fugitive-grid,
    .guardrail-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .housing-model:last-child,
    .play-role-grid article:last-child {
        grid-column: 1 / -1;
    }

    .auction-timeline,
    .property-lifecycle,
    .evidence-pipeline,
    .play-loop {
        grid-template-columns: repeat(2, 1fr);
    }

    .auction-timeline article:nth-child(odd),
    .property-lifecycle article:nth-child(odd),
    .evidence-pipeline article:nth-child(odd),
    .play-loop article:nth-child(odd) {
        border-left: 0;
    }

    .auction-timeline article:nth-child(n+3),
    .property-lifecycle article:nth-child(n+3),
    .evidence-pipeline article:nth-child(n+3),
    .play-loop article:nth-child(n+3) {
        border-top: 1px solid var(--line);
    }

    .justice-axis-grid,
    .contract-tier-grid,
    .market-comparison,
    .sense-grid {
        grid-template-columns: 1fr;
    }

    .faq-page-layout {
        grid-template-columns: 1fr;
    }

    .faq-page-nav {
        position: static;
        grid-template-columns: repeat(4, 1fr);
        gap: 0 18px;
    }

    .faq-page-nav .eyebrow {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .page-hero {
        min-height: auto;
        padding-top: 80px;
    }

    .page-hero__copy h1 {
        font-size: clamp(3.5rem, 15vw, 6rem);
    }

    .page-hero__readouts,
    .metric-row,
    .policy-console__readout {
        grid-template-columns: 1fr;
    }

    .page-hero__readouts span + span,
    .metric-row > div + div,
    .policy-console__readout > div + div {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .systems-preview-grid {
        grid-template-columns: 1fr;
    }

    .systems-preview-grid a:nth-child(n) {
        grid-column: auto;
        min-height: 250px;
    }

    .systems-card-grid,
    .system-map,
    .flow-grid,
    .index-grid,
    .profession-track,
    .housing-model-grid,
    .vector-grid,
    .failure-grid,
    .fugitive-grid,
    .guardrail-grid,
    .play-role-grid,
    .habit-grid,
    .evidence-type-grid,
    .entry-grid {
        grid-template-columns: 1fr;
    }

    .housing-model:last-child,
    .play-role-grid article:last-child {
        grid-column: auto;
    }

    .system-map {
        min-height: auto;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        padding: 22px;
    }

    .system-map::before,
    .system-map::after {
        display: none;
    }

    .system-map__node,
    .system-map__core,
    .system-map__node--economy,
    .system-map__node--contracts,
    .system-map__node--world,
    .system-map__node--ai,
    .system-map__node--justice {
        grid-column: auto;
        grid-row: auto;
    }

    .system-map__core {
        order: -1;
        padding: 24px;
    }

    .basket-visual,
    .property-map,
    .fort-blueprint,
    .broker-network,
    .upr-map {
        min-height: 520px;
    }

    .basket-item {
        width: 145px;
        font-size: 0.76rem;
    }

    .contract-tier,
    .market-panel,
    .housing-model,
    .play-role-grid article {
        min-height: auto;
    }

    .contract-tier__footer {
        grid-template-columns: auto 1fr;
        row-gap: 10px;
    }

    .lockbox-visual {
        min-height: 500px;
    }

    .warrant-console__display,
    .bounty-target,
    .facility-paths article {
        grid-template-columns: 1fr;
    }

    .warrant-console__seal {
        margin-inline: auto;
    }

    .facility-paths strong {
        text-align: left;
    }

    .auction-timeline,
    .property-lifecycle,
    .evidence-pipeline,
    .play-loop {
        grid-template-columns: 1fr;
    }

    .auction-timeline article + article,
    .property-lifecycle article + article,
    .evidence-pipeline article + article,
    .play-loop article + article,
    .auction-timeline article:nth-child(odd),
    .property-lifecycle article:nth-child(odd),
    .evidence-pipeline article:nth-child(odd),
    .play-loop article:nth-child(odd) {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .auction-timeline article:first-child,
    .property-lifecycle article:first-child,
    .evidence-pipeline article:first-child,
    .play-loop article:first-child {
        border-top: 0;
    }

    .confidence-board article {
        grid-template-columns: 1fr;
    }

    .confidence-board p {
        grid-column: auto;
    }

    .faq-page-nav {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 540px) {
    .page-hero__brand {
        padding: 14px;
    }

    .page-hero__brand > img {
        padding: 10px;
    }

    .page-hero__readouts {
        display: none;
    }

    .market-panel,
    .contract-tier,
    .housing-model,
    .system-card,
    .policy-console,
    .contract-state-machine,
    .mission-verifier,
    .warrant-console,
    .gateway-panel {
        padding: 22px;
    }

    .basket-visual,
    .property-map,
    .fort-blueprint,
    .broker-network,
    .upr-map {
        min-height: 440px;
    }

    .basket-item {
        width: 122px;
        padding: 9px;
        font-size: 0.66rem;
    }

    .basket-item--comms {
        top: 40%;
    }

    .property-map__hub {
        width: 110px;
        height: 110px;
        font-size: 0.54rem;
    }

    .property-plot {
        min-width: 90px;
        font-size: 0.62rem;
    }

    .lockbox-visual__case {
        width: 88%;
    }

    .mission-verifier__result,
    .warrant-console__display {
        padding: 18px;
    }

    .verifier-orbit {
        width: 170px;
        height: 170px;
    }

    .verifier-orbit span {
        font-size: 3rem;
    }

    .warrant-console__tabs {
        grid-template-columns: 1fr;
    }

    .warrant-console__tabs button {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .warrant-console__tabs button:first-child {
        border-top: 0;
    }

    .reputation-entry,
    .ledger-row {
        grid-template-columns: 1fr;
    }

    .faq-page-nav {
        grid-template-columns: 1fr;
    }

    .cover-file dl div,
    .reason-code dl div,
    .warrant-console__copy dl div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}


@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .js [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

@media print {
    .utility-bar,
    .site-header,
    .hero__canvas,
    .hero__noise,
    .hero-console,
    .final-cta,
    .site-footer,
    .signup-form {
        display: none !important;
    }

    body {
        color: #111;
        background: #fff;
    }

    .section,
    .hero {
        min-height: auto;
        padding: 24px 0;
        color: #111;
        background: #fff;
    }

    * {
        box-shadow: none !important;
    }
}

.error-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
}

/* Long-term research memory and extracted source inventory */
.docs-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.34fr) auto;
    align-items: end;
    gap: 18px;
    margin: 34px 0 28px;
    padding: 20px;
    border: 1px solid var(--line);
    background: rgba(4, 12, 18, 0.72);
}

.docs-search,
.docs-filter {
    display: grid;
    gap: 8px;
}

.docs-search > span,
.docs-filter > span {
    color: var(--subtle);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.docs-search input,
.docs-filter select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line-bright);
    color: var(--text);
    background: var(--bg-deep);
}

.docs-result-count {
    margin: 0 0 12px;
    color: var(--accent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.docs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.docs-card {
    display: flex;
    min-width: 0;
    min-height: 290px;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, rgba(15, 29, 39, 0.96), rgba(5, 13, 19, 0.94));
    box-shadow: inset 0 0 45px rgba(79, 224, 208, 0.018);
}

.docs-card[hidden] {
    display: none;
}

.docs-card__top {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: var(--accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.docs-card__top small {
    color: var(--subtle);
}

.docs-card h3 {
    margin: 18px 0 12px;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.docs-card p {
    margin: 0 0 22px;
    color: var(--muted);
}

.docs-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    font-size: 0.76rem;
}

.docs-card__actions > a:not(.text-link) {
    color: var(--subtle);
}

.docs-empty {
    padding: 26px;
    border: 1px dashed var(--line-bright);
    color: var(--muted);
    text-align: center;
}

.report-hero {
    padding: clamp(72px, 9vw, 124px) 0 54px;
    border-bottom: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(79, 224, 208, 0.05), transparent),
        var(--bg-deep);
}

.report-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
    gap: clamp(34px, 6vw, 80px);
    align-items: start;
}

.report-hero h1 {
    max-width: 900px;
    margin: 14px 0 20px;
    font-size: clamp(2.6rem, 6vw, 5.8rem);
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.report-meta {
    display: grid;
    border: 1px solid var(--line);
    background: rgba(7, 16, 23, 0.84);
}

.report-meta > div {
    display: grid;
    gap: 6px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--line);
}

.report-meta > div:last-child {
    border-bottom: 0;
}

.report-meta span {
    color: var(--subtle);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.report-meta strong,
.report-meta code {
    min-width: 0;
    color: var(--text);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.report-section {
    padding-top: 54px;
}

.report-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 0.3fr);
    gap: clamp(34px, 5vw, 72px);
    align-items: start;
}

.report-document {
    min-width: 0;
    padding: clamp(24px, 4vw, 52px);
    border: 1px solid var(--line);
    color: #d9e5e6;
    background: rgba(5, 13, 19, 0.92);
}

.report-document h1,
.report-document h2,
.report-document h3,
.report-document h4 {
    scroll-margin-top: calc(var(--header-height) + 28px);
    overflow-wrap: anywhere;
}

.report-document h1 {
    font-size: clamp(2rem, 4vw, 3.6rem);
}

.report-document h2 {
    margin-top: 2.7em;
    padding-top: 0.5em;
    border-top: 1px solid var(--line);
    font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.report-document h3 {
    margin-top: 2em;
    font-size: clamp(1.25rem, 2.4vw, 1.75rem);
}

.report-document h4 {
    margin-top: 1.7em;
    color: var(--accent);
    font-size: 1rem;
}

.report-document p,
.report-document li {
    color: #becdd0;
}

.report-document a {
    color: var(--accent-strong);
    text-decoration: underline;
    text-decoration-color: rgba(122, 249, 232, 0.35);
    text-underline-offset: 3px;
}

.report-document code {
    padding: 0.12em 0.35em;
    background: rgba(79, 224, 208, 0.08);
}

.report-code {
    max-width: 100%;
    padding: 18px;
    overflow: auto;
    border: 1px solid var(--line);
    background: #02070b;
}

.report-table-wrap {
    max-width: 100%;
    margin: 28px 0;
    overflow-x: auto;
}

.report-table {
    width: 100%;
    min-width: 660px;
    border-collapse: collapse;
}

.report-table th,
.report-table td {
    padding: 12px 14px;
    border: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.report-table th {
    color: var(--accent);
    background: rgba(79, 224, 208, 0.07);
}

.report-sidebar__sticky {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    display: grid;
    gap: 14px;
    max-height: calc(100vh - var(--header-height) - 44px);
    padding: 22px;
    overflow: auto;
    border: 1px solid var(--line);
    background: rgba(4, 11, 16, 0.94);
}

.report-sidebar ul {
    display: grid;
    gap: 10px;
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
}

.report-sidebar li {
    display: grid;
    gap: 3px;
    color: var(--muted);
    font-size: 0.76rem;
    overflow-wrap: anywhere;
}

.report-sidebar li span {
    color: var(--subtle);
    font-size: 0.66rem;
}

.report-outline li {
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(34, 52, 61, 0.6);
}

.report-outline__level-3 {
    padding-left: 13px;
}

.report-outline a:hover,
.report-outline a:focus-visible {
    color: var(--accent);
}

.report-note {
    padding: 14px;
    border-left: 2px solid var(--signal);
    color: var(--muted);
    background: rgba(239, 157, 76, 0.06);
    font-size: 0.76rem;
}

.report-media-note {
    padding: 14px;
    border: 1px dashed var(--line-bright);
    color: var(--subtle);
}

@media (max-width: 980px) {
    .docs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .report-hero__layout,
    .report-layout {
        grid-template-columns: 1fr;
    }

    .report-sidebar__sticky {
        position: static;
        max-height: none;
    }
}

@media (max-width: 680px) {
    .docs-toolbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .docs-result-count {
        margin: 0;
    }

    .docs-grid {
        grid-template-columns: 1fr;
    }

    .docs-card {
        min-height: 0;
    }

    .report-document {
        padding: 20px;
    }
}
