:root {
    color-scheme: dark;
    --bg: #070604;
    --panel: rgba(12, 9, 7, .88);
    --panel-soft: rgba(20, 14, 10, .72);
    --border: rgba(217, 119, 6, .3);
    --border-bright: rgba(217, 119, 6, .55);
    --amber: #d97706;
    --orange: #f97316;
    --cream: #fef3c7;
    --muted: #a8a29e;
    --green: #4ade80;
    --font-reading: 'Source Serif 4', Georgia, serif;
    --type-body: .9rem;
    font-family: var(--font-reading);
}

html { scrollbar-gutter: stable; }
@supports not (scrollbar-gutter: stable) {
    html { overflow-y: scroll; }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body {
    margin: 0;
    min-height: 100vh;
    padding: 20px 12px;
    color: var(--cream);
    font-family: var(--font-reading);
    font-size: var(--type-body);
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    background-color: var(--bg);
    background-image: linear-gradient(rgba(249, 115, 22, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(249, 115, 22, .025) 1px, transparent 1px);
    background-size: 20px 20px;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; text-align: initial; hyphens: none; -webkit-hyphens: none; }
.site-shell, .site-shell-wide { width: 100%; max-width: 1024px; margin: 0 auto; }
.cmd-nav-wrapper {
    --cmd-border: rgba(217, 119, 6, .35);
    --cmd-orange: #d97706;
    --cmd-bg-dark: rgba(12, 9, 7, .85);
    --cmd-text: #fef3c7;
    --cmd-muted: #d4d4d8;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 18px;
    color: var(--cmd-text);
    font-family: 'Courier New', Courier, monospace, 'Segoe UI', sans-serif;
}
.cmd-nav-wrapper *, .cmd-nav-wrapper *::before, .cmd-nav-wrapper *::after { box-sizing: border-box; }
.section-switcher { display: grid; width: min(100%, 900px); grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: stretch; margin: 0 auto 14px; padding: 0; }
.section-switcher-link { position: relative; display: flex; min-width: 0; min-height: 72px; align-items: center; justify-content: center; gap: 10px; padding: 10px 12px; color: var(--section-accent, var(--amber)); background: linear-gradient(145deg, rgba(24,17,12,.94), rgba(9,7,6,.96)); border: 1px solid rgba(255,255,255,.1); border-radius: 4px; box-shadow: 0 4px 14px rgba(0,0,0,.24); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.section-switcher-link::before { position: absolute; inset: 3px; content: ""; pointer-events: none; border: 1px solid rgba(255,255,255,.045); border-radius: 2px; }
.section-switcher-link img { display: block; width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; filter: saturate(.88) brightness(.94); transition: filter .18s ease, transform .18s ease; }
.section-switcher-label { min-width: 0; overflow: hidden; color: #d6d0c6; font-family: 'Share Tech Mono', 'Courier New', monospace; font-size: .66rem; letter-spacing: .045em; line-height: 1.35; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.section-switcher-home { border-color: color-mix(in srgb, var(--section-accent, var(--amber)) 34%, rgba(255,255,255,.1)); }
.section-switcher-home .section-switcher-label { color: #f3c28e; }
.cmd-nav-wrapper .section-switcher-member { color: #a8c9a9; border-color: rgba(131, 169, 135, .36); }
.cmd-nav-wrapper .section-switcher-member-avatar { width: 40px; height: 40px; flex-basis: auto; overflow: hidden; border: 1px solid rgba(168, 201, 169, .62); border-radius: 50%; object-fit: cover; }
.cmd-nav-wrapper .section-switcher-member-placeholder { display: grid; width: 40px; height: 40px; place-items: center; color: #c7dec5; background: radial-gradient(circle at 50% 30%, rgba(131, 169, 135, .25), rgba(9, 12, 9, .95) 72%); border: 1px solid rgba(168, 201, 169, .55); border-radius: 50%; font: 1.5rem/1 'Segoe UI Symbol', 'Arial Unicode MS', sans-serif; }
.cmd-nav-wrapper .section-switcher-member:hover, .cmd-nav-wrapper .section-switcher-member:focus-visible, .cmd-nav-wrapper .section-switcher-member.active { border-color: #a8c9a9; box-shadow: 0 5px 18px rgba(0,0,0,.32), inset 0 -2px 0 #83a987; }
.cmd-nav-wrapper .section-switcher-member.active .section-switcher-member-avatar,
.cmd-nav-wrapper .section-switcher-member:hover .section-switcher-member-avatar,
.cmd-nav-wrapper .section-switcher-member:focus-visible .section-switcher-member-avatar { border-color: #d2ecd2; }
.section-switcher-link:hover, .section-switcher-link:focus-visible, .section-switcher-link.active { z-index: 1; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--section-accent, var(--amber)) 13%, rgba(24,17,12,.96)), rgba(9,7,6,.98)); border-color: color-mix(in srgb, var(--section-accent, var(--amber)) 65%, transparent); box-shadow: 0 5px 18px rgba(0,0,0,.32), inset 0 -2px 0 var(--section-accent, var(--amber)); outline: none; transform: translateY(-2px); }
.section-switcher-link:focus-visible { outline: 2px solid #fef3c7; outline-offset: 3px; }
.section-switcher-link:hover img, .section-switcher-link:focus-visible img, .section-switcher-link.active img { filter: brightness(1.08) saturate(1.12); transform: scale(1.04); }
.section-switcher-link.active .section-switcher-label { color: #fff; }
.cmd-nav-terminal {
    position: relative;
    display: flex;
    width: 100%;
    flex-direction: column;
    overflow: hidden;
    background: var(--cmd-bg-dark);
    border: 1px solid var(--cmd-border);
    box-shadow: 0 8px 32px rgba(0,0,0,.7), inset 0 0 15px rgba(217,119,6,.03);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.cmd-nav-terminal::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    content: "";
    opacity: .15;
    background: linear-gradient(rgba(18,16,13,0) 50%, rgba(0,0,0,.15) 50%);
    background-size: 100% 4px;
}
.cmd-pc-titlebar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    color: var(--cmd-orange);
    background: rgba(217,119,6,.15);
    border-bottom: 1px solid var(--cmd-border);
    font-size: .65rem;
    font-weight: bold;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.cmd-pc-title-left { display: flex; align-items: center; gap: 8px; }
.cmd-pc-led-mini {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cmd-orange);
    box-shadow: 0 0 6px var(--cmd-orange);
    animation: cmd-blink 2s infinite;
}
.cmd-pc-controls { display: flex; gap: 5px; }
.cmd-pc-btn { display: inline-block; width: 10px; height: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.cmd-pc-btn.min { background: rgba(234,179,8,.6); }
.cmd-pc-btn.max { background: rgba(34,197,94,.6); }
.cmd-pc-btn.close { background: rgba(239,68,68,.6); }
.cmd-nav-topbar {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 12px;
    background: rgba(8,6,5,.6);
    border-bottom: 1px solid var(--cmd-border);
    font-size: .6rem;
}
.cmd-nav-directory { color: var(--cmd-orange); letter-spacing: .5px; }
.cmd-nav-clock { color: var(--cmd-muted); font-family: monospace; }
.cmd-nav-status { color: #4ade80; font-weight: bold; text-transform: uppercase; }
.cmd-nav-menu {
    position: relative;
    z-index: 3;
    display: flex;
    overflow-x: auto;
    background: rgba(5,3,2,.7);
}
.cmd-nav-item {
    display: flex;
    flex: 1;
    min-width: 90px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 9px 4px;
    color: var(--cmd-muted);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--cmd-border);
    border-bottom: 2px solid transparent;
    font: inherit;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .3px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: all .2s ease;
}
.cmd-nav-item:last-child { border-right: 0; }
.cmd-nav-item .cmd-icon { font-size: .85rem; }
.cmd-nav-item:hover, .cmd-nav-item.active {
    color: #fff;
    background: rgba(217,119,6,.15);
    border-bottom-color: var(--cmd-orange);
}
@keyframes cmd-blink { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.main-content { min-height: 65vh; }
.section-landing { width: 100%; max-width: none; margin: 0 auto; }
.section-landing-panel { position: relative; display: grid; grid-template-columns: minmax(130px, 210px) minmax(0, 1fr); min-height: 260px; gap: clamp(18px, 4vw, 42px); align-items: center; overflow: hidden; margin-bottom: 14px; padding: clamp(18px, 4vw, 34px); background: radial-gradient(ellipse at 18% 50%, rgba(217,119,6,.14), transparent 58%), linear-gradient(125deg, rgba(22,16,12,.96), rgba(7,6,5,.98)); border: 1px solid var(--border-bright); border-bottom: 2px solid var(--amber); box-shadow: 0 9px 30px rgba(0,0,0,.45), inset 0 0 30px rgba(217,119,6,.04); }
.section-landing-panel::after { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .15; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.1) 4px); }
.section-landing-icon { position: relative; z-index: 1; display: block; width: min(100%, 190px); height: auto; justify-self: center; border: 1px solid rgba(217,119,6,.4); box-shadow: 0 0 24px rgba(217,119,6,.14); image-rendering: pixelated; }
.section-landing-panel > div { position: relative; z-index: 1; }
.section-landing-kicker { color: var(--amber); font-size: .66rem; letter-spacing: .1em; }
.section-landing-panel h1 { margin: 9px 0; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.8rem, 5vw, 3.1rem); font-weight: 500; letter-spacing: .04em; }
.section-landing-panel p { max-width: 600px; color: #d6d3d1; font-size: .84rem; line-height: 1.75; }
.section-landing-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 6px 8px; color: var(--amber); background: rgba(217,119,6,.08); border: 1px solid var(--border); font-size: .62rem; letter-spacing: .08em; }
.section-landing-status i { width: 7px; height: 7px; background: var(--amber); box-shadow: 0 0 8px var(--amber); animation: cmd-blink 2s infinite; }
.section-landing-code { position: absolute; z-index: 1; top: 9px; right: 10px; color: var(--muted); font-size: .52rem; letter-spacing: .08em; }
.section-landing-notice { display: flex; align-items: center; gap: 13px; padding: 15px; background: rgba(12,9,7,.88); border: 1px dashed var(--border); }
.section-landing-notice > span { color: var(--amber); font-size: 1.5rem; }
.section-landing-notice > div { flex: 1; }
.section-landing-notice h2 { margin: 0 0 4px; color: #fff; font-size: .82rem; text-transform: uppercase; }
.section-landing-notice p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.panel { position: relative; overflow: hidden; margin-bottom: 16px; padding: 16px; background: var(--panel); border: 1px solid var(--border); box-shadow: 0 8px 32px #0009, inset 0 0 15px rgba(217,119,6,.025); }
.panel::after { position: absolute; inset: 0; z-index: 0; pointer-events: none; content: ""; opacity: .12; background: linear-gradient(transparent 50%, rgba(0,0,0,.22) 50%); background-size: 100% 4px; }
.panel > * { position: relative; z-index: 1; }
.panel-title, .section-kicker { margin: 0 0 13px; padding-bottom: 8px; border-bottom: 1px dashed var(--border); color: var(--amber); font-size: .76rem; letter-spacing: 1.2px; text-transform: uppercase; }
.hero { padding: 24px 20px; border-top: 2px solid var(--amber); }
.hero h1 { margin: 0 0 10px; color: #fff; font-size: clamp(1.2rem, 4vw, 1.8rem); letter-spacing: 1.5px; text-transform: uppercase; }
.hero p, .muted { color: var(--muted); line-height: 1.65; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.module-card { display: flex; align-items: center; gap: 12px; min-height: 75px; padding: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.015); text-decoration: none; transition: .2s; }
.module-card:hover { border-color: var(--amber); background: rgba(217,119,6,.08); transform: translateX(3px); }
.module-icon { padding: 6px 8px; border: 1px solid var(--border); color: var(--orange); font-size: 1.1rem; }
.module-card strong, .module-card small { display: block; }
.module-card strong { color: #fff; text-transform: uppercase; }
.module-card small { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(95px, 1fr)); gap: 8px; }
.stat-box { padding: 12px 8px; border: 1px solid var(--border); text-align: center; }
.stat-box strong { display: block; color: var(--orange); font-size: 1.2rem; }
.stat-box span { color: var(--muted); font-size: .62rem; text-transform: uppercase; }
.toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.control, .btn, .console-btn {
    min-height: 38px; padding: 8px 11px; color: var(--cream); background: rgba(20,14,10,.8);
    border: 1px solid var(--border); border-radius: 0; text-decoration: none; font-size: .76rem;
}
.control:focus, .btn:focus, textarea:focus { outline: 1px solid var(--orange); outline-offset: 2px; }
.control { flex: 1 1 180px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; text-transform: uppercase; }
.btn:hover, .btn.primary { border-color: var(--amber); color: #fff; background: rgba(217,119,6,.17); }
.btn.danger { border-color: rgba(239,68,68,.5); color: #fca5a5; }
.btn.small { min-height: 30px; padding: 5px 8px; font-size: .68rem; }
.card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.record-card { overflow: hidden; border: 1px solid var(--border); background: rgba(8,6,5,.78); transition: .2s; }
.record-card:hover { transform: translateY(-3px); border-color: var(--amber); box-shadow: 0 7px 22px #0009; }
.portrait { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: #14100c; }
.portrait-placeholder { display: grid; place-items: center; aspect-ratio: 3 / 4; color: var(--amber); font-size: 2rem; background: radial-gradient(circle, #26190e, #090705 70%); }
.record-copy { padding: 10px; }
.record-copy h3 { margin: 0 0 5px; color: #fff; font-size: .85rem; text-transform: uppercase; }
.record-copy p { margin: 5px 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.record-copy .badge { display: inline-block; margin: 0 0 7px; padding: 2px 5px; border: 1px solid var(--border); color: var(--amber); font-size: .62rem; text-transform: uppercase; }
.character-directory { padding: 14px; }
.chronicles-section-header {
    position: relative;
    overflow: hidden;
    margin: 0 0 14px;
    padding: clamp(14px, 3vw, 21px);
    background: radial-gradient(ellipse at 90% 0, rgba(174,181,91,.12), transparent 43%), linear-gradient(110deg, rgba(18,20,14,.98), rgba(8,10,8,.98) 72%);
    border: 1px solid rgba(174,181,91,.36);
    border-left: 3px solid #aeb55b;
    box-shadow: inset 0 0 28px rgba(174,181,91,.035), 0 8px 24px #0007;
}
.chronicles-section-header::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .14;
    background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(188,197,139,.08) 5px);
}
.chronicles-section-header > * { position: relative; z-index: 1; }
.chronicles-section-header .section-kicker {
    display: block;
    margin: 0;
    padding: 0;
    color: #b7bc77;
    border: 0;
    font: .56rem/1.4 'Share Tech Mono', 'Courier New', monospace;
    letter-spacing: .12em;
}
.chronicles-section-header h1 {
    margin: 7px 0 0;
    padding: 0;
    color: #f0efdf;
    border: 0;
    font: 600 clamp(1.15rem, 3vw, 1.65rem)/1.2 'Share Tech Mono', 'Courier New', monospace;
    letter-spacing: .025em;
    text-align: left;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.character-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; color: inherit; background: linear-gradient(160deg, rgba(27,19,13,.94), rgba(8,6,5,.96) 72%); border: 1px solid rgba(217,119,6,.25); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.character-card:hover, .character-card:focus-visible { transform: translateY(-3px); border-color: var(--character-faction-color, var(--amber)); box-shadow: 0 10px 24px #000a, 0 0 16px color-mix(in srgb, var(--character-faction-color, var(--amber)) 16%, transparent); outline: none; }
.character-portrait-frame { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: #100c09; border-bottom: 1px solid var(--character-faction-color, var(--border)); }
.character-portrait-frame::after { position: absolute; inset: 35% 0 0; content: ""; pointer-events: none; background: linear-gradient(transparent, rgba(5,3,2,.48)); }
.character-portrait { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .25s ease; }
.character-card:hover .character-portrait { transform: scale(1.045); filter: saturate(1.08); }
.character-portrait-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: var(--character-faction-color, var(--amber)); background: radial-gradient(ellipse at 50% 42%, rgba(217,119,6,.2), transparent 55%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.character-portrait-placeholder > span { font-size: 2.5rem; text-shadow: 0 0 18px currentColor; }
.character-portrait-placeholder small { color: #a8a29e; font-size: .5rem; letter-spacing: .8px; }
.character-file-code { position: absolute; z-index: 1; top: 8px; left: 8px; padding: 4px 6px; color: #fef3c7; background: rgba(5,3,2,.78); border: 1px solid rgba(217,119,6,.4); font-size: .52rem; letter-spacing: .55px; }
.character-card-content { display: flex; min-width: 0; flex: 1; flex-direction: column; padding: 10px; }
.character-card-factions { display: flex; flex-wrap: wrap; gap: 4px; }
.character-faction { max-width: 100%; overflow: hidden; padding: 3px 6px; color: var(--character-faction-color, var(--amber)); background: color-mix(in srgb, var(--character-faction-color, var(--amber)) 9%, transparent); border: 1px solid color-mix(in srgb, var(--character-faction-color, var(--amber)) 45%, transparent); font-size: .54rem; letter-spacing: .55px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.character-faction-unaffiliated { color: var(--muted); border-color: var(--border); }
.character-card-content h2 { margin: 8px 0 3px; color: #fff; font-size: .82rem; line-height: 1.3; overflow-wrap: anywhere; text-transform: uppercase; }
.character-role { margin: 0; color: var(--character-faction-color, #fdba74); font-size: .64rem; line-height: 1.4; }
.character-biography { margin: 9px 0 12px; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.character-open { display: flex; justify-content: space-between; gap: 5px; margin-top: auto; padding-top: 8px; color: var(--amber); border-top: 1px dashed var(--border); font-size: .55rem; letter-spacing: .65px; }
.character-open > span { color: var(--character-faction-color, var(--amber)); }
.faction-row { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 8px; }
.faction-swatch { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; box-shadow: 0 0 7px currentColor; }
.faction-block { padding: 14px; margin: 0 0 12px; border: 1px solid #241c17; border-left: 4px solid var(--faction-color, var(--amber)); transition: .2s; }
.faction-block:hover { transform: translateX(3px); }
.faction-block h2 { min-width: 0; margin: 0; color: var(--faction-color, var(--amber)); font-size: .92rem; letter-spacing: 1px; overflow-wrap: anywhere; text-transform: uppercase; }
.faction-row > .muted { min-width: 0; margin-left: auto; text-align: right; overflow-wrap: anywhere; }
.faction-block p { color: var(--muted); font-size: .78rem; line-height: 1.6; }
.faction-block details { margin-top: 9px; }
.faction-block summary { color: var(--amber); cursor: pointer; font-size: .72rem; text-transform: uppercase; }
.faction-lore { margin-top: 10px; padding: 12px; border: 1px dashed var(--border); color: #d6d3d1; font-size: .78rem; line-height: 1.7; }
.faction-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.faction-actions .btn { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 520px) {
    .faction-row > .muted { flex-basis: 100%; margin-left: 18px; text-align: left; }
    .faction-actions { align-items: stretch; flex-direction: column; }
    .faction-actions .btn { width: 100%; text-align: center; }
}
.wiki-link { color: #fdba74; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
.wiki-link:hover { color: #fff; }
.wiki-missing { color: var(--muted); border-bottom: 1px dotted var(--muted); }
.timeline-list { position: relative; padding-left: 19px; }
.timeline-list::before { position: absolute; top: 5px; bottom: 5px; left: 5px; width: 2px; content: ""; background: var(--border-bright); }
.timeline-entry { position: relative; margin-bottom: 12px; padding: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.015); }
.timeline-entry::before { position: absolute; top: 15px; left: -19px; width: 9px; height: 9px; content: ""; border: 2px solid var(--amber); border-radius: 50%; background: var(--bg); }
.timeline-entry h3 { margin: 0 0 7px; color: #fff; font-size: .86rem; }
.timeline-entry .era { margin-right: 9px; color: var(--orange); }
.timeline-entry p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.historical-year-input { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, .32fr); gap: 8px; }
.story-timeline-year-field > .muted { margin: 7px 0 0; }
.chronicles-timeline-page { --timeline-faction-color: #d9a66b; }
.chronicles-timeline-list { margin-top: 15px; }
.chronicles-timeline-list::before { background: linear-gradient(180deg, rgba(217,166,107,.8), rgba(217,166,107,.12)); }
.chronicles-timeline-entry { display: grid; grid-template-columns: minmax(100px, .22fr) minmax(0, 1fr); gap: 14px; padding: 15px; background: linear-gradient(115deg, color-mix(in srgb, var(--timeline-faction-color) 9%, #14100c), rgba(8,7,6,.88) 58%); border-color: color-mix(in srgb, var(--timeline-faction-color) 28%, #332922); }
.chronicles-timeline-entry::before { top: 19px; border-color: var(--timeline-faction-color); box-shadow: 0 0 10px color-mix(in srgb, var(--timeline-faction-color) 45%, transparent); }
.chronicles-timeline-date { align-self: start; padding: 7px 9px; color: var(--timeline-faction-color); background: color-mix(in srgb, var(--timeline-faction-color) 9%, #0a0806); border: 1px solid color-mix(in srgb, var(--timeline-faction-color) 36%, transparent); font: .64rem 'Share Tech Mono', 'Courier New', monospace; text-align: center; white-space: nowrap; }
.chronicles-timeline-story { min-width: 0; }
.chronicles-timeline-story h2 { margin: 0 0 6px; font: 500 1.1rem/1.3 'Source Serif 4', Georgia, serif; }
.chronicles-timeline-story h2 a { color: #f2e8d9; text-decoration: none; }
.chronicles-timeline-story h2 a:hover, .chronicles-timeline-story h2 a:focus-visible { color: var(--timeline-faction-color); outline: none; }
.chronicles-timeline-story > p { margin: 0 0 10px; color: #b5a897; font: .76rem/1.65 'Source Serif 4', Georgia, serif; }
.chronicles-timeline-faction { display: inline-flex; align-items: center; padding: 4px 7px; color: var(--timeline-faction-color); background: rgba(0,0,0,.26); border: 1px solid color-mix(in srgb, var(--timeline-faction-color) 30%, transparent); font: .48rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.chronicles-timeline-faction:hover, .chronicles-timeline-faction:focus-visible { color: #fff; border-color: var(--timeline-faction-color); outline: none; }
.chronicles-timeline-no-faction { color: #a99c89; }
@media (max-width: 520px) {
    .chronicles-timeline-entry { grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 12px; }
    .chronicles-timeline-date { justify-self: start; }
}
.glossary-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.glossary-entry { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 10px; min-width: 0; overflow: hidden; padding: 10px 12px; background: linear-gradient(115deg, rgba(217,119,6,.075), rgba(12,9,7,.76) 48%); border: 1px solid rgba(217,119,6,.25); text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.glossary-entry::before { position: absolute; inset: 0 auto 0 0; width: 2px; content: ""; background: var(--glossary-faction-color, var(--amber)); opacity: .75; }
.glossary-entry:hover, .glossary-entry:focus-visible { background: linear-gradient(115deg, rgba(217,119,6,.16), rgba(12,9,7,.9) 60%); border-color: var(--glossary-faction-color, var(--amber)); transform: translateY(-1px); outline: none; }
.glossary-category { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-self: start; gap: 5px; padding: 2px 5px; color: var(--amber); border: 1px solid rgba(217,119,6,.3); font-family: 'Share Tech Mono', monospace; font-size: .56rem; letter-spacing: .65px; text-transform: uppercase; }
.glossary-category.faction-category { color: var(--glossary-faction-color); border-color: var(--glossary-faction-color); background: rgba(5,3,2,.55); }
.glossary-category .faction-swatch { width: 6px; height: 6px; background: currentColor; }
.glossary-entry h2 { margin: 0; color: #fef3c7; font-family: 'Share Tech Mono', monospace; font-size: .72rem; font-weight: normal; line-height: 1.35; overflow-wrap: anywhere; }
.glossary-open { color: var(--muted); font-family: 'Share Tech Mono', monospace; font-size: .52rem; letter-spacing: .45px; white-space: nowrap; }
.glossary-open > span { color: var(--glossary-faction-color, var(--amber)); }
.glossary-category { color: var(--glossary-faction-color, var(--amber)); border-color: var(--glossary-faction-color, rgba(217,119,6,.3)); }
.glossary-entry-cover { grid-column: 1 / -1; display: block; width: 100%; max-height: 120px; object-fit: cover; border: 1px solid var(--border); }
.glossary-detail-category { margin: 0 0 12px; }
.glossary-detail-cover { display: block; width: min(100%, 620px); max-height: 390px; margin: 0 0 16px; object-fit: cover; border: 1px solid var(--border); }
.glossary-detail-definition { padding-top: 12px; border-top: 1px dashed var(--border); }
.detail-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; }
.detail-content { color: #d6d3d1; font-size: .82rem; line-height: 1.75; overflow-wrap: anywhere; }
.character-detail-page { padding: 18px; }
.character-profile { position: relative; display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 20px; align-items: center; overflow: hidden; margin: 0 0 20px; padding: 16px; background: radial-gradient(ellipse at 20% 45%, color-mix(in srgb, var(--character-faction-color, var(--amber)) 14%, transparent), transparent 62%), linear-gradient(125deg, rgba(23,17,12,.98), rgba(8,7,6,.98) 72%); border: 1px solid color-mix(in srgb, var(--character-faction-color, var(--amber)) 38%, #332922); border-bottom: 2px solid var(--character-faction-color, var(--amber)); box-shadow: inset 0 0 32px rgba(217,119,6,.035), 0 8px 24px rgba(0,0,0,.28); }
.character-profile::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .23; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.018) 4px); }
.character-profile-portrait, .character-profile-identity, .character-profile-code { z-index: 1; }
.character-profile-portrait { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: #100c09; border: 1px solid var(--character-faction-color, var(--border)); }
.character-profile-portrait > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.character-profile-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: var(--character-faction-color, var(--amber)); background: radial-gradient(ellipse at center, rgba(217,119,6,.2), transparent 60%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.character-profile-placeholder > span { font-size: 2.8rem; text-shadow: 0 0 18px currentColor; }
.character-profile-placeholder small { color: var(--muted); font-size: .5rem; letter-spacing: .7px; }
.character-profile-code { position: absolute; top: 7px; left: 7px; padding: 4px 6px; color: var(--cream); background: rgba(5,3,2,.82); border: 1px solid rgba(217,119,6,.4); font-size: .55rem; letter-spacing: .6px; }
.character-profile-identity { display: flex; min-width: 0; align-items: flex-start; flex-direction: column; gap: 10px; }
.character-profile-label { align-self: center; color: var(--character-faction-color, var(--amber)); font-size: .82rem; font-weight: bold; letter-spacing: 1px; text-align: center; text-transform: uppercase; }
.character-profile-identity h1 { margin: 0; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.7rem, 5.5vw, 2.8rem); font-weight: 500; line-height: 1.08; overflow-wrap: anywhere; }
.character-profile-role { margin: 0; color: #c8c1ba; font-family: 'Source Serif 4', Georgia, serif; font-size: 1.02rem; line-height: 1.5; }
.character-profile-affiliation { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.character-profile-faction { display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; color: var(--character-faction-color, var(--amber)); background: rgba(5,3,2,.35); border: 1px solid var(--character-faction-color, var(--border)); font-size: .67rem; text-decoration: none; }
.character-profile-faction:hover { color: #fff; background: color-mix(in srgb, var(--character-faction-color, var(--amber)) 14%, transparent); }
.character-profile-unaffiliated { color: var(--muted); border-color: var(--border); }
.character-detail-grid { grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr); align-items: start; }
.character-narrative { min-width: 0; }
.character-narrative .detail-content { margin-bottom: 12px; padding: 13px; background: rgba(5,3,2,.35); border: 1px solid rgba(217,119,6,.18); }
.character-narrative .detail-content:last-child { margin-bottom: 0; }
.character-narrative .section-kicker { margin-bottom: 9px; }
.character-relations .panel { border-left: 3px solid var(--character-faction-color, var(--amber)); }
.character-relations .panel-title { color: var(--character-faction-color, var(--amber)); }
.location-editor-page { padding: 18px; }
.location-editor-header { margin-bottom: 16px; padding: 3px 2px 13px; border-bottom: 1px dashed var(--border); }
.location-editor-header .section-kicker { display: block; margin-bottom: 8px; }
.location-editor-header h1 { margin: 0 0 5px; color: #fff; font-size: clamp(1.15rem, 3vw, 1.55rem); letter-spacing: .7px; text-transform: uppercase; }
.location-editor-header p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.location-editor-form .form-field { min-width: 0; padding: 11px; background: rgba(5,3,2,.32); border: 1px solid rgba(217,119,6,.2); }
.location-editor-form .form-field:focus-within { border-color: var(--amber); box-shadow: inset 2px 0 var(--amber); }
.location-editor-form .form-field.full { grid-column: 1 / -1; }
.location-editor-form .location-field-description { padding: 13px; border-top: 2px solid var(--amber); }
.location-editor-form .location-field-image { background: linear-gradient(120deg, rgba(217,119,6,.06), rgba(5,3,2,.32)); }
.location-image-upload { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.location-image-upload .muted { font-size: .68rem; }
.location-image-preview { display: block; width: min(100%, 520px); max-height: 260px; margin-top: 10px; object-fit: cover; border: 1px solid var(--border); }
.location-profile { position: relative; min-height: clamp(300px, 42vw, 440px); overflow: hidden; margin: 0 0 18px; padding: 0; background: #100c09; border: 1px solid rgba(217,119,6,.3); border-bottom: 2px solid var(--location-faction-color, var(--amber)); }
.location-profile-image { position: absolute; inset: 0; overflow: hidden; background: #100c09; }
.location-profile-image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(5,3,2,.76) 0%, rgba(5,3,2,.35) 58%, rgba(5,3,2,.08) 100%), linear-gradient(0deg, rgba(5,3,2,.82) 0%, rgba(5,3,2,.12) 58%, rgba(5,3,2,.2) 100%); }
.location-profile-image > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.location-profile-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: var(--location-faction-color, var(--amber)); background: radial-gradient(ellipse at center, rgba(217,119,6,.2), transparent 60%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.location-profile-placeholder > span { font-size: 2.8rem; text-shadow: 0 0 18px currentColor; }
.location-profile-placeholder small { color: var(--muted); font-size: .52rem; letter-spacing: .8px; }
.location-profile-code { position: absolute; z-index: 1; top: 7px; left: 7px; padding: 4px 6px; color: var(--cream); background: rgba(5,3,2,.82); border: 1px solid rgba(217,119,6,.4); font-size: .55rem; letter-spacing: .6px; }
.location-profile-info { position: absolute; z-index: 1; right: 24px; bottom: 24px; left: 24px; max-width: 720px; min-width: 0; }
.location-profile-label { display: inline-block; margin-bottom: 5px; padding: 5px 8px; color: var(--location-faction-color, var(--amber)); background: rgba(5,3,2,.72); border-left: 2px solid var(--location-faction-color, var(--amber)); font-size: .62rem; font-weight: bold; letter-spacing: 1.2px; text-transform: uppercase; }
.location-profile-info h1 { margin: 5px 0 4px; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 500; line-height: 1.08; overflow-wrap: anywhere; text-shadow: 0 2px 12px #000; }
.location-profile-country { margin: 0 0 14px; color: #e7e5e4; font-size: .8rem; letter-spacing: .4px; text-shadow: 0 1px 8px #000; }
.faction-editor-page { padding: 18px; }
.faction-editor-header { margin-bottom: 16px; padding: 3px 2px 13px; border-bottom: 1px dashed var(--border); }
.faction-editor-header .section-kicker { display: block; margin-bottom: 8px; }
.faction-editor-header h1 { margin: 0 0 5px; color: #fff; font-size: clamp(1.15rem, 3vw, 1.55rem); letter-spacing: .7px; text-transform: uppercase; }
.faction-editor-header p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.faction-editor-page .form-field { min-width: 0; padding: 11px; background: rgba(5,3,2,.32); border: 1px solid rgba(217,119,6,.2); }
.faction-editor-page .form-field:focus-within { border-color: var(--amber); box-shadow: inset 2px 0 var(--amber); }
.faction-editor-page .faction-field-description, .faction-editor-page .faction-field-official_lore { border-top: 2px solid var(--amber); }
.creepypasta-editor-page { padding: 18px; }
.creepypasta-editor-header { margin-bottom: 16px; padding: 3px 2px 13px; border-bottom: 1px dashed var(--border); }
.creepypasta-editor-header .section-kicker { display: block; margin-bottom: 8px; color: #c9562b; }
.creepypasta-editor-header h1 { margin: 0 0 5px; color: #fff; font-size: clamp(1.15rem, 3vw, 1.55rem); letter-spacing: .7px; text-transform: uppercase; }
.creepypasta-editor-header p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.creepypasta-editor-page .form-field { min-width: 0; padding: 11px; background: rgba(5,3,2,.32); border: 1px solid rgba(201,86,43,.22); }
.creepypasta-editor-page .form-field:focus-within { border-color: #c9562b; box-shadow: inset 2px 0 #c9562b; }
.faction-logo-upload { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.faction-logo-upload .muted { font-size: .68rem; }
.faction-logo-preview { display: block; width: min(100%, 220px); height: 150px; margin-top: 10px; padding: 12px; object-fit: contain; background: radial-gradient(circle, rgba(217,119,6,.09), rgba(5,3,2,.45) 72%); border: 1px solid var(--border); }
.faction-detail-grid { grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr); align-items: start; }
.faction-profile { position: relative; display: grid; grid-template-columns: minmax(170px, 250px) minmax(0, 1fr); min-height: 250px; overflow: hidden; gap: clamp(18px, 4vw, 44px); align-items: center; margin: 0 0 18px; padding: clamp(18px, 4vw, 34px); background: radial-gradient(ellipse at 20% 45%, color-mix(in srgb, var(--faction-profile-color, var(--amber)) 14%, transparent), transparent 62%), linear-gradient(125deg, rgba(23,17,12,.98), rgba(8,7,6,.98) 72%); border: 1px solid color-mix(in srgb, var(--faction-profile-color, var(--amber)) 38%, #332922); border-bottom: 2px solid var(--faction-profile-color, var(--amber)); box-shadow: inset 0 0 32px rgba(217,119,6,.035), 0 8px 24px rgba(0,0,0,.28); }
.faction-profile::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .23; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.018) 4px); }
.faction-profile-emblem { position: relative; display: grid; width: min(100%, 220px); aspect-ratio: 1; place-items: center; justify-self: center; overflow: hidden; padding: 20px; background: rgba(5,3,2,.56); border: 1px solid color-mix(in srgb, var(--faction-profile-color, var(--amber)) 55%, transparent); box-shadow: inset 0 0 28px color-mix(in srgb, var(--faction-profile-color, var(--amber)) 10%, transparent), 0 0 25px rgba(0,0,0,.25); }
.faction-profile-emblem::before, .faction-profile-emblem::after { position: absolute; width: 14px; height: 14px; content: ""; border-color: var(--faction-profile-color, var(--amber)); }
.faction-profile-emblem::before { top: 5px; left: 5px; border-top: 1px solid; border-left: 1px solid; }
.faction-profile-emblem::after { right: 5px; bottom: 5px; border-right: 1px solid; border-bottom: 1px solid; }
.faction-profile-emblem img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--faction-profile-color, var(--amber)) 25%, transparent)); }
.faction-profile-emblem > span { color: var(--faction-profile-color, var(--amber)); font-size: 4.4rem; line-height: 1; text-shadow: 0 0 24px currentColor; }
.faction-profile-emblem > small { position: absolute; bottom: 15px; color: var(--muted); font-family: 'Share Tech Mono', monospace; font-size: .5rem; letter-spacing: .1em; }
.faction-profile-identity { position: relative; min-width: 0; }
.faction-profile-kicker { display: inline-block; margin-bottom: 11px; padding: 5px 8px; color: var(--faction-profile-color, var(--amber)); background: rgba(5,3,2,.58); border-left: 2px solid var(--faction-profile-color, var(--amber)); font-family: 'Share Tech Mono', monospace; font-size: .62rem; letter-spacing: .1em; }
.faction-profile-identity h1 { margin: 0; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(2rem, 6vw, 3.6rem); font-weight: 500; line-height: 1.04; overflow-wrap: anywhere; text-shadow: 0 2px 12px #000; }
.faction-profile-identity > p { margin: 10px 0 16px; color: #d6d3d1; font-size: .83rem; letter-spacing: .06em; }
.faction-profile-color { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--muted); font-family: 'Share Tech Mono', monospace; font-size: .58rem; letter-spacing: .08em; }
.faction-profile-color i { width: 11px; height: 11px; background: var(--faction-profile-color, var(--amber)); border: 1px solid rgba(255,255,255,.25); box-shadow: 0 0 9px color-mix(in srgb, var(--faction-profile-color, var(--amber)) 55%, transparent); }
.faction-profile-color strong { color: var(--faction-profile-color, var(--amber)); font-weight: normal; }
.faction-profile-code { position: absolute; top: 9px; right: 10px; color: var(--muted); font-family: 'Share Tech Mono', monospace; font-size: .52rem; letter-spacing: .07em; }
.faction-narrative { min-width: 0; }
.faction-narrative .detail-content { margin-bottom: 12px; padding: 15px; background: rgba(5,3,2,.36); border: 1px solid color-mix(in srgb, var(--faction-profile-color, var(--amber)) 24%, transparent); }
.faction-narrative .detail-content:last-child { margin-bottom: 0; }
.faction-narrative .section-kicker { margin-bottom: 10px; color: var(--faction-profile-color, var(--amber)); }
.faction-description-card { border-top: 2px solid var(--faction-profile-color, var(--amber)) !important; }
.faction-description-text { color: #e7e5e4; font-family: 'Source Serif 4', Georgia, serif; font-size: .98rem; line-height: 1.85; text-align: justify; }
.faction-description-text .wiki-link { color: #fdba74; }
.faction-relations .panel { border-left: 3px solid var(--faction-profile-color, var(--amber)); }
.faction-relations .panel-title { color: var(--faction-profile-color, var(--amber)); }
.location-threat { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #d6d3d1; font-size: .59rem; letter-spacing: .65px; }
.location-threat > div { display: inline-flex; gap: 3px; }
.location-threat i { display: block; width: 17px; height: 6px; background: rgba(168,162,158,.2); border: 1px solid rgba(168,162,158,.25); }
.location-threat i.active { background: var(--location-faction-color, var(--orange)); border-color: var(--location-faction-color, var(--orange)); box-shadow: 0 0 7px color-mix(in srgb, var(--location-faction-color, var(--orange)) 45%, transparent); }
.location-threat strong { color: var(--location-faction-color, var(--orange)); font-weight: normal; }
.location-detail-grid { grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr); align-items: start; }
.location-narrative { min-width: 0; }
.location-narrative .detail-content { margin-bottom: 12px; padding: 13px; background: rgba(5,3,2,.34); border: 1px solid rgba(217,119,6,.2); }
.location-narrative .location-description-card { padding: 15px; border-top: 2px solid var(--location-faction-color, var(--amber)); }
.location-description-card .section-kicker { margin-bottom: 10px; }
.location-rich-content { color: #e7e5e4; font-size: .95rem; line-height: 1.8; }
.location-rich-content img { max-width: 100%; height: auto; border: 1px solid var(--border); }
.location-relations .panel { border-left: 3px solid var(--location-faction-color, var(--amber)); }
.location-relations .panel-title { color: var(--location-faction-color, var(--amber)); }
.field-table { width: 100%; border-collapse: collapse; font-size: .75rem; }
.field-table th, .field-table td { padding: 9px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.field-table th { color: var(--amber); font-weight: normal; text-transform: uppercase; }
.field-table td { color: #d6d3d1; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.form-field { display: flex; flex-direction: column; gap: 5px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--amber); font-size: .7rem; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; padding: 9px; color: var(--cream); background: #0c0907; border: 1px solid var(--border); border-radius: 0; }
.form-field textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.notice { padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--border); color: var(--cream); background: rgba(217,119,6,.08); font-size: .76rem; }
.notice.error { border-color: rgba(239,68,68,.55); color: #fecaca; }
.site-footer { display: flex; justify-content: space-between; gap: 10px; padding: 12px 2px; color: #78716c; font-size: .62rem; letter-spacing: .6px; }
.site-push-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.site-footer .site-push-controls button { padding: 6px 9px; color: #c9b581; border: 1px solid var(--border); font-size: .65rem; }
.site-push-controls [data-push-status] { max-width: 260px; color: var(--muted); font-size: .65rem; line-height: 1.4; letter-spacing: 0; }
.empty-state { padding: 20px; border: 1px dashed var(--border); color: var(--muted); text-align: center; }
.table-wrap { overflow-x: auto; }
.admin-dashboard { display: grid; gap: 14px; }
.admin-overview {
    overflow: hidden;
    background: rgba(12,9,7,.9);
    border: 1px solid var(--border);
    box-shadow: 0 8px 32px #0009, inset 0 0 18px rgba(217,119,6,.03);
}
.admin-console-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    color: var(--amber);
    background: rgba(217,119,6,.14);
    border-bottom: 1px solid var(--border);
    font-size: .66rem;
    font-weight: bold;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}
.admin-console-title { display: flex; align-items: center; gap: 8px; }
.admin-console-version { color: var(--muted); font-size: .6rem; }
.admin-overview-body { padding: 16px; }
.admin-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--border);
}
.admin-kicker { color: var(--amber); font-size: .62rem; letter-spacing: 1px; text-transform: uppercase; }
.admin-welcome h1 { margin: 5px 0; color: #fff; font-size: clamp(1.15rem, 3vw, 1.5rem); letter-spacing: .8px; text-transform: uppercase; }
.admin-welcome p { margin: 0; color: var(--muted); font-size: .75rem; }
.admin-account-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.admin-account-actions form { margin: 0; }
.admin-user { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: #d6d3d1; border: 1px solid var(--border); font-size: .68rem; }
.admin-online-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 6px var(--green); }
.admin-section-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 13px 0 4px; }
.admin-section-tab { display: flex; min-width: 0; align-items: center; flex-direction: column; gap: 5px; padding: 7px 5px; color: var(--muted); background: rgba(5,3,2,.5); border: 1px solid var(--border); cursor: pointer; font-family: inherit; font-size: .56rem; letter-spacing: .04em; text-align: center; text-transform: uppercase; transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.admin-section-tab img { display: block; width: 100%; max-width: 68px; aspect-ratio: 1; object-fit: cover; image-rendering: pixelated; border: 1px solid rgba(217,119,6,.2); transition: filter .18s ease, transform .18s ease; }
.admin-section-tab:hover, .admin-section-tab.active, .admin-section-tab:focus-visible { color: var(--cream); background: rgba(217,119,6,.1); border-color: var(--amber); box-shadow: 0 0 12px rgba(217,119,6,.13); outline: none; }
.admin-section-tab:hover img, .admin-section-tab.active img { filter: brightness(1.12) drop-shadow(0 0 5px rgba(217,119,6,.38)); transform: translateY(-1px); }
.admin-section-placeholder { display: flex; min-height: 180px; align-items: center; gap: 20px; margin-top: 14px; padding: 16px; background: radial-gradient(ellipse at 12% 50%, rgba(217,119,6,.1), transparent 58%), rgba(5,3,2,.5); border: 1px dashed var(--border-bright); }
.admin-section-placeholder img { display: block; width: min(22vw, 120px); height: auto; border: 1px solid var(--border); image-rendering: pixelated; }
.admin-section-placeholder h2 { margin: 5px 0; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: 1.2rem; }
.admin-section-placeholder p { margin: 0 0 8px; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.admin-section-status { color: var(--amber); font-size: .63rem; }
.admin-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 8px; padding: 14px 0; }
.admin-stat { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px; color: inherit; background: rgba(255,255,255,.015); border: 1px solid var(--border); cursor: pointer; font-family: inherit; text-align: left; transition: .2s; }
.admin-stat:hover, .admin-stat.active { background: rgba(217,119,6,.1); border-color: var(--amber); }
.admin-stat.active { box-shadow: inset 0 -2px var(--amber); }
.admin-stat:focus-visible { outline: 1px solid var(--orange); outline-offset: 2px; }
.admin-stat-icon { color: var(--orange); font-size: .95rem; }
.admin-stat-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.admin-stat-copy strong { color: #fff; font-size: 1rem; line-height: 1; }
.admin-stat-copy small { overflow: hidden; color: var(--muted); font-size: .59rem; text-overflow: ellipsis; text-transform: uppercase; }
.admin-stat-arrow { margin-left: auto; color: var(--amber); font-size: .8rem; }
.admin-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px dashed var(--border); }
.admin-search { display: flex; flex: 1 1 240px; align-items: center; gap: 8px; max-width: 380px; padding: 0 10px; border: 1px solid var(--border); background: rgba(5,3,2,.55); }
.admin-search > span { color: var(--amber); font-size: 1.1rem; }
.admin-search input { width: 100%; min-width: 0; padding: 9px 0; color: var(--cream); background: transparent; border: 0; outline: 0; font-size: .73rem; }
.admin-search input::placeholder { color: #78716c; }
.admin-tools-hint { color: var(--muted); font-size: .65rem; }
.admin-tools-hint code { color: #fdba74; }
.admin-module-list { display: grid; gap: 11px; }
.admin-module { overflow: hidden; background: rgba(12,9,7,.88); border: 1px solid var(--border); box-shadow: 0 6px 22px #0007; scroll-margin-top: 14px; }
.admin-module-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; background: rgba(217,119,6,.06); border-bottom: 1px solid var(--border); }
.admin-module-heading { display: flex; min-width: 0; align-items: center; gap: 10px; }
.admin-module-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; color: var(--orange); background: rgba(217,119,6,.08); border: 1px solid var(--border); font-size: .95rem; }
.admin-module-heading h2 { margin: 3px 0 0; color: #fff; font-size: .9rem; letter-spacing: .6px; text-transform: uppercase; }
.admin-count { padding: 4px 6px; color: var(--amber); border: 1px solid var(--border); font-size: .59rem; white-space: nowrap; }
.admin-module-header > .btn { flex: 0 0 auto; }
.admin-module-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.admin-record-table { margin: 0; }
.admin-record-table th { color: var(--amber); background: rgba(5,3,2,.4); font-size: .62rem; letter-spacing: .7px; }
.admin-record-table th, .admin-record-table td { padding: 8px 10px; border-bottom-color: rgba(217,119,6,.12); }
.admin-record-table tbody tr:last-child td { border-bottom: 0; }
.admin-record-table tbody tr:hover { background: rgba(217,119,6,.045); }
.admin-id-column { width: 60px; }
.admin-actions-column { width: 170px; text-align: right !important; }
.admin-record-id { color: #78716c !important; font-size: .67rem; }
.admin-record-name { color: #e7e5e4; font-size: .76rem; }
.admin-record-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-record-actions form { margin: 0; }
.admin-empty { display: flex; align-items: center; gap: 10px; padding: 15px; color: var(--muted); }
.admin-empty > span { color: var(--amber); font-size: 1.3rem; }
.admin-empty strong, .admin-empty small { display: block; }
.admin-empty strong { color: #d6d3d1; font-size: .75rem; font-weight: normal; text-transform: uppercase; }
.admin-empty small { margin-top: 3px; font-size: .68rem; }
[data-admin-record][hidden] { display: none; }
.admin-module[hidden] { display: none; }
.admin-no-results { padding: 12px; color: var(--muted); border-top: 1px dashed var(--border); font-size: .72rem; text-align: center; }
.admin-empty { flex-wrap: wrap; }
.admin-empty > div { flex: 1 1 160px; }
.rich-editor { grid-column: 1 / -1; }
.rich-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 7px;
    background: rgba(217,119,6,.07);
    border: 1px solid var(--border);
    border-bottom: 0;
}
.rich-toolbar button {
    min-width: 32px;
    min-height: 30px;
    padding: 4px 8px;
    color: var(--cream);
    background: rgba(5,3,2,.65);
    border: 1px solid rgba(217,119,6,.25);
    cursor: pointer;
    font-family: inherit;
    font-size: .75rem;
}
.rich-toolbar button:hover, .rich-toolbar button:focus-visible { color: #fff; background: rgba(217,119,6,.18); border-color: var(--amber); outline: none; }
.rich-toolbar select, .rich-size-label { min-height: 30px; padding: 4px 7px; color: var(--cream); background: rgba(5,3,2,.65); border: 1px solid rgba(217,119,6,.25); font: inherit; font-size: .7rem; }
.rich-toolbar select { cursor: pointer; }
.rich-size-label { display: inline-flex; align-items: center; border-right: 0; margin-right: -5px; color: var(--muted); }
.rich-toolbar-divider { width: 1px; margin: 2px 3px; background: var(--border); }
.rich-editor-surface {
    min-height: 360px;
    padding: 16px;
    color: #e7e5e4;
    background: #090705;
    border: 1px solid var(--border);
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
.rich-editor-surface:focus { border-color: var(--amber); outline: 1px solid rgba(217,119,6,.25); }
.rich-editor-surface[aria-invalid="true"] { border-color: #ef4444; }
.rich-editor-surface h2, .rich-editor-surface h3 { margin: 1.3em 0 .55em; color: #fbbf24; font-family: 'Share Tech Mono', monospace; text-transform: uppercase; }
.rich-editor-surface blockquote { margin: 1em 0; padding: .5em 1em; color: #fdba74; border-left: 3px solid var(--amber); background: rgba(217,119,6,.06); }
.rich-editor-surface details, .eco-dossier-detail .eco-page-copy details { margin: 12px 0; border: 1px solid rgba(217,119,6,.35); background: rgba(217,119,6,.04); }
.rich-editor-surface details > summary, .eco-dossier-detail .eco-page-copy details > summary { padding: 9px 12px; color: #fbbf24; cursor: pointer; font-family: 'Share Tech Mono', monospace; }
.rich-editor-surface details > :not(summary), .eco-dossier-detail .eco-page-copy details > :not(summary) { margin-right: 12px; margin-left: 12px; }
.rich-editor-surface ul, .rich-editor-surface ol { padding-left: 1.5em; }
.rich-editor-surface img, .story-rich-content img { max-width: 100%; height: auto; }
.rich-editor-surface img { display: inline-block; vertical-align: middle; }
.story-rich-content img { display: inline-block; vertical-align: middle; }
.rich-editor-surface figure.eco-rich-image, .eco-dossier-detail .eco-page-copy figure.eco-rich-image, .eco-mission-detail .eco-page-copy figure.eco-rich-image { width: 42%; min-width: 150px; max-width: 270px; margin: 4px 0 14px; padding: 8px; background: rgba(5,4,3,.94); border: 1px dashed rgba(255,176,0,.55); box-shadow: 0 0 12px rgba(255,176,0,.1); }
.rich-editor-surface figure.eco-rich-image-left, .eco-dossier-detail .eco-page-copy figure.eco-rich-image-left, .eco-mission-detail .eco-page-copy figure.eco-rich-image-left { float: left; margin-right: 18px; }
.rich-editor-surface figure.eco-rich-image-right, .eco-dossier-detail .eco-page-copy figure.eco-rich-image-right, .eco-mission-detail .eco-page-copy figure.eco-rich-image-right { float: right; margin-left: 18px; }
.rich-editor-surface figure.eco-rich-image-center, .eco-mission-detail .eco-page-copy figure.eco-rich-image-center { float: none; width: 100%; max-width: 520px; margin: 16px auto; }
.rich-editor-surface figure.eco-rich-image img, .eco-dossier-detail .eco-page-copy figure.eco-rich-image img, .eco-mission-detail .eco-page-copy figure.eco-rich-image img { display: block; width: 100%; max-width: none; max-height: 260px; margin: 0; object-fit: contain; background: #080604; border: 2px solid #ffb000; padding: 3px; }
.rich-editor-surface figure.eco-rich-image figcaption, .eco-dossier-detail .eco-page-copy figure.eco-rich-image figcaption, .eco-mission-detail .eco-page-copy figure.eco-rich-image figcaption { margin-top: 6px; padding-top: 5px; color: #ffb000; border-top: 1px dashed rgba(255,176,0,.5); font: .58rem/1.4 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.creepypasta-rich-editor .rich-editor-surface, .creepypasta-reader-text { display: flow-root; counter-reset: creepypasta-figure; }
.rich-editor-surface figure.creepypasta-rich-image, .story-rich-content figure.creepypasta-rich-image { width: min(57%, 315px); min-width: min(188px, 57%); max-width: 315px; margin: 4px 0 12px; padding: 7px; background: #100e0c; border: 1px dashed rgba(224,155,54,.62); box-shadow: 0 4px 16px rgba(0,0,0,.38), 0 0 12px rgba(224,155,54,.1); counter-increment: creepypasta-figure; }
.rich-editor-surface figure.creepypasta-rich-image-left, .story-rich-content figure.creepypasta-rich-image-left { float: left; margin-right: 17px; }
.rich-editor-surface figure.creepypasta-rich-image-right, .story-rich-content figure.creepypasta-rich-image-right { float: right; margin-left: 17px; }
.rich-editor-surface figure.creepypasta-rich-image-center, .story-rich-content figure.creepypasta-rich-image-center { float: none; width: 100%; max-width: none; margin: 16px auto; }
.rich-editor-surface figure.creepypasta-rich-image img, .story-rich-content figure.creepypasta-rich-image img { display: block; width: 100%; height: auto; max-width: none; object-fit: contain; background: #080706; border: 2px solid #d99a38; padding: 3px; }
.rich-editor-surface figure.creepypasta-rich-image-center img, .story-rich-content figure.creepypasta-rich-image-center img { aspect-ratio: 16 / 9; }
.rich-editor-surface figure.creepypasta-rich-image figcaption, .story-rich-content figure.creepypasta-rich-image figcaption { margin-top: 6px; padding-top: 5px; color: #e2a74d; border-top: 1px dashed rgba(224,155,54,.55); font: .58rem/1.45 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .06em; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.rich-editor-surface figure.creepypasta-rich-image figcaption::before, .story-rich-content figure.creepypasta-rich-image figcaption::before { content: "FIG. " counter(creepypasta-figure, decimal-leading-zero) " // "; color: #f4c16f; }
.rich-editor-status { margin: 7px 0 0; color: #fdba74; font-size: .72rem; }
.rich-editor-status.is-error { color: #fca5a5; }
.rich-editor-hint { margin: 7px 0 0; color: var(--muted); font-size: .66rem; }
.story-cover-preview { display: block; width: min(100%, 360px); max-height: 210px; margin-top: 8px; object-fit: cover; border: 1px solid var(--border); }
.story-directory { width: 100%; margin: 0 auto; }
.story-toolbar { display: flex; gap: 9px; margin: 0 0 14px; }
.story-search { display: flex; flex: 1 1 260px; align-items: center; gap: 8px; padding: 0 11px; background: rgba(12,9,7,.9); border: 1px solid var(--border); }
.story-search > span { color: var(--amber); font-size: 1.15rem; }
.story-search input { width: 100%; min-width: 0; padding: 10px 0; color: var(--cream); background: transparent; border: 0; outline: 0; font: inherit; font-size: .75rem; }
.story-search input::placeholder { color: #78716c; }
.story-toolbar .control { flex: 0 1 260px; }
.story-filter-select, .story-faction-select { position: relative; flex: 0 1 260px; min-width: 0; font-family: 'Share Tech Mono', monospace; }
.story-filter-select .custom-select-trigger, .story-faction-select .custom-select-trigger { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: space-between; padding: 8px 10px; color: var(--option-color, var(--amber)); background: #110e0c; border: 1px solid #332922; cursor: pointer; font: inherit; font-size: 11px; letter-spacing: 1px; text-align: left; text-transform: uppercase; transition: border-color .2s ease; }
.story-filter-select .custom-select-trigger::after, .story-faction-select .custom-select-trigger::after { margin-left: 10px; color: var(--option-color, var(--amber)); content: '▼'; font-size: 9px; }
.story-filter-select .custom-select-trigger:hover, .story-filter-select .custom-select-trigger:focus-visible, .story-faction-select .custom-select-trigger:hover, .story-faction-select .custom-select-trigger:focus-visible { border-color: var(--option-color, var(--amber)); outline: none; }
.story-filter-select .custom-options, .story-faction-select .custom-options { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; display: none; max-height: 180px; overflow-y: auto; background: #0d0b09; border: 1px solid #332922; border-top: 0; box-shadow: 0 10px 20px rgba(0,0,0,.9); }
.story-filter-select.open .custom-options, .story-faction-select.open .custom-options { display: block; }
.story-filter-select .custom-option, .story-faction-select .custom-option { display: block; width: 100%; padding: 8px 10px; color: #9ca3af; background: transparent; border: 0; border-bottom: 1px dashed rgba(255,255,255,.04); cursor: pointer; font: inherit; font-size: 11px; text-align: left; text-transform: uppercase; transition: background .15s ease; }
.story-filter-select .custom-option:hover, .story-filter-select .custom-option.selected, .story-faction-select .custom-option:hover, .story-faction-select .custom-option.selected { color: #fff; background: color-mix(in srgb, var(--option-color, var(--amber)) 14%, transparent); }
.story-filter-select .custom-option[style], .story-faction-select .custom-option[style] { color: var(--option-color); font-weight: bold; }
.story-filter-select .story-filter-native, .story-filter-select .story-faction-native, .story-faction-select .story-faction-native { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.story-card { min-width: 0; overflow: hidden; background: rgba(12,9,7,.9); border: 1px solid var(--border); box-shadow: 0 6px 24px #0008; transition: transform .2s, border-color .2s, box-shadow .2s; }
.story-card:hover { transform: translateY(-4px); border-color: var(--amber); box-shadow: 0 12px 30px rgba(0,0,0,.65), 0 0 14px rgba(217,119,6,.09); }
.story-cover-link { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #100c09; border-bottom: 1px solid var(--border); }
.story-cover { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.story-card:hover .story-cover { transform: scale(1.04); }
.story-cover-placeholder { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: #8c6747; background: radial-gradient(ellipse at center, rgba(217,119,6,.16), transparent 65%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.story-cover-placeholder span { font-size: 2.4rem; text-shadow: 0 0 16px rgba(217,119,6,.5); }
.story-cover-placeholder small { color: var(--amber); font-size: .58rem; letter-spacing: 1.3px; }
.story-file-code { position: absolute; right: 8px; bottom: 8px; padding: 4px 6px; color: #fff; background: rgba(5,3,2,.8); border: 1px solid rgba(217,119,6,.45); font-size: .58rem; letter-spacing: .7px; }
.story-card-content { display: flex; min-height: 210px; align-items: flex-start; flex-direction: column; padding: 13px; }
.story-faction, .story-category { display: flex; align-items: center; gap: 7px; color: var(--story-faction-color); font-size: .63rem; letter-spacing: .7px; text-transform: uppercase; }
.story-faction .faction-swatch, .story-category .faction-swatch { background: var(--story-faction-color); color: var(--story-faction-color); }
.story-card h2 { margin: 9px 0 6px; font-size: 1rem; line-height: 1.3; }
.story-card h2 a { color: #fff; text-decoration: none; }
.story-card h2 a:hover { color: #fdba74; }
.story-card-content > p { margin: 0 0 14px; color: var(--muted); font-size: .76rem; line-height: 1.6; text-align: justify; }
.story-read-link { display: flex; justify-content: space-between; gap: 8px; width: 100%; margin-top: auto; padding-top: 9px; color: var(--amber); border-top: 1px dashed var(--border); font-size: .66rem; letter-spacing: .9px; text-decoration: none; }
.story-read-link:hover { color: #fff; }
.story-no-results, .story-empty-filter, .story-empty { padding: 20px; color: var(--muted); background: rgba(12,9,7,.84); border: 1px dashed var(--border); text-align: center; }
.story-empty { padding: 34px 18px; }
.story-empty > span { color: var(--amber); font-size: 2rem; }
.story-empty h2 { margin: 9px 0; color: #fff; font-size: 1rem; text-transform: uppercase; }
.story-empty p { margin: 0 auto 15px; max-width: 460px; font-size: .76rem; line-height: 1.6; }
.story-full-content { margin-top: 16px; padding-top: 12px; border-top: 1px dashed var(--border); }
.story-rich-content { color: #e7e5e4; font-family: 'Source Serif 4', Georgia, serif; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.story-reader-text { font-size: 1rem; line-height: 1.85; }
.story-rich-content h2, .story-rich-content h3, .story-rich-content h4 { margin: 1.5em 0 .55em; color: #fbbf24; font-family: 'Share Tech Mono', monospace; letter-spacing: .5px; text-transform: uppercase; }
.story-rich-content h2:first-child, .story-rich-content h3:first-child { margin-top: 0; }
.story-rich-content div { margin-bottom: .8em; }
.story-rich-content blockquote { margin: 1.2em 0; padding: .6em 1em; color: #fdba74; background: rgba(217,119,6,.05); border-left: 3px solid var(--amber); }
.story-rich-content pre, .story-rich-content code { color: #fdba74; background: rgba(217,119,6,.07); }
.story-rich-content pre { overflow-x: auto; padding: 10px; }
.story-reader-controls { position: fixed; z-index: 1000; top: 7vh; right: 14px; display: grid; gap: 5px; padding: 6px; background: rgba(10,8,6,.94); border: 1px solid rgba(217,119,6,.48); box-shadow: 0 6px 20px rgba(0,0,0,.55), inset 0 0 14px rgba(217,119,6,.04); }
.story-reader-controls button { display: grid; width: 38px; height: 36px; place-items: center; padding: 0; color: var(--amber); background: rgba(217,119,6,.07); border: 1px solid rgba(217,119,6,.3); cursor: pointer; font-family: 'Share Tech Mono', monospace; font-size: .83rem; line-height: 1; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.story-reader-controls button:hover, .story-reader-controls button:focus-visible { color: #100b06; background: var(--amber); border-color: #fbbf24; outline: none; }
.story-chapter-nav { margin: 12px 0 18px; padding: 12px; background: rgba(5,3,2,.45); border: 1px solid var(--border); }
.story-chapter-nav > .section-kicker { display: block; margin-bottom: 9px; }
.story-chapter-links { display: flex; flex-wrap: wrap; gap: 6px; }
.story-chapter-link { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; color: var(--muted); background: rgba(217,119,6,.04); border: 1px solid rgba(217,119,6,.2); font-size: .7rem; text-decoration: none; }
.story-chapter-link > span { color: var(--amber); font-family: 'Share Tech Mono', monospace; }
.story-chapter-link:hover, .story-chapter-link.active { color: #fff; background: rgba(217,119,6,.14); border-color: var(--amber); }
.chapter-reading-heading { margin: 0 0 13px; }
.chapter-reading-heading .section-kicker { display: block; margin-bottom: 5px; }
.chapter-reading-heading h2 { margin: 0; color: #fff; font-size: 1.2rem; }
.chapter-audio-player { width: 100%; margin: 0 0 22px; padding: 14px 16px; color: #f5eee5; background: linear-gradient(115deg, rgba(29,20,12,.96), rgba(10,9,8,.98)); border: 1px solid rgba(217,119,6,.38); box-shadow: inset 0 0 20px rgba(217,119,6,.035), 0 5px 18px rgba(0,0,0,.22); }
.chapter-audio-player audio { display: none; }
.chapter-audio-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.chapter-audio-heading .section-kicker { margin: 0; color: var(--amber); font-size: .68rem; letter-spacing: .11em; }
.chapter-audio-status { color: var(--muted); font-family: 'Share Tech Mono', monospace; font-size: .61rem; letter-spacing: .06em; text-align: right; }
.chapter-audio-status.is-error { color: #fca5a5; }
.chapter-audio-controls { display: flex; align-items: center; gap: 14px; }
.chapter-audio-play { display: grid; width: 44px; height: 40px; flex: 0 0 auto; place-items: center; padding: 0; color: var(--amber); background: rgba(217,119,6,.08); border: 1px solid rgba(245,158,11,.65); border-radius: 3px; box-shadow: inset 0 0 12px rgba(217,119,6,.06); cursor: pointer; transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.chapter-audio-play:hover { color: #1c1005; background: #fbbf24; box-shadow: 0 0 15px rgba(245,158,11,.3); transform: translateY(-1px); }
.chapter-audio-play:focus-visible, .chapter-audio-progress:focus-visible { outline: 2px solid #fde68a; outline-offset: 3px; }
.chapter-audio-icon { display: grid; width: 20px; height: 20px; place-items: center; }
.chapter-audio-icon svg { display: block; width: 19px; height: 19px; fill: currentColor; }
.chapter-audio-icon-pause, .chapter-audio-player.is-playing .chapter-audio-icon-play { display: none !important; }
.chapter-audio-player.is-playing .chapter-audio-icon-pause { display: block !important; }
.chapter-audio-track { min-width: 0; flex: 1; }
.chapter-audio-progress { display: block; width: 100%; height: 6px; margin: 3px 0 8px; appearance: none; background: linear-gradient(to right, var(--amber) 0%, var(--amber) var(--audio-progress), rgba(245,158,11,.17) var(--audio-progress), rgba(245,158,11,.17) 100%); border: 0; border-radius: 99px; cursor: pointer; }
.chapter-audio-progress:disabled { cursor: default; opacity: .55; }
.chapter-audio-progress::-webkit-slider-thumb { width: 13px; height: 13px; appearance: none; background: #fff7ed; border: 2px solid var(--amber); border-radius: 50%; box-shadow: 0 0 8px rgba(245,158,11,.42); }
.chapter-audio-progress::-moz-range-thumb { width: 10px; height: 10px; background: #fff7ed; border: 2px solid var(--amber); border-radius: 50%; box-shadow: 0 0 8px rgba(245,158,11,.42); }
.chapter-audio-times { display: flex; justify-content: space-between; color: #a8a29e; font-family: 'Share Tech Mono', monospace; font-size: .65rem; font-variant-numeric: tabular-nums; }
.chapter-page-nav { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 12px; border-top: 1px dashed var(--border); }
.chapter-admin-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr); gap: 12px; margin-top: 14px; }
.chapter-admin-grid > .panel { min-width: 0; }
.chapter-admin-list { display: grid; gap: 7px; margin: 0 0 14px; padding: 0; list-style: none; }
.chapter-admin-list li { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid rgba(217,119,6,.2); }
.chapter-order { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; color: var(--amber); border: 1px solid var(--border); font-family: 'Share Tech Mono', monospace; }
.chapter-admin-title { flex: 1; color: #e7e5e4; font-size: .75rem; overflow-wrap: anywhere; }
.chapter-admin-list form { margin: 0; }
.glossary-category-admin-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; margin-top: 14px; }
.glossary-category-admin-grid > .panel { min-width: 0; }
.glossary-category-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.glossary-category-list li { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px; border: 1px solid rgba(217,119,6,.2); }
.glossary-category-swatch { width: 12px; height: 12px; flex: 0 0 auto; background: var(--glossary-faction-color); border: 1px solid var(--glossary-faction-color); box-shadow: 0 0 8px var(--glossary-faction-color); }
.glossary-category-name { flex: 1; color: #fef3c7; font-size: .76rem; }
.glossary-category-name small { display: block; margin-top: 3px; color: var(--muted); font-size: .62rem; }
.glossary-category-count { color: var(--muted); font-size: .62rem; white-space: nowrap; }
.glossary-category-list form { margin: 0; }
.glossary-cover-upload { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.glossary-cover-upload .muted { font-size: .68rem; }
.glossary-category-help { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 2px 0 0; color: var(--muted); font-size: .68rem; }
.glossary-category-help a { color: var(--amber); text-decoration: none; }
.glossary-category-help a:hover { color: #fff; text-decoration: underline; }
.story-detail-hero { position: relative; min-height: clamp(300px, 42vw, 440px); overflow: hidden; margin: 0 0 18px; background: #100c09; border: 1px solid rgba(217,119,6,.3); border-bottom: 2px solid var(--story-faction-color, var(--amber)); }
.story-detail-hero-image, .story-detail-hero-placeholder, .story-detail-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.story-detail-hero-image { display: block; object-fit: cover; }
.story-detail-hero-placeholder { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; color: var(--story-faction-color, var(--amber)); background: radial-gradient(ellipse at center, rgba(217,119,6,.2), transparent 62%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.story-detail-hero-placeholder > span { font-size: 3.5rem; text-shadow: 0 0 20px currentColor; }
.story-detail-hero-placeholder > small { font-size: .62rem; letter-spacing: 1.3px; }
.story-detail-hero-shade { background: linear-gradient(90deg, rgba(5,3,2,.76), rgba(5,3,2,.35) 58%, rgba(5,3,2,.08)), linear-gradient(0deg, rgba(5,3,2,.84), rgba(5,3,2,.08) 78%); }
.story-detail-hero-content { position: absolute; z-index: 1; right: 24px; bottom: 24px; left: 24px; width: min(720px, calc(100% - 48px)); padding: 0; }
.story-detail-hero-kicker { display: inline-block; margin-bottom: 5px; padding: 5px 8px; color: var(--story-faction-color, var(--amber)); background: rgba(5,3,2,.72); border-left: 2px solid var(--story-faction-color, var(--amber)); font-size: .62rem; letter-spacing: 1.2px; }
.story-detail-hero h1 { margin: 0 0 9px; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.8rem, 5.5vw, 3.2rem); font-weight: 500; line-height: 1.08; overflow-wrap: anywhere; text-shadow: 0 2px 14px #000; }
.story-detail-hero-faction, .story-detail-hero-category { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 8px; padding: 5px 8px; color: var(--story-faction-color, var(--amber)); background: rgba(5,3,2,.7); border: 1px solid color-mix(in srgb, var(--story-faction-color, var(--amber)) 62%, transparent); font-size: .61rem; letter-spacing: .6px; text-decoration: none; text-transform: uppercase; }
.story-detail-hero-faction:hover { color: #fff; }
.story-detail-hero-faction .faction-swatch { width: 7px; height: 7px; background: currentColor; }
.story-detail-hero-description { max-width: 700px; margin: 5px 0 0; color: #f0ece7; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(.88rem, 1.8vw, 1.02rem); line-height: 1.7; text-shadow: 0 1px 8px #000; text-align: justify; }
.story-detail-hero-description .wiki-link { color: #ffcb8a; }
.story-detail-hero-code { position: absolute; z-index: 1; top: 10px; right: 10px; padding: 5px 7px; color: #fff; background: rgba(5,3,2,.8); border: 1px solid rgba(217,119,6,.45); font-size: .55rem; letter-spacing: .7px; }
.story-detail-grid, .glossary-detail-grid { grid-template-columns: minmax(0, 1fr); }
.story-rich-content > .story-relations-float { float: right; width: min(280px, 46%); margin: 0 0 14px 18px; font-family: 'Share Tech Mono', monospace; line-height: 1.5; }
.glossary-rich-content > .glossary-relations-float { float: right; width: min(280px, 46%); margin: 0 0 14px 18px; font-family: 'Share Tech Mono', monospace; line-height: 1.5; }
.eco-nav-menu .cmd-nav-item { min-width: 0; padding: 8px 3px; font-size: .56rem; letter-spacing: 0; text-align: center; white-space: normal; }
.eco-nav-menu { overflow: visible; }
.eco-nav-menu .cmd-nav-item .cmd-icon { color: #c69a37; }
.eco-nav-group { position: relative; z-index: 4; flex: 1; min-width: 0; border-right: 1px solid var(--cmd-border); }
.eco-nav-group > summary { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 8px 3px; color: var(--cmd-muted); cursor: pointer; font-size: .56rem; font-weight: 700; letter-spacing: 0; list-style: none; text-align: center; text-transform: uppercase; }
.eco-nav-group > summary::-webkit-details-marker { display: none; }
.eco-nav-group > summary .cmd-icon { color: #c69a37; }
.eco-nav-group > summary b { display: none; }
.eco-nav-group:hover > summary, .eco-nav-group[open] > summary { color: var(--cmd-orange); background: rgba(217,119,6,.08); }
.eco-nav-dropdown { position: absolute; top: 100%; left: 0; z-index: 20; display: grid; min-width: 230px; padding: 5px; background: rgba(10,8,6,.98); border: 1px solid rgba(198,154,55,.35); box-shadow: 0 12px 28px #000b; }
.eco-nav-dropdown a { padding: 10px 12px; color: var(--cmd-muted); border-bottom: 1px solid rgba(198,154,55,.12); font-size: .63rem; text-decoration: none; }
.eco-nav-dropdown a:last-child { border-bottom: 0; }
.eco-nav-dropdown a:hover, .eco-nav-dropdown a:focus-visible { color: #fff; background: rgba(198,154,55,.12); }
.eco-nav-group > summary:focus-visible { outline: 2px solid #d4a83d; outline-offset: -2px; }
.eco-site-shell .cmd-nav-wrapper { position: relative; z-index: 100; }
.eco-site-shell .cmd-nav-terminal { overflow: visible; }
.eco-page { width: 100%; max-width: none; margin: 0 auto; --eco-gold: #c69a37; --eco-blue: #3498db; --eco-purple: #9b59b6; }
.eco-hero { position: relative; display: grid; grid-template-columns: minmax(90px, 142px) minmax(0, 1fr); gap: clamp(13px, 3vw, 25px); align-items: center; overflow: hidden; margin-bottom: 15px; padding: clamp(15px, 3vw, 23px); background: radial-gradient(ellipse at 0 0, rgba(198,154,55,.18), transparent 52%), linear-gradient(130deg, #17140d, #090807 72%); border: 1px solid rgba(198,154,55,.42); border-top: 2px solid var(--eco-gold); box-shadow: 0 10px 32px #0008; }
.eco-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .12; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.12) 4px); }
.eco-hero-emblem { position: relative; z-index: 1; display: block; width: 100%; max-width: 142px; aspect-ratio: 1; object-fit: contain; border: 1px solid rgba(198,154,55,.36); box-shadow: 0 0 24px rgba(198,154,55,.12); }
.eco-hero-copy { position: relative; z-index: 1; min-width: 0; }
.eco-kicker { color: var(--eco-gold); font-size: .58rem; letter-spacing: .1em; }
.eco-clearance { float: right; margin-left: 8px; padding: 4px 6px; color: #d8c28c; border: 1px solid rgba(198,154,55,.35); font-size: .5rem; letter-spacing: .05em; }
.eco-hero h1 { margin: 8px 0 5px; color: #fff; font: 500 clamp(1.45rem, 4vw, 2rem)/1.2 'Source Serif 4', Georgia, serif; }
.eco-hero-subtitle { margin: 0 0 12px; color: #e4c16f; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.eco-page-copy { color: #dedad1; font: .77rem/1.75 'Source Serif 4', Georgia, serif; text-align: justify; overflow-wrap: anywhere; }
.eco-page-copy p { margin: 0 0 10px; }
.eco-page-copy p:last-child { margin-bottom: 0; }
.eco-page-copy ul, .eco-page-copy ol { padding-left: 22px; }
.eco-page-copy a { color: #e6c875; }
.eco-hero-status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px 14px; margin-top: 14px; padding-top: 9px; color: #a69e8b; border-top: 1px dashed rgba(198,154,55,.3); font-size: .5rem; letter-spacing: .05em; }
.eco-hero-status strong { color: #c69a37; font-weight: 400; }
.eco-section-block { margin-top: 16px; }
.eco-section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 9px; padding: 0 2px 7px; border-bottom: 1px solid rgba(198,154,55,.32); }
.eco-section-heading h2, .eco-class-group h2 { margin: 3px 0 0; color: #fff; font: 500 1.08rem 'Source Serif 4', Georgia, serif; }
.eco-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.eco-card { position: relative; display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 4px 9px; align-content: start; min-width: 0; padding: 13px; color: var(--cream); background: linear-gradient(135deg, rgba(198,154,55,.09), rgba(10,9,7,.96) 72%); border: 1px solid rgba(198,154,55,.28); text-decoration: none; transition: border-color .18s, transform .18s, background .18s; }
.eco-card:hover, .eco-card:focus-visible { background: linear-gradient(135deg, rgba(198,154,55,.15), rgba(10,9,7,.96) 72%); border-color: var(--eco-gold); outline: none; transform: translateY(-2px); }
.eco-card-wide { grid-column: 1 / -1; }
.eco-card-icon { grid-row: 1 / span 3; display: grid; width: 31px; height: 31px; place-items: center; color: var(--eco-gold); background: rgba(198,154,55,.1); border: 1px solid rgba(198,154,55,.25); font-size: 1.05rem; }
.eco-card-meta, .eco-card-link, .eco-card-code { color: #d0ae55; font-size: .52rem; letter-spacing: .07em; overflow-wrap: anywhere; }
.eco-card h3 { margin: 2px 0; color: #fff; font-size: .8rem; letter-spacing: .04em; }
.eco-card p { margin: 0; color: var(--muted); font: .67rem/1.55 'Source Serif 4', Georgia, serif; }
.eco-card-link { grid-column: 2; margin-top: 6px; padding-top: 6px; border-top: 1px dashed rgba(198,154,55,.25); }
.eco-content-panel, .eco-dossier-detail { display: grid; gap: 12px; padding: clamp(13px, 3vw, 21px); background: rgba(12,9,7,.92); border: 1px solid rgba(198,154,55,.28); }
.eco-content-panel > h2, .eco-dossier-detail > h2, .eco-mission-detail > h2 { margin: 0; color: #fff; font: 500 1.3rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-org-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 7px; }
.eco-org-pillars article { padding: 10px; background: rgba(198,154,55,.045); border: 1px solid rgba(198,154,55,.2); }
.eco-org-pillars article > span { color: var(--eco-gold); font-size: .5rem; letter-spacing: .08em; }
.eco-org-pillars h2 { margin: 6px 0 4px; color: #fff; font: 500 .85rem 'Source Serif 4', Georgia, serif; }
.eco-org-pillars p { margin: 0; color: var(--muted); font-size: .61rem; line-height: 1.55; }
.eco-organization-console { margin-bottom: 18px; padding: clamp(12px, 2.5vw, 18px); color: #ffb000; background: #090806; border: 2px solid #ffb000; box-shadow: 0 0 22px rgba(255,176,0,.12); font-family: 'Share Tech Mono', monospace; }
.eco-console-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px dashed rgba(255,176,0,.4); }
.eco-console-kicker { color: #ffb000; font-size: .56rem; letter-spacing: .1em; }
.eco-console-header h2 { margin: 7px 0 4px; color: #ffdc73; font: 500 1rem 'Share Tech Mono', monospace; }
.eco-console-header p { margin: 0; color: #9a7a3c; font-size: .5rem; letter-spacing: .06em; }
.eco-console-clearance { flex: 0 0 auto; padding: 5px 7px; color: #120e07; background: #ffb000; font-size: .49rem; font-weight: 700; letter-spacing: .07em; }
.eco-console-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 12px 0; }
.eco-console-stats a { display: grid; gap: 3px; padding: 8px; color: #ffb000; background: #0d0a07; border: 1px solid rgba(255,176,0,.25); text-align: center; text-decoration: none; transition: border-color .18s, background .18s; }
.eco-console-stats a:hover, .eco-console-stats a:focus-visible { background: rgba(255,176,0,.07); border-color: #ffb000; outline: none; }
.eco-console-stats strong { color: #ffdc73; font-size: 1.05rem; }
.eco-console-stats span { color: #a8853e; font-size: .47rem; letter-spacing: .07em; }
.eco-console-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.eco-console-tabs a { padding: 8px 5px; color: #9c762f; background: #090806; border: 1px solid #513a19; font: 700 .52rem 'Share Tech Mono', monospace; text-align: center; text-decoration: none; transition: all .16s ease; }
.eco-console-tabs a:hover, .eco-console-tabs a:focus-visible { color: #ffdc73; border-color: #ffb000; outline: none; }
.eco-admin-page .eco-console-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 12px; }
.eco-console-warning { margin-top: 12px; padding-top: 9px; color: #85672e; border-top: 1px dashed rgba(255,176,0,.25); font-size: .47rem; letter-spacing: .04em; text-align: center; }
.eco-org-section { scroll-margin-top: 14px; margin: 18px 0; }
.eco-org-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; align-items: end; margin-bottom: 9px; padding: 0 3px 8px; border-bottom: 1px dashed rgba(198,154,55,.32); }
.eco-org-section-heading > span { grid-column: 1 / -1; color: var(--eco-gold); font: .5rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-org-section-heading h2 { margin: 0; color: #fff; font: 500 1.12rem 'Source Serif 4', Georgia, serif; }
.eco-org-section-heading small { color: #95896f; font: .45rem 'Share Tech Mono', monospace; text-align: right; }
.eco-agent-grid { display: grid; gap: 10px; }
.eco-agent-card { display: grid; grid-template-columns: minmax(100px, 130px) minmax(0, 1fr); gap: 13px; min-width: 0; padding: 11px; background: linear-gradient(130deg, rgba(31,23,11,.75), rgba(10,9,7,.98)); border: 1px solid rgba(198,154,55,.24); border-left: 3px solid rgba(198,154,55,.58); }
.eco-agent-photo { display: grid; min-height: 142px; place-items: center; overflow: hidden; color: #8d6b2c; background: #15110a; border: 1px solid rgba(198,154,55,.32); }
.eco-agent-photo img { width: 100%; height: 100%; min-height: 142px; object-fit: cover; filter: grayscale(35%) sepia(55%) contrast(1.12) brightness(.82); }
.eco-agent-photo > span { display: grid; gap: 7px; font: .48rem 'Share Tech Mono', monospace; text-align: center; }
.eco-agent-photo small { color: #be933c; }
.eco-agent-info { min-width: 0; }
.eco-agent-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px dotted rgba(198,154,55,.3); }
.eco-agent-heading h3 { margin: 0; color: #ffdc73; font: 500 .86rem 'Share Tech Mono', monospace; overflow-wrap: anywhere; }
.eco-agent-heading > span { flex: 0 0 auto; color: #b99043; font: .49rem 'Share Tech Mono', monospace; }
.eco-agent-info dl { display: grid; gap: 6px; margin: 9px 0 0; }
.eco-agent-info dl > div { display: grid; grid-template-columns: minmax(70px, .34fr) minmax(0, 1fr); gap: 8px; font-size: .56rem; line-height: 1.5; }
.eco-agent-info dt { color: #c69a37; font: .48rem 'Share Tech Mono', monospace; }
.eco-agent-info dd { min-width: 0; margin: 0; color: #b9b2a7; overflow-wrap: anywhere; }
.eco-agent-status { color: #9ecb78; font: .5rem 'Share Tech Mono', monospace; }
.eco-agent-status-cuarentena { color: #f0b65f; }
.eco-agent-status-inactivo, .eco-agent-status-desaparecido { color: #e47768; }
.eco-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.eco-location-card { min-width: 0; overflow: hidden; background: #0d0a07; border: 1px solid rgba(198,154,55,.26); }
.eco-location-card > img { display: block; width: 100%; height: 110px; object-fit: cover; border-bottom: 1px solid rgba(198,154,55,.22); filter: saturate(.7) brightness(.8); }
.eco-location-card-content { padding: 11px; }
.eco-console-record-code { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 10px; color: #c49a44; font: .49rem 'Share Tech Mono', monospace; letter-spacing: .04em; }
.eco-location-card h3 { margin: 6px 0; color: #ffdc73; font: 500 .83rem 'Share Tech Mono', monospace; overflow-wrap: anywhere; }
.eco-location-card-content > p:last-child { margin: 8px 0 0; color: #b5ad9e; font: .63rem/1.55 'Source Serif 4', Georgia, serif; white-space: normal; overflow-wrap: anywhere; }
.eco-location-state { display: flex; align-items: center; gap: 6px; margin: 0; color: #a9c586; font: .48rem 'Share Tech Mono', monospace; }
.eco-location-state i { width: 6px; height: 6px; background: currentColor; border-radius: 50%; box-shadow: 0 0 7px currentColor; }
.eco-console-mission-list { display: grid; gap: 9px; }
.eco-console-mission { display: grid; grid-template-columns: minmax(0, 1fr); gap: 11px; min-width: 0; padding: 10px; background: #0d0a07; border: 1px solid rgba(198,154,55,.24); border-left: 3px solid #8b6222; }
.eco-console-mission.has-image { grid-template-columns: 110px minmax(0, 1fr); }
.eco-console-mission > img { width: 110px; height: 100%; min-height: 100px; max-height: 170px; object-fit: cover; filter: saturate(.7) brightness(.8); }
.eco-console-mission-body { min-width: 0; }
.eco-console-mission h3 { margin: 6px 0; color: #ffdc73; font: 500 .85rem 'Source Serif 4', Georgia, serif; }
.eco-console-mission h3 a { color: inherit; text-decoration: none; }
.eco-console-mission h3 a:hover { color: #fff1bd; }
.eco-console-mission-body > p:not(.eco-mission-meta) { margin: 5px 0; color: #b9b2a7; font: .63rem/1.5 'Source Serif 4', Georgia, serif; }
.eco-console-report-preview { margin-top: 8px; border-top: 1px dashed rgba(198,154,55,.2); }
.eco-console-report-preview > summary { padding-top: 7px; color: #d4b75e; cursor: pointer; font: .48rem 'Share Tech Mono', monospace; letter-spacing: .06em; }
.eco-console-report-preview .eco-page-copy { margin-top: 8px; padding: 8px; background: rgba(198,154,55,.04); }
.eco-console-mission .eco-card-link { display: inline-block; margin-top: 8px; }
.eco-wiki-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: start; }
.eco-wiki-entry { min-width: 0; background: #0d0a07; border: 1px solid rgba(198,154,55,.24); }
.eco-wiki-entry[open] { border-color: rgba(198,154,55,.6); }
.eco-wiki-entry > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; cursor: pointer; list-style: none; }
.eco-wiki-entry > summary::-webkit-details-marker { display: none; }
.eco-wiki-category { padding: 3px 5px; color: #d3ad5c; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.2); font: .43rem 'Share Tech Mono', monospace; }
.eco-wiki-entry > summary strong { color: #f5e4b2; font: 500 .72rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-toggle { color: var(--eco-gold); font: .9rem 'Share Tech Mono', monospace; }
.eco-wiki-entry[open] .eco-wiki-toggle { transform: rotate(45deg); }
.eco-wiki-content { padding: 0 10px 10px; color: #b9b2a7; font: .63rem/1.55 'Source Serif 4', Georgia, serif; }
.eco-wiki-content > img { display: block; width: 100%; max-height: 170px; margin: 2px 0 8px; object-fit: cover; }
.eco-wiki-definition { margin: 0; color: #e1d3af; }
.eco-wiki-article { margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(198,154,55,.2); white-space: pre-line; }
.eco-mission-hero { position: relative; display: flex; min-height: 300px; align-items: flex-end; overflow: hidden; background: radial-gradient(ellipse at 15% 10%, rgba(198,154,55,.2), transparent 50%), linear-gradient(135deg, #1a140b, #090806 74%); border: 1px solid rgba(198,154,55,.4); border-top: 2px solid var(--eco-gold); }
.eco-mission-hero-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; filter: saturate(.95) contrast(1.04) brightness(.8); }
.eco-mission-hero.has-cover::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,6,4,.78) 0%, rgba(7,6,4,.5) 49%, rgba(7,6,4,.08) 100%), linear-gradient(0deg, rgba(7,6,4,.78), transparent 76%); content: ""; }
.eco-mission-hero-content { position: relative; z-index: 1; display: grid; width: 100%; gap: 10px; padding: clamp(18px, 4vw, 34px); }
.eco-mission-hero-identifiers { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #ffdc73; font: .58rem 'Share Tech Mono', monospace; letter-spacing: .11em; }
.eco-mission-status { padding: 5px 8px; color: #141006; background: #d6b455; font-size: .49rem; font-weight: 700; }
.eco-mission-status-en-curso { color: #06130b; background: #9acb88; }
.eco-mission-status-restringido { color: #1a0806; background: #d77b68; }
.eco-mission-hero h2 { max-width: 900px; margin: 0; color: #fff5da; font: 500 clamp(1.7rem, 5vw, 3.1rem)/1.08 'Source Serif 4', Georgia, serif; text-shadow: 0 2px 20px #000; }
.eco-mission-hero-summary { max-width: 760px; margin: 0; color: #e1d5bc; font: .78rem/1.6 'Source Serif 4', Georgia, serif; text-shadow: 0 1px 9px #000; }
.eco-mission-hero-facts { display: flex; flex-wrap: wrap; gap: 7px; color: #e2c779; font: .55rem 'Share Tech Mono', monospace; }
.eco-mission-hero-facts span { padding: 6px 8px; background: rgba(9,8,6,.75); border: 1px solid rgba(198,154,55,.35); }
.eco-mission-hero-relations { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); gap: 10px; margin-top: 5px; }
.eco-mission-hero-agents, .eco-mission-hero-dossier { display: grid; align-content: start; gap: 8px; padding: 12px; background: rgba(10,8,5,.9); border: 1px solid rgba(229,190,92,.48); box-shadow: 0 5px 18px rgba(0,0,0,.22); backdrop-filter: blur(7px); }
.eco-mission-relation-label { color: #f1cf76; font: .52rem 'Share Tech Mono', monospace; letter-spacing: .12em; }
.eco-mission-agent-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.eco-mission-agent-badge { display: flex; min-width: 175px; gap: 9px; align-items: center; padding: 7px 9px 7px 7px; color: #f4ead3; background: linear-gradient(110deg, rgba(198,154,55,.19), rgba(255,255,255,.065)); border: 1px solid rgba(229,190,92,.4); text-decoration: none; transition: background .18s, border-color .18s, transform .18s; }
.eco-mission-agent-badge:hover, .eco-mission-agent-badge:focus-visible { color: #fff; background: linear-gradient(110deg, rgba(198,154,55,.32), rgba(255,255,255,.1)); border-color: #f1cf76; outline: none; transform: translateY(-1px); }
.eco-mission-agent-badge > img, .eco-mission-agent-badge > i { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; object-fit: cover; color: #d6b455; background: #19140b; border: 1px solid rgba(198,154,55,.42); font-style: normal; }
.eco-mission-agent-badge > span { display: grid; gap: 3px; }
.eco-mission-agent-badge strong { color: #fff2cf; font: .58rem 'Share Tech Mono', monospace; }
.eco-mission-agent-badge small { color: #d4c39e; font-size: .5rem; }
.eco-mission-agent-badge > b { margin-left: auto; color: #f1cf76; font-size: .68rem; }
.eco-mission-no-agent, .eco-mission-no-dossier { color: #b8aa8e; font-size: .57rem; }
.eco-mission-dossier-item { position: relative; min-width: 0; }
.eco-mission-dossier-item > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; align-items: center; padding: 8px; color: #f4ead3; background: rgba(255,255,255,.045); border: 1px solid rgba(198,154,55,.22); text-decoration: none; }
.eco-mission-dossier-item > a:hover, .eco-mission-dossier-item > a:focus-visible { border-color: var(--eco-gold); outline: none; }
.eco-mission-dossier-item > a > span { grid-column: 1; color: #d6b455; font: .49rem 'Share Tech Mono', monospace; }
.eco-mission-dossier-item > a > strong { grid-column: 1; color: #fff; font: 500 .67rem 'Source Serif 4', Georgia, serif; }
.eco-mission-dossier-item > a > b { grid-column: 2; grid-row: 1 / span 2; color: #d6b455; }
.eco-mission-report { display: grid; gap: 10px; padding: clamp(14px, 3vw, 22px); background: rgba(8,7,5,.8); border: 1px solid rgba(198,154,55,.2); }
.eco-mission-report-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 12px; padding-bottom: 8px; color: #d6b455; border-bottom: 1px dashed rgba(198,154,55,.3); font: .5rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-mission-report-heading strong { color: #fff0c2; }
.eco-mission-report .eco-page-copy { display: flow-root; padding-top: 4px; }
.eco-mission-detail > .eco-mission-report { margin: 14px clamp(13px, 3vw, 21px); }
.eco-mission-detail > .btn { justify-self: start; margin: 0 clamp(13px, 3vw, 21px) clamp(13px, 3vw, 21px); }
.eco-mission-cover-preview { width: min(100%, 760px); max-height: 300px; aspect-ratio: 16 / 7; object-fit: cover; }
.eco-wiki-page { display: grid; gap: 13px; }
.eco-wiki-hero { padding: clamp(16px, 3.5vw, 27px); background: radial-gradient(ellipse at 5% 0, rgba(198,154,55,.17), transparent 58%), linear-gradient(135deg, rgba(20,16,9,.97), rgba(8,7,6,.97)); border: 1px solid rgba(198,154,55,.34); border-top: 2px solid var(--eco-gold); }
.eco-wiki-hero h1 { margin: 8px 0 5px; color: #fff1c9; font: 500 clamp(1.35rem, 3.6vw, 2.1rem)/1.2 'Source Serif 4', Georgia, serif; }
.eco-wiki-hero > p { margin: 0; color: #bdb19a; font-size: .66rem; line-height: 1.6; }
.eco-wiki-search, .eco-wiki-catalog-section, .eco-wiki-profile { padding: clamp(12px, 2.5vw, 20px); background: rgba(10,9,7,.94); border: 1px solid rgba(198,154,55,.25); }
.eco-wiki-search { display: grid; gap: 7px; }
.eco-wiki-search > label { color: #e1c875; font: .55rem 'Share Tech Mono', monospace; letter-spacing: .06em; }
.eco-wiki-search > div { display: flex; flex-wrap: wrap; gap: 7px; }
.eco-wiki-search input { min-width: min(100%, 250px); flex: 1 1 240px; padding: 9px; color: var(--cream); background: #080706; border: 1px solid rgba(198,154,55,.35); }
.eco-wiki-catalog { display: grid; gap: 11px; }
.eco-wiki-catalog-section > header { display: grid; gap: 4px; margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px dashed rgba(198,154,55,.3); }
.eco-wiki-catalog-section > header > span { color: #c4a34f; font: .48rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-wiki-catalog-section > header > h2 { margin: 0; color: #f4e7c5; font: 500 1rem 'Source Serif 4', Georgia, serif; }
.eco-wiki-record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 7px; }
.eco-wiki-record-item { position: relative; min-width: 0; }
.eco-wiki-record-grid > .eco-wiki-record-item > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; align-items: center; height: 100%; padding: 9px 10px; color: #eee2c8; background: linear-gradient(115deg, rgba(198,154,55,.075), rgba(0,0,0,.22)); border: 1px solid rgba(198,154,55,.2); text-decoration: none; transition: background .18s, border-color .18s; }
.eco-wiki-record-grid > .eco-wiki-record-item > a:hover, .eco-wiki-record-grid > .eco-wiki-record-item > a:focus-visible { color: #fff4d3; background: rgba(198,154,55,.13); border-color: rgba(225,200,117,.65); outline: none; }
.eco-wiki-record-grid > a, .eco-wiki-related-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; align-items: center; padding: 9px 10px; color: #eee2c8; background: linear-gradient(115deg, rgba(198,154,55,.075), rgba(0,0,0,.22)); border: 1px solid rgba(198,154,55,.2); text-decoration: none; transition: background .18s, border-color .18s; }
.eco-wiki-record-grid > a:hover, .eco-wiki-record-grid > a:focus-visible, .eco-wiki-related-list > a:hover, .eco-wiki-related-list > a:focus-visible { color: #fff4d3; background: rgba(198,154,55,.13); border-color: rgba(225,200,117,.65); outline: none; }
.eco-wiki-record-grid > .eco-wiki-record-item > a > span { grid-column: 1; color: #c8a854; font: .46rem 'Share Tech Mono', monospace; }
.eco-wiki-record-grid > .eco-wiki-record-item > a > strong { grid-column: 1; color: #f3e8d0; font: 500 .7rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-record-grid > a > span, .eco-wiki-related-list > a > span { grid-column: 1; color: #c8a854; font: .46rem 'Share Tech Mono', monospace; }
.eco-wiki-record-grid > a > strong, .eco-wiki-related-list > a > strong { grid-column: 1; color: #f3e8d0; font: 500 .7rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-record-grid > a > b { grid-column: 2; grid-row: 1 / span 2; color: #d6b455; }
.eco-wiki-profile { display: grid; gap: 12px; overflow: hidden; }
.eco-wiki-profile-hero { position: relative; display: grid; grid-template-columns: minmax(110px, 190px) minmax(0, 1fr); gap: clamp(12px, 3vw, 24px); align-items: center; min-height: 200px; padding: clamp(12px, 3vw, 24px); background: radial-gradient(ellipse at 10% 50%, rgba(198,154,55,.16), transparent 60%), #0c0a07; border: 1px solid rgba(198,154,55,.25); }
.eco-wiki-profile-hero > img, .eco-wiki-profile-placeholder { display: grid; width: 100%; min-height: 140px; max-height: 220px; place-items: center; object-fit: cover; color: #d6b455; background: #171208; border: 1px solid rgba(198,154,55,.5); font-size: 2rem; }
.eco-wiki-profile-hero > div > span { color: #d8ba69; font: .49rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-wiki-profile-hero h2 { margin: 7px 0; color: #fff0c9; font: 500 clamp(1.3rem, 3.5vw, 2.4rem)/1.15 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-profile-hero p { margin: 0; color: #c7b999; font-size: .66rem; line-height: 1.5; }
.eco-wiki-profile-content { padding: clamp(11px, 2vw, 16px); background: rgba(0,0,0,.2); border: 1px solid rgba(198,154,55,.18); }
.eco-wiki-profile-content > h3 { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 9px; padding-bottom: 7px; color: #d6b455; border-bottom: 1px dashed rgba(198,154,55,.24); font: .51rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-wiki-profile-content > h3 > span { color: #f3e4be; }
.eco-wiki-profile-content .eco-page-copy { color: #d2c8b4; font: .71rem/1.75 'Source Serif 4', Georgia, serif; white-space: pre-line; }
.eco-wiki-profile-content .eco-page-copy h2, .eco-wiki-profile-content .eco-page-copy h3 { color: #e8c96c; }
.eco-wiki-related-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 7px; }
.eco-wiki-related-item { position: relative; min-width: 0; }
.eco-wiki-related-list > .eco-wiki-related-item > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; align-items: center; height: 100%; padding: 9px 10px; color: #eee2c8; background: linear-gradient(115deg, rgba(198,154,55,.075), rgba(0,0,0,.22)); border: 1px solid rgba(198,154,55,.2); text-decoration: none; transition: background .18s, border-color .18s; }
.eco-wiki-related-list > .eco-wiki-related-item > a:hover, .eco-wiki-related-list > .eco-wiki-related-item > a:focus-visible { color: #fff4d3; background: rgba(198,154,55,.13); border-color: rgba(225,200,117,.65); outline: none; }
.eco-wiki-related-list > .eco-wiki-related-item > a > span { grid-column: 1; color: #c8a854; font: .46rem 'Share Tech Mono', monospace; }
.eco-wiki-related-list > .eco-wiki-related-item > a > strong { grid-column: 1; color: #f3e8d0; font: 500 .7rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-related-list > a > small { grid-column: 1 / -1; color: #a99d84; font-size: .56rem; line-height: 1.5; }
.eco-wiki-related-item > a > small { grid-column: 1 / -1; color: #a99d84; font-size: .56rem; line-height: 1.5; }
.eco-link-graph { margin-top: 12px; padding: 11px; background: rgba(198,154,55,.035); border: 1px solid rgba(198,154,55,.2); }
.eco-link-graph > h3 { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 8px; padding-bottom: 7px; color: #d6b455; border-bottom: 1px dashed rgba(198,154,55,.24); font: .54rem 'Share Tech Mono', monospace; }
.eco-link-graph > h3 > span { color: #f3e4be; }
.eco-link-graph > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 6px; }
.eco-link-graph > div > a, .eco-link-graph-item > a { display: grid; gap: 4px; min-width: 0; padding: 8px; color: #eee2c8; background: rgba(0,0,0,.22); border: 1px solid rgba(198,154,55,.16); text-decoration: none; }
.eco-link-graph > div > a:hover, .eco-link-graph > div > a:focus-visible { color: #fff4d3; border-color: rgba(225,200,117,.65); outline: none; }
.eco-link-graph > div > a > span { color: #c8a854; font: .46rem 'Share Tech Mono', monospace; }
.eco-link-graph > div > a > strong { color: #f3e8d0; font: 500 .7rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-link-graph-item { position: relative; min-width: 0; }
.eco-link-graph-item > a > span { color: #c8a854; font: .46rem 'Share Tech Mono', monospace; }
.eco-link-graph-item > a > strong { color: #f3e8d0; font: 500 .7rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-summary { margin: 0; padding: 10px; color: #eee0bd; background: rgba(198,154,55,.07); border-left: 2px solid #c69a37; font: .68rem/1.6 'Source Serif 4', Georgia, serif; }
.eco-wiki-agent-profile { position: relative; gap: 14px; padding: clamp(12px, 2.2vw, 20px); background: radial-gradient(ellipse at 50% 0, rgba(198,154,55,.1), transparent 50%), linear-gradient(145deg, rgba(18,15,10,.98), rgba(6,6,5,.98)); border-color: rgba(222,184,86,.34); box-shadow: 0 18px 55px rgba(0,0,0,.3), inset 0 1px rgba(255,239,185,.045); }
.eco-wiki-profile-hero.eco-wiki-agent-hero { grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); min-height: 0; gap: 20px; padding: 16px; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 20% 45%, rgba(198,154,55,.14), transparent 62%), linear-gradient(125deg, rgba(23,17,12,.98), rgba(8,7,6,.98) 72%); border: 1px solid rgba(226,190,99,.4); border-bottom: 2px solid rgba(226,190,99,.72); box-shadow: inset 0 0 32px rgba(217,119,6,.035), 0 8px 24px rgba(0,0,0,.28); }
.eco-wiki-agent-hero::before, .eco-wiki-agent-hero::after { position: absolute; z-index: -1; content: ""; pointer-events: none; }
.eco-wiki-agent-hero::before { inset: 10px; border: 1px solid rgba(228,195,112,.13); }
.eco-wiki-agent-hero::after { top: -45%; right: -14%; width: 55%; aspect-ratio: 1; border: 1px solid rgba(228,195,112,.12); border-radius: 50%; box-shadow: 0 0 0 24px rgba(228,195,112,.025), 0 0 0 50px rgba(228,195,112,.02); }
.eco-wiki-agent-portrait { position: relative; align-self: center; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: linear-gradient(145deg, rgba(198,154,55,.18), rgba(15,12,8,.95)); border: 1px solid rgba(235,202,117,.6); box-shadow: 0 12px 34px rgba(0,0,0,.42), 0 0 28px rgba(198,154,55,.12); animation: eco-agent-portrait-in .7s ease-out both; }
.eco-wiki-agent-portrait > img, .eco-wiki-agent-portrait > .eco-wiki-profile-placeholder { position: absolute; inset: 0; display: grid; width: 100%; height: 100%; place-items: center; object-fit: cover; color: #d6b455; background: linear-gradient(145deg, rgba(198,154,55,.18), rgba(15,12,8,.95)); font-size: 3rem; }
.eco-wiki-agent-portrait > img { filter: saturate(.86) contrast(1.04); }
.eco-wiki-agent-portrait-label { position: absolute; right: 9px; bottom: 9px; left: 9px; padding: 7px 9px; color: #f1d990; background: linear-gradient(90deg, rgba(8,7,5,.9), rgba(8,7,5,.54)); border-left: 2px solid #d9b454; font: .46rem 'Share Tech Mono', monospace; letter-spacing: .13em; backdrop-filter: blur(6px); }
.eco-wiki-agent-identity { display: grid; justify-items: start; align-content: center; gap: 9px; }
.eco-wiki-profile-hero.eco-wiki-agent-hero .eco-wiki-agent-kicker { display: inline-flex; align-items: center; gap: 8px; color: #e9ce83; font: .52rem 'Share Tech Mono', monospace; letter-spacing: .13em; }
.eco-wiki-agent-kicker i { width: 5px; height: 5px; background: #dfbd60; border-radius: 50%; box-shadow: 0 0 9px rgba(223,189,96,.7); }
.eco-wiki-profile-hero.eco-wiki-agent-hero .eco-wiki-agent-designation { display: inline-flex; align-items: center; gap: 8px; padding: 6px 9px; color: #c5b99e; background: linear-gradient(100deg, rgba(198,154,55,.13), rgba(198,154,55,.025)); border-left: 2px solid #d9b454; font: .47rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-wiki-agent-designation strong { color: #f0d58e; font-weight: 600; }
.eco-wiki-agent-identity h1 { margin: 1px 0 0; color: #fff2ce; font: 500 clamp(2rem, 5vw, 3.8rem)/1.03 'Source Serif 4', Georgia, serif; letter-spacing: -.025em; text-shadow: 0 3px 24px rgba(222,184,86,.15); overflow-wrap: anywhere; }
.eco-wiki-agent-role { margin: 0; color: #e1c477; font: .74rem 'Share Tech Mono', monospace; letter-spacing: .06em; }
.eco-wiki-agent-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 2px; padding: 6px 9px; color: #b4d794; background: rgba(97,143,62,.11); border: 1px solid rgba(145,190,106,.28); font: .47rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-wiki-agent-status > i { width: 6px; height: 6px; background: currentColor; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
.eco-wiki-agent-status.eco-agent-status-cuarentena { color: #f0c16f; background: rgba(190,124,44,.1); border-color: rgba(226,173,83,.3); }
.eco-wiki-agent-status.eco-agent-status-inactivo, .eco-wiki-agent-status.eco-agent-status-desaparecido { color: #e78c7d; background: rgba(160,58,47,.1); border-color: rgba(219,111,93,.3); }
.eco-wiki-agent-back { display: inline-flex; justify-self: start; align-items: center; gap: 7px; width: fit-content; padding: 7px 10px; color: #c5ae70; background: rgba(14,12,8,.72); border: 1px solid rgba(198,154,55,.25); font: .5rem 'Share Tech Mono', monospace; text-decoration: none; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.eco-wiki-agent-back:hover, .eco-wiki-agent-back:focus-visible { color: #fff0c2; background: rgba(198,154,55,.08); border-color: rgba(198,154,55,.55); outline: none; }
.eco-wiki-agent-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; background: linear-gradient(110deg, rgba(198,154,55,.08), rgba(0,0,0,.22)); border: 1px solid rgba(198,154,55,.22); }
.eco-wiki-agent-stats > div { display: grid; align-content: center; gap: 6px; min-height: 68px; padding: 10px 14px; }
.eco-wiki-agent-stats > div + div { border-left: 1px solid rgba(198,154,55,.17); }
.eco-wiki-agent-stats span { color: #bba567; font: .44rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-wiki-agent-stats strong { color: #f0dfb5; font: 500 .86rem 'Source Serif 4', Georgia, serif; }
.eco-wiki-agent-bio { padding: clamp(14px, 2.5vw, 21px); background: linear-gradient(120deg, rgba(198,154,55,.07), rgba(0,0,0,.2) 65%); }
.eco-wiki-agent-bio .eco-page-copy { font-size: .77rem; }
.eco-wiki-agent-empty { margin: 0; color: #a99d84; font: italic .68rem/1.6 'Source Serif 4', Georgia, serif; }
.eco-wiki-agent-profile > .eco-wiki-profile-content { background: linear-gradient(120deg, rgba(198,154,55,.045), rgba(0,0,0,.22) 55%); border-color: rgba(198,154,55,.23); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.eco-wiki-agent-profile > .eco-wiki-profile-content:hover { background: linear-gradient(120deg, rgba(198,154,55,.08), rgba(0,0,0,.2) 65%); border-color: rgba(222,184,86,.4); transform: translateY(-1px); }
.eco-wiki-agent-profile .eco-wiki-related-list > a { background: linear-gradient(115deg, rgba(198,154,55,.11), rgba(0,0,0,.28)); transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.eco-wiki-agent-profile .eco-wiki-related-list > a:hover, .eco-wiki-agent-profile .eco-wiki-related-list > a:focus-visible { transform: translateY(-2px); }
@keyframes eco-agent-portrait-in { from { opacity: 0; transform: translateY(9px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
    .eco-wiki-agent-portrait { animation: none; }
    .eco-wiki-agent-back, .eco-wiki-agent-profile > .eco-wiki-profile-content, .eco-wiki-agent-profile .eco-wiki-related-list > a { transition: none; }
}
@media (max-width: 700px) {
    .eco-wiki-profile-hero.eco-wiki-agent-hero { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; padding: 14px; }
    .eco-wiki-agent-portrait { width: min(100%, 190px); justify-self: center; }
    .eco-wiki-agent-identity { justify-items: center; gap: 8px; text-align: center; }
    .eco-wiki-agent-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.eco-wiki-definition { padding: 0; border: 0; }

.eco-wiki-page {
    gap: 18px;
    padding-bottom: 30px;
}

.eco-wiki-hero-index {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "copy mark" "stats mark" "search search";
    gap: 18px 30px;
    align-items: center;
    overflow: hidden;
    min-height: 0;
    padding: 26px 30px 23px;
    background-color: #132820;
    background-image: repeating-linear-gradient(0deg, rgba(216,244,222,.025) 0, rgba(216,244,222,.025) 1px, transparent 1px, transparent 5px), linear-gradient(112deg, #19483b 0%, #192e27 54%, #3a2923 100%);
    border: 1px solid rgba(169,224,164,.38);
    border-top: 3px solid #c7df78;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 15px 34px rgba(0,0,0,.24);
}

.eco-wiki-hero-copy { position: relative; z-index: 1; grid-area: copy; }
.eco-wiki-kicker { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #bdedbc; font: .62rem 'Share Tech Mono', monospace; }
.eco-wiki-kicker > i { color: #f2bd73; font-size: 1rem; font-style: normal; }
.eco-wiki-kicker > b { color: #f18c78; font-weight: 500; }
.eco-wiki-hero-index h1 { margin: 10px 0 5px; color: #f1f5df; font: 500 2.65rem/1.05 'Source Serif 4', Georgia, serif; }
.eco-wiki-hero-index .eco-wiki-hero-copy > p { max-width: 560px; margin: 0; color: #d1dace; font-size: .8rem; line-height: 1.6; }
.eco-wiki-hero-stats { display: flex; grid-area: stats; flex-wrap: wrap; gap: 0; width: fit-content; margin: 0; padding-top: 12px; border-top: 1px solid rgba(208,233,197,.22); }
.eco-wiki-hero-stats > span { display: flex; align-items: baseline; gap: 8px; min-width: 145px; color: #bfccbd; font: .5rem 'Share Tech Mono', monospace; }
.eco-wiki-hero-stats > span + span { margin-left: 16px; padding-left: 16px; border-left: 1px solid rgba(208,233,197,.2); }
.eco-wiki-hero-stats strong { color: #f6d18f; font-size: 1.25rem; font-weight: 600; }
.eco-wiki-hero-stats small { color: #bfccbd; font: inherit; }

.eco-wiki-hero-index .eco-wiki-search { position: relative; z-index: 1; grid-area: search; gap: 7px; padding: 10px 12px; background: rgba(7,15,11,.66); border: 1px solid rgba(206,231,181,.25); border-left: 3px solid #f18c78; backdrop-filter: blur(8px); }
.eco-wiki-search > label { color: #dbe9d4; font: .57rem 'Share Tech Mono', monospace; }
.eco-wiki-search > div { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; min-width: 0; padding: 5px 5px 5px 10px; background: #f0f1e7; border: 1px solid rgba(255,255,255,.48); }
.eco-wiki-search-icon { flex: 0 0 auto; color: #50675b; font-size: 1.35rem; line-height: 1; }
.eco-wiki-search input { min-width: 0; flex: 1 1 auto; padding: 8px 2px; color: #202b25; background: transparent; border: 0; font: .76rem 'Source Serif 4', Georgia, serif; }
.eco-wiki-search input:focus { outline: 0; }
.eco-wiki-search > div:focus-within { outline: 2px solid #f6cd8b; outline-offset: 2px; }
.eco-wiki-search input::placeholder { color: #718074; }
.eco-wiki-search button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 36px; padding: 7px 12px; color: #17231d; background: #c7df78; border: 0; cursor: pointer; font: .6rem 'Share Tech Mono', monospace; transition: background .18s, transform .18s; }
.eco-wiki-search button:hover { background: #d4f2ac; transform: translateY(-1px); }
.eco-wiki-search button > span { font-size: 1rem; }
.eco-wiki-search > a { justify-self: start; color: #f5b0a1; font: .58rem 'Share Tech Mono', monospace; text-decoration: none; }
.eco-wiki-search > a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.eco-wiki-hero-index-mark { display: grid; grid-area: mark; justify-items: end; align-content: center; align-self: stretch; min-width: 140px; padding-left: 25px; color: #d4e7a1; border-left: 1px solid rgba(208,233,197,.24); text-align: right; }
.eco-wiki-hero-index-mark > small { color: #d6a574; font: .48rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-wiki-hero-index-mark > strong { color: #f1f1df; font: 500 4.2rem/.95 'Source Serif 4', Georgia, serif; }
.eco-wiki-hero-index-mark > i { color: #a9b9a9; font: normal .44rem 'Share Tech Mono', monospace; letter-spacing: .08em; }

.eco-wiki-hero-detail { border-top: 3px solid var(--wiki-accent, #91d68d); background-image: repeating-linear-gradient(0deg, rgba(216,244,222,.02) 0, rgba(216,244,222,.02) 1px, transparent 1px, transparent 5px), linear-gradient(112deg, #15342e, #19221e 62%, #30201e); }
.eco-wiki-hero-detail > .eco-wiki-kicker { color: var(--wiki-accent, #b9e18f); }
.eco-wiki-hero-detail > h1 { margin: 11px 0 5px; color: #f5f2e5; font: 500 2rem/1.15 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-hero-detail > p { color: #c1cec1; font-size: .78rem; }
.eco-wiki-hero-detail .eco-organization-back { color: #e9c484; }

.eco-wiki-catalog { gap: 24px; }
.eco-wiki-catalog-section { --wiki-accent: #a9de91; padding: 0; background: transparent; border: 0; }
.eco-wiki-catalog-section[data-wiki-type="agente"] { --wiki-accent: #8ed9b7; }
.eco-wiki-catalog-section[data-wiki-type="mision"] { --wiki-accent: #f0b96f; }
.eco-wiki-catalog-section[data-wiki-type="expediente"] { --wiki-accent: #f18170; }
.eco-wiki-catalog-section[data-wiki-type="zona"] { --wiki-accent: #74d1d0; }
.eco-wiki-catalog-section[data-wiki-type="glosario"] { --wiki-accent: #c5df77; }
.eco-wiki-catalog-section[data-wiki-type="clase"] { --wiki-accent: #9bc0e8; }
.eco-wiki-catalog-section[data-wiki-type="registro"] { --wiki-accent: #efaa86; }
.eco-wiki-catalog-section[data-wiki-type="instalacion"] { --wiki-accent: #e4c56f; }
.eco-wiki-catalog-section > header { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 0 0 11px; padding: 0 0 9px; border-bottom: 1px solid color-mix(in srgb, var(--wiki-accent) 40%, transparent); }
.eco-wiki-catalog-section > header > div > span { display: inline-flex; align-items: center; gap: 7px; color: var(--wiki-accent); font: .56rem 'Share Tech Mono', monospace; }
.eco-wiki-catalog-section > header > div > span > i { font-size: .9rem; font-style: normal; }
.eco-wiki-catalog-section > header > div > h2 { margin: 4px 0 0; color: #f2eddd; font: 500 1.15rem 'Source Serif 4', Georgia, serif; }
.eco-wiki-catalog-section > header > b { display: grid; min-width: 34px; height: 30px; place-items: center; padding: 0 7px; color: #111a15; background: var(--wiki-accent); font: .65rem 'Share Tech Mono', monospace; }
.eco-wiki-record-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 215px), 1fr)); gap: 11px; }
.eco-wiki-record-card { position: relative; isolation: isolate; display: flex !important; min-width: 0; aspect-ratio: 1.25; flex-direction: column; justify-content: flex-end; gap: 7px !important; overflow: hidden; padding: 14px !important; color: #fff !important; background: linear-gradient(145deg, color-mix(in srgb, var(--wiki-accent) 27%, #17201b), #10130f 80%) !important; border: 1px solid color-mix(in srgb, var(--wiki-accent) 35%, #25312a) !important; box-shadow: 0 5px 14px rgba(0,0,0,.18); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.eco-wiki-record-card::after { position: absolute; z-index: -1; inset: 20% 0 0; background: linear-gradient(180deg, transparent, rgba(8,12,10,.93)); content: ''; pointer-events: none; }
.eco-wiki-record-card:hover, .eco-wiki-record-card:focus-visible { transform: translateY(-4px); border-color: var(--wiki-accent) !important; box-shadow: 0 14px 28px rgba(0,0,0,.32), 0 0 18px color-mix(in srgb, var(--wiki-accent) 18%, transparent); outline: none; }
.eco-wiki-record-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.eco-wiki-record-card:hover > img, .eco-wiki-record-card:focus-visible > img { transform: scale(1.045); }
.eco-wiki-record-icon { position: absolute; z-index: 0; inset: 0; display: grid; place-items: center; color: color-mix(in srgb, var(--wiki-accent) 78%, white); font-size: 4rem; opacity: .72; }
.eco-wiki-record-card > .eco-wiki-record-code { position: absolute; z-index: 1; top: 10px; left: 10px; display: inline-block; grid-column: auto; padding: 5px 7px; color: var(--wiki-accent); background: rgba(9,14,11,.8); border: 1px solid color-mix(in srgb, var(--wiki-accent) 55%, transparent); font: .5rem 'Share Tech Mono', monospace; }
.eco-wiki-record-card > strong { position: relative; z-index: 1; grid-column: auto; color: #fff8e8; font: 500 1rem/1.25 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-wiki-record-open { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 8px; color: color-mix(in srgb, var(--wiki-accent) 75%, white); font: .48rem 'Share Tech Mono', monospace; }
.eco-wiki-record-open > b { color: #fff0cf; font-size: .9rem; font-weight: 400; transition: transform .18s ease; }
.eco-wiki-record-card:hover .eco-wiki-record-open > b { transform: translate(2px,-2px); }

.eco-wiki-profile[data-wiki-type] { --wiki-accent: #9dde80; border-color: color-mix(in srgb, var(--wiki-accent) 35%, #27271d); }
.eco-wiki-profile[data-wiki-type="agente"] { --wiki-accent: #8ed9b7; }
.eco-wiki-profile[data-wiki-type="mision"] { --wiki-accent: #f0b96f; }
.eco-wiki-profile[data-wiki-type="expediente"] { --wiki-accent: #f18170; }
.eco-wiki-profile[data-wiki-type="zona"] { --wiki-accent: #74d1d0; }
.eco-wiki-profile[data-wiki-type="clase"] { --wiki-accent: #9bc0e8; }
.eco-wiki-profile[data-wiki-type="glosario"] { --wiki-accent: #c5df77; }
.eco-wiki-profile[data-wiki-type] .eco-wiki-profile-hero { border-color: color-mix(in srgb, var(--wiki-accent) 37%, #24241c); }
.eco-wiki-profile[data-wiki-type] .eco-wiki-profile-content > h3 { color: var(--wiki-accent); border-bottom-color: color-mix(in srgb, var(--wiki-accent) 35%, transparent); }
.eco-wiki-profile[data-wiki-type] .eco-wiki-profile-hero > div > span { color: var(--wiki-accent); }

.eco-wiki-glossary-profile {
    --wiki-accent: #c7df78;
    gap: 0;
    padding: clamp(14px, 2.5vw, 24px);
    background: linear-gradient(155deg, #111712, #090c0a 72%);
    border-color: rgba(174,204,113,.34);
    box-shadow: inset 0 1px rgba(238,255,216,.04), 0 20px 50px rgba(0,0,0,.26);
}

.eco-wiki-glossary-hero {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
    gap: clamp(16px, 3vw, 30px);
    align-items: stretch;
    padding-bottom: clamp(18px, 3vw, 28px);
    border-bottom: 1px solid rgba(199,223,120,.25);
}

.eco-wiki-glossary-art {
    position: relative;
    display: grid;
    min-height: 220px;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    color: #c7df78;
    background: radial-gradient(ellipse at 50% 42%, rgba(169,204,94,.18), transparent 62%), #0b100d;
    border: 1px solid rgba(199,223,120,.36);
}

.eco-wiki-glossary-art::after {
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(199,223,120,.14);
    content: '';
    pointer-events: none;
}

.eco-wiki-glossary-art > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.eco-wiki-glossary-art > span {
    color: rgba(199,223,120,.72);
    font-size: 4.5rem;
}

.eco-wiki-glossary-art > small {
    position: absolute;
    z-index: 1;
    right: 10px;
    bottom: 10px;
    left: 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: calc(100% - 20px);
    padding: 6px 8px;
    color: #d3e6a0;
    background: rgba(8,13,10,.88);
    border-left: 2px solid #d6a574;
    font: .45rem 'Share Tech Mono', monospace;
    overflow-wrap: anywhere;
}

.eco-wiki-glossary-art > small > i {
    width: 5px;
    height: 5px;
    flex: 0 0 auto;
    background: #d6a574;
    border-radius: 50%;
}

.eco-wiki-glossary-heading {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
}

.eco-wiki-glossary-heading .eco-wiki-agent-back {
    margin-bottom: 4px;
    color: #bdd28a;
    border-color: rgba(199,223,120,.23);
}

.eco-wiki-glossary-category {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    color: #161d12;
    background: #c7df78;
    font: .48rem 'Share Tech Mono', monospace;
    text-transform: uppercase;
}

.eco-wiki-glossary-eyebrow {
    color: #d2a579;
    font: .52rem 'Share Tech Mono', monospace;
    letter-spacing: .08em;
}

.eco-wiki-glossary-heading h1 {
    max-width: 100%;
    margin: 0;
    color: #f1f1df;
    font: 500 clamp(1.8rem, 3.5vw, 3rem)/1.08 'Source Serif 4', Georgia, serif;
    overflow-wrap: anywhere;
}

.eco-wiki-glossary-rule {
    display: block;
    width: min(100%, 180px);
    height: 2px;
    background: linear-gradient(90deg, #c7df78, #d6a574 65%, transparent);
}

.eco-wiki-glossary-definition {
    max-width: 900px;
    padding: clamp(18px, 3vw, 30px) 0;
}

.eco-wiki-glossary-definition > header,
.eco-wiki-glossary-article > header {
    display: flex;
    align-items: baseline;
    gap: 11px;
    margin-bottom: 11px;
}

.eco-wiki-glossary-definition > header > span {
    color: #d6a574;
    font: .58rem 'Share Tech Mono', monospace;
}

.eco-wiki-glossary-definition h2,
.eco-wiki-glossary-article h2 {
    margin: 0;
    color: #d8e8ae;
    font: 500 1.18rem 'Source Serif 4', Georgia, serif;
}

.eco-wiki-glossary-definition .eco-page-copy,
.eco-wiki-glossary-article .eco-page-copy {
    color: #dddccf;
    font: .82rem/1.82 'Source Serif 4', Georgia, serif;
    overflow-wrap: anywhere;
}

.eco-wiki-glossary-definition .eco-page-copy > :first-child,
.eco-wiki-glossary-article .eco-page-copy > :first-child { margin-top: 0; }
.eco-wiki-glossary-definition .eco-page-copy > :last-child,
.eco-wiki-glossary-article .eco-page-copy > :last-child { margin-bottom: 0; }

.eco-wiki-glossary-article {
    padding: 17px 0 19px;
    border-top: 1px dashed rgba(199,223,120,.24);
}

.eco-wiki-glossary-article > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
}

.eco-wiki-glossary-article > header > span {
    color: #d6a574;
    font: .46rem 'Share Tech Mono', monospace;
}

.eco-wiki-glossary-profile .eco-link-graph {
    margin-top: 8px;
    border-color: rgba(199,223,120,.23);
}

@media (max-width: 700px) {
    .eco-wiki-glossary-hero { grid-template-columns: minmax(0, 1fr); }
    .eco-wiki-glossary-art { width: min(100%, 420px); min-height: 0; justify-self: center; }
    .eco-wiki-glossary-heading { gap: 9px; }
    .eco-wiki-glossary-heading h1 { font-size: 1.9rem; }
}

@media (max-width: 760px) {
    .eco-wiki-hero-index { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "copy mark" "stats stats" "search search"; gap: 16px 18px; min-height: 0; padding: 20px; }
    .eco-wiki-hero-index h1 { font-size: 2rem; }
    .eco-wiki-hero-index .eco-wiki-search { max-width: none; }
    .eco-wiki-hero-index-mark { min-width: 86px; padding-left: 14px; }
    .eco-wiki-hero-index-mark > strong { font-size: 3rem; }
    .eco-wiki-hero-stats { width: 100%; }
}

@media (max-width: 520px) {
    .eco-wiki-hero-index { padding: 16px; }
    .eco-wiki-hero-index { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "stats" "search"; }
    .eco-wiki-hero-index-mark { display: none; }
    .eco-wiki-hero-index .eco-wiki-search { padding: 10px; }
    .eco-wiki-search > div { flex-wrap: wrap; }
    .eco-wiki-search input { flex-basis: calc(100% - 44px); }
    .eco-wiki-search button { width: 100%; justify-content: center; }
    .eco-wiki-hero-stats { gap: 14px; }
    .eco-wiki-hero-detail > h1 { font-size: 1.55rem; }
    .eco-wiki-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .eco-wiki-record-card { aspect-ratio: .92; padding: 10px !important; }
    .eco-wiki-record-card > strong { font-size: .82rem; }
    .eco-wiki-record-card > .eco-wiki-record-code { top: 7px; left: 7px; max-width: calc(100% - 14px); overflow-wrap: anywhere; font-size: .43rem; }
    .eco-wiki-record-open { font-size: .4rem; }
}

@media (prefers-reduced-motion: reduce) {
    .eco-wiki-record-card, .eco-wiki-record-card > img, .eco-wiki-record-open > b, .eco-wiki-search button { transition: none; }
}
.eco-wiki-article { margin-top: 9px; padding-top: 9px; border-top: 1px dashed rgba(198,154,55,.2); }
.eco-agent-profile-copy { color: inherit; }
.eco-agent-profile-copy .wiki-link, .eco-page-copy .wiki-link { color: #dfbd60; text-decoration-color: rgba(223,189,96,.55); text-underline-offset: 2px; }
.eco-agent-profile-copy .wiki-link:hover, .eco-page-copy .wiki-link:hover { color: #fff0b8; }
.eco-organization-page .eco-agent-wiki-link { grid-column: 1 / -1; justify-self: start; display: inline-flex; padding: 7px 10px; color: #f0d58b; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.32); font: .48rem 'Share Tech Mono', monospace; text-decoration: none; }
.eco-organization-page .eco-agent-wiki-link:hover, .eco-organization-page .eco-agent-wiki-link:focus-visible { color: #fff1c8; background: rgba(198,154,55,.15); border-color: rgba(198,154,55,.7); outline: none; }
.eco-class-group { margin: 15px 0; }
.eco-class-group > header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 8px; padding: 0 3px 7px; border-bottom: 1px solid rgba(198,154,55,.28); }
.eco-class-group > header > span { color: var(--muted); font-size: .53rem; }
.eco-class-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.eco-class-entry { display: grid; align-content: start; gap: 7px; min-width: 0; }
.eco-class-card { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 5px 9px; min-width: 0; padding: 12px; color: var(--cream); background: rgba(12,9,7,.93); border: 1px solid rgba(198,154,55,.3); text-decoration: none; transition: border-color .18s, transform .18s; }
.eco-class-card:hover, .eco-class-card:focus-visible { border-color: var(--eco-gold); outline: none; transform: translateY(-2px); }
.eco-class-secundaria { border-color: rgba(52,152,219,.42); }
.eco-class-no-estandar { border-color: rgba(155,89,182,.42); }
.eco-class-meta { grid-column: 1 / -1; color: var(--eco-gold); font-size: .5rem; letter-spacing: .08em; }
.eco-class-secundaria .eco-class-meta { color: var(--eco-blue); }
.eco-class-no-estandar .eco-class-meta { color: var(--eco-purple); }
.eco-class-icon { grid-row: 2 / span 2; display: grid; width: 30px; height: 30px; place-items: center; color: var(--eco-gold); border: 1px solid rgba(198,154,55,.26); font-size: 1rem; }
.eco-class-secundaria .eco-class-icon { color: var(--eco-blue); border-color: rgba(52,152,219,.35); }
.eco-class-no-estandar .eco-class-icon { color: #c18bd9; border-color: rgba(155,89,182,.36); }
.eco-class-card h3 { margin: 0; color: #fff; font: 500 .9rem 'Source Serif 4', Georgia, serif; }
.eco-class-card p { grid-column: 2; margin: 0; color: #b9b2a7; font: .64rem/1.55 'Source Serif 4', Georgia, serif; }
.eco-class-count { grid-column: 2; display: flex; justify-content: space-between; margin-top: 4px; padding-top: 5px; color: var(--eco-gold); border-top: 1px dashed rgba(198,154,55,.2); font-size: .5rem; letter-spacing: .07em; }
.eco-class-count b { font-size: .78rem; }
.eco-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin-bottom: 10px; padding: 10px; background: rgba(12,9,7,.9); border: 1px solid rgba(198,154,55,.24); }
.eco-filter-bar label { display: grid; flex: 1 1 130px; gap: 5px; min-width: 0; color: #d0ae55; font-size: .55rem; }
.eco-filter-bar select { width: 100%; min-width: 0; padding: 8px; color: var(--cream); background: #090807; border: 1px solid rgba(198,154,55,.32); font-size: .65rem; }
.eco-dossier-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.eco-dossier-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; color: var(--cream); background: linear-gradient(155deg, rgba(23,18,10,.98), rgba(9,8,7,.98) 70%); border: 1px solid rgba(198,154,55,.24); box-shadow: 0 7px 20px rgba(0,0,0,.18); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.eco-dossier-card:hover, .eco-dossier-card:focus-within { border-color: rgba(224,187,95,.8); box-shadow: 0 10px 27px rgba(0,0,0,.34), 0 0 18px rgba(198,154,55,.08); outline: none; transform: translateY(-3px); }
.eco-dossier-card-visual { position: relative; display: flex; min-height: 142px; align-items: flex-end; overflow: hidden; padding: 12px; background: radial-gradient(ellipse at 50% 85%, rgba(198,154,55,.19), transparent 60%), #100e09; text-decoration: none; }
.eco-dossier-card-visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,6,5,.58), transparent 38%, rgba(7,6,5,.76)); content: ""; pointer-events: none; }
.eco-dossier-card-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: transform .45s ease, opacity .3s ease; }
.eco-dossier-card:hover .eco-dossier-card-visual > img, .eco-dossier-card:focus-within .eco-dossier-card-visual > img { opacity: .96; transform: scale(1.045); }
.eco-dossier-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(224,187,95,.48); font: 500 2rem 'Share Tech Mono', monospace; letter-spacing: .2em; }
.eco-dossier-card-topline { position: absolute; z-index: 1; top: 10px; right: 10px; left: 10px; display: flex; justify-content: flex-end; gap: 8px; color: #f1d78d; font: .5rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-dossier-card-topline span { padding: 5px 7px; background: rgba(8,7,5,.75); border: 1px solid rgba(224,187,95,.35); }
.eco-dossier-card-class { position: relative; z-index: 1; max-width: 100%; padding: 4px 7px; color: #f1d78d; background: rgba(8,7,5,.78); border-left: 2px solid var(--eco-gold); font: .48rem 'Share Tech Mono', monospace; letter-spacing: .1em; overflow-wrap: anywhere; }
.eco-dossier-card-body { display: flex; min-width: 0; flex: 1; flex-direction: column; padding: 12px 13px 10px; }
.eco-dossier-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.eco-dossier-card-heading h2 { margin: 0; color: #f8f4e9; font: 500 1rem/1.3 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-dossier-card-heading h2 > a { color: inherit; text-decoration: none; }
.eco-dossier-card-heading h2 > a:hover, .eco-dossier-card-heading h2 > a:focus-visible { color: #f1d78d; text-decoration: underline; text-decoration-color: rgba(241,215,141,.45); text-underline-offset: 3px; outline: none; }
.eco-dossier-card-heading > span { flex: 0 0 auto; color: rgba(224,187,95,.7); font-size: .95rem; transition: color .2s ease, transform .2s ease; }
.eco-dossier-card:hover .eco-dossier-card-heading > span, .eco-dossier-card:focus-within .eco-dossier-card-heading > span { color: #f1d78d; transform: translate(2px,-2px); }
.eco-dossier-card-body > p { display: -webkit-box; min-height: 2.8em; margin: 7px 0 12px; overflow: hidden; color: #aaa393; font: .65rem/1.45 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.eco-dossier-card-body > footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; border-top: 1px solid rgba(198,154,55,.18); }
.eco-dossier-card-status { display: inline-flex; align-items: center; gap: 6px; color: #d5cba9; font: .49rem 'Share Tech Mono', monospace; letter-spacing: .05em; text-transform: uppercase; }
.eco-dossier-card-status i { width: 6px; height: 6px; flex: 0 0 auto; background: #b99a50; border-radius: 50%; box-shadow: 0 0 7px currentColor; }
.eco-dossier-card-country { min-width: 0; color: #8f887a; font: .5rem 'Share Tech Mono', monospace; text-align: right; overflow-wrap: anywhere; }
.eco-dossier-card.eco-dossier-class-primaria, .eco-terminal-scope.eco-dossier-class-primaria, .eco-dossier-class-badge.eco-dossier-class-primaria { --dossier-class-color: #d4a83f; --dossier-class-glow: rgba(212,168,63,.28); }
.eco-dossier-card.eco-dossier-class-secundaria, .eco-terminal-scope.eco-dossier-class-secundaria, .eco-dossier-class-badge.eco-dossier-class-secundaria { --dossier-class-color: #54b9ee; --dossier-class-glow: rgba(84,185,238,.3); }
.eco-dossier-card.eco-dossier-class-no-estandar, .eco-terminal-scope.eco-dossier-class-no-estandar, .eco-dossier-class-badge.eco-dossier-class-no-estandar { --dossier-class-color: #c17ae0; --dossier-class-glow: rgba(193,122,224,.3); }
.eco-dossier-card.eco-dossier-class-sin-clasificar, .eco-terminal-scope.eco-dossier-class-sin-clasificar, .eco-dossier-class-badge.eco-dossier-class-sin-clasificar { --dossier-class-color: #b2aaa0; --dossier-class-glow: rgba(178,170,160,.22); }
.eco-dossier-card[class*="eco-dossier-class-"] { border: 2px solid var(--dossier-class-color, #b2aaa0); box-shadow: inset 0 0 0 1px rgba(0,0,0,.65), 0 0 13px var(--dossier-class-glow, rgba(178,170,160,.22)), 0 8px 22px rgba(0,0,0,.32); }
.eco-dossier-card[class*="eco-dossier-class-"]:hover, .eco-dossier-card[class*="eco-dossier-class-"]:focus-visible { border-color: var(--dossier-class-color, #b2aaa0); box-shadow: inset 0 0 0 1px rgba(0,0,0,.5), 0 0 22px var(--dossier-class-glow, rgba(178,170,160,.22)), 0 12px 28px rgba(0,0,0,.42); }
.eco-dossier-card[class*="eco-dossier-class-"] .eco-dossier-card-visual { border-bottom: 1px solid var(--dossier-class-color, #b2aaa0); }
.eco-dossier-card-identity { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; }
.eco-dossier-card-code { display: inline-flex; min-height: 44px; align-items: center; padding: 5px 10px; color: #fff2c2 !important; background: rgba(9,8,7,.94) !important; border: 1px solid var(--dossier-class-color, #b2aaa0) !important; box-shadow: 0 0 10px var(--dossier-class-glow, rgba(178,170,160,.22)); font: 700 .58rem 'Share Tech Mono', monospace; letter-spacing: .08em; text-shadow: 0 0 8px var(--dossier-class-glow, rgba(178,170,160,.22)); }
.eco-dossier-card-access { color: #d9d5cc; }
.eco-dossier-card-class { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; max-width: 100%; padding: 5px 10px 5px 6px; color: var(--dossier-class-color, #b2aaa0); background: rgba(8,7,5,.9); border: 1px solid var(--dossier-class-color, #b2aaa0); border-left-width: 1px; box-shadow: 0 0 10px var(--dossier-class-glow, rgba(178,170,160,.22)); font-size: .58rem; font-weight: 700; letter-spacing: .08em; overflow-wrap: anywhere; }
.eco-dossier-card-class i { display: inline-grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; color: var(--dossier-class-color, #b2aaa0); background: rgba(5,4,3,.86); border: 1px solid var(--dossier-class-color, #b2aaa0); box-shadow: inset 0 0 8px var(--dossier-class-glow, rgba(178,170,160,.22)); font-size: 1.35rem; font-style: normal; line-height: 1; }
.eco-dossier-card[class*="eco-dossier-class-"] .eco-dossier-card-heading h2 { color: #fff5d7; text-shadow: 0 1px 8px rgba(0,0,0,.8); }
.eco-dossier-card-body > p { min-height: 0; color: #d0c8b9; text-align: justify; text-justify: inter-word; -webkit-line-clamp: 4; }
.eco-dossier-card-body > footer { border-top-color: var(--dossier-class-glow, rgba(198,154,55,.18)); }
.eco-dossier-card-status { color: #e9dfc5; }
.eco-dossier-card-status i { background: var(--dossier-class-color, #b99a50); box-shadow: 0 0 9px var(--dossier-class-color, #b99a50); }
.eco-card-meta { color: #d0ae55; font-size: .48rem; letter-spacing: .04em; overflow-wrap: anywhere; }
.eco-dossier-badges { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.eco-dossier-badges span, .eco-dossier-badges i { padding: 3px 5px; color: #d8c27e; border: 1px solid rgba(198,154,55,.2); font-size: .48rem; font-style: normal; letter-spacing: .03em; }
.eco-dossier-badges .eco-dossier-class-badge { display: inline-flex; align-items: center; gap: 5px; color: var(--dossier-class-color, #d8c27e); background: rgba(198,154,55,.08); border-color: var(--dossier-class-color, #d8c27e); }
.eco-dossier-class-badge i { padding: 0; color: inherit; border: 0; font-size: .78rem; }
.eco-dossier-detail > section .eco-page-copy { text-align: justify; text-justify: inter-word; }
.eco-dossier-detail > .chapter-audio-player { width: 100%; max-width: none; margin-bottom: 0; }
.eco-dossier-heading { display: flex; justify-content: space-between; gap: 8px; color: var(--eco-gold); font-size: .58rem; letter-spacing: .08em; }
.eco-dossier-summary { margin: 0; padding: 9px; color: #e5d5ac; background: rgba(198,154,55,.07); border-left: 2px solid var(--eco-gold); font: .75rem/1.6 'Source Serif 4', Georgia, serif; text-align: justify;}
.eco-dossier-detail > section { padding-top: 9px; border-top: 1px dashed rgba(198,154,55,.22); }
.eco-dossier-detail > section h3 { margin: 0 0 7px; color: #d4b75e; font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.eco-dossier-image { width: min(100%, 280px); max-height: 300px; justify-self: center; object-fit: cover; border: 1px solid rgba(198,154,55,.3); }
.eco-terminal-scope { width: 100%; min-width: 0; margin: 2px 0 8px; color: #fff; font-family: 'Share Tech Mono', 'Courier New', monospace; }
.eco-terminal-scope *, .eco-terminal-scope *::before, .eco-terminal-scope *::after { box-sizing: border-box; }
.eco-terminal-frame { position: relative; min-height: 320px; overflow: hidden; padding: clamp(14px, 3vw, 22px); background: #090807; border: 2px solid #ffb000; box-shadow: 0 0 25px rgba(255,176,0,.22); }
.eco-terminal-scope[class*="eco-dossier-class-"] .eco-terminal-frame { border: 3px solid var(--dossier-class-color, #b2aaa0); box-shadow: 0 0 26px var(--dossier-class-glow, rgba(178,170,160,.22)), inset 0 0 0 1px rgba(0,0,0,.8); }
.eco-terminal-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: ecoDossierCoverDrift 20s ease-in-out infinite alternate; }
@keyframes ecoDossierCoverDrift { from { transform: scale(1) translate3d(-.35%, .25%, 0); } to { transform: scale(1.08) translate3d(.6%, -.45%, 0); } }
.eco-terminal-frame::after { position: absolute; inset: 0; background: rgba(3,3,3,.72); content: ""; pointer-events: none; }
.eco-terminal-content { position: relative; z-index: 1; display: flex; min-height: 276px; flex-direction: column; justify-content: space-between; gap: 17px; }
.eco-terminal-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 9px; color: #ffb000; border-bottom: 1px solid rgba(255,176,0,.5); font-size: .62rem; letter-spacing: .1em; }
.eco-terminal-header strong { color: inherit; font-weight: 700; }
.eco-terminal-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; }
.eco-terminal-left, .eco-terminal-right { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: 12px; }
.eco-terminal-box { position: relative; min-width: 0; padding: 12px; background: rgba(6,6,6,.88); border: 1px solid #ffb000; box-shadow: 3px 3px 0 rgba(255,176,0,.18); }
.eco-terminal-box::after { position: absolute; right: 2px; bottom: 2px; width: 4px; height: 4px; background: #ffb000; content: ""; }
.eco-terminal-label { display: block; margin-bottom: 6px; color: #fff; font-size: .52rem; letter-spacing: .07em; text-shadow: 0 0 5px rgba(255,255,255,.3); overflow-wrap: anywhere; }
.eco-terminal-value, .eco-terminal-warning { color: #ffb000; font-size: 1rem; font-weight: 700; letter-spacing: .04em; text-shadow: 0 0 8px rgba(255,176,0,.5); overflow-wrap: anywhere; }
.eco-terminal-warning { color: #ffaa00; }
.eco-terminal-threat { display: flex; min-height: 94px; align-items: center; justify-content: space-between; gap: 10px; }
.eco-terminal-icon { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; color: #ffb000; background: #000; border: 2px solid #ffb000; border-radius: 50%; }
.eco-terminal-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.eco-terminal-row .eco-terminal-label { margin: 0; }
.eco-terminal-level { flex: 0 0 auto; padding: 2px 5px; color: #ffaa00; background: #000; border: 1px solid #ffaa00; font-size: .5rem; font-weight: 700; letter-spacing: .04em; }
.eco-terminal-bar { height: 6px; margin-top: 8px; overflow: hidden; background: rgba(255,176,0,.1); border: 1px solid rgba(255,176,0,.4); }
.eco-terminal-bar span { display: block; height: 100%; background: #ffaa00; box-shadow: 0 0 6px #ffaa00; }
.eco-terminal-range { display: flex; justify-content: space-between; gap: 8px; margin-top: 4px; color: rgba(255,255,255,.75); font-size: .46rem; text-transform: uppercase; }
.eco-terminal-range span { max-width: 50%; overflow-wrap: anywhere; }
.eco-terminal-diamond-wrap { display: flex; min-height: 132px; align-items: center; justify-content: center; padding: 10px 36px; }
.eco-terminal-diamond { position: relative; display: flex; width: 88px; height: 88px; align-items: center; justify-content: center; background: rgba(0,0,0,.88); border: 2px solid #ffaa00; box-shadow: 0 0 15px rgba(255,170,0,.2); transform: rotate(45deg); }
.eco-terminal-diamond-inner { position: absolute; inset: 5px; overflow: hidden; background: repeating-linear-gradient(45deg, rgba(255,170,0,.04), rgba(255,170,0,.04) 4px, transparent 4px, transparent 8px); border: 1px solid rgba(255,170,0,.3); }
.eco-terminal-diamond-inner::after { position: absolute; top: -100%; left: 0; width: 100%; height: 100%; background: linear-gradient(transparent, rgba(255,170,0,.25), transparent); animation: ecoTerminalScan 3s linear infinite; content: ""; }
.eco-terminal-stat-icon { position: absolute; z-index: 1; font-size: .65rem; animation: ecoTerminalPulse 2s ease-in-out infinite; }
.eco-terminal-stat-icon-one { top: 4px; transform: rotate(-45deg); }
.eco-terminal-stat-icon-two { right: 4px; transform: rotate(-45deg); animation-delay: .6s; }
.eco-terminal-stat-icon-three { bottom: 4px; transform: rotate(-45deg); animation-delay: 1.2s; }
.eco-terminal-memo { position: absolute; z-index: 2; top: 50%; right: -48px; padding: 2px 5px; color: #ffaa00; background: #000; border: 1px solid #ffaa00; font-size: .42rem; letter-spacing: .05em; text-shadow: 0 0 4px rgba(255,170,0,.5); white-space: nowrap; transform: translateY(-50%) rotate(-45deg); }
.eco-terminal-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding-top: 10px; border-top: 1px solid rgba(255,176,0,.45); }
.eco-terminal-footer > div { min-width: 0; padding: 7px; background: rgba(6,6,6,.8); border: 1px solid rgba(255,176,0,.3); }
.eco-terminal-footer > div:last-child { text-align: right; }
.eco-terminal-footer .eco-terminal-label { margin-bottom: 2px; }
.eco-terminal-footer strong { display: block; color: #ffb000; font-size: .67rem; text-shadow: 0 0 6px rgba(255,176,0,.5); overflow-wrap: anywhere; }
.eco-terminal-clearance { color: rgba(255,255,255,.7); font-size: .46rem; letter-spacing: .08em; text-align: right; }
@keyframes ecoTerminalScan { to { top: 100%; } }
@keyframes ecoTerminalPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; text-shadow: 0 0 8px #ffaa00; } }
@media (min-width: 730px) {
    .eco-terminal-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
    .eco-terminal-left, .eco-terminal-diamond-wrap, .eco-terminal-right { grid-column: span 4; }
    .eco-terminal-diamond-wrap { min-height: 0; padding: 10px; }
    .eco-terminal-diamond { width: 82px; height: 82px; }
    .eco-terminal-footer { display: flex; align-items: center; justify-content: space-between; }
    .eco-terminal-footer > div { padding: 0; background: transparent; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .eco-terminal-background, .eco-terminal-diamond-inner::after, .eco-terminal-stat-icon { animation: none; }
}
.eco-mission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.eco-mission-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; background: linear-gradient(145deg, rgba(20,16,10,.98), rgba(8,7,6,.98)); border: 1px solid rgba(198,154,55,.34); box-shadow: 0 8px 26px rgba(0,0,0,.5), inset 0 1px rgba(255,239,185,.035); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.eco-mission-card:hover { border-color: rgba(229,190,92,.8); box-shadow: 0 14px 34px rgba(0,0,0,.65), 0 0 18px rgba(198,154,55,.14); transform: translateY(-4px); }
.eco-mission-card-cover { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 8.5; background: #100c09; border-bottom: 1px solid rgba(198,154,55,.38); }
.eco-mission-card-cover::after { position: absolute; inset: 25% 0 0; background: linear-gradient(180deg, transparent, rgba(5,3,2,.67)); content: ""; pointer-events: none; }
.eco-mission-card-cover > img, .eco-mission-card-placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 9px; object-fit: cover; transition: transform .35s ease; }
.eco-mission-card:hover .eco-mission-card-cover > img { transform: scale(1.04); }
.eco-mission-card-placeholder { color: #d2b25c; background: radial-gradient(ellipse at center, rgba(198,154,55,.17), transparent 65%), repeating-linear-gradient(0deg, #0c0907 0, #0c0907 3px, #100c09 4px); }
.eco-mission-card-placeholder > b { font-size: 2.4rem; text-shadow: 0 0 16px rgba(198,154,55,.42); }
.eco-mission-card-placeholder > small { color: #d6b455; font: .52rem 'Share Tech Mono', monospace; letter-spacing: .12em; }
.eco-mission-card-code, .eco-mission-card-status { position: absolute; z-index: 1; top: 12px; padding: 7px 10px; color: #fff1ce; background: rgba(5,3,2,.88); border: 1px solid rgba(229,190,92,.55); font: .59rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-mission-card-code { left: 12px; }
.eco-mission-card-status { right: 12px; }
.eco-mission-card-status.eco-mission-status-en-curso { color: #c2dfa7; border-color: rgba(145,190,106,.48); }
.eco-mission-card-status.eco-mission-status-restringido { color: #f0c16f; border-color: rgba(226,173,83,.52); }
.eco-mission-card-content { display: flex; min-height: 275px; align-items: stretch; flex: 1; flex-direction: column; padding: clamp(16px, 2vw, 22px); }
.eco-mission-card-heading { margin-bottom: 15px; }
.eco-mission-card-eyebrow { display: block; margin-bottom: 6px; color: #c7a959; font: .58rem 'Share Tech Mono', monospace; letter-spacing: .14em; }
.eco-mission-card h2 { margin: 0; font: 500 clamp(1.2rem, 2.1vw, 1.55rem)/1.25 'Source Serif 4', Georgia, serif; }
.eco-mission-card h2 a { color: #fff1cf; text-decoration: none; }
.eco-mission-card h2 a:hover { color: #f0d58e; }
.eco-mission-card-facts { display: grid; gap: 9px; margin-bottom: 12px; padding: 12px; background: linear-gradient(110deg, rgba(198,154,55,.09), rgba(0,0,0,.18)); border: 1px solid rgba(198,154,55,.18); }
.eco-mission-card-facts > div { display: grid; grid-template-columns: minmax(92px, .33fr) minmax(0, 1fr); gap: 10px; align-items: baseline; }
.eco-mission-card-facts > div > span { color: #c5a75b; font: .58rem 'Share Tech Mono', monospace; letter-spacing: .07em; }
.eco-mission-card-facts > div > strong { color: #eee4d0; font: 500 .78rem/1.5 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-mission-card-dossier { position: relative; align-self: flex-start; max-width: 100%; margin: 0 0 8px; padding: 6px 8px; color: #d8bc72; background: rgba(198,154,55,.08); border-left: 2px solid rgba(198,154,55,.7); font: .56rem 'Share Tech Mono', monospace; letter-spacing: .05em; overflow-wrap: anywhere; }
.eco-mission-card-dossier > a { display: grid; gap: 4px; color: inherit; text-decoration: none; }
.eco-mission-card-dossier > a:hover, .eco-mission-card-dossier > a:focus-visible { color: #fff1c9; text-decoration: underline; text-underline-offset: 3px; }
.eco-mission-card-dossier strong { color: #f2dfaa; font-weight: 500; }
.eco-mission-card .eco-mission-card-summary { margin: 4px 0 16px; color: #d0c6b4; font: .82rem/1.7 'Source Serif 4', Georgia, serif; }
.eco-mission-card-link { display: flex; justify-content: space-between; gap: 8px; width: 100%; margin-top: auto; padding-top: 12px; color: #e0c16a; border-top: 1px dashed rgba(198,154,55,.36); font: .61rem 'Share Tech Mono', monospace; letter-spacing: .1em; text-decoration: none; }
.eco-mission-card-link:hover { color: #fff1c9; }
.eco-mission-grid + .eco-empty { margin-top: 10px; }
@media (max-width: 560px) {
    .eco-mission-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-mission-card-content { min-height: 0; }
    .eco-mission-card-facts > div { grid-template-columns: minmax(82px, .32fr) minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .eco-mission-card, .eco-mission-card-cover > img { transition: none; }
}
.eco-mission-detail { gap: 0; overflow: hidden; padding: 0; }
.eco-mission-detail .eco-page-copy { display: flow-root; padding-top: 8px; }
.eco-empty { margin: 0; padding: 18px 12px; color: var(--muted); background: rgba(12,9,7,.8); border: 1px dashed rgba(198,154,55,.3); font-size: .68rem; line-height: 1.6; text-align: center; }
.eco-admin-shortcuts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.eco-admin-hub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.eco-admin-hub-section { min-width: 0; padding: 12px; background: linear-gradient(145deg, rgba(25,18,11,.94), rgba(9,8,7,.94)); border: 1px solid rgba(217,119,6,.26); }
.eco-admin-hub-section h2 { margin: 0 0 9px; padding-bottom: 7px; color: #f4d28a; border-bottom: 1px solid rgba(217,119,6,.22); font-size: .8rem; letter-spacing: .08em; }
.eco-admin-hub-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); gap: 6px; }
.eco-admin-hub-links a { display: flex; min-width: 0; justify-content: space-between; gap: 8px; align-items: center; padding: 9px 10px; color: #eee4d0; background: rgba(0,0,0,.24); border: 1px solid rgba(217,119,6,.14); text-decoration: none; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.eco-admin-hub-links a span { flex: 0 0 auto; color: #d6a94e; }
.eco-admin-hub-links a:hover, .eco-admin-hub-links a:focus-visible { color: #fff; background: rgba(217,119,6,.1); border-color: rgba(217,119,6,.48); outline: none; }
.eco-admin-hub-section:first-child, .eco-admin-hub-section:nth-child(2) { grid-column: span 1; }
.eco-admin-hub-section:last-child { grid-column: 1 / -1; }
.eco-admin-hub-section:last-child .eco-admin-hub-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.eco-admin-page > .admin-section-story-heading { grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: start; }
.eco-admin-page > .admin-section-story-heading > h1 { margin: 0; color: #fff; font: 600 clamp(1.25rem, 3vw, 1.8rem)/1.2 'Source Serif 4', Georgia, serif; }
.eco-admin-page > .admin-section-story-heading > p { max-width: 760px; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.eco-admin-page > .admin-section-story-heading > .eco-admin-shortcuts { margin-top: 5px; }
.eco-admin-content { margin-top: 12px; }
.eco-admin-content > .muted { font-size: .66rem; line-height: 1.5; }
.eco-admin-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.eco-admin-page-form { align-content: start; padding: 10px; background: rgba(0,0,0,.2); border: 1px solid var(--border); }
.eco-admin-page-form h3 { grid-column: 1 / -1; margin: 0; color: #fff; font: 500 .86rem 'Source Serif 4', Georgia, serif; }
.eco-admin-page-form textarea { width: 100%; max-width: 100%; color: var(--cream); background: #090807; border: 1px solid var(--border); font-size: .68rem; line-height: 1.5; }
.eco-admin-page-form .btn { justify-self: start; }
.eco-admin-columns { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; align-items: start; }
.eco-dossier-admin-layout { grid-template-columns: minmax(0, 1fr); }
.eco-missions-admin-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.eco-mission-editor-panel { min-width: 0; padding: clamp(13px, 2.5vw, 22px); }
.eco-mission-editor-panel > .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.eco-mission-agent-picker { min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--border); }
.eco-mission-agent-picker legend { padding: 0 5px; color: var(--cream); font-size: .68rem; }
.eco-mission-agent-help { margin: 0 0 7px; color: var(--muted); font-size: .62rem; }
.eco-mission-agent-options { display: grid; max-height: 260px; gap: 5px; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
.eco-mission-agent-options > li { min-width: 0; }
.eco-mission-agent-options > li > label { display: flex; min-height: 48px; gap: 10px; align-items: center; padding: 8px 10px; background: rgba(0,0,0,.2); border: 1px solid rgba(198,154,55,.17); cursor: pointer; }
.eco-mission-agent-options > li:has(input:checked) > label { border-color: rgba(198,154,55,.65); background: rgba(198,154,55,.08); }
.eco-mission-agent-options > li > label:focus-within { outline: 2px solid var(--eco-gold); outline-offset: 1px; }
.eco-mission-agent-options input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--eco-gold); }
.eco-mission-agent-options span { display: grid; gap: 3px; }
.eco-mission-agent-options strong { color: #fff; font-size: .66rem; }
.eco-mission-agent-options small { color: var(--muted); font-size: .54rem; }
.eco-mission-report-field, .eco-mission-rich-editor { min-width: 0; width: 100%; }
.eco-rich-editor.eco-mission-rich-editor .rich-editor-surface { min-height: 560px; max-height: none; }
.eco-mission-rich-editor .eco-rich-source { min-height: 560px; width: 100%; max-width: 100%; }
.eco-mission-editor-panel .eco-editor-actions { grid-column: 1 / -1; }
.eco-admin-columns > .panel { min-width: 0; }
.eco-admin-record-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.eco-admin-record-list > li { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-width: 0; padding: 9px; background: rgba(0,0,0,.2); border: 1px solid var(--border); }
.eco-admin-record-list > li > div { display: grid; gap: 4px; min-width: 0; }
.eco-admin-record-list strong { color: #fff; font-size: .66rem; overflow-wrap: anywhere; }
.eco-admin-record-list small, .eco-admin-record-list p { margin: 0; color: var(--muted); font-size: .55rem; line-height: 1.45; }
.eco-admin-record-list .admin-record-actions { flex: 0 0 auto; }
.eco-admin-record-list .admin-record-actions form { margin: 0; }
.eco-dossier-editor-panel { padding: clamp(13px, 2.5vw, 20px); }
.eco-dossier-editor-panel > .muted { max-width: 680px; margin: 0 0 13px; font-size: .66rem; line-height: 1.6; }
.eco-dossier-form { display: grid; gap: 12px; }
.eco-form-section { min-width: 0; padding: clamp(11px, 2vw, 16px); background: linear-gradient(135deg, rgba(198,154,55,.045), rgba(0,0,0,.18)); border: 1px solid rgba(198,154,55,.2); }
.eco-form-section > header { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(198,154,55,.19); }
.eco-form-section > header > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; color: var(--eco-gold); border: 1px solid rgba(198,154,55,.4); font-size: .65rem; }
.eco-form-section > header h3 { margin: 0 0 3px; color: #fff; font: 500 .9rem 'Source Serif 4', Georgia, serif; }
.eco-form-section > header p { margin: 0; color: var(--muted); font-size: .57rem; line-height: 1.45; }
.eco-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.eco-form-fields .form-field, .eco-form-section > .form-field { display: grid; align-content: start; gap: 5px; min-width: 0; }
.eco-form-fields label, .eco-form-section > .form-field > label { color: #ddc16e; font-size: .62rem; }
.eco-form-fields input, .eco-form-fields select, .eco-form-fields textarea, .eco-form-section > .form-field > input { width: 100%; min-width: 0; padding: 9px; color: var(--cream); background: #090807; border: 1px solid rgba(198,154,55,.3); border-radius: 3px; font-size: .7rem; }
.eco-form-fields textarea { resize: vertical; line-height: 1.5; }
.eco-form-fields input:focus, .eco-form-fields select:focus, .eco-form-fields textarea:focus, .eco-form-section input:focus { border-color: var(--eco-gold); outline: 1px solid rgba(198,154,55,.2); }
.eco-form-fields small, .eco-form-section .form-field small { color: #948d7e; font-size: .52rem; line-height: 1.45; }
.eco-form-full { grid-column: 1 / -1; }
.eco-cover-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.eco-cover-field .form-field { display: grid; gap: 5px; }
.eco-cover-field label { color: #ddc16e; font-size: .62rem; }
.eco-cover-field input { width: 100%; min-width: 0; padding: 9px; color: var(--cream); background: #090807; border: 1px solid rgba(198,154,55,.3); font-size: .68rem; }
.eco-cover-field .form-field small { color: #948d7e; font-size: .52rem; }
.eco-cover-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.eco-cover-actions .muted { font-size: .55rem; }
.eco-cover-preview { display: block; width: min(100%, 480px); max-height: 260px; margin: 3px auto 0; object-fit: contain; background: #080706; border: 1px solid rgba(198,154,55,.3); }
.eco-editor-section > .form-field { margin-top: 12px; }
.eco-editor-section > .form-field:first-of-type { margin-top: 0; }
.eco-editor-section > .form-field > label { display: block; margin-bottom: 6px; color: #ddc16e; font-size: .62rem; }
.eco-rich-editor { min-width: 0; }
.eco-dossier-editor-panel, .eco-dossier-editor-panel .eco-dossier-form, .eco-dossier-editor-panel .eco-editor-section, .eco-dossier-editor-panel .eco-rich-editor { width: 100%; max-width: none; }
.eco-rich-editor .rich-toolbar { position: sticky; z-index: 4; top: 0; max-height: 180px; overflow: auto; background: #15110a; }
.eco-rich-editor .rich-toolbar button { min-width: 34px; }
.eco-rich-editor .rich-editor-surface { min-height: 360px; max-height: 65vh; overflow-y: auto; text-align: left; }
.eco-rich-editor .rich-editor-surface { width: 100%; white-space: pre-line; }
.eco-rich-editor .rich-editor-surface:focus { outline-offset: -2px; }
.eco-rich-editor .rich-editor-surface p { min-height: 1.5em; }
.eco-rich-editor .rich-editor-hint { margin-bottom: 0; }
.eco-rich-source { display: block; width: 100%; min-height: 140px; padding: 10px; color: var(--cream); background: #090807; border: 1px solid var(--border); font: .68rem/1.5 'Share Tech Mono', monospace; }
.eco-rich-source[hidden] { display: none; }
.eco-editor-actions { position: sticky; z-index: 3; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 -2px; padding: 10px; background: rgba(9,8,6,.96); border: 1px solid rgba(198,154,55,.35); box-shadow: 0 -5px 18px rgba(0,0,0,.45); }
.eco-editor-actions p { margin: 0; color: var(--muted); font-size: .55rem; line-height: 1.4; }
@media (max-width: 700px) {
    .eco-mission-hero { min-height: 260px; }
    .eco-mission-hero-relations { grid-template-columns: minmax(0, 1fr); }
    .eco-wiki-profile-hero { grid-template-columns: minmax(90px, 145px) minmax(0, 1fr); min-height: 160px; }
    .eco-wiki-profile-hero > img, .eco-wiki-profile-placeholder { min-height: 120px; }
    .section-landing-panel { grid-template-columns: minmax(100px, 150px) minmax(0, 1fr); min-height: 220px; gap: 15px; }
    .section-landing-notice { align-items: flex-start; flex-wrap: wrap; }
    .section-landing-notice .btn { width: 100%; }
    .admin-section-tabs { gap: 4px; }
    .admin-section-tab { padding: 5px 3px; font-size: .49rem; }
    .admin-section-placeholder { min-height: 150px; }
    .faction-profile { grid-template-columns: 1fr; min-height: 0; gap: 16px; padding: 20px 15px; }
    .faction-profile-emblem { width: min(48vw, 170px); }
    .faction-profile-identity { text-align: center; }
    .faction-profile-identity > p { margin: 8px 0 12px; }
    .faction-profile-kicker { max-width: 100%; font-size: .56rem; }
    .faction-profile-color { justify-content: center; }
    .faction-profile-code { top: 7px; right: 7px; font-size: .46rem; }
    .faction-detail-grid { grid-template-columns: 1fr; }
    .faction-editor-page { padding: 12px; }
    .story-detail-hero { min-height: 340px; }
    .story-detail-hero-content { right: 16px; bottom: 18px; left: 16px; width: calc(100% - 32px); }
    .story-rich-content > .story-relations-float { float: none; width: 100%; margin: 0 0 14px; }
    .glossary-rich-content > .glossary-relations-float { float: none; width: 100%; margin: 0 0 14px; }
}
@keyframes pulse { 50% { opacity: .4; } }

.eco-map-scope {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    color: #d1d5db;
    font-family: 'Share Tech Mono', monospace;
}
.eco-map-scope *, .eco-map-scope *::before, .eco-map-scope *::after { box-sizing: border-box; }
.eco-map-scope .tactical-frame {
    width: 100%;
    padding: 14px;
    background: #0b0c0e;
    border: 1px solid #332922;
    box-shadow: 0 0 20px rgba(0,0,0,.8);
}
.eco-map-scope .map-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #3d3027;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.eco-map-scope .map-status-row { display: flex; align-items: center; justify-content: space-between; color: #d97706; }
.eco-map-scope .header-controls { display: grid; grid-template-columns: 1fr; gap: 8px; width: 100%; }
.eco-map-scope .custom-select-wrapper { position: relative; width: 100%; font-family: 'Share Tech Mono', monospace; }
.eco-map-scope .custom-select-trigger {
    display: flex;
    width: 100%;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    color: #d1d5db;
    background: #110e0c;
    border: 1px solid #332922;
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    letter-spacing: 1px;
    text-align: left;
    text-transform: uppercase;
    transition: border-color .2s ease;
}
.eco-map-scope .custom-select-trigger::after { margin-left: 10px; color: #d97706; content: '▼'; font-size: 9px; }
.eco-map-scope .custom-select-trigger:hover,
.eco-map-scope .custom-select-trigger:focus-visible { border-color: #d97706; outline: none; }
.eco-map-scope .custom-options {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 1000;
    display: none;
    max-height: 180px;
    overflow-y: auto;
    background: #0d0b09;
    border: 1px solid #332922;
    border-top: 0;
    box-shadow: 0 10px 20px rgba(0,0,0,.9);
}
.eco-map-scope .custom-select-wrapper.open .custom-options { display: block; }
.eco-map-scope .custom-option {
    display: block;
    width: 100%;
    padding: 8px 10px;
    color: #9ca3af;
    background: transparent;
    border: 0;
    border-bottom: 1px dashed rgba(255,255,255,.04);
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    text-align: left;
    text-transform: uppercase;
    transition: background .15s ease;
}
.eco-map-scope .custom-option:hover,
.eco-map-scope .custom-option.selected { color: #fff; background: rgba(217,119,6,.12); }
.eco-map-scope .custom-option[style] { color: var(--option-color); font-weight: bold; }
.eco-map-scope .custom-options::-webkit-scrollbar { width: 6px; }
.eco-map-scope .custom-options::-webkit-scrollbar-track { background: #0d0b09; }
.eco-map-scope .custom-options::-webkit-scrollbar-thumb { background: #332922; border-radius: 3px; }
.eco-map-scope .btn-back {
    display: none;
    width: 100%;
    padding: 8px 12px;
    color: #d97706;
    background: #14110f;
    border: 1px solid #3d3027;
    cursor: pointer;
    font-family: 'Share Tech Mono', monospace;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    transition: all .2s ease;
}
.eco-map-scope .btn-back:not([hidden]) { display: block; }
.eco-map-scope .btn-back:hover { color: #f59e0b; background: #241c17; border-color: #d97706; }
#leaflet-world-map {
    width: 100%;
    height: 280px;
    background: #060709;
    border: 1px solid #241c17;
}
.eco-map-scope .leaflet-container { color: #d1d5db; background: #060709; font-family: 'Share Tech Mono', monospace; }
.eco-map-scope .leaflet-popup-content-wrapper,
.eco-map-scope .leaflet-popup-tip {
    color: #d1d5db;
    background: #0b0c0e;
    border: 1px solid #332922;
    border-radius: 0;
    box-shadow: 0 4px 20px rgba(0,0,0,.9);
}
.eco-map-scope .leaflet-popup-content { margin: 12px 14px; line-height: 1.5; }
.eco-map-scope .leaflet-container a.leaflet-popup-close-button { color: #d97706; }
.eco-map-scope .leaflet-container a.leaflet-popup-close-button:hover { color: #fff; }
.eco-map-scope .leaflet-control-zoom a {
    color: #d97706;
    background: #0b0c0e;
    border-color: #332922;
}
.eco-map-scope .map-info-panel {
    min-height: 120px;
    margin-top: 10px;
    padding: 10px;
    background: rgba(11,12,14,.95);
    border: 1px solid #241c17;
}
.eco-map-scope .map-info-title {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 6px;
    padding-bottom: 4px;
    color: #d97706;
    border-bottom: 1px dashed #241c17;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.eco-map-scope .map-info-content { color: #9ca3af; font-size: 11px; line-height: 1.5; }
.eco-map-scope .anomaly-card {
    position: relative;
    margin-bottom: 6px;
    padding: 8px;
    background: rgba(255,255,255,.01);
    border: 1px solid rgba(255,255,255,.05);
    border-left: 3px solid var(--anomaly-color, #d97706);
    transition: all .25s ease;
}
.eco-map-scope .anomaly-card:hover {
    background: rgba(217,119,6,.04);
    border-color: rgba(217,119,6,.3);
    transform: translateX(4px);
    box-shadow: -3px 0 10px rgba(0,0,0,.5);
}
.eco-map-scope .anomaly-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 4px;
    font-weight: bold;
    text-transform: uppercase;
}
.eco-map-scope .anomaly-image { display: block; width: 100%; max-height: 45px; margin: 7px 0; object-fit: cover; border: 1px solid rgba(217,119,6,.22); }
.eco-map-scope .anomaly-title { color: var(--anomaly-color, #d97706); }
.eco-map-scope .anomaly-meta { color: #9ca3af; }
.eco-map-scope .anomaly-desc { margin-bottom: 4px; overflow-wrap: anywhere; text-align: justify; }
.eco-map-scope .dossier-link {
    display: inline-block;
    margin-top: 3px;
    color: var(--anomaly-color, #d97706);
    font-weight: bold;
    letter-spacing: 1px;
    text-decoration: none;
}
.eco-map-scope .dossier-link:hover { text-decoration: underline; }
.eco-map-scope .map-empty { padding: 10px; color: #6b7280; text-align: center; }
.eco-map-scope .map-attribution { margin: 9px 0 0; color: #6b625c; font-size: 9px; letter-spacing: 1px; text-align: right; }
.eco-map-scope .map-error { margin-top: 8px; padding: 8px; color: #fdba74; background: rgba(217,119,6,.06); border: 1px dashed var(--border); font-size: 11px; }
.eco-map-scope .tactical-frame { padding: 12px; background: #030303; border: 2px solid #ffb000; box-shadow: 0 0 20px rgba(255,176,0,.16); }
.eco-map-scope .map-header { border-color: rgba(255,176,0,.4); }
.eco-map-scope .map-status-row { color: #ffb000; }
.eco-map-scope [data-eco-map-count] { color: rgba(255,176,0,.75); font-size: .54rem; text-align: right; }
.eco-map-scope .custom-select-trigger { color: #ffb000; background: #050704; border-color: #ffb000; }
.eco-map-scope .custom-select-trigger::after { color: #ffb000; }
.eco-map-scope .custom-select-trigger:hover, .eco-map-scope .custom-select-trigger:focus-visible { border-color: #fff; }
.eco-map-scope .custom-options { background: #030303; border-color: #ffb000; }
.eco-map-scope .custom-option { color: #ffb000; border-bottom-color: rgba(255,176,0,.1); }
.eco-map-scope .custom-option:hover, .eco-map-scope .custom-option.selected { color: #fff; background: rgba(255,176,0,.2); }
.eco-map-scope .custom-options::-webkit-scrollbar-thumb { background: #ffb000; }
.eco-map-scope .btn-back { color: #ffb000; background: #050704; border-color: rgba(255,176,0,.55); }
.eco-map-scope .btn-back:hover { color: #fff; background: rgba(255,176,0,.12); border-color: #ffb000; }
#leaflet-world-map { height: 300px; background: #050704; border-color: rgba(255,176,0,.3); }
.eco-map-scope .leaflet-container { color: #fff; background: #050704; }
.eco-map-scope .leaflet-popup-content-wrapper, .eco-map-scope .leaflet-popup-tip { color: #fff; background: #030303; border-color: rgba(255,176,0,.65); }
.eco-map-scope .leaflet-container a.leaflet-popup-close-button, .eco-map-scope .leaflet-control-zoom a { color: #ffb000; }
.eco-map-scope .leaflet-control-zoom a { background: #030303; border-color: rgba(255,176,0,.5); }
.eco-map-scope .map-info-panel { background: rgba(8,8,8,.95); border-color: rgba(255,176,0,.4); }
.eco-map-scope .map-info-title { color: #ffb000; border-color: rgba(255,176,0,.3); }
.eco-map-scope .map-info-content { color: #ccc; }
.eco-map-scope .anomaly-card { background: rgba(255,176,0,.035); border-color: rgba(255,176,0,.13); }
.eco-map-scope .anomaly-card:hover { background: rgba(255,176,0,.07); border-color: rgba(255,176,0,.38); }
.eco-map-scope .anomaly-header, .eco-map-scope .dossier-link { color: #ffb000; }
.eco-map-scope .anomaly-title { color: var(--anomaly-color, #ffb000); }
.eco-map-scope .anomaly-class-text { color: #fff; }
.eco-map-scope .map-info-content.has-map-records { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: stretch; }
.eco-map-scope .anomaly-card.eco-map-record-card { display: flex; min-width: 0; flex-direction: column; gap: 8px; margin: 0; padding: 10px; overflow: hidden;}
.eco-map-scope .anomaly-card.eco-map-record-card:hover { transform: translateY(-2px); }
.eco-map-scope .eco-map-record-image { display: block; width: 100%; height: 145px; flex: 0 0 145px; object-fit: cover; object-position: center; background: radial-gradient(ellipse at 50% 40%, rgba(255,176,0,.2), transparent 65%), #0b0907; border: 1px solid rgba(255,176,0,.24); }
.eco-map-scope .eco-map-record-placeholder { display: grid; place-items: center; padding: 12px; color: rgba(255,213,117,.75); font: .62rem 'Share Tech Mono', monospace; letter-spacing: .12em; text-align: center; overflow-wrap: anywhere; }
.eco-map-scope .eco-map-record-card .anomaly-header { justify-content: flex-start; gap: 5px; margin: 0; }
.eco-map-scope .eco-map-record-card .anomaly-header > span:first-child { color: #ffcf63; font-size: .62rem; overflow-wrap: anywhere; }
.eco-map-scope .eco-map-record-card .anomaly-class-text { color: #f2ead7; font-size: .48rem; }
.eco-map-scope .eco-map-record-card .anomaly-desc { display: -webkit-box; margin: 0; overflow: hidden; color: #c6c0b3; font: .63rem/1.55 'Source Serif 4', Georgia, serif; text-align: left; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.eco-map-scope .eco-map-record-card .anomaly-meta { margin-top: auto; padding-top: 7px; border-top: 1px solid rgba(255,176,0,.16); }
.eco-map-scope .eco-map-record-card .dossier-link { align-self: flex-start; font-size: .54rem; }
.eco-map-scope .map-info-content.has-map-records > .map-empty { grid-column: 1 / -1; }
.eco-map-scope .eco-tactical-marker-icon { display: grid; place-items: center; overflow: visible; background: transparent; border: 0; cursor: pointer; }
.eco-map-scope .leaflet-marker-icon.eco-tactical-marker-icon:focus-visible { outline: 3px solid #fff2ba; outline-offset: 2px; border-radius: 50%; }
.eco-map-scope .eco-tactical-marker-pin { position: relative; display: block; width: 28px; height: 28px; background: color-mix(in srgb, var(--marker-color) 24%, #090806); border: 2px solid var(--marker-color); border-radius: 50% 50% 50% 4px; box-shadow: 0 0 0 5px color-mix(in srgb, var(--marker-color) 22%, transparent), 0 2px 10px #000c; transform: rotate(-45deg); transition: transform .16s ease, box-shadow .16s ease; }
.eco-map-scope .eco-tactical-marker-pin::after { position: absolute; inset: 7px; background: var(--marker-color); border: 2px solid #080806; border-radius: 50%; content: ""; }
.eco-map-scope .eco-tactical-marker-icon:hover .eco-tactical-marker-pin,
.eco-map-scope .eco-tactical-marker-icon:focus-visible .eco-tactical-marker-pin { box-shadow: 0 0 0 8px color-mix(in srgb, var(--marker-color) 30%, transparent), 0 2px 14px #000; transform: rotate(-45deg) scale(1.14); }
.eco-map-scope .eco-map-popup { display: grid; gap: 7px; min-width: 200px; padding: 3px; color: #e6dfd0; font-family: 'Share Tech Mono', monospace; }
.eco-map-scope .eco-map-popup-image { display: block; width: 100%; height: 138px; object-fit: cover; object-position: center; background: #0b0907; border: 1px solid color-mix(in srgb, var(--popup-accent, #e6b64f) 45%, transparent); }
.eco-map-scope .eco-map-popup-expediente { --popup-accent: #e6b64f; }
.eco-map-scope .eco-map-popup-instalacion { --popup-accent: #4fc6d5; }
.eco-map-scope .eco-map-popup-ubicacion-inexplicable { --popup-accent: #c17ce2; }
.eco-map-scope .eco-map-popup-type { color: var(--popup-accent, #e6b64f); font-size: .5rem; letter-spacing: .1em; }
.eco-map-scope .eco-map-popup-title { color: #fff1c9; font: 600 .92rem/1.35 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-map-scope .eco-map-popup-country { color: #d6b455; font-size: .53rem; letter-spacing: .05em; text-transform: uppercase; }
.eco-map-scope .eco-map-popup-summary { display: -webkit-box; margin: 0; overflow: hidden; color: #c8c0b0; font: .65rem/1.55 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.eco-map-scope .eco-map-popup-status { padding-top: 6px; color: #a99d84; border-top: 1px solid color-mix(in srgb, var(--popup-accent, #e6b64f) 24%, transparent); font-size: .45rem; letter-spacing: .04em; }
.eco-map-scope .leaflet-popup-content .eco-map-popup > a { display: inline-flex; justify-self: start; margin-top: 1px; padding: 8px 10px; color: #090806; background: var(--popup-accent, #e6b64f); font-size: .5rem; font-weight: 700; letter-spacing: .05em; text-decoration: none; }
.eco-map-scope .leaflet-popup-content .eco-map-popup > a:hover,
.eco-map-scope .leaflet-popup-content .eco-map-popup > a:focus-visible { color: #090806; filter: brightness(1.18); outline: 2px solid #fff2ba; outline-offset: 2px; }
@media (max-width: 900px) {
    .eco-map-scope .map-info-content.has-map-records { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .eco-map-scope .map-info-content.has-map-records { grid-template-columns: minmax(0, 1fr); }
    .eco-map-scope .eco-map-record-image { height: 180px; flex-basis: 180px; }
}
.eco-map-scope .map-empty { padding: 10px; color: #777; text-align: center; }
.eco-map-scope .map-attribution { color: #6b625c; text-align: center;}
.eco-map-scope .map-error { color: #fdba74; background: rgba(217,119,6,.06); }
.eco-map-scope .leaflet-popup-content { width: min(250px, calc(100vw - 72px)) !important; }
.eco-map-popup { display: grid; gap: 6px; min-width: 190px; padding: 2px; color: #e6dfd0; font-family: 'Share Tech Mono', monospace; }
.eco-map-popup-type { color: #efc45e; font-size: .5rem; letter-spacing: .1em; }
.eco-map-popup-title { color: #fff1c9; font: 600 .88rem/1.35 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-map-popup-country { color: #d6b455; font-size: .55rem; text-transform: uppercase; }
.eco-map-popup-summary { margin: 0; color: #bdb5a6; font: .62rem/1.55 'Source Serif 4', Georgia, serif; }
.eco-map-scope .leaflet-popup-content .eco-map-popup > a { display: inline-flex; justify-self: start; margin-top: 2px; padding: 6px 8px; color: #0a0906; background: #e7bd54; font-size: .5rem; letter-spacing: .04em; text-decoration: none; }
.eco-map-scope .leaflet-popup-content .eco-map-popup > a:hover,
.eco-map-scope .leaflet-popup-content .eco-map-popup > a:focus-visible { color: #080705; background: #ffe28b; outline: none; }
.eco-tactical-directory { display: grid; gap: 18px; margin-top: clamp(20px, 4vw, 34px); }
.eco-tactical-directory-heading { padding: 0 0 12px; border-bottom: 1px solid rgba(198,154,55,.3); }
.eco-tactical-directory-heading > span { color: #d6b455; font: .5rem 'Share Tech Mono', monospace; letter-spacing: .12em; }
.eco-tactical-directory-heading h2 { margin: 6px 0 4px; color: #fff0c2; font: 500 clamp(1.35rem, 3.5vw, 2rem)/1.2 'Source Serif 4', Georgia, serif; }
.eco-tactical-directory-heading p { margin: 0; color: #b7ad98; font: .72rem/1.6 'Source Serif 4', Georgia, serif; }
.eco-tactical-category { --tactical-accent: #e6b64f; display: grid; gap: 12px; padding: clamp(12px, 2vw, 18px); background: linear-gradient(145deg, color-mix(in srgb, var(--tactical-accent) 7%, #100e0b), rgba(8,7,6,.96) 62%); border: 1px solid color-mix(in srgb, var(--tactical-accent) 32%, transparent); border-top: 2px solid var(--tactical-accent); }
.eco-tactical-category-dossiers { --tactical-accent: #e6b64f; }
.eco-tactical-category-facilities { --tactical-accent: #4fc6d5; }
.eco-tactical-category-locations { --tactical-accent: #c17ce2; }
.eco-tactical-category-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.eco-tactical-category-heading > div { min-width: 0; }
.eco-tactical-category-heading > div > span { color: color-mix(in srgb, var(--tactical-accent) 75%, white); font: .47rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-tactical-category-heading h3 { margin: 5px 0 3px; color: #f5ead1; font: 600 clamp(1rem, 2.5vw, 1.25rem)/1.3 'Source Serif 4', Georgia, serif; }
.eco-tactical-category-heading p { margin: 0; color: #b4ab99; font: .64rem/1.5 'Source Serif 4', Georgia, serif; }
.eco-tactical-category-heading > b { display: grid; min-width: 48px; justify-items: center; padding: 7px; color: var(--tactical-accent); background: color-mix(in srgb, var(--tactical-accent) 9%, #080706); border: 1px solid color-mix(in srgb, var(--tactical-accent) 35%, transparent); font: .9rem 'Share Tech Mono', monospace; }
.eco-tactical-category-heading > b > small { margin-top: 3px; color: #a99d84; font: .37rem 'Share Tech Mono', monospace; letter-spacing: .07em; }
.eco-tactical-location-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; align-items: stretch; }
.eco-tactical-location-card { position: relative; display: flex; min-width: 0; min-height: 310px; flex-direction: column; overflow: hidden; padding: 0; color: #e9e1d1; background: #0b0907; border: 1px solid color-mix(in srgb, var(--tactical-accent) 38%, transparent); text-decoration: none; isolation: isolate; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.eco-tactical-location-card[data-card-url] { cursor: pointer; }
.eco-tactical-location-card::before { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(5,5,4,.13) 0%, rgba(5,5,4,.28) 26%, rgba(5,5,4,.83) 62%, #070706 100%), linear-gradient(90deg, color-mix(in srgb, var(--tactical-accent) 12%, transparent), transparent 70%); content: ""; }
.eco-tactical-location-card::after { position: absolute; z-index: 2; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0, transparent 5px, rgba(255,255,255,.025) 6px); content: ""; }
.eco-tactical-location-card:hover, .eco-tactical-location-card:focus-visible { border-color: var(--tactical-accent); box-shadow: 0 12px 26px #0007, 0 0 18px color-mix(in srgb, var(--tactical-accent) 13%, transparent); outline: none; transform: translateY(-3px); }
.eco-tactical-location-card > * { position: relative; z-index: 3; }
.eco-tactical-location-visual { position: absolute !important; z-index: 0 !important; inset: 0; display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; margin: 0; background: radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--tactical-accent) 25%, transparent), transparent 65%), #0b0907; }
.eco-tactical-location-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .3s ease; }
.eco-tactical-location-card:hover .eco-tactical-location-visual > img, .eco-tactical-location-card:focus-visible .eco-tactical-location-visual > img { transform: scale(1.04); }
.eco-tactical-location-placeholder { padding: 10px; color: color-mix(in srgb, var(--tactical-accent) 80%, white); font: .52rem 'Share Tech Mono', monospace; letter-spacing: .12em; text-align: center; }
.eco-tactical-location-content { display: flex; min-width: 0; flex: 1; flex-direction: column; align-items: flex-start; padding: 14px; }
.eco-tactical-location-type { align-self: flex-start; max-width: 100%; padding: 4px 6px; color: var(--tactical-accent); background: color-mix(in srgb, var(--tactical-accent) 9%, #080706); border: 1px solid color-mix(in srgb, var(--tactical-accent) 28%, transparent); font: .4rem 'Share Tech Mono', monospace; letter-spacing: .08em; overflow-wrap: anywhere; }
.eco-tactical-location-code { margin-top: 11px; color: #9e947d; font: .45rem 'Share Tech Mono', monospace; }
.eco-tactical-location-card h4 { margin: 4px 0 5px; color: #fff0c9; font: 600 .95rem/1.35 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-tactical-location-country { color: var(--tactical-accent); font: .45rem 'Share Tech Mono', monospace; letter-spacing: .05em; text-transform: uppercase; }
.eco-tactical-location-summary { display: -webkit-box; margin: 9px 0 10px; overflow: hidden; color: #ddd5c5; font: .62rem/1.55 'Source Serif 4', Georgia, serif; text-shadow: 0 1px 5px #000; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.eco-tactical-location-coordinates { margin-top: auto; padding-top: 8px; color: #99917f; border-top: 1px solid color-mix(in srgb, var(--tactical-accent) 18%, transparent); font: .44rem 'Share Tech Mono', monospace; }
.eco-tactical-location-open { display: flex; width: 100%; justify-content: space-between; gap: 8px; align-items: center; margin-top: 9px; color: var(--tactical-accent); font: .45rem 'Share Tech Mono', monospace; letter-spacing: .08em; text-decoration: none; }
.eco-tactical-location-open > b { font-size: .8rem; transition: transform .18s ease; }
.eco-tactical-location-card:hover .eco-tactical-location-open > b, .eco-tactical-location-card:focus-visible .eco-tactical-location-open > b { transform: translate(2px, -2px); }
.eco-tactical-category-empty { margin: 0; padding: 18px; color: #a99d84; background: rgba(0,0,0,.22); border: 1px dashed color-mix(in srgb, var(--tactical-accent) 28%, transparent); font: .65rem 'Share Tech Mono', monospace; text-align: center; }
.eco-tactical-page > .eco-map-scope { margin-top: 18px; }
.eco-tactical-page .eco-map-scope .tactical-frame { border-color: rgba(79,198,213,.5); box-shadow: 0 0 28px rgba(79,198,213,.08), 0 14px 32px #0007; }
.eco-tactical-page .eco-map-scope .map-header { border-bottom-color: rgba(79,198,213,.32); }
.eco-tactical-page .eco-map-scope .map-status-row { color: #7ed5dc; }
.eco-tactical-page .eco-map-scope [data-eco-map-count] { color: #e6b64f; }
.eco-tactical-page .eco-map-scope #leaflet-world-map { height: clamp(380px, 52vw, 600px); border-color: rgba(79,198,213,.28); }

@media (max-width: 900px) {
    .eco-tactical-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .eco-tactical-category-heading { align-items: flex-start; }
    .eco-tactical-location-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-tactical-location-card { min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
    .eco-tactical-location-card,
    .eco-tactical-location-visual > img,
    .eco-tactical-location-open > b { transition: none; }
}
.eco-registry-page { padding-bottom: 28px; }
.eco-subpage-hero { position: relative; display: grid; min-height: 112px; align-content: center; gap: 8px; overflow: hidden; margin: 0 0 15px; padding: clamp(18px, 3.5vw, 28px); background: radial-gradient(ellipse at 88% 0, rgba(174,181,91,.13), transparent 42%), linear-gradient(110deg, rgba(17,20,13,.98), rgba(8,10,8,.98) 72%); border: 1px solid rgba(174,181,91,.38); border-left: 3px solid #aeb55b; box-shadow: inset 0 0 34px rgba(174,181,91,.035), 0 10px 28px #0007; }
.eco-subpage-hero::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .16; background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(188,197,139,.08) 5px); }
.eco-subpage-hero > * { position: relative; z-index: 1; }
.eco-subpage-hero .eco-kicker { color: #b7bc77; font: .57rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .14em; text-transform: uppercase; }
.eco-subpage-hero h1 { max-width: 100%; margin: 0; color: #f0efdf; font: 600 clamp(1.35rem, 3.5vw, 2rem)/1.2 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .015em; text-transform: uppercase; text-wrap: balance; overflow-wrap: anywhere; }
.eco-registry-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 15px; }
.eco-registry-page .eco-registry-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.eco-registry-section-heading > span { color: #c69a37; font-family: 'Share Tech Mono', monospace; font-size: .66rem; letter-spacing: .11em; text-transform: uppercase; }
.eco-registry-card { overflow: hidden; background: #100e0b; border: 1px solid rgba(198,154,55,.2); }
.eco-registry-card-cover { position: relative; display: grid; min-height: 165px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 35%, rgba(198,154,55,.22), transparent 55%), #0b0907; color: #c69a37; text-decoration: none; }
.eco-registry-card-cover img { position: absolute; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.eco-registry-card:hover .eco-registry-card-cover img { transform: scale(1.04); }
.eco-registry-card-cover > span { font-family: 'Share Tech Mono', monospace; font-size: 2rem; letter-spacing: .2em; }
.eco-registry-card-cover > b { position: absolute; right: 9px; bottom: 9px; padding: 5px 8px; color: #f3d895; background: #080706e8; border: 1px solid rgba(198,154,55,.4); font-family: 'Share Tech Mono', monospace; font-size: .63rem; }
.eco-registry-card-body { display: flex; min-height: 195px; flex-direction: column; align-items: flex-start; padding: 15px; }
.eco-registry-card-body h2 { margin: 5px 0 8px; font-size: 1.12rem; }
.eco-registry-card-body h2 a { color: #f0e7d5; text-decoration: none; }
.eco-registry-card-body p { color: #b6b0a8; line-height: 1.6; }
.eco-registry-card-country, .eco-facility-status { color: #cca344; font-family: 'Share Tech Mono', monospace; font-size: .63rem; text-transform: uppercase; }
.eco-registry-card-link { display: inline-flex; gap: 8px; align-items: center; margin-top: auto; color: #dda83d; font-family: 'Share Tech Mono', monospace; font-size: .65rem; text-decoration: none; }
.eco-registry-card-link:hover { color: #ffe2a1; }
.eco-registry-page .eco-registry-card-cover { min-height: 0; aspect-ratio: 16 / 7; }
.eco-registry-page .eco-registry-card-body { min-height: 180px; }
@media (max-width: 620px) {
    .eco-registry-page .eco-registry-card-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-registry-page .eco-registry-card-cover { aspect-ratio: 16 / 8; }
}
.eco-registry-detail { margin: 18px 0; padding: clamp(16px, 3vw, 28px); background: rgba(14,12,9,.92); border: 1px solid rgba(198,154,55,.27); }
.eco-registry-detail-image { display: block; width: 100%; max-height: 480px; margin: 15px 0; object-fit: cover; border: 1px solid rgba(198,154,55,.3); }
.eco-registry-detail-meta, .eco-facility-facts { display: flex; flex-wrap: wrap; gap: 10px; color: #d7b966; font-family: 'Share Tech Mono', monospace; font-size: .7rem; }
.eco-wiki-summary { padding: 12px 15px; color: #e4d7bb; background: rgba(198,154,55,.08); border-left: 2px solid #c69a37; line-height: 1.6; }
.eco-facility-facts { margin: 14px 0; }
.eco-facility-facts > div { display: grid; gap: 5px; min-width: 140px; padding: 12px; background: rgba(198,154,55,.06); border: 1px solid rgba(198,154,55,.16); }
.eco-facility-facts span { color: #ab8940; font-size: .59rem; }
.eco-facility-facts strong { color: #e4dccb; font-size: .72rem; }
.eco-registry-section-heading { margin: 20px 0 12px; }
.eco-registry-section-heading h2 { color: #e7d5a7; }
.eco-registry-map-block { margin: 20px 0; padding: 16px; background: rgba(8,7,6,.85); border: 1px solid rgba(198,154,55,.24); }
.eco-registry-map { min-height: 350px; background-color: #070906; background-image: linear-gradient(rgba(255,176,0,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,176,0,.055) 1px, transparent 1px), radial-gradient(ellipse at 50% 50%, rgba(28,39,24,.55), transparent 75%); background-size: 40px 40px, 40px 40px, auto; border: 1px solid rgba(255,176,0,.35); box-shadow: inset 0 0 24px rgba(255,176,0,.06); }
.eco-registry-map-status { color: #bd9e58; font-family: 'Share Tech Mono', monospace; font-size: .65rem; }
.eco-registry-map .leaflet-container { color: #fff; background: #050704; font-family: 'Share Tech Mono', monospace; }
#leaflet-world-map.eco-registry-map { min-height: 0; }
.eco-registry-map .leaflet-popup-content-wrapper, .eco-registry-map .leaflet-popup-tip { color: #ddd; background: #030303; border: 1px solid rgba(255,176,0,.65); border-radius: 0; box-shadow: 0 4px 20px rgba(0,0,0,.9); }
.eco-registry-map .leaflet-popup-content { width: min(195px, calc(100vw - 72px)) !important; margin: 0; }
.eco-registry-map .leaflet-container a.leaflet-popup-close-button, .eco-registry-map .leaflet-control-zoom a { color: #ffb000; }
.eco-registry-map .leaflet-control-zoom a { background: #030303; border-color: rgba(255,176,0,.5); }
.eco-registry-map .leaflet-marker-icon.eco-facility-map-marker-icon { background: transparent; border: 0; }
.eco-facility-map-marker { display: block; width: 42px; height: 42px; overflow: hidden; background: #17120a; border: 2px solid #ffb000; border-radius: 50%; box-shadow: 0 0 0 3px rgba(0,0,0,.75), 0 0 14px rgba(255,176,0,.65); }
.eco-facility-map-marker img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eco-facility-map-popup { overflow: hidden; }
.eco-facility-map-popup-image { display: block; width: 100%; height: 105px; object-fit: cover; border-bottom: 1px solid rgba(255,176,0,.45); filter: saturate(.78) contrast(1.05) brightness(.88); }
.eco-facility-map-popup-details { padding: 7px 9px 9px; }
.eco-facility-map-popup-details strong { display: block; color: #ffb000; font-size: .7rem; line-height: 1.35; overflow-wrap: anywhere; }
.eco-facility-map-popup-details p { display: none; }
.eco-registry-map .leaflet-popup-content a { display: inline-block; margin-top: 3px; color: #ffb000; font-size: .65rem; text-decoration: none; }
.eco-registry-map .leaflet-popup-content a:hover { color: #fff; }
.eco-facility-related-dossiers { min-width: 0; margin: 0; padding: 18px; background: linear-gradient(135deg, rgba(198,154,55,.07), rgba(8,7,6,.7)); border: 1px solid rgba(198,154,55,.22); }
.eco-facility-related-dossiers header { margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(198,154,55,.17); }
.eco-facility-related-dossiers h2 { margin: 5px 0 0; color: #e7d5a7; font-size: 1.1rem; }
.eco-facility-related-dossiers > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 8px; }
.eco-facility-related-dossiers a { display: flex; min-height: 112px; flex-direction: column; align-items: flex-start; gap: 8px; padding: 13px; color: #ddd; background: rgba(0,0,0,.28); border: 1px solid rgba(198,154,55,.16); text-decoration: none; transition: border-color .2s, background .2s, transform .2s; }
.eco-facility-dossier-item { position: relative; min-width: 0; }
.eco-facility-related-dossiers a:hover { transform: translateY(-2px); background: rgba(255,176,0,.05); border-color: rgba(255,176,0,.55); }
.eco-facility-related-dossiers .eco-facility-dossier-code, .eco-facility-related-dossiers a b { color: #ffb000; font-family: 'Share Tech Mono', monospace; font-size: .65rem; }
.eco-facility-related-dossiers a strong { color: #eee4d0; font-size: .87rem; line-height: 1.4; }
.eco-facility-related-dossiers a b { margin-top: auto; font-weight: 400; }
.eco-facility-card-dossiers { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 4px 0 12px; }
.eco-facility-card-dossiers > span { flex: 1 0 100%; color: #bd9e58; font-family: 'Share Tech Mono', monospace; font-size: .58rem; letter-spacing: .06em; }
.eco-facility-card-dossiers a { padding: 4px 6px; color: #ffb000; background: rgba(255,176,0,.06); border: 1px solid rgba(255,176,0,.2); font-family: 'Share Tech Mono', monospace; font-size: .62rem; text-decoration: none; }
.eco-facility-dossier-picker { min-width: 0; margin: 0; padding: 14px; border: 1px solid rgba(198,154,55,.22); }
.eco-facility-dossier-picker legend { padding: 0 7px; color: #e7d5a7; font-weight: 600; }
.eco-facility-dossier-picker > p { margin: 0 0 12px; }
.eco-facility-dossier-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 8px; max-height: 300px; overflow-y: auto; }
.eco-facility-dossier-options label { display: flex; align-items: flex-start; gap: 9px; padding: 10px; color: #ddd; background: rgba(0,0,0,.24); border: 1px solid rgba(198,154,55,.14); cursor: pointer; }
.eco-facility-dossier-options label:has(input:checked) { background: rgba(255,176,0,.07); border-color: rgba(255,176,0,.48); }
.eco-facility-dossier-options input { flex: 0 0 auto; margin-top: 3px; accent-color: #ffb000; }
.eco-facility-dossier-options label span { display: grid; gap: 4px; min-width: 0; }
.eco-facility-dossier-options label strong { color: #e8d9b9; font-size: .76rem; }
.eco-facility-dossier-options label small { color: #a89c80; font-size: .66rem; }
.eco-organization-nav { flex-wrap: wrap; }
.eco-organization-nav a { flex: 1 1 150px; }
@media (max-width: 700px) {
    .cmd-nav-menu[data-chronicles-menu] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(48px, auto); overflow: visible; }
    .cmd-nav-menu[data-chronicles-menu] .cmd-nav-item { min-width: 0; padding: 7px 3px; border-right: 0; border-bottom: 1px solid var(--cmd-border); font-size: .56rem; white-space: normal; }
    .eco-nav-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
    .eco-nav-menu .cmd-nav-item { border-bottom: 1px solid var(--border); }
    .eco-nav-group { border-bottom: 1px solid var(--border); }
    .eco-nav-group > summary { min-height: 57px; }
    .eco-nav-group > summary b { display: block; margin-top: -2px; color: #8b7440; font-size: .6rem; }
    .eco-nav-dropdown { left: 0; min-width: min(270px, 90vw); }
    .eco-nav-group:last-child .eco-nav-dropdown { right: 0; left: auto; }
    .eco-form-fields { grid-template-columns: minmax(0, 1fr); }
    .eco-form-full { grid-column: auto; }
    .eco-registry-map { min-height: 270px; }
    .eco-hero { grid-template-columns: 84px minmax(0, 1fr); gap: 11px; }
    .eco-hero-emblem { max-width: 84px; }
    .eco-admin-columns { grid-template-columns: minmax(0, 1fr); }
    .eco-admin-page-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-admin-hub { grid-template-columns: minmax(0, 1fr); }
    .eco-admin-hub-section:last-child { grid-column: auto; }
    .eco-admin-hub-section:last-child .eco-admin-hub-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eco-admin-record-list > li { align-items: flex-start; flex-direction: column; }
    .eco-admin-record-list .admin-record-actions { flex-wrap: wrap; }
    .eco-org-pillars { grid-template-columns: 1fr; }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stats-grid { grid-template-columns: repeat(3, 1fr); }
    .detail-grid { grid-template-columns: 1fr; }
    .character-detail-grid { grid-template-columns: 1fr; }
    .character-relations { order: -1; }
    .location-detail-grid { grid-template-columns: 1fr; }
    .location-relations { order: -1; }
    .character-profile { grid-template-columns: minmax(120px, 165px) minmax(0, 1fr); gap: 14px; padding: 11px; }
    .location-profile { min-height: 340px; }
    .chapter-admin-grid { grid-template-columns: 1fr; }
    .glossary-category-admin-grid { grid-template-columns: 1fr; }
    .chapter-admin-list li { flex-wrap: wrap; }
    .chapter-admin-title { flex-basis: calc(100% - 43px); }
    .admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-welcome { align-items: flex-start; flex-direction: column; }
    .admin-account-actions { justify-content: flex-start; }
    .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .section-switcher { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .section-switcher-link { min-height: 84px; flex-direction: column; gap: 5px; padding: 8px 5px; }
    .section-switcher-link img { width: 38px; height: 38px; flex-basis: 38px; }
    .section-switcher-label { font-size: .58rem; text-align: center; white-space: normal; }
}
@media (max-width: 480px) {
    .eco-nav-menu .cmd-nav-item { font-size: .48rem; overflow-wrap: anywhere; }
    .eco-hero { grid-template-columns: 1fr; }
    .eco-hero-emblem { width: 82px; justify-self: center; }
    .eco-hero-copy { text-align: center; }
    .eco-clearance { float: none; display: inline-block; margin: 7px 0 0; }
    .eco-hero-status { justify-content: center; }
    .eco-card-grid, .eco-class-grid, .eco-dossier-grid { grid-template-columns: 1fr; }
    .eco-card-wide { grid-column: auto; }
    .eco-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .eco-content-panel .eco-page-copy, .eco-dossier-detail .eco-page-copy { font-size: .72rem; text-align: left; }
    .eco-dossier-card-visual { min-height: 160px; }
    .rich-editor-surface figure.eco-rich-image, .eco-dossier-detail .eco-page-copy figure.eco-rich-image, .eco-mission-detail .eco-page-copy figure.eco-rich-image { width: 46%; min-width: 125px; padding: 6px; }
    .rich-editor-surface figure.eco-rich-image-left, .eco-dossier-detail .eco-page-copy figure.eco-rich-image-left, .eco-mission-detail .eco-page-copy figure.eco-rich-image-left { margin-right: 11px; }
    .rich-editor-surface figure.eco-rich-image-right, .eco-dossier-detail .eco-page-copy figure.eco-rich-image-right, .eco-mission-detail .eco-page-copy figure.eco-rich-image-right { margin-left: 11px; }
    .eco-mission-detail .eco-page-copy figure.eco-rich-image-center { width: 100%; }
    .eco-mission-hero { min-height: 235px; }
    .eco-mission-hero-content { gap: 8px; padding: 15px 12px; }
    .eco-mission-hero h2 { font-size: 1.65rem; }
    .eco-mission-agent-badge { min-width: 0; flex: 1 1 100%; }
    .eco-wiki-profile-hero { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .eco-wiki-profile-hero > img, .eco-wiki-profile-placeholder { width: min(100%, 220px); min-height: 150px; }
    .eco-wiki-search > div > .btn { flex: 1 1 auto; text-align: center; }
    .eco-wiki-record-grid, .eco-wiki-related-list { grid-template-columns: minmax(0, 1fr); }
    .eco-filter-bar > .btn { width: 100%; }
    body { padding: 10px 8px; }
    .section-switcher { gap: 5px; margin-bottom: 10px; }
    .section-switcher-link { min-height: 78px; gap: 4px; padding: 7px 3px; }
    .section-switcher-link img { width: 34px; height: 34px; flex-basis: 34px; }
    .section-switcher-label { font-size: .52rem; letter-spacing: 0; }
    .section-landing-panel { grid-template-columns: 1fr; min-height: 0; gap: 12px; padding: 17px 13px; text-align: center; }
    .section-landing-icon { width: min(42vw, 145px); }
    .section-landing-panel h1 { margin: 6px 0; font-size: clamp(1.45rem, 8vw, 2.1rem); }
    .section-landing-panel p { margin: 7px auto; font-size: .75rem; }
    .section-landing-code { top: 6px; right: 6px; font-size: .42rem; }
    .section-landing-notice { gap: 8px; padding: 12px; }
    .section-landing-notice > span { font-size: 1.15rem; }
    .admin-section-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
    .admin-section-tab { gap: 4px; padding: 4px 2px; font-size: .42rem; }
    .admin-section-tab img { max-width: 52px; }
    .admin-section-placeholder { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px; }
    .admin-section-placeholder img { width: 84px; }
    .module-grid, .glossary-list, .form-grid { grid-template-columns: 1fr; }
    .form-field.full { grid-column: auto; }
    .card-grid { gap: 8px; }
    .record-copy { padding: 8px; }
    .character-detail-page { padding: 12px; }
    .character-profile { grid-template-columns: 1fr; gap: 12px; }
    .character-profile-portrait { width: min(100%, 190px); justify-self: center; }
    .character-profile-identity { text-align: center; }
    .character-profile-affiliation { justify-content: center; }
    .character-profile-faction { justify-content: center; }
    .location-profile { min-height: 310px; }
    .location-profile-info { right: 14px; bottom: 16px; left: 14px; }
    .location-profile-info h1 { font-size: clamp(1.55rem, 8vw, 2.2rem); }
    .location-threat { justify-content: center; }
    .location-editor-page { padding: 12px; }
    .story-detail-hero { min-height: 310px; }
    .story-detail-hero-content { right: 14px; bottom: 16px; left: 14px; width: calc(100% - 28px); }
    .story-detail-hero h1 { font-size: clamp(1.55rem, 8vw, 2.3rem); }
    .story-detail-hero-description { font-size: .84rem; line-height: 1.6; }
    .story-detail-hero-code { top: 7px; right: 7px; }
    .story-reader-controls { top: auto; right: 10px; bottom: 10px; grid-template-columns: repeat(4, 38px); gap: 4px; padding: 5px; transform: none; }
    .story-reader-controls button { width: 38px; height: 36px; }
    .chapter-audio-player { padding: 12px; }
    .chapter-audio-heading { align-items: flex-start; }
    .chapter-audio-controls { gap: 11px; }
    .chapter-audio-play { width: 42px; height: 40px; }
    .admin-overview-body { padding: 12px; }
    .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-tools { align-items: stretch; flex-direction: column; }
    .admin-search { max-width: none; }
    .admin-tools-hint { line-height: 1.5; }
    .admin-module-header { align-items: flex-start; }
    .admin-module-actions { flex-direction: column; }
    .admin-module-heading { flex-wrap: wrap; gap: 7px; }
    .admin-module-heading > div { flex: 1 1 110px; }
    .admin-module-header > .btn { padding: 7px; font-size: .65rem; }
    .admin-actions-column { width: 140px; }
    .admin-record-actions { flex-wrap: wrap; }
    .story-grid { grid-template-columns: 1fr; }
    .story-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(118px, .8fr); gap: 7px; }
    .story-search { min-width: 0; gap: 6px; padding: 0 8px; }
    .story-search > span { font-size: 1rem; }
    .story-search input { min-height: 36px; padding: 7px 0; font-size: .68rem; }
    .story-toolbar .control { width: 100%; min-width: 0; min-height: 36px; padding: 7px; font-size: .65rem; }
    .story-filter-select, .story-faction-select { width: 100%; min-width: 0; }
    .story-filter-select .custom-select-trigger, .story-faction-select .custom-select-trigger { min-height: 36px; padding: 7px; font-size: .65rem; }
    .story-card-content { min-height: 0; }
    .rich-editor-surface { min-height: 280px; padding: 12px; }
}
@media (min-width: 550px) {
    .eco-map-scope .header-controls { grid-template-columns: minmax(0, 1fr) auto; }
    .eco-map-scope .btn-back { width: auto; }
}
@media (min-width: 600px) {
    #leaflet-world-map { height: 380px; }
}

.portal-intro { margin: 0 auto 16px; padding: clamp(17px, 3vw, 28px); background: radial-gradient(ellipse at 12% 0, rgba(217,119,6,.12), transparent 54%), var(--panel); border: 1px solid var(--border); border-top: 2px solid var(--amber); text-align: center; }
.portal-intro .section-kicker { color: var(--amber); font-size: .65rem; letter-spacing: .1em; }
.portal-intro h1 { margin: 9px 0 6px; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.65rem, 4vw, 2.5rem); font-weight: 500; }
.portal-intro p { max-width: 670px; margin: 0 auto; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.portal-card { --portal-accent: var(--amber); position: relative; display: grid; grid-template-columns: minmax(100px, 142px) minmax(0, 1fr); gap: 14px; align-items: center; min-width: 0; overflow: hidden; padding: 13px; color: var(--cream); background: linear-gradient(125deg, color-mix(in srgb, var(--portal-accent) 8%, #100c09), rgba(8,7,6,.96) 72%); border: 1px solid color-mix(in srgb, var(--portal-accent) 35%, transparent); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.portal-card::after { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .11; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.1) 4px); }
.portal-card:hover, .portal-card:focus-visible { z-index: 1; border-color: var(--portal-accent); box-shadow: 0 0 22px color-mix(in srgb, var(--portal-accent) 23%, transparent); outline: none; transform: translateY(-3px); }
.portal-card-image { display: grid; min-width: 0; aspect-ratio: 1; place-items: center; overflow: hidden; background: rgba(0,0,0,.28); border: 1px solid color-mix(in srgb, var(--portal-accent) 38%, transparent); }
.portal-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease, filter .25s ease; }
.portal-card:hover .portal-card-image img { filter: drop-shadow(0 0 10px color-mix(in srgb, var(--portal-accent) 45%, transparent)); transform: scale(1.06); }
.portal-card-copy { position: relative; z-index: 1; min-width: 0; }
.portal-card-code { color: var(--portal-accent); font-size: .56rem; letter-spacing: .08em; overflow-wrap: anywhere; }
.portal-card h2 { margin: 7px 0 5px; color: #fff; font-size: clamp(.85rem, 2vw, 1.12rem); letter-spacing: .04em; }
.portal-card p { margin: 0 0 8px; color: var(--muted); font-size: .69rem; line-height: 1.55; }
.portal-card-count { display: inline-block; margin: 0 0 8px; color: var(--portal-accent); font-size: .59rem; letter-spacing: .08em; }
.portal-card-action { display: flex; justify-content: space-between; gap: 7px; padding-top: 7px; color: var(--portal-accent); border-top: 1px dashed color-mix(in srgb, var(--portal-accent) 32%, transparent); font-size: .61rem; letter-spacing: .07em; }
.portal-footer-note { margin: 14px 0 0; color: #78716c; font-size: .58rem; letter-spacing: .08em; text-align: center; }
.archive-home { --archive-amber: #ffb547; width: 100%; color: var(--cream); }
.archive-home-hero { position: relative; display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 22px; align-items: center; min-height: 220px; overflow: hidden; margin-bottom: 25px; padding: clamp(20px, 4vw, 35px); background: radial-gradient(ellipse at 18% 52%, rgba(255,181,71,.14), transparent 54%), linear-gradient(115deg, #19130d, #080705 74%); border: 1px solid rgba(255,181,71,.36); border-top: 3px solid var(--archive-amber); box-shadow: inset 0 0 30px rgba(255,181,71,.035), 0 15px 35px #0007; }
.archive-home-hero::before { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.035) 4px); content: ""; pointer-events: none; }
.archive-home-hero-mark, .archive-home-hero-copy, .archive-home-hero-code { position: relative; z-index: 1; }
.archive-home-hero-mark { display: grid; width: 112px; aspect-ratio: 1; place-items: center; overflow: hidden; background: #090705; border: 1px solid rgba(255,181,71,.58); box-shadow: 0 0 26px rgba(255,181,71,.14); }
.archive-home-hero-mark img { grid-area: 1 / 1; width: 100%; height: 100%; object-fit: contain; opacity: .38; filter: sepia(.5) saturate(.8); }
.archive-home-hero-mark span { grid-area: 1 / 1; color: #ffdda7; font: 500 1.75rem 'Share Tech Mono', monospace; letter-spacing: .12em; text-shadow: 0 0 14px rgba(255,181,71,.56); }
.archive-home-kicker { color: var(--archive-amber); font: .6rem 'Share Tech Mono', monospace; letter-spacing: .14em; }
.archive-home-hero h1 { margin: 10px 0 6px; color: #fff5e6; font: 500 clamp(1.8rem, 5vw, 3.15rem)/1.05 'Share Tech Mono', monospace; letter-spacing: .035em; }
.archive-home-hero h1 em { color: var(--archive-amber); font-style: normal; }
.archive-home-hero-copy > p { margin: 0; color: #c5bbae; font: .79rem/1.65 'Source Serif 4', Georgia, serif; }
.archive-home-status { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 15px; padding: 6px 8px; color: #e4d1b3; background: rgba(255,181,71,.055); border: 1px solid rgba(255,181,71,.23); font: .51rem 'Share Tech Mono', monospace; letter-spacing: .07em; }
.archive-home-status i { width: 7px; height: 7px; background: #8aca72; border-radius: 50%; box-shadow: 0 0 9px #8aca72; }
.archive-home-status > span { color: #886f50; }
.archive-home-hero-code { position: absolute; top: 17px; right: 18px; color: #806b4f; font: .48rem/1.7 'Share Tech Mono', monospace; letter-spacing: .08em; text-align: right; }
.archive-home-signal { position: absolute; right: 18px; bottom: 15px; display: flex; height: 26px; align-items: end; gap: 3px; opacity: .55; }
.archive-home-signal span { width: 3px; height: 20%; background: var(--archive-amber); animation: archiveSignal 1.15s ease-in-out infinite alternate; }
.archive-home-signal span:nth-child(3n) { animation-delay: -.8s; }
.archive-home-signal span:nth-child(3n + 1) { animation-delay: -.35s; }
@keyframes archiveSignal { to { height: 95%; } }
.archive-home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 11px; padding: 0 2px 8px; border-bottom: 1px solid rgba(255,181,71,.28); }
.archive-home-section-heading > div > span { color: var(--archive-amber); font: .52rem 'Share Tech Mono', monospace; letter-spacing: .12em; }
.archive-home-section-heading h2 { margin: 4px 0 0; color: #f8f3e9; font: 500 1.16rem 'Source Serif 4', Georgia, serif; }
.archive-home-section-index { color: #8d806d; font: .49rem 'Share Tech Mono', monospace; letter-spacing: .07em; text-align: right; }
.archive-home-section-index b { color: var(--archive-amber); font-size: .8rem; }
.archive-home-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 13px; }
.archive-card { --archive-accent: var(--archive-amber); grid-column: span 4; display: flex; min-width: 0; min-height: 310px; flex-direction: column; overflow: hidden; background: linear-gradient(155deg, rgba(28,22,15,.98), rgba(8,7,6,.99) 68%); border: 1px solid color-mix(in srgb, var(--archive-accent) 37%, transparent); box-shadow: 0 8px 22px #0005; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.archive-card.featured { grid-column: span 7; min-height: 340px; }
.archive-card.featured-side { grid-column: span 5; min-height: 340px; }
.archive-card:hover, .archive-card:focus-within { border-color: var(--archive-accent); box-shadow: 0 10px 30px #0007, 0 0 18px color-mix(in srgb, var(--archive-accent) 17%, transparent); transform: translateY(-3px); }
.archive-card-visual { position: relative; display: block; height: 155px; min-height: 145px; overflow: hidden; background: #100d08; border-bottom: 1px solid color-mix(in srgb, var(--archive-accent) 40%, transparent); }
.archive-card.featured .archive-card-visual, .archive-card.featured-side .archive-card-visual { height: 185px; min-height: 175px; }
.archive-card-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .72; filter: saturate(.72) contrast(1.05); transition: transform .4s ease, opacity .3s ease; }
.archive-card:hover .archive-card-visual > img, .archive-card:focus-within .archive-card-visual > img { opacity: .93; transform: scale(1.04); }
.archive-card-visual-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,4,3,.12), transparent 35%, rgba(5,4,3,.88)); }
.archive-card-icon { position: absolute; right: 12px; bottom: 12px; display: grid; width: 37px; height: 37px; place-items: center; color: var(--archive-accent); background: rgba(5,4,3,.78); border: 1px solid color-mix(in srgb, var(--archive-accent) 65%, transparent); font-size: 1.2rem; text-shadow: 0 0 10px color-mix(in srgb, var(--archive-accent) 50%, transparent); }
.archive-card-count, .archive-card-code { position: absolute; bottom: 13px; padding: 5px 7px; color: #fff0d0; background: rgba(5,4,3,.8); border: 1px solid color-mix(in srgb, var(--archive-accent) 46%, transparent); font: .48rem 'Share Tech Mono', monospace; letter-spacing: .09em; }
.archive-card-count { left: 12px; }
.archive-card-code { top: 11px; right: 12px; bottom: auto; }
.archive-card-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 12px 14px 13px; }
.archive-card-eyebrow { color: var(--archive-accent); font: .47rem 'Share Tech Mono', monospace; letter-spacing: .09em; }
.archive-card-content h3 { margin: 6px 0; color: #fff5e6; font: 500 1.05rem 'Source Serif 4', Georgia, serif; }
.archive-card-content h3 a { color: inherit; text-decoration: none; }
.archive-card-content h3 a:hover { color: var(--archive-accent); }
.archive-card-content > p { margin: 6px 0 11px; color: #bdb4a5; font: .65rem/1.55 'Source Serif 4', Georgia, serif; }
.archive-card-latest { display: grid; gap: 4px; width: 100%; margin: 3px 0 5px; padding: 7px 9px; background: color-mix(in srgb, var(--archive-accent) 6%, #080706); border-left: 2px solid var(--archive-accent); text-decoration: none; }
.archive-card-latest > span { color: var(--archive-accent); font: .45rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.archive-card-latest strong { color: #f3e8d5; font: 500 .75rem/1.4 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.archive-card-latest:hover strong { color: #fff; }
.archive-card-action { display: flex; width: 100%; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; color: var(--archive-accent); border-top: 1px dashed color-mix(in srgb, var(--archive-accent) 35%, transparent); font: .53rem 'Share Tech Mono', monospace; letter-spacing: .1em; text-decoration: none; }
.archive-card-action > span { font-size: .85rem; transition: transform .2s; }
.archive-card-action:hover > span { transform: translate(2px, -2px); }
.archive-home-footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-top: 18px; padding: 10px 2px 0; color: #746b5d; border-top: 1px dashed rgba(255,181,71,.18); font: .49rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.archive-home-footer a { display: inline-flex; align-items: center; gap: 7px; color: #dca75a; text-decoration: none; }
.archive-home-footer a:hover { color: #ffe1a8; }
@media (max-width: 760px) {
    .archive-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .archive-card, .archive-card.featured, .archive-card.featured-side { grid-column: span 1; min-height: 300px; }
    .archive-card.featured { grid-column: 1 / -1; }
    .archive-card.featured .archive-card-visual { height: 190px; min-height: 190px; }
}
@media (max-width: 520px) {
    .archive-home-hero { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; min-height: 180px; padding: 18px 14px; }
    .archive-home-hero-mark { width: 66px; }
    .archive-home-hero-mark span { font-size: 1.2rem; }
    .archive-home-kicker { font-size: .48rem; letter-spacing: .08em; }
    .archive-home-hero h1 { margin-top: 8px; font-size: clamp(1.45rem, 7vw, 2rem); }
    .archive-home-hero-copy > p { font-size: .7rem; }
    .archive-home-hero-code { top: 8px; right: 9px; font-size: .39rem; }
    .archive-home-signal { right: 10px; bottom: 8px; height: 18px; }
    .archive-home-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .archive-home-section-index { text-align: left; }
    .archive-home-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .archive-card, .archive-card.featured, .archive-card.featured-side { grid-column: 1; min-height: 0; }
    .archive-card-visual, .archive-card.featured .archive-card-visual { height: 170px; min-height: 170px; }
    .archive-card-content { padding: 11px 12px 12px; }
    .archive-home-footer { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .archive-home-signal span { animation: none; }
    .archive-card, .archive-card-visual > img, .archive-card-action > span { transition: none; }
    .archive-card:hover, .archive-card:focus-within { transform: none; }
}

.story-empty-filter { margin-top: 14px; }
.eco-construction { display: grid; min-height: 300px; justify-items: center; align-content: center; gap: 12px; padding: 28px 18px; background: radial-gradient(ellipse at center, rgba(198,154,55,.1), transparent 62%), var(--panel); border: 1px dashed rgba(198,154,55,.48); text-align: center; }
.eco-construction-icon { width: min(34vw, 150px); aspect-ratio: 1; object-fit: contain; border: 1px solid rgba(198,154,55,.35); box-shadow: 0 0 26px rgba(198,154,55,.12); }
.eco-construction .section-kicker { color: #c69a37; font-size: .62rem; letter-spacing: .08em; }
.eco-construction h1 { margin: 0; color: #fff; font-family: 'Source Serif 4', Georgia, serif; font-size: clamp(1.55rem, 5vw, 2.3rem); font-weight: 500; }
.eco-construction p { max-width: 550px; margin: 0 0 5px; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.admin-section-page { width: 100%; }
.admin-section-page .admin-section-story-list article { min-width: 0; }

@media (max-width: 700px) {
    .portal-grid { grid-template-columns: 1fr; gap: 9px; }
    .portal-card { grid-template-columns: minmax(86px, 120px) minmax(0, 1fr); }
}
@media (max-width: 480px) {
    .section-switcher { width: 100%; gap: 5px; }
    .section-switcher-link { width: 100%; min-height: 78px; padding: 7px 3px; }
    .portal-card { grid-template-columns: minmax(70px, 92px) minmax(0, 1fr); gap: 9px; padding: 9px; }
    .portal-card p { font-size: .64rem; }
    .eco-construction { min-height: 260px; }
}
@media (max-width: 560px) {
    .eco-console-header { flex-wrap: wrap; }
    .eco-console-stats, .eco-console-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eco-org-section-heading { grid-template-columns: minmax(0, 1fr); }
    .eco-org-section-heading small { text-align: left; }
    .eco-agent-card { grid-template-columns: minmax(76px, 96px) minmax(0, 1fr); gap: 9px; padding: 8px; }
    .eco-agent-photo, .eco-agent-photo img { min-height: 118px; }
    .eco-agent-heading { flex-direction: column; gap: 4px; }
    .eco-agent-info dl > div { grid-template-columns: minmax(58px, .34fr) minmax(0, 1fr); gap: 5px; }
    .eco-location-grid, .eco-wiki-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-console-mission.has-image { grid-template-columns: 78px minmax(0, 1fr); gap: 8px; padding: 8px; }
    .eco-console-mission.has-image > img { width: 78px; min-height: 82px; }
}
@media (max-width: 360px) {
    .eco-agent-card, .eco-console-mission.has-image { grid-template-columns: minmax(0, 1fr); }
    .eco-agent-photo, .eco-agent-photo img { min-height: 150px; }
    .eco-console-mission.has-image > img { width: 100%; height: 135px; }
}
@media (prefers-reduced-motion: reduce) {
    .section-switcher-link, .section-switcher-link img, .portal-card, .portal-card-image img { transition: none; }
    .section-switcher-link:hover, .section-switcher-link:focus-visible, .section-switcher-link.active, .portal-card:hover, .portal-card:focus-visible { transform: none; }
}
.eco-organization-console {
    --eco-terminal-scale: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 620px;
    max-height: 82vh;
    min-height: 420px;
    overflow: hidden;
    margin: 20px auto;
    padding: 16px;
    color: #ffb000;
    background: #120e0a;
    border: 4px solid #ffb000;
    box-shadow: 0 0 25px rgba(255,176,0,.12);
    font-family: 'Courier New', Courier, monospace;
    text-transform: uppercase;
    transition: height .3s ease, max-height .3s ease;
}
.eco-organization-console::after {
    position: absolute;
    z-index: 3;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.025) 4px);
    content: "";
    pointer-events: none;
}
.eco-organization-console.is-expanded { height: 820px; max-height: 90vh; }
.eco-organization-console.is-standby .eco-terminal-viewport { display: none; }
.eco-organization-console.is-standby::before {
    position: absolute;
    z-index: 1;
    inset: 145px 16px 48px;
    display: grid;
    place-items: center;
    color: #7a5200;
    border-top: 1px dashed #382818;
    border-bottom: 1px dashed #382818;
    content: "SISTEMA EN ESPERA // PULSE ⏻ PARA REACTIVAR";
    font-size: .7rem;
    letter-spacing: .1em;
    text-align: center;
}
.eco-console-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 0 10px;
    border-bottom: 2px dashed #ffb000;
}
.eco-console-header-main { min-width: 0; }
.eco-console-title { margin: 0; color: #ffdc73; font: 700 .78rem/1.45 'Courier New', Courier, monospace; letter-spacing: .04em; }
.eco-console-system-status { display: block; margin-top: 4px; color: #7a5200; font-size: .62rem; }
.eco-console-controls { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.eco-console-controls button {
    padding: 4px 6px;
    color: #ffb000;
    background: #090806;
    border: 1px solid #7a5200;
    font: 700 .68rem 'Courier New', Courier, monospace;
    cursor: pointer;
    transition: color .15s, background .15s, border-color .15s;
}
.eco-console-controls button:hover, .eco-console-controls button:focus-visible { color: #090806; background: #7a5200; border-color: #ffb000; outline: 2px solid #ffb000; outline-offset: 1px; }
.eco-console-controls .eco-console-power:hover, .eco-console-controls .eco-console-power:focus-visible { color: #fff; background: #9b2929; border-color: #ff3b3b; outline-color: #ff3b3b; }
.eco-console-clearance { flex: 0 0 auto; padding: 4px 7px; color: #090806; background: #ffb000; border: 1px solid #ffb000; font-size: .62rem; font-weight: 700; }
.eco-console-tabs { display: grid; flex: 0 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 12px 0; }
.eco-organization-console .eco-console-tabs a {
    padding: 8px 5px;
    color: #7a5200;
    background: #090806;
    border: 2px solid #7a5200;
    font: 700 .68rem 'Courier New', Courier, monospace;
    text-align: center;
    text-decoration: none;
    transition: color .15s, border-color .15s, background .15s;
}
.eco-organization-console .eco-console-tabs a:hover, .eco-organization-console .eco-console-tabs a:focus-visible { color: #ffb000; border-color: #ffb000; outline: none; }
.eco-organization-console .eco-console-tabs a.active { color: #090806; background: #ffb000; border-color: #ffb000; }
.eco-terminal-viewport {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0 5px 10px 0;
    color: #ffb000;
    font-family: 'Courier New', Courier, monospace;
    scrollbar-color: #7a5200 #090806;
    scrollbar-width: thin;
    zoom: var(--eco-terminal-scale);
}
.eco-terminal-intro { margin: 0 0 13px; padding: 10px; background: #090806; border: 1px solid #382818; }
.eco-terminal-intro .eco-console-kicker { color: #ffb000; font-size: .62rem; letter-spacing: .08em; }
.eco-terminal-intro h2 { margin: 5px 0; color: #ffdc73; font: 700 .95rem/1.4 'Courier New', Courier, monospace; }
.eco-terminal-intro > p { margin: 0 0 7px; color: #7a5200; font-size: .62rem; }
.eco-terminal-intro .eco-page-copy { color: #c39a4d; font: .68rem/1.55 'Courier New', Courier, monospace; text-align: left; }
.eco-organization-console .eco-org-section { scroll-margin-top: 4px; margin: 14px 0; }
.eco-organization-console .eco-org-section-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; margin-bottom: 8px; padding: 0 2px 6px; border-bottom: 1px dashed #7a5200; }
.eco-organization-console .eco-org-section-heading > span { color: #ffb000; font: .58rem 'Courier New', Courier, monospace; }
.eco-organization-console .eco-org-section-heading h2 { color: #ffdc73; font: 700 .86rem/1.4 'Courier New', Courier, monospace; }
.eco-organization-console .eco-org-section-heading small { color: #7a5200; font: .52rem 'Courier New', Courier, monospace; }
.eco-organization-console .eco-agent-card, .eco-organization-console .eco-location-card, .eco-organization-console .eco-console-mission, .eco-organization-console .eco-wiki-entry {
    color: #ffb000;
    background: #090806;
    border: 1px solid #382818;
}
.eco-organization-console .eco-agent-card, .eco-organization-console .eco-console-mission { border-left: 3px solid #7a5200; }
.eco-organization-console .eco-agent-photo, .eco-organization-console .eco-location-card > img, .eco-organization-console .eco-console-mission > img { border-color: #382818; }
.eco-organization-console .eco-agent-photo { color: #7a5200; background: #050403; }
.eco-organization-console .eco-agent-heading, .eco-organization-console .eco-agent-heading h3, .eco-organization-console .eco-location-card h3, .eco-organization-console .eco-console-mission h3 { color: #ffdc73; font-family: 'Courier New', Courier, monospace; }
.eco-organization-console .eco-agent-heading > span, .eco-organization-console .eco-agent-info dt, .eco-organization-console .eco-console-record-code, .eco-organization-console .eco-agent-photo small { color: #ffb000; font-family: 'Courier New', Courier, monospace; }
.eco-organization-console .eco-agent-info dd, .eco-organization-console .eco-location-card-content > p:last-child, .eco-organization-console .eco-console-mission-body > p:not(.eco-mission-meta), .eco-organization-console .eco-wiki-content { color: #c39a4d; font-family: 'Courier New', Courier, monospace; text-align: left; }
.eco-organization-console .eco-location-state, .eco-organization-console .eco-agent-status, .eco-organization-console .eco-agent-status-cuarentena, .eco-organization-console .eco-agent-status-inactivo, .eco-organization-console .eco-agent-status-desaparecido { color: #ffb000; font-family: 'Courier New', Courier, monospace; }
.eco-organization-console .eco-console-mission h3 a, .eco-organization-console .eco-console-mission .eco-card-link { color: #ffb000; }
.eco-organization-console .eco-console-report-preview { border-color: #382818; }
.eco-organization-console .eco-console-report-preview > summary { color: #ffb000; font: .6rem 'Courier New', Courier, monospace; }
.eco-organization-console .eco-console-report-preview .eco-page-copy { padding: 8px; color: #c39a4d; background: #120e0a; font: .68rem/1.55 'Courier New', Courier, monospace; text-align: left; }
.eco-organization-console .eco-wiki-entry[open] { border-color: #7a5200; }
.eco-organization-console .eco-wiki-entry > summary strong { color: #ffdc73; font: 700 .68rem 'Courier New', Courier, monospace; }
.eco-organization-console .eco-wiki-category { color: #ffb000; background: #120e0a; border-color: #382818; font: .5rem 'Courier New', Courier, monospace; }
.eco-organization-console .eco-wiki-toggle { color: #ffb000; }
.eco-organization-console .eco-card-link { border-color: #382818; font-family: 'Courier New', Courier, monospace; }
.eco-organization-console .eco-empty { padding: 12px; color: #c39a4d; background: #090806; border-color: #382818; font: .65rem/1.55 'Courier New', Courier, monospace; text-align: left; }
.eco-console-warning { flex: 0 0 auto; margin-top: 9px; padding-top: 8px; color: #7a5200; border-top: 1px dashed #382818; font: .58rem/1.5 'Courier New', Courier, monospace; letter-spacing: .04em; text-align: center; }
@media (max-width: 600px) {
    .eco-organization-console { height: 94vh; max-height: 94vh; min-height: 390px; padding: 10px; border-width: 3px; }
    .eco-organization-console.is-expanded { height: 96vh; max-height: 96vh; }
    .eco-console-header { align-items: flex-start; flex-wrap: wrap; }
    .eco-console-header-main { flex: 1 1 100%; }
    .eco-console-title { font-size: .72rem; }
    .eco-console-controls { justify-content: flex-start; }
    .eco-console-clearance { margin-left: auto; }
    .eco-organization-console .eco-console-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
    .eco-organization-console .eco-org-section-heading { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-console .eco-org-section-heading small { text-align: left; }
    .eco-organization-console .eco-agent-card { grid-template-columns: minmax(76px, 96px) minmax(0, 1fr); gap: 9px; padding: 8px; }
    .eco-organization-console .eco-agent-photo, .eco-organization-console .eco-agent-photo img { min-height: 118px; }
    .eco-organization-console .eco-agent-heading { flex-direction: column; gap: 4px; }
    .eco-organization-console .eco-location-grid, .eco-organization-console .eco-wiki-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-console .eco-console-mission.has-image { grid-template-columns: 78px minmax(0, 1fr); gap: 8px; padding: 8px; }
    .eco-organization-console .eco-console-mission.has-image > img { width: 78px; min-height: 82px; }
}
@media (max-width: 360px) {
    .eco-organization-console .eco-agent-card, .eco-organization-console .eco-console-mission.has-image { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-console .eco-agent-photo, .eco-organization-console .eco-agent-photo img { min-height: 150px; }
    .eco-organization-console .eco-console-mission.has-image > img { width: 100%; height: 135px; }
}

.home-editorial { --home-paper: #f0e8da; --home-muted: #a99c89; --home-ink: #0a0908; width: 100%; color: var(--home-paper); }
.home-masthead { position: relative; display: flex; min-height: 350px; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; margin-bottom: 15px; padding: clamp(24px, 5vw, 54px); background: radial-gradient(ellipse at 82% 20%, rgba(178,112,54,.18), transparent 34%), radial-gradient(ellipse at 18% 100%, rgba(74,49,29,.38), transparent 50%), linear-gradient(120deg, #21170f, #0c0a08 72%); border: 1px solid rgba(207,157,100,.34); box-shadow: inset 0 0 70px #0008, 0 16px 40px #0007; }
.home-masthead::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .32; background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.035) 4px), linear-gradient(90deg, transparent 0 69%, rgba(214,166,108,.035) 69.1% 69.25%, transparent 69.35%); }
.home-masthead::after { position: absolute; right: 9%; bottom: -180px; width: min(42vw, 450px); aspect-ratio: 1; content: ""; border: 1px solid rgba(209,160,105,.11); border-radius: 50%; box-shadow: 0 0 0 26px rgba(209,160,105,.025), 0 0 0 65px rgba(209,160,105,.02), 0 0 0 110px rgba(209,160,105,.015); pointer-events: none; }
.home-masthead-main, .home-masthead-aside, .home-masthead-index { position: relative; z-index: 1; }
.home-masthead-main { max-width: 650px; }
.home-overline, .home-masthead-aside, .home-masthead-index, .home-section-kicker, .home-library-title > div > span { font-family: 'Share Tech Mono', 'Courier New', monospace; }
.home-overline { display: flex; align-items: center; gap: 9px; color: #d6a36d; font-size: .61rem; letter-spacing: .13em; }
.home-overline i { width: 7px; height: 7px; background: #91bc72; border-radius: 50%; box-shadow: 0 0 9px #91bc72; }
.home-overline > span { color: #77634b; }
.home-masthead h1 { margin: 20px 0 12px; color: #fff7ec; font: 500 clamp(2.5rem, 7vw, 5.5rem)/.93 'Source Serif 4', Georgia, serif; letter-spacing: -.045em; }
.home-masthead h1 em { color: #d6a36d; font-style: italic; }
.home-masthead-main > p { max-width: 445px; margin: 0; color: #c3b8aa; font: .92rem/1.75 'Source Serif 4', Georgia, serif; }
.home-primary-link { display: inline-flex; align-items: center; gap: 20px; margin-top: 24px; padding: 12px 15px; color: #1b120a; background: #d6a36d; border: 1px solid #e6ba8e; font: .59rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .1em; text-decoration: none; transition: background .2s, transform .2s; }
.home-primary-link:hover, .home-primary-link:focus-visible { background: #f0c99f; outline: none; transform: translateY(-2px); }
.home-primary-link span { font-size: 1rem; }
.home-masthead-aside { display: grid; flex: 0 0 110px; justify-items: center; gap: 6px; padding: 15px 12px; color: #a28d70; border: 1px solid rgba(207,157,100,.27); background: rgba(0,0,0,.22); font-size: .49rem; letter-spacing: .1em; }
.home-masthead-aside strong { color: #e6c394; font: 500 2.8rem/.95 'Source Serif 4', Georgia, serif; }
.home-masthead-aside i { width: 34px; height: 1px; margin: 4px 0; background: #8a6948; }
.home-masthead-index { position: absolute; top: 19px; right: 21px; color: #78644d; font-size: .48rem; line-height: 1.7; letter-spacing: .09em; text-align: right; }
.home-universe-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 32px; }
.home-universe-nav > a { --home-accent: #d6a36d; position: relative; display: flex; min-width: 0; min-height: 84px; align-items: center; gap: 11px; overflow: hidden; padding: 11px; color: var(--home-paper); background: linear-gradient(130deg, color-mix(in srgb, var(--home-accent) 9%, #15110d), #0b0908 78%); border: 1px solid color-mix(in srgb, var(--home-accent) 29%, transparent); text-decoration: none; transition: border-color .2s, transform .2s, background .2s; }
.home-universe-nav > a:hover, .home-universe-nav > a:focus-visible { border-color: var(--home-accent); outline: none; transform: translateY(-2px); }
.home-universe-nav img { flex: 0 0 43px; width: 43px; height: 43px; object-fit: contain; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--home-accent) 35%, transparent)); }
.home-universe-nav > a > span { display: grid; min-width: 0; gap: 5px; }
.home-universe-nav small { overflow: hidden; color: var(--home-accent); font: .45rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .07em; text-overflow: ellipsis; white-space: nowrap; }
.home-universe-nav strong { overflow: hidden; color: #f0e8da; font: 500 .88rem 'Source Serif 4', Georgia, serif; text-overflow: ellipsis; }
.home-universe-nav > a > b { margin-left: auto; color: var(--home-accent); font-size: .8rem; }
.home-featured { --home-accent: #d9a66b; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr); min-height: 290px; overflow: hidden; margin-bottom: 44px; background: #100d0a; border: 1px solid color-mix(in srgb, var(--home-accent) 36%, transparent); }
.home-featured-art { position: relative; display: block; min-height: 290px; overflow: hidden; color: inherit; background: radial-gradient(ellipse at 50% 45%, color-mix(in srgb, var(--home-accent) 22%, #17120d), #0b0907 72%); }
.home-featured-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.home-featured-art:hover > img { transform: scale(1.035); }
.home-featured-art-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.86), transparent 68%), linear-gradient(90deg, rgba(0,0,0,.05), rgba(0,0,0,.15)); }
.home-featured-stamp { position: absolute; bottom: 18px; left: 18px; display: flex; align-items: center; gap: 9px; color: #f0e8da; font: .57rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .09em; }
.home-featured-stamp img { width: 39px; height: 39px; object-fit: contain; padding: 4px; background: rgba(7,6,5,.84); border: 1px solid color-mix(in srgb, var(--home-accent) 65%, transparent); }
.home-featured-stamp span { display: grid; gap: 5px; }
.home-featured-stamp small { color: var(--home-accent); font-size: .46rem; }
.home-featured-art-code { position: absolute; top: 12px; left: 13px; padding: 5px 7px; color: #e8d8c1; background: rgba(0,0,0,.65); font: .47rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .09em; }
.home-featured-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(20px, 4vw, 35px); }
.home-section-kicker { color: var(--home-accent); font-size: .52rem; letter-spacing: .1em; line-height: 1.6; }
.home-featured-copy h2 { margin: 12px 0 9px; color: #fff5e8; font: 500 clamp(1.6rem, 4vw, 2.55rem)/1.08 'Source Serif 4', Georgia, serif; }
.home-featured-copy h2 a { color: inherit; text-decoration: none; }
.home-featured-copy > p { display: -webkit-box; overflow: hidden; margin: 0; color: #b5a897; font: .78rem/1.75 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.home-text-link { display: inline-flex; align-items: center; gap: 11px; margin-top: 20px; padding-bottom: 5px; color: var(--home-accent); border-bottom: 1px solid color-mix(in srgb, var(--home-accent) 45%, transparent); font: .54rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .09em; text-decoration: none; }
.home-text-link:hover, .home-text-link:focus-visible { color: #fff0d7; outline: none; }
.home-featured-empty { grid-template-columns: minmax(180px, .6fr) 1fr; }
.home-featured-empty-art { display: grid; min-height: 250px; place-items: center; background: radial-gradient(ellipse at center, rgba(214,163,109,.11), transparent 70%), #0b0907; }
.home-featured-empty-art img { width: 42%; max-width: 160px; object-fit: contain; opacity: .7; }
.home-library { --home-accent: #d9a66b; margin-bottom: 43px; }
.home-library-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 13px; padding: 0 2px 11px; border-bottom: 1px solid color-mix(in srgb, var(--home-accent) 34%, transparent); }
.home-library-title { display: flex; min-width: 0; align-items: center; gap: 12px; }
.home-library-title > img { flex: 0 0 48px; width: 48px; height: 48px; object-fit: contain; padding: 4px; background: color-mix(in srgb, var(--home-accent) 8%, #0c0a08); border: 1px solid color-mix(in srgb, var(--home-accent) 42%, transparent); }
.home-library-title > div { min-width: 0; }
.home-library-title > div > span { color: var(--home-accent); font-size: .48rem; letter-spacing: .09em; }
.home-library-title h2 { margin: 4px 0 0; color: #f5eee3; font: 500 clamp(1.25rem, 3vw, 1.75rem)/1.1 'Source Serif 4', Georgia, serif; }
.home-library-heading > a { flex: 0 0 auto; padding-bottom: 3px; color: var(--home-accent); border-bottom: 1px solid color-mix(in srgb, var(--home-accent) 36%, transparent); font: .52rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .07em; text-decoration: none; }
.home-library-heading > a:hover, .home-library-heading > a:focus-visible { color: #fff0d7; outline: none; }
.home-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home-story-card { min-width: 0; overflow: hidden; background: linear-gradient(160deg, #17120d, #0b0907 80%); border: 1px solid rgba(214,163,109,.18); transition: border-color .2s, transform .2s; }
.home-story-card:hover, .home-story-card:focus-within { border-color: color-mix(in srgb, var(--home-accent) 62%, transparent); transform: translateY(-2px); }
.home-story-cover { position: relative; display: block; height: 170px; overflow: hidden; background: radial-gradient(ellipse at center, color-mix(in srgb, var(--home-accent) 17%, #17120d), #080706 75%); }
.home-story-cover > img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.home-story-card:hover .home-story-cover > img { transform: scale(1.045); }
.home-story-placeholder { display: grid; width: 100%; height: 100%; place-items: center; }
.home-story-placeholder img { width: 78px; height: 78px; object-fit: contain; opacity: .64; }
.home-story-number { position: absolute; right: 8px; bottom: 8px; padding: 4px 6px; color: #eadcc9; background: rgba(0,0,0,.76); font: .43rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .06em; }
.home-story-copy { padding: 12px 13px 13px; }
.home-story-copy h3 { margin: 0 0 6px; color: #f6efe5; font: 500 1.05rem/1.25 'Source Serif 4', Georgia, serif; }
.home-story-copy h3 a { color: inherit; text-decoration: none; }
.home-story-copy h3 a:hover, .home-story-copy h3 a:focus-visible { color: var(--home-accent); outline: none; }
.home-story-copy > p { display: -webkit-box; min-height: 3.9em; overflow: hidden; margin: 0 0 11px; color: #a99d8e; font: .68rem/1.55 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.home-story-open { display: flex; justify-content: space-between; gap: 7px; padding-top: 8px; color: var(--home-accent); border-top: 1px solid rgba(214,163,109,.16); font: .47rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; text-decoration: none; }
.home-story-open:hover, .home-story-open:focus-visible { color: #fff0d7; outline: none; }
.home-empty { margin: 0; padding: 17px; color: #a99d8e; background: rgba(16,13,10,.78); border: 1px dashed rgba(214,163,109,.25); font: .75rem/1.65 'Source Serif 4', Georgia, serif; }
.home-eco { --home-accent: #c7a85c; margin: 0 0 30px; padding: clamp(15px, 3vw, 23px); background: radial-gradient(ellipse at 8% 0, rgba(199,168,92,.09), transparent 45%), linear-gradient(145deg, #14120c, #0b0907 74%); border: 1px solid rgba(199,168,92,.28); border-top: 2px solid var(--home-accent); }
.home-eco-heading { margin-bottom: 16px; }
.home-eco-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.home-eco-list { min-width: 0; padding: 12px; background: rgba(0,0,0,.28); border: 1px solid rgba(199,168,92,.17); }
.home-eco-list > header { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; padding-bottom: 9px; border-bottom: 1px solid rgba(199,168,92,.16); }
.home-eco-module-icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: var(--home-accent); background: rgba(199,168,92,.08); border: 1px solid rgba(199,168,92,.35); font-size: 1.1rem; }
.home-eco-list > header > div { min-width: 0; }
.home-eco-list > header h3 { margin: 0 0 3px; color: #f0e8da; font: 500 .98rem 'Source Serif 4', Georgia, serif; }
.home-eco-list > header small { color: #a58d51; font: .45rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .07em; }
.home-eco-list > header > a { margin-left: auto; color: var(--home-accent); font-size: 1rem; text-decoration: none; }
.home-eco-records { display: grid; }
.home-eco-record { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-width: 0; padding: 9px 1px; color: inherit; border-bottom: 1px solid rgba(199,168,92,.12); text-decoration: none; }
.home-eco-record:last-child { border-bottom: 0; }
.home-eco-record-image { display: grid; width: 58px; height: 54px; place-items: center; overflow: hidden; color: #a58d51; background: rgba(199,168,92,.06); border: 1px solid rgba(199,168,92,.24); }
.home-eco-record-image img { width: 100%; height: 100%; object-fit: cover; }
.home-eco-record-image b { font-size: 1.25rem; font-weight: 400; }
.home-eco-record-copy { display: grid; min-width: 0; gap: 4px; }
.home-eco-record-copy > small { overflow: hidden; color: #a58d51; font: .42rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; }
.home-eco-record-copy > strong { overflow: hidden; color: #e9e1d3; font: 500 .81rem 'Source Serif 4', Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.home-eco-record-copy > span { display: -webkit-box; overflow: hidden; color: #a99d8e; font: .6rem/1.4 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-eco-record-arrow { color: var(--home-accent); font-size: .75rem; font-weight: 400; }
.home-eco-record:hover .home-eco-record-copy > strong, .home-eco-record:focus-visible .home-eco-record-copy > strong { color: var(--home-accent); }
.home-eco-record:focus-visible { outline: 1px solid var(--home-accent); outline-offset: 2px; }
.home-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 2px 7px; color: #817566; border-top: 1px solid rgba(214,163,109,.22); font: .48rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; }
.home-footer > span > i { color: #ad8051; font-style: normal; }
.home-footer > a { display: inline-flex; align-items: center; gap: 7px; color: #c9a176; text-decoration: none; }
.home-footer > a:hover, .home-footer > a:focus-visible { color: #fff0d7; outline: none; }
@media (max-width: 900px) {
    .home-universe-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .home-masthead { min-height: 315px; align-items: flex-start; margin-bottom: 12px; padding: 34px 18px 22px; }
    .home-masthead-main { max-width: 100%; }
    .home-masthead-aside { display: none; }
    .home-masthead-index { top: 11px; right: 12px; font-size: .4rem; }
    .home-overline { max-width: 75%; flex-wrap: wrap; font-size: .48rem; }
    .home-masthead h1 { margin-top: 25px; font-size: clamp(2.4rem, 11vw, 4.3rem); }
    .home-masthead-main > p { max-width: 340px; font-size: .82rem; }
    .home-primary-link { margin-top: 18px; }
    .home-featured { grid-template-columns: minmax(0, 1fr); margin-bottom: 34px; }
    .home-featured-art { min-height: 220px; }
    .home-featured-copy { padding: 19px; }
    .home-featured-empty { grid-template-columns: 130px minmax(0, 1fr); }
    .home-featured-empty-art { min-height: 190px; }
    .home-featured-empty .home-featured-copy { padding: 15px; }
    .home-eco-columns { grid-template-columns: minmax(0, 1fr); }
    .home-library-heading { align-items: flex-start; }
    .home-library-title { gap: 9px; }
    .home-library-title > img { flex-basis: 41px; width: 41px; height: 41px; }
    .home-library-title > div > span { font-size: .42rem; }
    .home-library-heading > a { padding-top: 5px; font-size: .46rem; }
    .home-library { margin-bottom: 34px; }
}
@media (max-width: 430px) {
    .home-universe-nav { gap: 7px; }
    .home-universe-nav > a { min-height: 72px; gap: 7px; padding: 8px; }
    .home-universe-nav img { flex-basis: 32px; width: 32px; height: 32px; }
    .home-universe-nav small { font-size: .38rem; }
    .home-universe-nav strong { font-size: .76rem; }
    .home-story-grid { grid-template-columns: minmax(0, 1fr); }
    .home-story-cover { height: 190px; }
    .home-story-copy > p { min-height: 0; }
    .home-footer { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .home-primary-link, .home-universe-nav > a, .home-featured-art > img, .home-story-card, .home-story-cover > img { transition: none; }
    .home-primary-link:hover, .home-universe-nav > a:hover, .home-story-card:hover { transform: none; }
}

.home-editorial { --home-paper: #f0f0e9; --home-muted: #a6aaa4; --home-ink: #111413; color: var(--home-paper); }
.home-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 14px; padding: 4px 1px 13px; border-bottom: 1px solid #454a47; }
.home-page-heading > div > span { color: #98a49b; font: .53rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .1em; }
.home-page-heading > div > span i { padding: 0 5px; color: #e5a64a; font-style: normal; }
.home-page-heading h1 { margin: 5px 0 0; color: #f2f0e8; font: 500 clamp(1.45rem, 4vw, 2.05rem)/1.1 'Source Serif 4', Georgia, serif; }
.home-page-heading h1 em { color: #dda850; font-style: italic; }
.home-page-heading > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; padding: 9px 11px; color: #e8c07a; background: #202422; border: 1px solid #4d514b; font: .5rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .07em; text-decoration: none; }
.home-page-heading > a:hover, .home-page-heading > a:focus-visible { color: #fff; border-color: #dda850; outline: none; }
.home-featured { display: block; min-height: 0; margin-bottom: 19px; background: #1a1d1b; border: 1px solid #494d49; }
.home-featured-art { min-height: 0; height: clamp(210px, 30vw, 340px); background: #171a19; }
.home-featured-art-shade { background: linear-gradient(0deg, rgba(7,9,8,.94), rgba(7,9,8,.06) 70%); }
.home-featured-art-code { top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 7px; color: #e7dfce; background: rgba(11,13,12,.82); border: 1px solid rgba(237,230,211,.2); font-size: .48rem; }
.home-featured-art-code img { width: 21px; height: 21px; object-fit: contain; }
.home-featured-art-code i { color: var(--home-accent); font-style: normal; }
.home-featured-overlay { position: absolute; right: clamp(14px, 3vw, 30px); bottom: 15px; left: clamp(14px, 3vw, 30px); display: grid; justify-items: start; gap: 7px; color: #fff; }
.home-featured-overlay > strong { max-width: 850px; color: #fff; font: 600 clamp(1.3rem, 4vw, 2.4rem)/1.1 'Source Serif 4', Georgia, serif; text-shadow: 0 2px 12px #000; }
.home-featured-overlay > small { display: -webkit-box; max-width: 760px; overflow: hidden; color: #e0dfd8; font: .7rem/1.55 'Source Serif 4', Georgia, serif; text-shadow: 0 1px 8px #000; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-featured-overlay > b { display: inline-flex; align-items: center; gap: 9px; margin-top: 3px; padding: 6px 8px; color: #151512; background: #e5a64a; font: .46rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .05em; }
.home-featured-overlay > b i { font-size: .8rem; font-style: normal; }
.home-featured-empty { display: grid; grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr); }
.home-featured-empty .home-featured-empty-art { min-height: 210px; background: #181c19; }
.home-featured-empty .home-featured-copy { min-height: 210px; }
.home-content-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(270px, .85fr); gap: 18px; align-items: start; }
.home-main-column, .home-sidebar { min-width: 0; }
.home-library { margin-bottom: 25px; }
.home-library-heading { align-items: center; margin-bottom: 10px; padding: 0 1px 9px; border-color: #454a47; }
.home-library-title { gap: 9px; }
.home-library-title > img { flex-basis: 37px; width: 37px; height: 37px; padding: 2px; background: #202422; border-color: color-mix(in srgb, var(--home-accent) 34%, #454a47); }
.home-library-title > div > span { color: #a6aaa4; font-size: .43rem; }
.home-library-title h2 { color: #f2f0e8; font-size: 1.35rem; }
.home-library-heading > a { color: var(--home-accent); }
.home-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.home-story-card { background: #1b1e1c; border-color: #3b403c; }
.home-story-card:hover, .home-story-card:focus-within { border-color: color-mix(in srgb, var(--home-accent) 70%, #3b403c); }
.home-story-cover { height: clamp(118px, 13vw, 170px); background: #232724; }
.home-story-number { color: #ecebe4; background: rgba(9,11,10,.8); }
.home-story-copy { padding: 10px 11px 11px; }
.home-story-copy h3 { font-size: .98rem; }
.home-story-copy > p { min-height: 3.15em; margin-bottom: 9px; color: #b0b3ad; font: .65rem/1.5 'Source Serif 4', Georgia, serif; -webkit-line-clamp: 2; }
.home-story-open { color: var(--home-accent); border-color: #383d39; }
.home-empty { color: #b2b5af; background: #1b1e1c; border-color: #424742; }
.home-sidebar { display: grid; gap: 13px; }
.home-sidebar-panel { min-width: 0; padding: 12px; background: #1b1e1c; border: 1px solid #3d423e; }
.home-sidebar-eco { padding: 0; overflow: hidden; background: #191d1a; border-color: #555042; border-top: 2px solid #c7a85c; }
.home-sidebar-heading { display: flex; align-items: center; gap: 9px; padding: 11px; background: rgba(0,0,0,.16); border-bottom: 1px solid #393a33; }
.home-sidebar-heading > img { flex: 0 0 38px; width: 38px; height: 38px; object-fit: contain; }
.home-sidebar-heading > div { min-width: 0; }
.home-sidebar-heading > div > span { color: #c7a85c; font: .43rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; }
.home-sidebar-heading h2 { margin: 3px 0 0; color: #f0eee6; font: 500 1.06rem 'Source Serif 4', Georgia, serif; }
.home-sidebar-heading > a { margin-left: auto; color: #c7a85c; text-decoration: none; }
.home-eco-list { margin: 0; padding: 10px; background: transparent; border: 0; }
.home-eco-list + .home-eco-list { border-top: 1px solid #393a33; }
.home-eco-list > header { gap: 7px; margin-bottom: 5px; padding-bottom: 7px; border-color: #383d39; }
.home-eco-module-icon { flex-basis: 29px; width: 29px; height: 29px; color: #d2b66d; background: #25261f; border-color: #57503b; font-size: .95rem; }
.home-eco-list > header h3 { color: #e9e7df; font-size: .9rem; }
.home-eco-list > header small { color: #b5a36b; font-size: .41rem; }
.home-eco-list > header > a { color: #d2b66d; }
.home-eco-record { grid-template-columns: 49px minmax(0, 1fr) auto; gap: 7px; padding: 7px 0; border-color: #343a36; }
.home-eco-record-image { width: 49px; height: 46px; color: #c7a85c; background: #252822; border-color: #4a493d; }
.home-eco-record-copy > small { color: #baaa75; font-size: .38rem; }
.home-eco-record-copy > strong { color: #e4e3dc; font-size: .75rem; }
.home-eco-record-copy > span { color: #aeb2ab; font-size: .56rem; -webkit-line-clamp: 1; }
.home-eco-record-arrow { color: #c7a85c; }
.home-eco-list .home-empty { padding: 9px; font-size: .65rem; }
.home-sidebar-title { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; padding-bottom: 8px; border-bottom: 1px solid #3c413d; }
.home-sidebar-title > span { color: #dba84e; font: .49rem 'Share Tech Mono', 'Courier New', monospace; }
.home-sidebar-title h2 { margin: 0; color: #ecebe4; font: 500 1rem 'Source Serif 4', Georgia, serif; }
.home-sidebar-universes { display: grid; }
.home-sidebar-universes > a, .home-latest-item > a { --home-accent: #d9a66b; display: flex; min-width: 0; align-items: center; gap: 9px; padding: 8px 2px; color: #ebe9e1; border-bottom: 1px solid #323733; text-decoration: none; }
.home-sidebar-universes > a:last-child, .home-latest-item:last-child > a { border-bottom: 0; }
.home-sidebar-universes > a > img { flex: 0 0 34px; width: 34px; height: 34px; object-fit: contain; padding: 2px; background: #242825; border: 1px solid color-mix(in srgb, var(--home-accent) 35%, #3d423e); }
.home-sidebar-universes > a > span, .home-latest-item > a > span:last-child { display: grid; min-width: 0; gap: 3px; }
.home-sidebar-universes strong { overflow: hidden; color: #ecebe4; font: 500 .77rem 'Source Serif 4', Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.home-sidebar-universes small, .home-latest-list small { color: var(--home-accent); font: .4rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .05em; }
.home-sidebar-universes > a > b { margin-left: auto; color: var(--home-accent); font-size: .75rem; }
.home-sidebar-universes > a:hover strong, .home-sidebar-universes > a:focus-visible strong, .home-latest-item > a:hover strong, .home-latest-item > a:focus-visible strong { color: var(--home-accent); }
.home-sidebar-universes > a:focus-visible, .home-latest-item > a:focus-visible { outline: 1px solid var(--home-accent); outline-offset: 1px; }
.home-latest-list { display: grid; }
.home-latest-item > a { gap: 8px; }
.home-latest-item > a > img, .home-latest-placeholder { flex: 0 0 52px; width: 52px; height: 42px; object-fit: cover; background: #242825; border: 1px solid #414641; }
.home-latest-placeholder { display: grid; place-items: center; }
.home-latest-placeholder img { width: 33px; height: 33px; object-fit: contain; }
.home-latest-list strong { display: -webkit-box; overflow: hidden; color: #e5e4dc; font: 500 .73rem/1.3 'Source Serif 4', Georgia, serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-footer { color: #9b9e97; border-color: #3e433f; }
.home-footer > a { color: #d9aa5b; }
@media (max-width: 900px) {
    .home-content-layout { grid-template-columns: minmax(0, 1.4fr) minmax(245px, .8fr); gap: 12px; }
    .home-story-grid { gap: 8px; }
}
@media (max-width: 720px) {
    .home-content-layout { grid-template-columns: minmax(0, 1fr); }
    .home-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .home-sidebar-eco { grid-row: span 2; }
    .home-sidebar-latest { grid-column: 2; }
}
@media (max-width: 520px) {
    .home-page-heading { align-items: flex-start; flex-direction: column; gap: 9px; }
    .home-page-heading > a { padding: 7px 9px; }
    .home-featured-art { height: 220px; }
    .home-featured-overlay { gap: 5px; }
    .home-featured-overlay > strong { font-size: 1.35rem; }
    .home-featured-overlay > small { font-size: .62rem; }
    .home-story-grid { grid-template-columns: minmax(0, 1fr); }
    .home-story-cover { height: 190px; }
    .home-sidebar { grid-template-columns: minmax(0, 1fr); }
    .home-sidebar-eco, .home-sidebar-latest { grid-row: auto; grid-column: auto; }
    .home-eco-record-copy > span { -webkit-line-clamp: 2; }
}
@media (prefers-reduced-motion: reduce) {
    .home-featured-art > img, .home-story-card, .home-story-cover > img { transition: none; }
    .home-story-card:hover { transform: none; }
}
.home-slider { overflow: hidden; margin-bottom: 19px; background: #1a1d1b; border: 1px solid #494d49; }
.home-slider-track { display: grid; position: relative; min-width: 0; }
.home-slide { grid-area: 1 / 1; min-width: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility 0s linear .65s; }
.home-slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition-delay: 0s; }
.home-slider .home-featured-art { height: clamp(220px, 34vw, 380px); }
.home-slider .home-featured-overlay > strong { max-width: 1000px; }
.home-slider-controls { display: flex; min-height: 46px; align-items: center; gap: 13px; padding: 6px 11px; background: linear-gradient(90deg, #171a18, #20231f 55%, #171a18); border-top: 1px solid #494d49; }
.home-slider-pagination { display: flex; align-items: center; gap: 6px; margin-right: auto; }
.home-slider-pagination button { width: 7px; height: 7px; padding: 0; background: #555b55; border: 0; border-radius: 50%; cursor: pointer; }
.home-slider-pagination button[aria-current="true"] { width: 18px; background: #e5a64a; border-radius: 6px; }
.home-slider-pagination button:focus-visible { outline: 2px solid #f1c776; outline-offset: 3px; }
.home-slider-controls > span { min-width: 56px; color: #d7b16b; font: .65rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; text-align: center; }
.home-slider-navigation { display: flex; align-items: center; gap: 6px; }
.home-slider-navigation button { display: grid; width: 34px; height: 32px; place-items: center; padding: 0; color: #e7b65d; background: #252923; border: 1px solid #62563f; cursor: pointer; font: 1rem 'Share Tech Mono', 'Courier New', monospace; transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
.home-slider-navigation button:hover { color: #171a18; background: #e7b65d; border-color: #e7b65d; transform: translateY(-1px); }
.home-slider-navigation button:focus-visible { color: #171a18; background: #e7b65d; border-color: #e7b65d; outline: 2px solid #f1c776; outline-offset: 2px; }
.home-slider-navigation button:active { transform: translateY(0); }
@media (max-width: 520px) {
    .home-slider .home-featured-art { height: 220px; }
    .home-slider-controls { min-height: 44px; gap: 9px; padding-inline: 8px; }
    .home-slider-navigation { gap: 5px; }
    .home-slider-navigation button { width: 32px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-slide, .home-slider-navigation button { transition: none; }
}
.admin-section-story-page { display: grid; gap: 15px; }
.admin-section-story-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 22px; align-items: center; padding: clamp(15px, 3vw, 22px); background: radial-gradient(ellipse at 8% 15%, rgba(217,119,6,.16), transparent 48%), linear-gradient(125deg, rgba(18,13,9,.97), rgba(8,7,6,.96)); border: 1px solid var(--border-bright); box-shadow: inset 0 0 30px rgba(217,119,6,.035), 0 12px 28px #0006; }
.admin-section-story-intro { display: flex; min-width: 0; align-items: center; gap: 15px; }
.admin-section-story-icon { display: grid; width: 62px; height: 62px; flex: 0 0 auto; place-items: center; color: #f3ad58; background: linear-gradient(145deg, rgba(217,119,6,.2), rgba(20,13,8,.78)); border: 1px solid rgba(217,119,6,.48); box-shadow: inset 0 0 18px rgba(217,119,6,.1), 0 0 20px rgba(217,119,6,.08); font-size: 1.65rem; }
.admin-section-story-intro .section-kicker { color: #e8a24b; font-size: .59rem; letter-spacing: .1em; }
.admin-section-story-intro h1 { margin: 6px 0 4px; color: #fff; font: 600 clamp(1.25rem, 3vw, 1.8rem)/1.2 'Source Serif 4', Georgia, serif; }
.admin-section-story-intro p { margin: 0; color: var(--muted); font-size: .67rem; line-height: 1.55; }
.admin-section-story-tools { display: grid; justify-items: end; gap: 12px; }
.admin-section-story-total { display: flex; align-items: center; gap: 9px; padding: 7px 10px; background: rgba(0,0,0,.25); border: 1px solid rgba(217,119,6,.22); }
.admin-section-story-total strong { color: #f1b45f; font-size: 1.2rem; line-height: 1; }
.admin-section-story-total small { color: var(--muted); font-size: .52rem; letter-spacing: .06em; }
.admin-section-story-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.admin-section-story-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-section-story-card { display: grid; min-width: 0; grid-template-columns: minmax(115px, 34%) minmax(0, 1fr); overflow: hidden; background: linear-gradient(135deg, rgba(21,16,12,.96), rgba(8,7,6,.96)); border: 1px solid rgba(217,119,6,.24); box-shadow: 0 7px 20px #0005; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.admin-section-story-card:hover { border-color: rgba(217,119,6,.62); box-shadow: 0 10px 26px #0008, 0 0 18px rgba(217,119,6,.07); transform: translateY(-2px); }
.admin-section-story-cover { position: relative; min-height: 148px; overflow: hidden; background: #100d09; }
.admin-section-story-cover::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, transparent 70%, rgba(10,8,6,.38)), linear-gradient(0deg, rgba(0,0,0,.45), transparent 48%); }
.admin-section-story-cover img { display: block; width: 100%; height: 100%; min-height: 148px; object-fit: cover; transition: transform .35s ease; }
.admin-section-story-card:hover .admin-section-story-cover img { transform: scale(1.04); }
.admin-section-story-cover > span { position: absolute; z-index: 1; bottom: 8px; left: 8px; padding: 4px 6px; color: #f2c078; background: rgba(7,6,4,.82); border: 1px solid rgba(217,119,6,.4); font-size: .57rem; }
.admin-section-story-content { display: flex; min-width: 0; flex-direction: column; gap: 10px; padding: 12px; }
.admin-section-story-meta { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.admin-section-story-meta > span { max-width: 68%; overflow: hidden; padding: 4px 7px; color: #efbd7b; background: rgba(217,119,6,.09); border: 1px solid rgba(217,119,6,.2); font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-section-story-meta > small { color: #91877d; font-size: .52rem; white-space: nowrap; }
.admin-section-story-content h2 { margin: 0; color: #fff; font: 600 1rem/1.4 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.admin-section-story-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 9px; border-top: 1px solid rgba(217,119,6,.14); }
.admin-section-story-card-actions form { display: flex; margin: 0 0 0 auto; }
.admin-section-story-card-actions .btn { min-height: 29px; font-size: .57rem; }
.admin-section-story-card-actions .btn.danger { margin-left: 0; }
@media (max-width: 700px) {
    .admin-section-story-heading { grid-template-columns: minmax(0, 1fr); }
    .admin-section-story-tools { grid-template-columns: 1fr; justify-items: start; }
    .admin-section-story-actions { justify-content: flex-start; }
    .admin-section-story-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
    .admin-section-story-intro { align-items: flex-start; gap: 10px; }
    .admin-section-story-icon { width: 44px; height: 44px; font-size: 1.2rem; }
    .admin-section-story-card { grid-template-columns: minmax(0, 1fr); }
    .admin-section-story-cover, .admin-section-story-cover img { height: 160px; min-height: 160px; }
    .admin-section-story-card-actions .btn { flex: 1 1 auto; }
    .admin-section-story-card-actions form { margin-left: 0; }
}

.chronicles-home { --home-paper: #f0e8da; --home-muted: #a99c89; }
.chronicles-intro { position: relative; overflow: hidden; margin-bottom: 16px; padding: clamp(20px, 3.5vw, 34px); background: radial-gradient(ellipse at 8% 0, rgba(217,166,107,.16), transparent 42%), linear-gradient(145deg, #1b140e, #0b0907 75%); border: 1px solid rgba(217,166,107,.38); box-shadow: inset 0 0 35px rgba(217,166,107,.035), 0 12px 28px #0006; }
.chronicles-intro-copy { max-width: 760px; margin-bottom: 22px; text-align: justify; }
.chronicles-intro-kicker { color: #d9a66b; font: .55rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .12em; }
.chronicles-intro-kicker i { padding: 0 5px; color: #806343; font-style: normal; }
.chronicles-intro-copy h1 { margin: 9px 0 7px; color: #fff5e8; font: 500 clamp(1.7rem, 4vw, 2.65rem)/1.08 'Source Serif 4', Georgia, serif; text-align: justify;}
.chronicles-intro-copy > p { max-width: 690px; margin: 0; color: #c3b8aa; font: .82rem/1.7 'Source Serif 4', Georgia, serif; text-align: justify;}
.chronicles-factions { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 11px; }
.chronicles-faction-card { --faction-color: #d9a66b; display: flex; min-width: 0; flex-direction: column; gap: 9px; padding: 8px; color: inherit; background: linear-gradient(150deg, color-mix(in srgb, var(--faction-color) 12%, #17120d), #090807 76%); border: 1px solid color-mix(in srgb, var(--faction-color) 30%, transparent); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.chronicles-faction-card:hover, .chronicles-faction-card:focus-visible { border-color: color-mix(in srgb, var(--faction-color) 75%, white 10%); box-shadow: 0 8px 20px #0008, 0 0 18px color-mix(in srgb, var(--faction-color) 14%, transparent); outline: none; transform: translateY(-2px); }
.chronicles-faction-logo-frame { display: block; aspect-ratio: 1; padding: 2px; background: linear-gradient(145deg, color-mix(in srgb, var(--faction-color) 85%, white 10%), color-mix(in srgb, var(--faction-color) 12%, #090807) 75%); }
.chronicles-faction-logo { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--faction-color) 22%, #21180f), #090807 74%); }
.chronicles-faction-logo img { display: block; width: 100%; height: 100%; padding: 11%; object-fit: contain; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--faction-color) 32%, transparent)); transition: transform .3s ease; }
.chronicles-faction-card:hover .chronicles-faction-logo img { transform: scale(1.06); }
.chronicles-faction-monogram { color: var(--faction-color); font: 500 clamp(1.1rem, 2.4vw, 2rem)/1 'Source Serif 4', Georgia, serif; text-shadow: 0 0 18px color-mix(in srgb, var(--faction-color) 42%, transparent); }
.chronicles-faction-copy { display: grid; min-width: 0; gap: 4px; }
.chronicles-faction-copy > small { overflow: hidden; color: color-mix(in srgb, var(--faction-color) 75%, #e9d8c3); font: .42rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.chronicles-faction-copy > strong { overflow: hidden; color: #f0e8da; font: 500 .8rem/1.3 'Source Serif 4', Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.chronicles-faction-copy > em { display: flex; justify-content: space-between; gap: 5px; margin-top: 4px; padding-top: 7px; color: var(--faction-color); border-top: 1px solid color-mix(in srgb, var(--faction-color) 23%, transparent); font: normal .42rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .06em; }
.chronicles-faction-copy > em b { font-size: .7rem; font-weight: 400; }
.chronicles-home .home-universe-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chronicles-home .home-universe-nav > a { --home-accent: #d9a66b; }
.chronicles-home .chronicles-module-icon { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; color: var(--home-accent); background: color-mix(in srgb, var(--home-accent) 9%, #15110d); border: 1px solid color-mix(in srgb, var(--home-accent) 35%, transparent); font: 1.1rem 'Source Serif 4', Georgia, serif; }
.chronicles-home .home-featured, .chronicles-home .home-slider { --home-accent: #d9a66b; background: #100d0a; border-color: rgba(217,166,107,.38); }
.chronicles-home .home-featured-art { background: radial-gradient(ellipse at 50% 45%, rgba(217,166,107,.2), #0b0907 72%); }
.chronicles-home .home-featured-art-shade { background: linear-gradient(0deg, rgba(15,9,5,.95), rgba(15,9,5,.08) 70%); }
.chronicles-home .home-featured-art-code { color: #e8d8c1; background: rgba(12,8,5,.82); border-color: rgba(217,166,107,.32); }
.chronicles-home .home-featured-overlay > b { color: #1b120a; background: #d9a66b; }
.chronicles-home .home-slider-controls { background: linear-gradient(90deg, #17120d, #21180f 55%, #17120d); border-color: rgba(217,166,107,.24); }
.chronicles-home .home-slider-pagination button { background: #74614e; }
.chronicles-home .home-slider-pagination button[aria-current="true"] { background: #d9a66b; }
.chronicles-home .home-slider-controls > span { color: #d9a66b; }
.chronicles-home .home-slider-navigation button { color: #e7b65d; background: #252019; border-color: #62513e; }
.chronicles-home .home-slider-navigation button:hover, .chronicles-home .home-slider-navigation button:focus-visible { color: #17120d; background: #d9a66b; border-color: #d9a66b; }
.chronicles-home .home-featured-empty .home-featured-empty-art { background: radial-gradient(ellipse at center, rgba(214,163,109,.11), transparent 70%), #0b0907; }
.chronicles-home .home-library-heading { border-color: rgba(217,166,107,.34); }
.chronicles-home .home-library-title > div > span { color: #c2ad93; }
.chronicles-home .home-library-heading > a { color: #d9a66b; border-color: rgba(217,166,107,.36); }
.chronicles-home .home-story-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chronicles-home .home-story-card { background: linear-gradient(160deg, #17120d, #0b0907 80%); border-color: rgba(214,163,109,.2); }
.chronicles-home .home-story-card:hover, .chronicles-home .home-story-card:focus-within { border-color: rgba(217,166,107,.7); }
.chronicles-home .home-story-cover { background: radial-gradient(ellipse at center, rgba(217,166,107,.17), #080706 75%); }
.chronicles-home .home-story-copy > p { color: #b5a897; }
.chronicles-home .home-story-open { border-color: rgba(214,163,109,.2); }
.chronicles-home .home-footer { color: #a99c89; border-color: rgba(214,163,109,.22); }
.chronicles-home .home-footer > span > i { color: #d9a66b; }
.chronicles-home .home-footer > a { color: #d9a66b; }
@media (max-width: 900px) {
    .chronicles-home .home-universe-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chronicles-home .home-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chronicles-factions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 430px) {
    .chronicles-home .home-story-grid { grid-template-columns: minmax(0, 1fr); }
    .chronicles-factions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .chronicles-intro { padding: 17px 13px; }
    .chronicles-faction-card { padding: 6px; }
    .chronicles-faction-copy > strong { font-size: .73rem; }
}
@media (prefers-reduced-motion: reduce) {
    .chronicles-faction-card, .chronicles-faction-logo img { transition: none; }
    .chronicles-faction-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .admin-section-story-card, .admin-section-story-cover img { transition: none; }
}
.admin-section-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.admin-section-nav.admin-primary-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-section-nav.admin-tools-nav { grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); }
.admin-section-nav-item { display: flex; min-width: 0; min-height: 54px; align-items: center; justify-content: center; flex-direction: column; gap: 4px; padding: 5px 3px; color: var(--cmd-muted); border-right: 1px solid var(--cmd-border); border-bottom: 2px solid transparent; font-size: .55rem; font-weight: 700; letter-spacing: .035em; text-align: center; text-decoration: none; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.admin-tools-nav { border-top: 1px solid var(--cmd-border); }
.admin-tool-nav-icon { color: var(--cmd-orange); font-size: 1rem; line-height: 1; }
.admin-section-nav-item img { display: block; width: 25px; height: 25px; object-fit: contain; image-rendering: pixelated; filter: saturate(.78) brightness(.86); transition: filter .18s ease, transform .18s ease; }
.admin-section-nav-item:hover, .admin-section-nav-item:focus-visible, .admin-section-nav-item.active { color: var(--cream); background: rgba(217,119,6,.1); border-bottom-color: var(--amber); outline: none; }
.admin-section-nav-item:hover img, .admin-section-nav-item:focus-visible img, .admin-section-nav-item.active img { filter: brightness(1.12) saturate(1.12) drop-shadow(0 0 5px rgba(217,119,6,.38)); transform: translateY(-1px); }
@media (max-width: 480px) {
    .cmd-nav-menu.admin-section-nav.admin-primary-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cmd-nav-menu.admin-section-nav.admin-tools-nav { grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); }
    .admin-section-nav-item { min-width: 0; padding-inline: 1px; font-size: .42rem; letter-spacing: 0; white-space: normal; }
    .admin-section-nav-item img { width: 22px; height: 22px; }
}
.eco-org-admin-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: clamp(15px, 3vw, 22px); background: radial-gradient(ellipse at 8% 50%, rgba(198,154,55,.14), transparent 42%), linear-gradient(125deg, rgba(18,15,10,.98), rgba(8,7,6,.96)); border: 1px solid rgba(198,154,55,.42); box-shadow: inset 0 0 28px rgba(198,154,55,.035), 0 12px 28px #0006; }
.eco-org-admin-heading { display: flex; min-width: 0; align-items: center; gap: 14px; }
.eco-org-admin-emblem { display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; color: #e5c36d; background: linear-gradient(145deg, rgba(198,154,55,.19), rgba(10,8,6,.92)); border: 1px solid rgba(198,154,55,.48); box-shadow: inset 0 0 16px rgba(198,154,55,.11), 0 0 18px rgba(198,154,55,.08); font-size: .88rem; letter-spacing: .12em; }
.eco-org-admin-heading .section-kicker { display: inline-block; margin: 0; padding: 0; border: 0; color: #c7a85c; font-size: .57rem; }
.eco-org-admin-heading h1 { margin: 5px 0; color: #fff; font: 600 clamp(1.25rem, 3vw, 1.7rem)/1.2 'Source Serif 4', Georgia, serif; }
.eco-org-admin-heading p { margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.eco-org-admin-header > .eco-admin-shortcuts { flex: 0 0 auto; justify-content: flex-end; margin: 0; }
.eco-org-admin-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.eco-org-admin-module { display: grid; min-width: 0; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px; color: inherit; background: linear-gradient(135deg, rgba(19,16,11,.96), rgba(8,7,6,.95)); border: 1px solid rgba(198,154,55,.24); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.eco-org-admin-module:hover, .eco-org-admin-module:focus-visible, .eco-org-admin-module.active { background: linear-gradient(135deg, rgba(65,48,20,.42), rgba(10,8,6,.98)); border-color: rgba(198,154,55,.68); box-shadow: 0 0 18px rgba(198,154,55,.08); outline: none; }
.eco-org-admin-module:hover { transform: translateY(-2px); }
.eco-org-admin-module-icon { display: grid; width: 42px; height: 42px; place-items: center; color: #ddbd69; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.34); font-size: 1.15rem; }
.eco-org-admin-module-copy { display: grid; min-width: 0; gap: 4px; }
.eco-org-admin-module-copy strong { color: #f4e4b9; font: 600 .82rem 'Source Serif 4', Georgia, serif; }
.eco-org-admin-module-copy small { color: #a59a82; font-size: .55rem; line-height: 1.45; }
.eco-org-admin-module-count { display: grid; justify-items: center; gap: 2px; min-width: 43px; color: #e3c46e; font-size: 1.05rem; }
.eco-org-admin-module-count small { color: #93866c; font-size: .42rem; letter-spacing: .04em; }
.eco-console-admin-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 12px; }
.eco-console-admin-layout > .panel { margin-bottom: 0; padding: clamp(12px, 2vw, 17px); border-color: rgba(198,154,55,.25); }
.eco-org-admin-panel-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding-bottom: 9px; border-bottom: 1px solid rgba(198,154,55,.2); }
.eco-org-admin-panel-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: #e2c36e; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.28); }
.eco-org-admin-panel-heading .section-kicker { display: block; margin: 0 0 4px; padding: 0; border: 0; color: #b59b5c; font-size: .47rem; }
.eco-org-admin-panel-heading h2 { margin: 0; color: #fff; font: 600 .98rem 'Source Serif 4', Georgia, serif; }
.eco-org-admin-panel-description { margin: 0 0 12px; font-size: .58rem; line-height: 1.5; }
.eco-console-admin-layout .eco-console-form { gap: 10px; }
.eco-console-admin-layout .eco-console-form .form-field { display: grid; align-content: start; gap: 5px; min-width: 0; }
.eco-console-admin-layout .eco-console-form label { color: #ddc16e; font-size: .58rem; }
.eco-console-admin-layout .eco-console-form input:not([type="file"]), .eco-console-admin-layout .eco-console-form select, .eco-console-admin-layout .eco-console-form textarea { width: 100%; min-width: 0; padding: 8px; color: var(--cream); background: #090807; border: 1px solid rgba(198,154,55,.27); border-radius: 2px; font-size: .66rem; }
.eco-console-admin-layout .eco-console-form textarea { resize: vertical; line-height: 1.55; }
.eco-console-admin-layout .eco-console-form input:focus, .eco-console-admin-layout .eco-console-form select:focus, .eco-console-admin-layout .eco-console-form textarea:focus { border-color: #c69a37; outline: 1px solid rgba(198,154,55,.2); }
.eco-console-admin-layout .eco-cover-field > label { color: #ddc16e; font-size: .58rem; }
.eco-org-admin-record-heading { justify-content: space-between; }
.eco-org-admin-record-count { padding: 5px 7px; color: #d8bd70; background: rgba(198,154,55,.07); border: 1px solid rgba(198,154,55,.23); font-size: .48rem; white-space: nowrap; }
.eco-org-admin-record-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eco-org-admin-record { display: grid; min-width: 0; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px; background: linear-gradient(110deg, rgba(198,154,55,.045), rgba(0,0,0,.2)); border: 1px solid rgba(198,154,55,.17); transition: border-color .18s ease, background .18s ease; }
.eco-org-admin-record:hover { background: rgba(198,154,55,.07); border-color: rgba(198,154,55,.43); }
.eco-org-admin-record-image { display: grid; width: 58px; height: 58px; overflow: hidden; place-items: center; color: #bca157; background: #090807; border: 1px solid rgba(198,154,55,.22); font-size: 1.2rem; }
.eco-org-admin-record-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eco-org-admin-record-copy { display: grid; min-width: 0; gap: 3px; }
.eco-org-admin-record-copy > small { color: #c6a654; font-size: .46rem; letter-spacing: .04em; overflow-wrap: anywhere; }
.eco-org-admin-record-copy > strong { color: #f1e6c7; font: 600 .76rem/1.35 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-org-admin-record-copy > span { color: #9c927d; font-size: .52rem; line-height: 1.4; overflow-wrap: anywhere; }
.eco-org-admin-record-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.eco-org-admin-record-actions form { margin: 0; }
.eco-org-admin-record-actions .btn { min-height: 27px; padding: 4px 7px; font-size: .52rem; }
.eco-org-admin-empty { display: grid; justify-items: center; gap: 7px; padding: 28px 12px; color: #a59a82; border: 1px dashed rgba(198,154,55,.24); text-align: center; }
.eco-org-admin-empty > span { color: #c7a85c; font-size: 1.4rem; }
.eco-org-admin-empty strong { color: #f0e2bd; font: 600 .85rem 'Source Serif 4', Georgia, serif; }
.eco-org-admin-empty p { margin: 0; font-size: .56rem; }
@media (max-width: 760px) {
    .eco-org-admin-header { align-items: flex-start; flex-direction: column; }
    .eco-org-admin-header > .eco-admin-shortcuts { justify-content: flex-start; }
    .eco-org-admin-modules { grid-template-columns: minmax(0, 1fr); }
    .eco-console-admin-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
    .eco-org-admin-heading { align-items: flex-start; gap: 9px; }
    .eco-org-admin-emblem { width: 44px; height: 44px; flex-basis: 44px; font-size: .68rem; }
    .eco-org-admin-record { grid-template-columns: 46px minmax(0, 1fr); gap: 8px; }
    .eco-org-admin-record-image { width: 46px; height: 46px; }
    .eco-org-admin-record-actions { grid-column: 2; justify-content: flex-start; }
    .eco-org-admin-record-actions .btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .eco-org-admin-module, .eco-org-admin-record { transition: none; }
}
.eco-organization-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), 1fr)); gap: 14px; }
.eco-organization-section-card { --organization-accent: #c69a37; position: relative; display: flex; min-height: 255px; flex-direction: column; align-items: flex-start; overflow: hidden; padding: clamp(19px, 3vw, 26px); color: #eee6d6; background: radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--organization-accent) 20%, transparent), transparent 48%), linear-gradient(145deg, rgba(25,21,13,.98), rgba(8,7,6,.98) 72%); border: 1px solid color-mix(in srgb, var(--organization-accent) 36%, transparent); border-top: 2px solid var(--organization-accent); box-shadow: 0 10px 28px #0006, inset 0 0 28px color-mix(in srgb, var(--organization-accent) 4%, transparent); text-decoration: none; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.eco-organization-section-card::after { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .12; background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(255,255,255,.08) 5px); }
.eco-organization-section-card:hover, .eco-organization-section-card:focus-visible { transform: translateY(-4px); border-color: color-mix(in srgb, var(--organization-accent) 78%, white); box-shadow: 0 15px 34px #0009, 0 0 22px color-mix(in srgb, var(--organization-accent) 15%, transparent); outline: none; }
.eco-organization-section-card > * { position: relative; z-index: 1; }
.eco-organization-section-icon { display: grid; width: 46px; height: 46px; place-items: center; margin-bottom: 18px; color: var(--organization-accent); background: color-mix(in srgb, var(--organization-accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--organization-accent) 42%, transparent); box-shadow: 0 0 20px color-mix(in srgb, var(--organization-accent) 13%, transparent); font-size: 1.3rem; }
.eco-organization-section-index { color: color-mix(in srgb, var(--organization-accent) 82%, white); font: .62rem 'Share Tech Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.eco-organization-section-card h2 { margin: 8px 0; color: #f5ead1; font: 600 clamp(1.13rem, 2.4vw, 1.38rem)/1.3 'Source Serif 4', Georgia, serif; text-wrap: balance; }
.eco-organization-section-card p { margin: 0 0 19px; color: #bdb5a6; font: .8rem/1.7 'Source Serif 4', Georgia, serif; }
.eco-organization-section-count { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 11px; color: color-mix(in srgb, var(--organization-accent) 82%, white); border-top: 1px solid color-mix(in srgb, var(--organization-accent) 23%, transparent); font: .62rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-organization-section-count b { font-size: .95rem; transition: transform .2s ease; }
.eco-organization-section-card:hover .eco-organization-section-count b { transform: translate(3px, -2px); }
.eco-organization-card-personnel { --organization-accent: #d8b354; }
.eco-organization-card-facilities { --organization-accent: #55b6c7; }
.eco-organization-card-departments { --organization-accent: #9b83d1; }
.eco-organization-card-mobile { --organization-accent: #d68a45; }
.eco-organization-card-interest { --organization-accent: #d26c62; }
.eco-organization-card-communities { --organization-accent: #79ae78; }
.eco-organization-card-anomalous-articles { --organization-accent: #9b83d1; }
.eco-organization-card-extranormal-events { --organization-accent: #d68a45; }
.eco-organization-card-unexplained-locations { --organization-accent: #55b6c7; }
.eco-glossary-intro { max-width: 760px; margin: 0 0 14px; color: #c3baa8; font: .78rem/1.7 'Source Serif 4', Georgia, serif; }
.eco-glossary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.eco-glossary-card { --eco-glossary-accent: #c69a37; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; align-items: center; min-height: 110px; min-width: 0; overflow: hidden; padding: 12px 14px; color: inherit; background: linear-gradient(115deg, rgba(198,154,55,.1), rgba(12,10,8,.96) 52%); border: 1px solid rgba(198,154,55,.27); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.eco-glossary-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: var(--eco-glossary-accent); box-shadow: 0 0 13px color-mix(in srgb, var(--eco-glossary-accent) 45%, transparent); }
.eco-glossary-card:hover, .eco-glossary-card:focus-visible { transform: translateY(-2px); background: linear-gradient(115deg, rgba(198,154,55,.18), rgba(12,10,8,.98) 66%); border-color: var(--eco-glossary-accent); box-shadow: 0 9px 22px #0006; outline: none; }
.eco-glossary-card-image, .eco-glossary-card-mark { grid-column: 1 / -1; display: grid; width: 100%; height: 104px; place-items: center; object-fit: cover; color: var(--eco-glossary-accent); background: radial-gradient(ellipse, rgba(198,154,55,.14), transparent 68%), #0a0907; border: 1px solid rgba(198,154,55,.18); font: 1.2rem 'Share Tech Mono', monospace; letter-spacing: .18em; }
.eco-glossary-card-category { grid-column: 1 / -1; justify-self: start; max-width: 100%; padding: 3px 6px; overflow: hidden; color: var(--eco-glossary-accent); background: rgba(5,3,2,.55); border: 1px solid color-mix(in srgb, var(--eco-glossary-accent) 42%, transparent); font: .55rem 'Share Tech Mono', monospace; letter-spacing: .07em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.eco-glossary-card h3 { min-width: 0; margin: 0; color: #f4e8c8; font: 500 .86rem/1.4 'Share Tech Mono', monospace; overflow-wrap: anywhere; }
.eco-glossary-card-open { justify-self: end; color: #aaa18f; font: .53rem 'Share Tech Mono', monospace; letter-spacing: .04em; white-space: nowrap; }
.eco-glossary-card-open b { color: var(--eco-glossary-accent); }
.eco-glossary-card:hover .eco-glossary-card-open { color: #f4e8c8; }
.eco-organization-page { display: grid; gap: 14px; }
.eco-organization-footer i { color: #8b7544; font-style: normal; }
.eco-organization-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.eco-organization-overview > a { display: grid; grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; gap: 1px 10px; align-items: center; min-width: 0; padding: 10px 12px; color: inherit; background: linear-gradient(135deg, rgba(24,20,12,.96), rgba(9,8,6,.96)); border: 1px solid rgba(198,154,55,.22); text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.eco-organization-overview > a:hover, .eco-organization-overview > a:focus-visible { background: rgba(198,154,55,.1); border-color: rgba(198,154,55,.58); outline: none; transform: translateY(-2px); }
.eco-organization-overview-icon { grid-row: 1 / span 2; display: grid; width: 34px; height: 34px; place-items: center; color: #d6b55f; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.2); font-size: .95rem; }
.eco-organization-overview > a > strong { color: #f2e5bd; font: 600 1rem 'Source Serif 4', Georgia, serif; }
.eco-organization-overview > a > small { color: #9c906f; font-size: .47rem; letter-spacing: .06em; }
.eco-organization-nav { position: sticky; z-index: 4; top: 8px; display: flex; gap: 5px; overflow-x: auto; padding: 6px; background: rgba(10,9,7,.94); border: 1px solid rgba(198,154,55,.22); backdrop-filter: blur(10px); scrollbar-width: thin; }
.eco-organization-nav a { display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: 7px; min-height: 32px; padding: 6px 10px; color: #c0b28e; background: rgba(198,154,55,.035); border: 1px solid transparent; font-size: .55rem; text-decoration: none; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.eco-organization-nav a > span { color: #c4a34f; font-size: .47rem; }
.eco-organization-nav a:hover, .eco-organization-nav a:focus-visible { color: #fff3cf; background: rgba(198,154,55,.1); border-color: rgba(198,154,55,.34); outline: none; }
.eco-organization-nav a[aria-current="page"] { color: #fff0c2; background: rgba(198,154,55,.12); border-color: rgba(198,154,55,.48); }
.eco-organization-back { display: inline-flex; justify-self: start; align-items: center; gap: 7px; padding: 7px 10px; color: #c5ae70; background: rgba(14,12,8,.8); border: 1px solid rgba(198,154,55,.25); font-size: .55rem; text-decoration: none; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.eco-organization-back:hover, .eco-organization-back:focus-visible { color: #fff0c2; background: rgba(198,154,55,.08); border-color: rgba(198,154,55,.55); outline: none; }
.eco-organization-page > .eco-org-section { scroll-margin-top: 58px; margin: 4px 0 0; padding: clamp(13px, 2.6vw, 20px); background: linear-gradient(145deg, rgba(15,13,9,.97), rgba(8,7,6,.95)); border: 1px solid rgba(198,154,55,.22); box-shadow: 0 8px 24px #0004; }
.eco-organization-section-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 13px; padding: 9px 12px; color: #f0d58b; background: rgba(198,154,55,.09); border: 1px solid rgba(198,154,55,.4); font-size: .58rem; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.eco-organization-section-link span { color: #d1b35f; font-size: .85rem; }
.eco-organization-section-link:hover, .eco-organization-section-link:focus-visible { background: rgba(198,154,55,.16); border-color: rgba(198,154,55,.72); outline: none; transform: translateX(2px); }
.eco-organization-page .eco-org-section-heading { gap: 5px 12px; margin-bottom: 13px; padding: 0 0 10px; border-bottom: 1px solid rgba(198,154,55,.27); }
.eco-organization-page .eco-org-section-heading > span { color: #c6a653; font-size: .5rem; letter-spacing: .1em; }
.eco-organization-page .eco-org-section-heading h2 { color: #f4eddb; font: 600 clamp(1.05rem, 2.8vw, 1.35rem)/1.3 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-org-section-heading small { align-self: center; color: #9a8c69; font-size: .46rem; letter-spacing: .05em; }
.eco-organization-page .eco-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.eco-organization-page .eco-agent-card { grid-template-columns: minmax(92px, 120px) minmax(0, 1fr); gap: 12px; padding: 10px; background: linear-gradient(130deg, rgba(31,26,15,.83), rgba(10,9,7,.98)); border-color: rgba(198,154,55,.24); border-left-color: rgba(198,154,55,.64); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.eco-organization-page .eco-agent-card:hover { border-color: rgba(198,154,55,.55); box-shadow: 0 8px 20px #0005; transform: translateY(-2px); }
.eco-organization-page .eco-agent-photo, .eco-organization-page .eco-agent-photo img { min-height: 148px; }
.eco-organization-page .eco-agent-heading h3 { color: #f2e5bd; font: 600 .87rem/1.35 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-agent-heading > span { color: #c0a45e; font-size: .46rem; }
.eco-organization-page .eco-agent-info dl { gap: 7px; }
.eco-organization-page .eco-agent-info dl > div { grid-template-columns: minmax(58px, .27fr) minmax(0, 1fr); font-size: .61rem; line-height: 1.55; }
.eco-organization-page .eco-agent-info dt { color: #c6a653; font-size: .46rem; }
.eco-organization-page .eco-agent-info dd { color: #c2baa9; font-family: 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-agent-status, .eco-organization-page .eco-agent-status-cuarentena, .eco-organization-page .eco-agent-status-inactivo, .eco-organization-page .eco-agent-status-desaparecido { font-size: .49rem; }
.eco-organization-page .eco-location-grid { gap: 11px; }
.eco-organization-page .eco-location-card { background: #0c0a07; border-color: rgba(198,154,55,.25); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.eco-organization-page .eco-location-card:hover { border-color: rgba(198,154,55,.58); box-shadow: 0 8px 20px #0005; transform: translateY(-2px); }
.eco-organization-page .eco-location-card > img { height: 145px; }
.eco-organization-page .eco-location-card-content { padding: 12px; }
.eco-organization-page .eco-location-card h3 { color: #f2e5bd; font: 600 .94rem/1.35 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-location-card-content > p:last-child { color: #bcb3a1; font: .68rem/1.65 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-console-record-code { color: #b99a50; font-size: .47rem; }
.eco-organization-page .eco-location-state { font-size: .49rem; }
.eco-organization-page .eco-console-mission-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.eco-organization-page .eco-console-mission { align-content: start; gap: 9px; padding: 10px; background: linear-gradient(145deg, rgba(22,18,11,.94), rgba(9,8,7,.98)); border-color: rgba(198,154,55,.22); border-left-color: #8b722f; }
.eco-organization-page .eco-console-mission.has-image { grid-template-columns: 92px minmax(0, 1fr); }
.eco-organization-page .eco-console-mission > img { width: 92px; min-height: 100px; }
.eco-organization-page .eco-console-mission h3 { color: #f2e5bd; font-size: .9rem; line-height: 1.4; }
.eco-organization-page .eco-console-mission-body > p:not(.eco-mission-meta) { color: #bcb3a1; font-size: .64rem; line-height: 1.6; }
.eco-organization-page .eco-console-mission .eco-card-link { color: #d4b45f; font-size: .48rem; }
.eco-organization-page .eco-wiki-grid { gap: 10px; }
.eco-organization-page .eco-wiki-entry { background: rgba(11,10,8,.95); border-color: rgba(198,154,55,.22); transition: border-color .18s ease, background .18s ease; }
.eco-organization-page .eco-wiki-entry:hover, .eco-organization-page .eco-wiki-entry[open] { background: rgba(24,20,12,.95); border-color: rgba(198,154,55,.52); }
.eco-organization-page .eco-wiki-entry > summary { min-height: 48px; padding: 10px 11px; }
.eco-organization-page .eco-wiki-category { color: #c9ad65; font-size: .46rem; }
.eco-organization-page .eco-wiki-entry > summary strong { color: #f0e5c9; font: 600 .78rem 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-wiki-content { padding: 0 11px 12px; color: #c3baa8; font: .67rem/1.65 'Source Serif 4', Georgia, serif; }
.eco-organization-page .eco-wiki-definition { color: #e0d6bf; }
.eco-organization-page .eco-wiki-article { border-top-color: rgba(198,154,55,.24); }
.eco-organization-page .eco-empty { color: #b6ad9b; background: rgba(7,6,5,.55); border-color: rgba(198,154,55,.28); font: .68rem/1.6 'Source Serif 4', Georgia, serif; }
.eco-organization-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 3px 2px; color: #8f856f; border-top: 1px solid rgba(198,154,55,.2); font-size: .48rem; letter-spacing: .06em; }
.eco-organization-footer a { color: #c3a957; text-decoration: none; }
.eco-organization-footer a:hover, .eco-organization-footer a:focus-visible { color: #f4e7c4; outline: none; }
@media (max-width: 760px) {
    .eco-organization-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eco-organization-page .eco-agent-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-page .eco-console-mission-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
    .eco-organization-nav { top: 4px; }
    .eco-organization-nav a { justify-content: flex-start; }
    .eco-organization-page > .eco-org-section { padding: 12px; }
    .eco-organization-page .eco-org-section-heading { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-page .eco-org-section-heading small { text-align: left; }
    .eco-organization-page .eco-agent-card { grid-template-columns: 82px minmax(0, 1fr); gap: 9px; }
    .eco-organization-page .eco-agent-photo, .eco-organization-page .eco-agent-photo img { min-height: 120px; }
    .eco-organization-page .eco-agent-info dl > div { grid-template-columns: minmax(52px, .3fr) minmax(0, 1fr); }
    .eco-organization-page .eco-location-grid, .eco-organization-page .eco-wiki-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-glossary-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-organization-page .eco-console-mission.has-image { grid-template-columns: 76px minmax(0, 1fr); }
    .eco-organization-page .eco-console-mission.has-image > img { width: 76px; min-height: 84px; }
    .eco-organization-footer { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .eco-organization-overview > a, .eco-organization-nav a, .eco-organization-page .eco-agent-card, .eco-organization-page .eco-location-card, .eco-organization-page .eco-wiki-entry, .eco-glossary-card { transition: none; }
}

/* One typographic system across every section; only heading level changes size. */
body * {
    font-family: var(--font-reading) !important;
    font-size: inherit !important;
}

body h1 {
    font-size: clamp(1.65rem, 4vw, 2.35rem) !important;
    line-height: 1.2;
}

body h2 {
    font-size: 1.5rem !important;
    line-height: 1.3;
}

body h3 {
    font-size: 1.15rem !important;
    line-height: 1.35;
}

body h4 {
    font-size: 1rem !important;
    line-height: 1.4;
}

body h5,
body h6 {
    font-size: .9rem !important;
    line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
    .character-card,
    .story-card,
    .glossary-entry,
    .eco-glossary-card {
        transition: none;
    }
}

/* ECO directory and administration layouts share one clear card hierarchy. */
.eco-admin-record-hero {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    margin-bottom: 14px;
    padding: clamp(16px, 3vw, 24px);
    background: radial-gradient(ellipse at 92% 8%, rgba(198,154,55,.14), transparent 42%), linear-gradient(130deg, #17140d, #090807 76%);
    border: 1px solid rgba(198,154,55,.35);
    border-top: 2px solid var(--eco-gold, #c69a37);
}

.eco-admin-record-hero > div:first-child {
    min-width: 0;
}

.eco-admin-record-hero .section-kicker {
    color: #c7a85c;
}

.eco-admin-record-hero h1 {
    margin: 7px 0;
    color: #f8f3e5;
}

.eco-admin-record-hero p {
    max-width: 680px;
    margin: 0;
    color: #bdb5a6;
    line-height: 1.65;
}

.eco-admin-record-hero-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.eco-admin-record-total {
    display: grid;
    min-width: 74px;
    justify-items: center;
    gap: 3px;
    padding: 8px 10px;
    color: #f0d28b;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(198,154,55,.27);
}

.eco-admin-record-total strong {
    font-size: 1.25rem;
    line-height: 1;
}

.eco-admin-record-total small {
    color: #a99a75;
    letter-spacing: .07em;
}

.eco-admin-record-hero.eco-org-agents-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.eco-org-agents-hero > div:first-child {
    width: 100%;
}

.eco-org-agents-hero .section-kicker {
    display: inline-flex;
    max-width: 100%;
    margin-bottom: 8px;
}

.eco-org-agents-hero h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.eco-org-agents-hero .eco-admin-record-hero-actions {
    display: flex;
    width: 100%;
    flex: initial;
    justify-content: flex-start;
    padding-top: 13px;
    border-top: 1px solid rgba(198,154,55,.2);
}

.eco-org-agents-hero .eco-admin-record-total {
    flex: 0 0 92px;
    align-content: center;
}

.eco-org-agents-hero .eco-admin-record-hero-actions > .btn {
    flex: 1 1 145px;
    min-width: min(100%, 145px);
    min-height: 38px;
    text-align: center;
    line-height: 1.35;
    white-space: normal;
}

.eco-admin-page .eco-org-admin-modules {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.eco-admin-page .eco-org-admin-module {
    min-height: 86px;
    padding: 12px 13px;
}

.eco-admin-page .eco-org-admin-module.active {
    box-shadow: inset 3px 0 #c69a37, 0 7px 18px #0004;
}

.eco-admin-page .eco-org-admin-module-count {
    min-width: 49px;
    min-height: 42px;
    align-content: center;
    background: rgba(198,154,55,.07);
    border: 1px solid rgba(198,154,55,.16);
}

.eco-console-admin-layout > .panel {
    min-width: 0;
    padding: clamp(14px, 2.2vw, 20px);
    background: linear-gradient(155deg, rgba(17,15,11,.98), rgba(8,7,6,.98));
}

.eco-admin-page .eco-console-admin-layout {
    grid-template-columns: minmax(0, 1fr);
}

.eco-admin-page .eco-console-admin-layout .eco-rich-editor .rich-editor-surface {
    min-height: clamp(480px, 65vh, 760px);
    max-height: none;
}

.eco-admin-page .eco-console-admin-layout .eco-rich-source {
    min-height: clamp(480px, 65vh, 760px);
}

.eco-console-admin-layout .eco-org-admin-panel-heading {
    align-items: flex-end;
    margin-bottom: 14px;
    padding-bottom: 11px;
}

.eco-console-admin-layout .eco-org-admin-panel-heading h2 {
    line-height: 1.3;
}

.eco-console-admin-layout .eco-console-form {
    gap: 12px;
}

.eco-console-admin-layout .eco-org-admin-record-list {
    gap: 7px;
}

.eco-console-admin-layout .eco-org-admin-record {
    padding: 10px;
    background: rgba(0,0,0,.22);
}

.eco-console-admin-layout .eco-admin-record-list > li,
.eco-console-admin-layout .eco-admin-record-row {
    align-items: center;
    padding: 11px 12px;
    background: linear-gradient(110deg, rgba(198,154,55,.055), rgba(0,0,0,.23));
    border-color: rgba(198,154,55,.2);
}

.eco-console-admin-layout .eco-admin-record-row > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.eco-console-admin-layout .eco-admin-record-row > div > small {
    color: #c6a654;
    letter-spacing: .04em;
}

.eco-console-admin-layout .eco-admin-record-row > div > strong {
    color: #f1e6c7;
    overflow-wrap: anywhere;
}

.eco-console-admin-layout .eco-admin-record-row > div > span {
    color: #9c927d;
}

.eco-console-admin-layout .eco-admin-record-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 6px;
}

.eco-console-admin-layout .eco-admin-record-actions form {
    margin: 0;
}

.eco-console-admin-layout .eco-admin-record-actions .btn {
    min-height: 30px;
}

.eco-directory-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding-top: 13px;
    border-top: 1px solid rgba(198,154,55,.2);
}

.eco-directory-summary > span {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    color: #b9a675;
    letter-spacing: .07em;
}

.eco-directory-summary > span strong {
    color: #f0d28b;
    font-size: 1.25rem;
    letter-spacing: 0;
}

.eco-directory-summary > a {
    color: #e6c46b;
    text-decoration: none;
}

.eco-directory-summary > a:hover,
.eco-directory-summary > a:focus-visible {
    color: #fff1c9;
}

.eco-registry-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border-radius: 3px;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.eco-registry-card:hover {
    transform: translateY(-3px);
    border-color: rgba(198,154,55,.55);
    box-shadow: 0 14px 28px #0007;
}

.eco-registry-card-cover {
    min-height: 190px;
}

.eco-registry-card-body {
    flex: 1;
    gap: 7px;
    padding: 17px;
}

.eco-registry-card-kind {
    color: #c69a37;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.eco-registry-card-body h2 {
    margin: 0;
    line-height: 1.3;
}

.eco-registry-card-body p {
    margin: 0 0 8px;
    text-align: justify;
}

.eco-registry-card-country,
.eco-facility-status {
    padding: 4px 7px;
    background: rgba(198,154,55,.07);
    border: 1px solid rgba(198,154,55,.18);
}

.eco-facility-detail {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
    gap: clamp(16px, 3vw, 28px);
    align-items: start;
    padding: clamp(16px, 3vw, 30px);
}

.eco-facility-detail-visual {
    position: relative;
    overflow: hidden;
    background: #080706;
    border: 1px solid rgba(198,154,55,.35);
    box-shadow: 0 12px 28px #0008;
}

.eco-facility-detail .eco-registry-detail-image,
.eco-facility-image-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    object-fit: cover;
    border: 0;
}

.eco-facility-image-placeholder {
    display: grid;
    place-items: center;
    color: #c69a37;
    background: radial-gradient(circle, rgba(198,154,55,.18), transparent 65%), #080706;
    font: 2rem 'Share Tech Mono', monospace;
    letter-spacing: .2em;
}

.eco-facility-detail-content {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.eco-facility-detail .eco-facility-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr));
    margin: 0;
}

.eco-facility-description {
    padding: 15px;
    background: rgba(0,0,0,.18);
    border-left: 2px solid #c69a37;
}

.eco-facility-description .eco-page-copy {
    margin-top: 9px;
}

.eco-facility-detail .eco-wiki-summary {
    margin: 0;
}

.eco-facility-detail > .eco-facility-related-dossiers,
.eco-facility-detail > .eco-facility-detail-footer {
    grid-column: 1 / -1;
}

.eco-facility-detail-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(198,154,55,.16);
}

.eco-facility-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.eco-facility-directory-card {
    min-width: 0;
    aspect-ratio: 1;
    overflow: hidden;
    background: #0b0907;
    border: 1px solid rgba(198,154,55,.3);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.eco-facility-directory-card:hover {
    transform: translateY(-3px);
    border-color: rgba(236,190,91,.72);
    box-shadow: 0 12px 28px #0008;
}

.eco-facility-directory-card > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #f0e7d5;
    text-decoration: none;
}

.eco-facility-directory-card > a::after {
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(0,0,0,.94));
    content: '';
}

.eco-facility-directory-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.eco-facility-directory-card:hover img {
    transform: scale(1.04);
}

.eco-facility-directory-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #c69a37;
    background: radial-gradient(circle at 50% 35%, rgba(198,154,55,.22), transparent 55%), #0b0907;
    font-family: 'Share Tech Mono', monospace;
    font-size: 2rem;
}

.eco-facility-directory-card b,
.eco-facility-directory-card h2 {
    position: absolute;
    z-index: 1;
    margin: 0;
}

.eco-facility-directory-card b {
    top: 10px;
    left: 10px;
    padding: 4px 7px;
    color: #f3d895;
    background: #080706e8;
    border: 1px solid rgba(198,154,55,.4);
    font-family: 'Share Tech Mono', monospace;
    font-size: .63rem;
}

.eco-facility-directory-card h2 {
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: -webkit-box;
    overflow: hidden;
    font-size: .98rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 900px) {
    .eco-facility-directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eco-facility-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.eco-registry-detail-content {
    min-width: 0;
}

.eco-registry-detail.has-image {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(16px, 3vw, 26px);
    align-items: start;
}

.eco-registry-detail.has-image .eco-registry-detail-image {
    width: 100%;
    max-height: 520px;
    margin: 0;
}

.eco-registry-detail-content .eco-page-copy > :first-child,
.eco-facility-detail .eco-page-copy > :first-child {
    margin-top: 0;
}

.eco-registry-detail.eco-registry-record-detail {
    --registry-accent: #e1b85c;
    display: grid;
    grid-template-columns: minmax(180px, .68fr) minmax(0, 1.32fr);
    gap: clamp(16px, 3vw, 28px);
    align-items: start;
    margin-top: 0;
    padding: clamp(14px, 2.4vw, 22px);
    background: linear-gradient(135deg, rgba(18,16,12,.98), rgba(8,9,8,.98) 75%);
    border-color: color-mix(in srgb, var(--registry-accent) 34%, #241f15);
}

.eco-registry-detail.eco-registry-record-detail.eco-anomaly-detail {
    --registry-accent: #e58a72;
    background: linear-gradient(135deg, rgba(29,17,15,.98), rgba(9,9,8,.98) 72%);
    border-top: 2px solid var(--registry-accent);
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.eco-registry-detail.eco-registry-record-detail.eco-anomaly-detail.has-image .eco-registry-detail-image {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    max-height: none;
    margin: 0;
    object-fit: contain;
    object-position: center;
    background: #080807;
}

.eco-registry-detail.eco-registry-record-detail.has-image .eco-registry-detail-image,
.eco-registry-record-placeholder {
    width: 100%;
    aspect-ratio: 4 / 5;
    max-height: 390px;
    margin: 0;
    object-fit: cover;
    background: radial-gradient(ellipse at 50% 38%, color-mix(in srgb, var(--registry-accent) 22%, transparent), transparent 62%), #0b0b09;
    border: 1px solid color-mix(in srgb, var(--registry-accent) 38%, #29231a);
}

.eco-registry-detail-placeholder {
    display: grid;
    place-items: center;
    color: var(--registry-accent);
    font: 500 3rem 'Share Tech Mono', monospace;
}

.eco-registry-detail.eco-registry-record-detail .eco-registry-detail-content {
    display: grid;
    gap: 11px;
    align-content: start;
}

.eco-registry-detail.eco-registry-record-detail .eco-registry-detail-meta {
    align-items: center;
    gap: 7px;
    color: #b6ad98;
    font-size: .58rem;
}

.eco-registry-record-code,
.eco-registry-record-kind {
    padding: 5px 7px;
    color: var(--registry-accent);
    background: color-mix(in srgb, var(--registry-accent) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--registry-accent) 35%, transparent);
    font-size: .52rem;
}

.eco-registry-record-title {
    margin: 0;
    color: #f2ead8;
    font: 500 1.7rem/1.12 'Source Serif 4', Georgia, serif;
    overflow-wrap: anywhere;
}

.eco-registry-detail.eco-registry-record-detail .eco-wiki-summary {
    margin: 0;
    padding: 9px 11px;
    background: color-mix(in srgb, var(--registry-accent) 7%, transparent);
    border-left-color: var(--registry-accent);
}

.eco-registry-record-description > span {
    display: block;
    margin-bottom: 5px;
    color: var(--registry-accent);
    font: .5rem 'Share Tech Mono', monospace;
    letter-spacing: .08em;
}

.eco-registry-record-description .eco-page-copy {
    color: #d5d0c5;
    font-size: .76rem;
    line-height: 1.65;
    text-align: left;
}

.eco-registry-detail.eco-registry-record-detail .eco-link-graph {
    margin-top: 0;
}

@media (max-width: 700px) {
    .eco-registry-detail.eco-registry-record-detail,
    .eco-registry-detail.eco-registry-record-detail.has-image {
        grid-template-columns: minmax(0, 1fr);
    }

    .eco-registry-detail.eco-registry-record-detail.has-image .eco-registry-detail-image,
    .eco-registry-record-placeholder {
        width: min(100%, 340px);
        aspect-ratio: 16 / 10;
        max-height: 230px;
        justify-self: center;
    }

    .eco-registry-record-title {
        font-size: 1.4rem;
    }
}

.eco-organization-sections {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eco-anomaly-organization {
    margin-top: clamp(20px, 4vw, 34px);
}

.eco-anomaly-organization-heading {
    margin-bottom: 13px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(198,154,55,.27);
}

.eco-anomaly-organization-heading > span {
    color: #c6a653;
    font: .5rem 'Share Tech Mono', monospace;
    letter-spacing: .1em;
}

.eco-anomaly-organization-heading h2 {
    margin: 5px 0;
    color: #f4eddb;
    font: 600 clamp(1.05rem, 2.8vw, 1.35rem)/1.3 'Source Serif 4', Georgia, serif;
}

.eco-anomaly-organization-heading p {
    margin: 0;
    color: #a9a08d;
    font: .68rem/1.6 'Source Serif 4', Georgia, serif;
}

.eco-anomaly-organization-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eco-anomaly-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eco-registry-page .eco-anomaly-archive-grid .eco-organization-section-card,
.eco-registry-page .eco-anomaly-organization-grid .eco-organization-section-card {
    min-height: 245px;
}

.eco-organization-section-card {
    min-height: 245px;
    border-radius: 3px;
}

.eco-organization-card-zones {
    --organization-accent: #b5a06a;
}

.eco-organization-page > .eco-org-section {
    padding: clamp(16px, 2.5vw, 24px);
    background: linear-gradient(145deg, rgba(15,13,9,.97), rgba(8,7,6,.96));
    border-color: rgba(198,154,55,.28);
}

.eco-organization-page .eco-agent-card,
.eco-organization-page .eco-location-card {
    border-radius: 3px;
}

.eco-organization-page .eco-agent-photo,
.eco-organization-page .eco-agent-photo img {
    min-height: 170px;
}

.eco-organization-page .eco-agent-info dl {
    gap: 10px;
}

.eco-organization-page .eco-agent-info dt {
    letter-spacing: .06em;
}

@media (max-width: 900px) {
    .eco-admin-record-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .eco-admin-record-hero-actions {
        justify-content: flex-start;
    }

    .eco-organization-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eco-anomaly-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eco-facility-detail {
        grid-template-columns: minmax(0, 1fr);
    }

    .eco-facility-detail-visual {
        width: min(100%, 440px);
        margin-inline: auto;
    }

    .eco-facility-detail > .eco-facility-related-dossiers,
    .eco-facility-detail > .eco-facility-detail-footer {
        grid-column: 1;
    }

    .eco-console-admin-layout .eco-admin-record-list > li,
    .eco-console-admin-layout .eco-admin-record-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .eco-console-admin-layout .eco-admin-record-actions {
        width: 100%;
    }

    .eco-console-admin-layout .eco-admin-record-actions .btn {
        flex: 1 1 auto;
    }

    .eco-organization-page .eco-agent-photo,
    .eco-organization-page .eco-agent-photo img {
        min-height: 145px;
    }
}

@media (max-width: 520px) {
    .eco-admin-record-hero-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eco-admin-record-total {
        grid-column: 1 / -1;
        justify-items: start;
    }

    .eco-admin-record-hero-actions > .btn {
        justify-content: center;
        text-align: center;
    }

    .eco-organization-sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .eco-registry-page .eco-anomaly-archive-grid,
    .eco-registry-page .eco-anomaly-organization-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .eco-organization-section-card {
        min-height: 220px;
    }

    .eco-registry-card-cover {
        min-height: 165px;
    }

    .eco-registry-detail {
        padding: 14px;
    }

    .eco-registry-detail.has-image {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eco-registry-card {
        transition: none;
    }
}

.eco-agent-role-admin {
    margin-top: 14px;
    padding: clamp(14px, 2.2vw, 20px);
    background: linear-gradient(155deg, rgba(17,15,11,.98), rgba(8,7,6,.98));
    border-color: rgba(198,154,55,.25);
}

.eco-agent-role-admin > .muted {
    margin: -4px 0 14px;
    line-height: 1.6;
}

.eco-agent-role-form {
    display: grid;
    gap: 7px;
    margin-bottom: 14px;
    padding: 13px;
    background: rgba(0,0,0,.2);
    border: 1px solid rgba(198,154,55,.17);
}

.eco-agent-role-form label {
    color: #ddc16e;
}

.eco-agent-role-form > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.eco-agent-role-form input {
    flex: 1 1 240px;
    min-width: 0;
    padding: 9px 10px;
    color: var(--cream);
    background: #090807;
    border: 1px solid rgba(198,154,55,.27);
}

.eco-agent-role-form input:focus {
    border-color: #c69a37;
    outline: 1px solid rgba(198,154,55,.2);
}

.eco-agent-role-list {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.eco-agent-role-list > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: linear-gradient(110deg, rgba(198,154,55,.055), rgba(0,0,0,.23));
    border: 1px solid rgba(198,154,55,.2);
}

.eco-agent-role-list > li > div:first-child {
    display: grid;
    gap: 4px;
}

.eco-agent-role-list strong {
    color: #f1e6c7;
}

.eco-agent-role-list small {
    color: #9c927d;
}

.eco-agent-role-list .eco-admin-record-actions {
    display: flex;
    gap: 6px;
}

.eco-agent-role-list form {
    margin: 0;
}

.eco-agent-directory-filter {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 15px;
    padding: 13px;
    background: linear-gradient(110deg, rgba(198,154,55,.07), rgba(10,9,7,.94));
    border: 1px solid rgba(198,154,55,.24);
}

.eco-agent-directory-filter label {
    display: grid;
    flex: 1 1 230px;
    gap: 5px;
    color: #d7bd78;
}

.eco-agent-directory-filter select {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    color: #eee4d0;
    background: #090807;
    border: 1px solid rgba(198,154,55,.32);
}

.eco-agent-directory-filter select:focus {
    border-color: #c69a37;
    outline: 1px solid rgba(198,154,55,.2);
}

@media (max-width: 520px) {
    .eco-agent-role-list > li {
        align-items: flex-start;
        flex-direction: column;
    }

    .eco-agent-role-list .eco-admin-record-actions,
    .eco-agent-role-list .eco-admin-record-actions .btn {
        width: 100%;
    }

    .eco-agent-directory-filter > .btn {
        flex: 1 1 auto;
        justify-content: center;
        text-align: center;
    }
}

.eco-agent-directory-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 14px;
    padding: 0 0 13px;
    border-bottom: 1px solid rgba(157,202,156,.24);
}

.eco-agent-directory-heading > div > span,
.eco-agent-dossier-kicker {
    color: #a9d0aa;
    font: .55rem 'Share Tech Mono', monospace;
    letter-spacing: .08em;
}

.eco-agent-directory-heading h2 {
    margin: 5px 0 3px;
    color: #f1f2e9;
    font: 500 1.5rem/1.2 'Source Serif 4', Georgia, serif;
}

.eco-agent-directory-heading p {
    margin: 0;
    color: #a8b1a6;
    font-size: .72rem;
}

.eco-agent-directory-heading > strong {
    display: grid;
    justify-items: end;
    gap: 3px;
    padding-left: 16px;
    color: #f0c27a;
    border-left: 1px solid rgba(157,202,156,.24);
    font: 500 1.25rem 'Share Tech Mono', monospace;
}

.eco-agent-directory-heading > strong > small {
    color: #a8b1a6;
    font: .43rem 'Share Tech Mono', monospace;
}

.eco-organization-page .eco-agent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.eco-organization-page .eco-agent-card {
    grid-template-columns: minmax(100px, 132px) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    padding: 0;
    background: linear-gradient(135deg, #18211b, #0c100d 78%);
    border: 1px solid rgba(157,202,156,.23);
    border-left: 2px solid #8cba8d;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.eco-organization-page .eco-agent-card:hover {
    transform: translateY(-2px);
    border-color: rgba(182,215,145,.62);
    box-shadow: 0 12px 25px rgba(0,0,0,.28);
}

.eco-organization-page .eco-agent-photo {
    position: relative;
    min-height: 174px;
    border: 0;
    border-right: 1px solid rgba(157,202,156,.18);
}

.eco-organization-page .eco-agent-photo img {
    min-height: 174px;
    filter: saturate(.9) contrast(1.04);
}

.eco-organization-page .eco-agent-photo > small {
    position: absolute;
    bottom: 8px;
    left: 8px;
    padding: 4px 6px;
    color: #e3d4a0;
    background: rgba(8,12,9,.88);
    border: 1px solid rgba(157,202,156,.25);
    font: .43rem 'Share Tech Mono', monospace;
}

.eco-organization-page .eco-agent-photo > span {
    color: #9ac39a;
    font-size: 2rem;
}

.eco-organization-page .eco-agent-info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
}

.eco-agent-card-topline {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    color: #a9d0aa;
    font: .42rem 'Share Tech Mono', monospace;
}

.eco-agent-card-topline .eco-agent-status {
    padding: 3px 5px;
    font-size: .4rem;
}

.eco-organization-page .eco-agent-info h3 {
    margin: 1px 0 0;
    color: #f1f2e9;
    font: 500 1rem/1.25 'Source Serif 4', Georgia, serif;
    overflow-wrap: anywhere;
}

.eco-agent-info > p {
    margin: 0;
    color: #c6ae77;
    font-size: .65rem;
}

.eco-organization-page .eco-agent-wiki-link {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 7px 0 0;
    color: #c7df94;
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(157,202,156,.18);
    font-size: .45rem;
}

.eco-agent-dossier-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.eco-agent-back-link {
    display: inline-flex;
    margin: 0 0 12px;
    color: #c6d7bf;
    font: .52rem 'Share Tech Mono', monospace;
    text-decoration: none;
}

.eco-agent-back-link:hover { color: #fff; }

.eco-agent-dossier {
    overflow: hidden;
    background: linear-gradient(145deg, #141c17, #0a0d0b 75%);
    border: 1px solid rgba(157,202,156,.28);
    border-top: 2px solid #a9d0aa;
}

.eco-agent-dossier-hero {
    display: grid;
    grid-template-columns: minmax(160px, 230px) minmax(0, 1fr);
    gap: clamp(18px, 3vw, 30px);
    align-items: center;
    padding: clamp(16px, 3vw, 28px);
    background: radial-gradient(ellipse at 15% 45%, rgba(119,166,122,.16), transparent 65%), linear-gradient(110deg, rgba(34,50,39,.75), rgba(9,13,10,.35));
    border-bottom: 1px solid rgba(157,202,156,.2);
}

.eco-agent-dossier-photo {
    display: grid;
    min-height: 220px;
    aspect-ratio: 4 / 5;
    place-items: center;
    overflow: hidden;
    color: #a9d0aa;
    background: #101713;
    border: 1px solid rgba(157,202,156,.42);
}

.eco-agent-dossier-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eco-agent-dossier-photo > span { font-size: 3rem; }
.eco-agent-dossier-identity { display: grid; justify-items: start; gap: 10px; min-width: 0; }
.eco-agent-dossier-kicker { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.eco-agent-dossier-kicker i { width: 5px; height: 5px; background: #d9a66b; border-radius: 50%; }
.eco-agent-dossier-identity h3 { margin: 0; color: #f1f2e9; font: 500 clamp(1.6rem, 3.4vw, 2.5rem)/1.12 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-agent-dossier-identity p { margin: 0; color: #d2bd86; font-size: .8rem; }
.eco-agent-dossier-identity .eco-agent-status { margin: 0; }

.eco-agent-dossier-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    padding: 0 clamp(16px, 3vw, 28px);
}

.eco-agent-dossier-section { min-width: 0; padding: 17px 0; border-bottom: 1px solid rgba(157,202,156,.16); }
.eco-agent-dossier-bio { grid-column: 1 / -1; }
.eco-agent-dossier-section > header { display: flex; align-items: baseline; gap: 9px; margin-bottom: 9px; }
.eco-agent-dossier-section > header > span { color: #d9a66b; font: .5rem 'Share Tech Mono', monospace; }
.eco-agent-dossier-section h4 { display: flex; align-items: center; gap: 8px; margin: 0; color: #d5e2ce; font: 500 .98rem 'Source Serif 4', Georgia, serif; }
.eco-agent-dossier-section h4 small { color: #a9d0aa; font: .48rem 'Share Tech Mono', monospace; }
.eco-agent-dossier-section .eco-page-copy { color: #d0d5cb; font-size: .76rem; line-height: 1.75; }
.eco-agent-equipment { color: #c2cbbd; font-size: .7rem; line-height: 1.7; }
.eco-agent-mission-list { display: grid; gap: 6px; }
.eco-agent-mission-list > a { display: grid; gap: 4px; padding: 9px 10px; color: #eceee5; background: rgba(157,202,156,.045); border: 1px solid rgba(157,202,156,.16); text-decoration: none; }
.eco-agent-mission-list > a:hover { border-color: rgba(157,202,156,.48); background: rgba(157,202,156,.08); }
.eco-agent-mission-list > a > span { color: #d9a66b; font: .44rem 'Share Tech Mono', monospace; }
.eco-agent-mission-list > a > strong { font: 500 .76rem 'Source Serif 4', Georgia, serif; }
.eco-agent-mission-list > a > small, .eco-agent-dossier-empty { color: #9ca99a; font-size: .59rem; }
.eco-agent-dossier > .eco-link-graph { margin: 0 clamp(16px, 3vw, 28px) 18px; }

@media (max-width: 900px) {
    .eco-organization-page .eco-agent-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
    .eco-agent-directory-heading { align-items: flex-start; }
    .eco-organization-page .eco-agent-card { grid-template-columns: 90px minmax(0, 1fr); }
    .eco-organization-page .eco-agent-photo,
    .eco-organization-page .eco-agent-photo img { min-height: 140px; }
    .eco-organization-page .eco-agent-info { padding: 9px; }
    .eco-agent-dossier-hero { grid-template-columns: minmax(0, 1fr); }
    .eco-agent-dossier-photo { width: min(100%, 220px); min-height: 0; justify-self: center; }
    .eco-agent-dossier-identity { justify-items: center; text-align: center; }
    .eco-agent-dossier-content { grid-template-columns: minmax(0, 1fr); }
    .eco-agent-dossier-bio { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .eco-organization-page .eco-agent-card { transition: none; }
}

.eco-security-level-page { display: grid; gap: 14px; }
.eco-security-level-directory-heading { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 0 0 13px; border-bottom: 1px solid rgba(198,154,55,.27); }
.eco-security-level-directory-heading > div > span { color: #c6a653; font: .5rem 'Share Tech Mono', monospace; letter-spacing: .1em; }
.eco-security-level-directory-heading h2 { margin: 5px 0; color: #f4eddb; font: 600 clamp(1.15rem, 3vw, 1.55rem)/1.25 'Source Serif 4', Georgia, serif; }
.eco-security-level-directory-heading p { max-width: 620px; margin: 0; color: #a9a08d; font: .68rem/1.6 'Source Serif 4', Georgia, serif; }
.eco-security-level-directory-heading > b { display: grid; min-width: 68px; justify-items: center; padding: 9px; color: #ffdf91; background: rgba(198,154,55,.08); border: 1px solid rgba(198,154,55,.32); font: 1.2rem 'Share Tech Mono', monospace; }
.eco-security-level-directory-heading > b > small { margin-top: 3px; color: #a99a76; font: .43rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-security-level-warning { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 12px; align-items: baseline; padding: 11px 13px; color: #d7b68a; background: linear-gradient(100deg, rgba(102,39,25,.22), rgba(39,20,15,.36)); border: 1px solid rgba(193,103,71,.28); border-left: 2px solid #c87554; }
.eco-security-level-warning > strong { color: #e59b75; font: .49rem 'Share Tech Mono', monospace; letter-spacing: .07em; }
.eco-security-level-warning > p { margin: 0; color: #c7b5a3; font: .62rem/1.55 'Source Serif 4', Georgia, serif; }
.eco-security-level-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr)); gap: 12px; align-items: stretch; }
.eco-security-level-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; color: inherit; background: linear-gradient(145deg, #17130b, #090806 78%); border: 1px solid rgba(198,154,55,.28); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.eco-security-level-card:hover, .eco-security-level-card:focus-visible { border-color: rgba(239,198,102,.78); box-shadow: 0 12px 28px rgba(0,0,0,.38), 0 0 18px rgba(198,154,55,.09); outline: none; transform: translateY(-3px); }
.eco-security-level-card-visual { position: relative; display: flex; min-height: 142px; align-items: flex-end; overflow: hidden; padding: 13px; color: #ffe5a0; background: radial-gradient(ellipse at 78% 8%, rgba(214,172,75,.23), transparent 48%), linear-gradient(135deg, #29200e, #100e09 70%); border-bottom: 1px solid rgba(198,154,55,.32); }
.eco-security-level-card-visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,4,.92), rgba(7,6,4,.18) 76%), linear-gradient(90deg, rgba(8,7,5,.45), transparent); content: ""; }
.eco-security-level-card-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08) brightness(.72); transition: transform .35s ease, filter .35s ease; }
.eco-security-level-card:hover .eco-security-level-card-visual > img, .eco-security-level-card:focus-visible .eco-security-level-card-visual > img { filter: saturate(.9) contrast(1.08) brightness(.82); transform: scale(1.04); }
.eco-security-level-card-number { position: absolute; z-index: 1; top: -14px; right: 8px; color: rgba(255,229,160,.13); font: 500 clamp(6rem, 13vw, 9rem)/1 'Share Tech Mono', monospace; letter-spacing: -.12em; pointer-events: none; }
.eco-security-level-card-index { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; padding: 6px 8px; color: #ffe5a0; background: rgba(7,6,4,.78); border: 1px solid rgba(239,198,102,.35); font: .48rem 'Share Tech Mono', monospace; letter-spacing: .06em; }
.eco-security-level-card-index > i { width: 6px; height: 6px; flex: 0 0 6px; background: #d6b455; border-radius: 50%; box-shadow: 0 0 8px rgba(214,180,85,.7); }
.eco-security-level-card-mark { position: absolute; z-index: 1; top: 12px; left: 13px; display: grid; width: 27px; height: 27px; place-items: center; color: #f0cf79; background: rgba(7,6,4,.72); border: 1px solid rgba(239,198,102,.32); font-size: .8rem; }
.eco-security-level-card-copy { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 14px; }
.eco-security-level-card-kicker { color: #a9935a; font: .43rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-security-level-card-kicker > i { padding: 0 3px; color: #776333; font-style: normal; }
.eco-security-level-card-copy h3 { margin: 7px 0 8px; color: #fff0c2; font: 600 1.08rem/1.3 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-security-level-card-copy > .eco-page-copy { max-height: 8.2em; overflow: hidden; color: #bcb3a1; font: .66rem/1.65 'Source Serif 4', Georgia, serif; }
.eco-security-level-card-copy > .eco-page-copy > :first-child { margin-top: 0; }
.eco-security-level-card-copy > .eco-page-copy > :last-child { margin-bottom: 0; }
.eco-security-level-card-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: center; margin-top: auto; padding-top: 12px; }
.eco-security-level-card-agents { display: inline-flex; align-items: center; gap: 7px; }
.eco-security-level-card-agents > b { display: grid; min-width: 25px; height: 25px; place-items: center; padding: 0 5px; color: #f2d58b; background: rgba(198,154,55,.09); border: 1px solid rgba(198,154,55,.25); font: .65rem 'Share Tech Mono', monospace; }
.eco-security-level-card-agents > small { color: #9c906f; font: .42rem 'Share Tech Mono', monospace; letter-spacing: .04em; }
.eco-security-level-card-open { display: inline-flex; align-items: center; gap: 5px; color: #e4c36f; font: .46rem 'Share Tech Mono', monospace; letter-spacing: .04em; }
.eco-security-level-card-open > b { font-size: .72rem; transition: transform .2s ease; }
.eco-security-level-card:hover .eco-security-level-card-open > b, .eco-security-level-card:focus-visible .eco-security-level-card-open > b { transform: translate(2px, -2px); }

@media (max-width: 620px) {
    .eco-security-level-directory-heading { align-items: flex-start; }
    .eco-security-level-directory-heading > b { min-width: 56px; font-size: 1rem; }
    .eco-security-level-warning { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .eco-security-level-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-security-level-card-visual { min-height: 126px; }
}

@media (prefers-reduced-motion: reduce) {
    .eco-security-level-card,
    .eco-security-level-card-visual > img,
    .eco-security-level-card-open > b { transition: none; }
}

.eco-security-level-detail { overflow: hidden; background: linear-gradient(145deg, rgba(15,13,9,.98), rgba(8,7,6,.98)); border: 1px solid rgba(198,154,55,.27); }
.eco-security-level-profile-hero { position: relative; display: flex; min-height: 260px; align-items: flex-end; gap: 20px; overflow: hidden; padding: clamp(20px, 4vw, 34px); color: #f8eac2; background: radial-gradient(ellipse at 80% 5%, rgba(214,172,75,.2), transparent 46%), linear-gradient(120deg, #211a0c, #0c0a07 75%); border-bottom: 1px solid rgba(198,154,55,.35); }
.eco-security-level-profile-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,5,4,.9), rgba(7,6,4,.5) 68%, rgba(7,6,4,.35)), linear-gradient(0deg, rgba(6,5,4,.75), transparent 78%); content: ""; }
.eco-security-level-profile-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: saturate(.72) contrast(1.08) brightness(.68); }
.eco-security-level-profile-watermark { position: absolute; z-index: 1; top: -42px; right: clamp(12px, 4vw, 42px); color: rgba(255,229,160,.1); font: 500 clamp(12rem, 31vw, 23rem)/1 'Share Tech Mono', monospace; letter-spacing: -.13em; pointer-events: none; }
.eco-security-level-profile-heading { position: relative; z-index: 2; min-width: 0; }
.eco-security-level-profile-kicker { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #f0d58b; font: .51rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-security-level-profile-kicker > i { width: 7px; height: 7px; background: #d6b455; border-radius: 50%; box-shadow: 0 0 9px rgba(214,180,85,.7); }
.eco-security-level-profile-kicker > b { color: #8e7540; }
.eco-security-level-profile-heading h3 { max-width: 850px; margin: 10px 0 7px; color: #fff1c9; font: 500 clamp(1.8rem, 5vw, 3.3rem)/1.08 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; text-shadow: 0 2px 18px #000; }
.eco-security-level-profile-heading > p { margin: 0; color: #c8b889; font: .5rem 'Share Tech Mono', monospace; letter-spacing: .08em; }
.eco-security-level-profile-heading > p > i { padding: 0 4px; color: #d6b455; font-style: normal; }
.eco-security-level-profile-count { position: relative; z-index: 2; display: grid; min-width: 86px; flex: 0 0 auto; justify-items: center; gap: 5px; margin: 0 0 2px auto; padding: 10px; background: rgba(8,7,5,.78); border: 1px solid rgba(239,198,102,.4); box-shadow: 0 5px 20px #0005; backdrop-filter: blur(6px); }
.eco-security-level-profile-count > b { color: #ffe5a0; font: 1.65rem/1 'Share Tech Mono', monospace; }
.eco-security-level-profile-count > span { color: #baaa7e; font: .4rem/1.5 'Share Tech Mono', monospace; letter-spacing: .06em; text-align: center; }
.eco-security-level-profile-content { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .8fr); gap: 12px; padding: clamp(14px, 3vw, 22px); }
.eco-security-level-description { min-width: 0; padding: clamp(14px, 2.5vw, 20px); background: rgba(198,154,55,.035); border: 1px solid rgba(198,154,55,.19); }
.eco-security-level-description > header { display: grid; gap: 5px; margin-bottom: 13px; padding-bottom: 10px; border-bottom: 1px solid rgba(198,154,55,.2); }
.eco-security-level-description > header > span, .eco-security-level-agents > header > div > span { color: #b89b50; font: .46rem 'Share Tech Mono', monospace; letter-spacing: .09em; }
.eco-security-level-description h4, .eco-security-level-agents h4 { margin: 0; color: #f2e5bd; font: 500 1.08rem 'Source Serif 4', Georgia, serif; text-transform: none; }
.eco-security-level-description > .eco-page-copy { color: #c9c0ac; font: .72rem/1.75 'Source Serif 4', Georgia, serif; }
.eco-security-level-description > .eco-page-copy > :first-child { margin-top: 0; }
.eco-security-level-description > .eco-page-copy > :last-child { margin-bottom: 0; }
.eco-security-level-profile-content > .eco-security-level-warning { align-content: start; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 15px; }
.eco-security-level-profile-content > .eco-security-level-warning > strong { display: flex; align-items: center; gap: 8px; }
.eco-security-level-profile-content > .eco-security-level-warning > strong::before { display: inline-grid; width: 19px; height: 19px; place-items: center; color: #f0a27d; border: 1px solid rgba(193,103,71,.48); content: "!"; font: .7rem 'Share Tech Mono', monospace; }
.eco-security-level-profile-content > .eco-security-level-warning > p { font-size: .65rem; line-height: 1.7; }
.eco-security-level-agents { padding: 0 clamp(14px, 3vw, 22px) clamp(16px, 3vw, 24px); }
.eco-security-level-agents > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 11px; padding-bottom: 9px; border-bottom: 1px solid rgba(198,154,55,.22); }
.eco-security-level-agents > header > div { display: grid; gap: 4px; }
.eco-security-level-agents-count { padding: 5px 7px; color: #e0c579; background: rgba(198,154,55,.07); border: 1px solid rgba(198,154,55,.22); font: .43rem 'Share Tech Mono', monospace; }
.eco-security-level-agent-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: 8px; }
.eco-security-level-agent-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-width: 0; padding: 8px; color: inherit; background: linear-gradient(115deg, rgba(198,154,55,.075), rgba(255,255,255,.018)); border: 1px solid rgba(198,154,55,.19); text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.eco-security-level-agent-card:hover, .eco-security-level-agent-card:focus-visible { background: rgba(198,154,55,.12); border-color: rgba(239,198,102,.58); outline: none; transform: translateY(-1px); }
.eco-security-level-agent-card > img, .eco-security-level-agent-placeholder { display: grid; width: 48px; height: 48px; place-items: center; object-fit: cover; color: #d6b455; background: #151108; border: 1px solid rgba(198,154,55,.3); font-size: 1.2rem; }
.eco-security-level-agent-identity { display: grid; min-width: 0; gap: 3px; }
.eco-security-level-agent-identity > small { color: #b89b50; font: .42rem 'Share Tech Mono', monospace; }
.eco-security-level-agent-identity > strong { color: #f2e5bd; font: 500 .73rem 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.eco-security-level-agent-identity > span { overflow: hidden; color: #a9a08d; font: .56rem/1.45 'Source Serif 4', Georgia, serif; text-overflow: ellipsis; }
.eco-security-level-agent-open { color: #d6b455; font-size: .76rem; transition: transform .18s ease; }
.eco-security-level-agent-card:hover .eco-security-level-agent-open, .eco-security-level-agent-card:focus-visible .eco-security-level-agent-open { transform: translate(2px, -2px); }
.eco-security-level-detail > .eco-link-graph { margin: 0 clamp(14px, 3vw, 22px) 20px; }

@media (max-width: 700px) {
    .eco-security-level-profile-content { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
    .eco-security-level-profile-hero { min-height: 230px; align-items: flex-end; flex-wrap: wrap; gap: 13px; padding: 17px; }
    .eco-security-level-profile-heading { width: 100%; }
    .eco-security-level-profile-count { min-width: 68px; margin: 0 0 0 auto; }
    .eco-security-level-profile-count > b { font-size: 1.25rem; }
    .eco-security-level-profile-watermark { top: -6px; right: -4px; font-size: 12rem; }
    .eco-security-level-agent-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .eco-security-level-agent-card,
    .eco-security-level-agent-open { transition: none; }
}

.closure-page { width: 100%; max-width: 1120px; margin: clamp(18px, 4vw, 42px) auto 26px; }
.closure-panel { position: relative; display: grid; min-height: 475px; grid-template-columns: minmax(0, 1.1fr) minmax(270px, .9fr); overflow: hidden; background: radial-gradient(ellipse at 10% 20%, rgba(217,119,6,.13), transparent 48%), linear-gradient(130deg, rgba(16,12,9,.98), rgba(6,6,5,.98)); border: 1px solid var(--border-bright); box-shadow: inset 0 0 45px rgba(217,119,6,.045), 0 20px 50px #0008; }
.closure-panel::before { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(255,255,255,.018) 5px); content: ""; }
.closure-copy { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(26px, 6vw, 68px); }
.closure-kicker, .closure-status, .closure-countdown-label, .closure-visual-code, .closure-footer { color: #d99a48; font: .66rem/1.6 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .12em; }
.closure-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; padding: 6px 9px; color: #f1c783; background: rgba(217,119,6,.08); border: 1px solid rgba(217,119,6,.28); font-size: .57rem; }
.closure-status i { width: 7px; height: 7px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 10px rgba(245,158,11,.8); animation: closure-pulse 1.8s ease-in-out infinite; }
.closure-copy h1 { margin: 20px 0 12px; color: #fff7e7; font: 500 clamp(2rem, 5vw, 3.8rem)/1.08 'Source Serif 4', Georgia, serif; letter-spacing: -.035em; }
.closure-copy h1 span { color: #e4ae66; }
.closure-message { max-width: 570px; margin: 0; color: #c5b9a8; font-size: .92rem; line-height: 1.8; overflow-wrap: anywhere; }
.closure-countdown-wrap { width: min(100%, 430px); margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(217,119,6,.25); }
.closure-countdown-label { color: #a79a87; font-size: .55rem; }
.closure-countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.closure-countdown > span { display: grid; min-width: 0; justify-items: center; gap: 2px; padding: 10px 5px; background: rgba(255,255,255,.025); border: 1px solid rgba(217,119,6,.2); }
.closure-countdown strong { color: #fff0d2; font: 500 clamp(1.35rem, 4vw, 2rem)/1.1 'Share Tech Mono', 'Courier New', monospace; font-variant-numeric: tabular-nums; }
.closure-countdown small { color: #a79a87; font: .48rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .08em; }
.closure-reopen-date { display: block; margin-top: 9px; color: #aa9d8b; font: .57rem 'Share Tech Mono', 'Courier New', monospace; }
.closure-no-countdown > p { margin: 8px 0 0; color: #c5b9a8; font-size: .78rem; }
.closure-home-link { margin-top: 25px; }
.closure-visual { position: relative; display: grid; min-height: 100%; place-items: center; overflow: hidden; background: radial-gradient(circle, rgba(217,119,6,.11), transparent 58%), linear-gradient(145deg, rgba(255,255,255,.018), transparent 62%); border-left: 1px solid rgba(217,119,6,.16); }
.closure-emblem { position: relative; z-index: 1; display: grid; width: min(48%, 190px); aspect-ratio: 1; place-items: center; padding: 22px; background: linear-gradient(145deg, rgba(27,19,12,.88), rgba(8,7,6,.92)); border: 1px solid rgba(217,119,6,.44); box-shadow: 0 0 60px rgba(217,119,6,.13), inset 0 0 30px rgba(217,119,6,.08); }
.closure-emblem img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 16px rgba(217,119,6,.3)); }
.closure-orbit { position: absolute; width: min(75%, 330px); aspect-ratio: 1; border: 1px solid rgba(217,119,6,.22); border-radius: 50%; }
.closure-orbit-outer { transform: rotate(-25deg) scaleY(.68); }
.closure-orbit-inner { width: min(58%, 255px); border-color: rgba(217,119,6,.13); transform: rotate(36deg) scaleY(.68); }
.closure-visual-code { position: absolute; right: 18px; bottom: 16px; color: rgba(217,154,72,.62); font-size: .53rem; }
.closure-visual-line { position: absolute; left: 12%; width: 76%; height: 1px; background: linear-gradient(90deg, transparent, rgba(217,119,6,.35), transparent); }
.closure-visual-line-top { top: 23%; }
.closure-visual-line-bottom { bottom: 23%; }
.closure-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 2px; color: #84745f; font-size: .5rem; }
.admin-public-profile { width: 100%; max-width: 900px; margin: 0 auto; }
.admin-public-profile-card { display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: clamp(18px, 4vw, 34px); align-items: start; min-width: 0; padding: clamp(17px, 4vw, 28px); background: radial-gradient(ellipse at 5% 0, rgba(230,138,46,.1), transparent 55%), rgba(12,9,7,.94); border: 1px solid rgba(230,138,46,.35); }
.admin-public-profile-avatar { display: grid; width: 100%; max-width: 210px; aspect-ratio: 1; place-items: center; overflow: hidden; color: #210f03; background: linear-gradient(140deg, #ffd49c, #d97706); border: 1px solid rgba(230,138,46,.55); font: 500 4rem 'Source Serif 4', Georgia, serif; }
.admin-public-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.admin-public-profile-copy { min-width: 0; }
.admin-public-profile-kicker { color: #e68a2e; font-size: .58rem; letter-spacing: .1em; }
.admin-public-profile-copy h1 { margin: 6px 0 0; color: #fff; font: 500 clamp(1.65rem, 5vw, 2.5rem)/1.15 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.admin-public-profile-role { margin: 3px 0 12px; color: #a8a29e; font: .68rem 'Share Tech Mono', monospace; }
.admin-public-profile-bio { margin: 16px 0; color: #ded5c7; font-size: .85rem; line-height: 1.75; overflow-wrap: anywhere; }
.admin-public-profile-details { display: grid; gap: 9px; margin: 0 0 18px; }
.admin-public-profile-details > div { display: grid; grid-template-columns: minmax(82px, .3fr) minmax(0, 1fr); gap: 12px; padding-bottom: 7px; border-bottom: 1px solid rgba(230,138,46,.14); }
.admin-public-profile-details dt { color: #a8a29e; font-size: .65rem; }
.admin-public-profile-details dd { min-width: 0; margin: 0; color: #f4ead8; font-size: .72rem; overflow-wrap: anywhere; }
.admin-public-profile-details a { color: #ffbd78; }
.admin-profile-page { display: grid; gap: 16px; max-width: 900px; margin: 0 auto; }
.admin-profile-form { display: grid; gap: 12px; min-width: 0; padding: clamp(17px, 4vw, 28px); background: radial-gradient(ellipse at 5% 0, rgba(230,138,46,.1), transparent 55%), rgba(12,9,7,.94); border: 1px solid rgba(230,138,46,.35); }
.admin-profile-form h2 { margin: 0; color: #fff; font: 500 1.3rem 'Source Serif 4', Georgia, serif; }
.admin-profile-form label { display: grid; gap: 5px; color: #e9a25d; font-size: .7rem; }
.admin-profile-form input:not([type="checkbox"]), .admin-profile-form textarea { width: 100%; min-width: 0; padding: 10px; color: var(--cream); background: #090705; border: 1px solid rgba(230,138,46,.28); border-radius: 5px; font-size: .73rem; }
.admin-profile-form textarea { resize: vertical; line-height: 1.6; }
.admin-profile-form input:focus, .admin-profile-form textarea:focus { border-color: #e68a2e; outline: none; box-shadow: 0 0 0 3px rgba(230,138,46,.1); }
.admin-profile-note { margin: 0; color: #a8a29e; font-size: .67rem; overflow-wrap: anywhere; }
.admin-profile-checkbox { display: flex !important; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: start; color: #c7b8a4 !important; line-height: 1.55; }
.admin-profile-checkbox input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #e68a2e; }
.closure-admin-page { display: grid; gap: 16px; }
.closure-admin-page > .admin-section-story-heading { grid-template-columns: minmax(0, 1fr); gap: 7px; align-items: start; }
.closure-admin-page > .admin-section-story-heading > h1 { margin: 0; color: #fff; font: 600 clamp(1.35rem, 3vw, 1.9rem)/1.2 'Source Serif 4', Georgia, serif; }
.closure-admin-page > .admin-section-story-heading > p { max-width: 800px; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.closure-admin-page > .admin-section-story-heading > .btn { justify-self: start; margin-top: 4px; }
.closure-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.closure-admin-card { min-width: 0; padding: 16px; background: linear-gradient(145deg, rgba(18,14,10,.97), rgba(8,7,6,.96)); border: 1px solid var(--border); }
.closure-admin-card-global { grid-column: 1 / -1; background: radial-gradient(ellipse at 8% 0, rgba(217,119,6,.14), transparent 55%), linear-gradient(145deg, rgba(18,14,10,.98), rgba(8,7,6,.97)); border-color: rgba(217,119,6,.48); }
.closure-admin-card-global .closure-admin-card-heading { border-bottom-color: rgba(217,119,6,.38); }
.closure-admin-card.is-closed { border-color: rgba(239,112,69,.55); box-shadow: inset 0 0 24px rgba(239,68,68,.035); }
.closure-admin-card-heading { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid rgba(217,119,6,.2); }
.closure-admin-card-heading > img { width: 42px; height: 42px; object-fit: contain; }
.closure-admin-card-heading > div { min-width: 0; }
.closure-admin-card-heading h2 { margin: 2px 0 0; color: var(--cream); font-size: 1rem; line-height: 1.25; }
.closure-admin-status { padding: 4px 6px; color: #8cdb9a; background: rgba(74,222,128,.06); border: 1px solid rgba(74,222,128,.22); font: .48rem 'Share Tech Mono', monospace; letter-spacing: .06em; }
.is-closed .closure-admin-status { color: #ffb19c; background: rgba(239,68,68,.07); border-color: rgba(239,112,69,.3); }
.closure-admin-form { display: grid; gap: 13px; padding-top: 13px; }
.closure-admin-toggle { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; }
.closure-admin-toggle input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #d97706; }
.closure-admin-toggle > span, .closure-admin-field { display: grid; min-width: 0; gap: 4px; }
.closure-admin-toggle strong, .closure-admin-field > span { color: #f5e7c8; font-size: .75rem; }
.closure-admin-toggle small, .closure-admin-field > small { color: #a8a29e; font-size: .63rem; line-height: 1.5; }
.closure-admin-field textarea, .closure-admin-field input { width: 100%; min-width: 0; padding: 9px 10px; color: var(--cream); background: rgba(0,0,0,.3); border: 1px solid var(--border); outline: none; }
.closure-admin-field textarea { resize: vertical; }
.closure-admin-field textarea:focus, .closure-admin-field input:focus { border-color: var(--amber); box-shadow: 0 0 0 2px rgba(217,119,6,.12); }
.closure-admin-field > span small { color: #a8a29e; font-size: .62rem; font-weight: 400; }
.closure-admin-form > .btn { justify-self: start; }

@keyframes closure-pulse { 50% { opacity: .45; box-shadow: 0 0 3px rgba(245,158,11,.5); } }

.cmd-nav-menu.admin-section-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 760px) {
    .closure-panel { min-height: 0; grid-template-columns: minmax(0, 1fr); }
    .closure-copy { padding: clamp(24px, 7vw, 44px); }
    .closure-visual { min-height: 230px; border-top: 1px solid rgba(217,119,6,.16); border-left: 0; }
    .closure-emblem { width: 120px; padding: 16px; }
    .closure-orbit { width: 205px; }
    .closure-orbit-inner { width: 155px; }
    .closure-admin-grid { grid-template-columns: minmax(0, 1fr); }
    .closure-admin-card-global { grid-column: auto; }
    .cmd-nav-menu.admin-section-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .closure-page { margin-top: 12px; }
    .closure-status { margin-top: 17px; font-size: .49rem; }
    .closure-copy h1 { font-size: clamp(1.85rem, 9vw, 2.7rem); }
    .closure-message { font-size: .82rem; }
    .closure-countdown { gap: 5px; }
    .closure-countdown > span { padding: 9px 2px; }
    .closure-countdown strong { font-size: clamp(1.1rem, 7vw, 1.55rem); }
    .closure-countdown small { font-size: .42rem; }
    .closure-footer { flex-direction: column; gap: 2px; }
    .closure-admin-card { padding: 12px; }
    .closure-admin-card-heading { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 7px; }
    .closure-admin-card-heading > img { width: 34px; height: 34px; }
    .closure-admin-status { font-size: .42rem; }
}

@media (prefers-reduced-motion: reduce) {
    .closure-status i { animation: none; }
}

@media (max-width: 700px) {
    .admin-public-profile-card { grid-template-columns: minmax(0, 1fr); }
    .admin-public-profile-avatar { width: min(45vw, 150px); }
}

@media (max-width: 700px) {
    body { padding: 8px 8px 20px; }
    .site-shell, .site-shell-wide { max-width: none; }
    .cmd-nav-wrapper { margin-bottom: 10px; }
    .section-switcher { width: 100%; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; margin-bottom: 7px; }
    .section-switcher-link { width: auto; min-height: 54px; aspect-ratio: auto; gap: 0; padding: 5px; border-radius: 7px; }
    .section-switcher-link img { width: 36px; height: 36px; flex-basis: 36px; }
    .section-switcher-label {
        position: absolute !important;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        clip-path: inset(50%);
    }
    .section-switcher-link.active { box-shadow: 0 4px 12px rgba(0,0,0,.3), inset 0 -2px 0 var(--section-accent, var(--amber)); }
    .cmd-nav-menu[data-chronicles-menu],
    .cmd-nav-menu.eco-nav-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; overflow: visible; padding: 6px; }
    .cmd-nav-menu[data-chronicles-menu] .cmd-nav-item,
    .cmd-nav-menu.eco-nav-menu .cmd-nav-item { display: grid; min-width: 0; min-height: 48px; place-items: center; padding: 6px 3px; border: 1px solid transparent; border-radius: 6px; }
    .cmd-nav-menu[data-chronicles-menu] .cmd-nav-item .cmd-icon,
    .cmd-nav-menu.eco-nav-menu .cmd-nav-item .cmd-icon { font-size: 1.15rem; }
    .cmd-nav-menu.admin-section-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: visible; }
    .admin-section-nav-item { min-width: 0; min-height: 48px; }
    .admin-section-nav-item img { width: 28px; height: 28px; }
    .cmd-nav-menu[data-chronicles-menu] .cmd-nav-item > span:not(.cmd-icon),
    .cmd-nav-menu.eco-nav-menu .cmd-nav-item > span:not(.cmd-icon),
    .admin-section-nav-item > span:not([aria-hidden="true"]) { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; font-size: .5rem; line-height: 1.2; text-align: center; white-space: normal; }
    .main-content { min-height: 0; }
    .section-landing-panel { grid-template-columns: 68px minmax(0, 1fr); min-height: 0; gap: 12px; padding: 18px 14px; text-align: left; }
    .section-landing-icon { width: 64px; }
    .section-landing-panel h1 { font-size: clamp(1.45rem, 6vw, 2rem); }
    .section-landing-panel p { margin: 6px 0; font-size: .76rem; line-height: 1.55; }
    .panel, .character-directory, .story-directory { margin-bottom: 10px; padding: 12px; }
    .module-grid, .eco-card-grid, .glossary-list, .home-content-layout { grid-template-columns: minmax(0, 1fr); }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .story-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .home-universe-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-bottom: 16px; }
    .home-universe-nav > a { min-height: 68px; gap: 7px; padding: 8px; }
    .home-universe-nav img { flex-basis: 34px; width: 34px; height: 34px; }
    .home-universe-nav strong { font-size: .78rem; }
    .home-featured { grid-template-columns: minmax(0, 1fr); min-height: 0; margin-bottom: 18px; }
    .home-featured-art { min-height: 0; }
    .home-featured-overlay > small,
    .home-story-copy > p,
    .story-card-content > p,
    .eco-card p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .home-content-layout { gap: 12px; }
    .home-sidebar { grid-template-columns: minmax(0, 1fr); gap: 9px; }
    .home-library { margin-bottom: 16px; }
    .home-library-heading { gap: 8px; }
    .home-library-title > img { width: 34px; height: 34px; }
    .home-library-heading > a { flex: 0 0 auto; }
    .chronicles-intro { margin-bottom: 10px; }
    .chronicles-intro-copy h1 { font-size: clamp(1.5rem, 7vw, 2.2rem); }
    .chronicles-intro-copy > p { font-size: .78rem; line-height: 1.55; }
    .chronicles-home .home-universe-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chronicles-home .home-story-grid { grid-template-columns: minmax(0, 1fr); }
    .chronicles-factions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eco-page { display: grid; gap: 12px; }
    .eco-hero { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 13px; }
    .eco-hero-emblem { width: 54px; max-width: 54px; }
    .eco-hero-copy { min-width: 0; }
    .eco-hero-copy h1 { font-size: clamp(1.25rem, 6vw, 1.8rem); overflow-wrap: anywhere; }
    .eco-card-grid { gap: 8px; }
    .eco-card { padding: 11px; }
    .story-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
    .story-search input, .story-toolbar .control,
    .story-filter-select .custom-select-trigger, .story-faction-select .custom-select-trigger { min-height: 42px; }
    .detail-grid, .character-detail-grid, .faction-detail-grid,
    .location-detail-grid, .story-detail-grid, .glossary-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .character-profile { grid-template-columns: minmax(0, 1fr); }
    .character-profile-portrait { width: min(100%, 240px); justify-self: center; }
    .historical-year-input { grid-template-columns: minmax(0, 1fr); }
    .form-grid { grid-template-columns: minmax(0, 1fr); }
    .form-field input, .form-field select, .form-field textarea { min-height: 44px; }
    .toolbar { gap: 7px; }
    .toolbar > *, .toolbar .control, .toolbar .btn { min-height: 42px; }
    .btn, .console-btn { min-height: 42px; }
    .table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
    .site-footer { align-items: flex-start; flex-direction: column; gap: 4px; padding: 10px 2px; }
}

@media (max-width: 420px) {
    body { padding: 6px 6px 16px; }
    .section-switcher { gap: 4px; }
    .section-switcher-link { min-height: 48px; padding: 4px; }
    .section-switcher-link img { width: 32px; height: 32px; flex-basis: 32px; }
    .cmd-nav-menu[data-chronicles-menu] .cmd-nav-item,
    .cmd-nav-menu.eco-nav-menu .cmd-nav-item { min-height: 46px; }
    .section-landing-panel { grid-template-columns: minmax(0, 1fr); gap: 8px; text-align: center; }
    .section-landing-icon { width: 58px; }
    .home-universe-nav { gap: 5px; }
    .home-universe-nav > a { min-height: 62px; gap: 5px; padding: 6px; }
    .home-universe-nav img { flex-basis: 30px; width: 30px; height: 30px; }
    .story-toolbar { grid-template-columns: minmax(0, 1fr); }
    .eco-hero { grid-template-columns: minmax(0, 1fr); }
    .eco-hero-emblem { width: 48px; justify-self: center; }
    .eco-hero-copy { text-align: center; }
    .eco-hero-status { justify-content: center; }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .record-copy { padding: 8px; }
}

.cmd-nav-wrapper .section-switcher {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    margin: 8px 0 14px;
    padding: 7px;
    background: linear-gradient(145deg, rgba(12, 9, 7, .94), rgba(5, 4, 3, .96));
    border: 1px solid var(--cmd-border);
    box-shadow: inset 0 0 14px rgba(217, 119, 6, .035), 0 5px 18px rgba(0, 0, 0, .35);
}
.cmd-nav-wrapper .section-switcher-link {
    display: grid;
    width: 52px;
    min-width: 52px;
    min-height: 52px;
    flex: 0 0 52px;
    place-items: center;
    padding: 5px;
    background: linear-gradient(145deg, rgba(24, 17, 12, .94), rgba(9, 7, 6, .96));
    border: 1px solid rgba(217, 119, 6, .3);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .035);
}
.cmd-nav-wrapper .section-switcher-home { margin-right: auto; }
.cmd-nav-wrapper .section-switcher-link::before { inset: 3px; border-color: rgba(255, 255, 255, .07); }
.cmd-nav-wrapper .section-switcher-link img { width: 40px; height: 40px; flex-basis: auto; }
.cmd-nav-wrapper .section-switcher-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.cmd-nav-wrapper > .cmd-nav-menu {
    gap: 5px;
    margin-top: 7px;
    padding: 6px;
    background: linear-gradient(145deg, rgba(12, 9, 7, .94), rgba(5, 4, 3, .96));
    border: 1px solid var(--cmd-border);
    box-shadow: inset 0 0 14px rgba(217, 119, 6, .035), 0 5px 18px rgba(0, 0, 0, .35);
}
.cmd-nav-wrapper > .cmd-nav-menu .cmd-nav-item,
.cmd-nav-wrapper > .cmd-nav-menu .admin-section-nav-item {
    min-width: 0;
    background: linear-gradient(145deg, rgba(24, 17, 12, .78), rgba(9, 7, 6, .88));
    border: 1px solid rgba(217, 119, 6, .24);
}
.cmd-nav-wrapper > .cmd-nav-menu .cmd-nav-item:last-child { border-right: 1px solid rgba(217, 119, 6, .24); }
.cmd-nav-wrapper > .cmd-nav-menu .cmd-nav-item:hover,
.cmd-nav-wrapper > .cmd-nav-menu .cmd-nav-item:focus-visible,
.cmd-nav-wrapper > .cmd-nav-menu .cmd-nav-item.active,
.cmd-nav-wrapper > .cmd-nav-menu .admin-section-nav-item:hover,
.cmd-nav-wrapper > .cmd-nav-menu .admin-section-nav-item:focus-visible,
.cmd-nav-wrapper > .cmd-nav-menu .admin-section-nav-item.active {
    border-color: var(--cmd-orange);
}

.app-select { position: relative; display: block; width: 100%; min-width: 0; color-scheme: dark; font-family: 'Share Tech Mono', 'Courier New', monospace; }
.app-select-native { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.chronicles-site-shell p,
.chronicles-site-shell .detail-content > div,
.chronicles-site-shell .faction-lore,
.chronicles-site-shell .story-rich-content {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.app-select-trigger {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    color: #e9c58f;
    background: linear-gradient(145deg, rgba(24, 17, 12, .96), rgba(8, 7, 6, .98));
    border: 1px solid rgba(217, 119, 6, .42);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
    cursor: pointer;
    font: inherit;
    font-size: .7rem;
    line-height: 1.4;
    text-align: left;
}
.app-select-trigger::after { flex: 0 0 auto; color: #d97706; content: '▾'; font-size: .85rem; }
.app-select-trigger:hover, .app-select-trigger:focus-visible, .app-select.is-open .app-select-trigger { border-color: #e99536; outline: none; box-shadow: 0 0 0 2px rgba(217, 119, 6, .12), inset 0 0 12px rgba(217, 119, 6, .06); }
.app-select-trigger:disabled { cursor: not-allowed; opacity: .55; }
.app-select-trigger[aria-invalid="true"] { border-color: #ef7055; }
.app-select-options {
    position: absolute;
    top: calc(100% + 3px);
    right: 0;
    left: 0;
    z-index: 1000;
    display: none;
    max-height: min(280px, 50vh);
    overflow-y: auto;
    padding: 4px;
    background: linear-gradient(155deg, #17110c, #080706 78%);
    border: 1px solid rgba(217, 119, 6, .62);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .88), inset 0 0 18px rgba(217, 119, 6, .045);
}
.app-select.is-open .app-select-options { display: block; }
.app-select-option {
    display: block;
    width: 100%;
    min-height: 36px;
    padding: 8px 10px;
    color: #d6c9b7;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(217, 119, 6, .1);
    cursor: pointer;
    font: inherit;
    font-size: .68rem;
    line-height: 1.4;
    text-align: left;
}
.app-select-option:last-child { border-bottom: 0; }
.app-select-option:hover, .app-select-option:focus-visible, .app-select-option[aria-selected="true"] { color: #ffe0ad; background: rgba(217, 119, 6, .15); outline: none; }
.app-select-option:disabled { color: #71675c; cursor: not-allowed; }
.app-select-group { padding-top: 3px; }
.app-select-group-label { display: block; padding: 7px 9px 4px; color: #d97706; border-bottom: 1px solid rgba(217, 119, 6, .24); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }

select { color-scheme: dark; accent-color: #d97706; }
select option, select optgroup { color: #f2e6d2; background: #17110c; }
input[type="date"], input[type="datetime-local"], input[type="time"], input[type="month"], input[type="week"] { color-scheme: dark; accent-color: #d97706; }
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator { filter: invert(.78) sepia(.65) saturate(1.8) hue-rotate(350deg); cursor: pointer; }
input[type="color"] { width: 54px; min-height: 40px; padding: 4px; color-scheme: dark; background: #110e0c; border: 1px solid rgba(217, 119, 6, .45); cursor: pointer; }
input[type="color"]::-webkit-color-swatch-wrapper { padding: 2px; }
input[type="color"]::-webkit-color-swatch { border: 1px solid rgba(255, 255, 255, .2); }
input[type="file"] { max-width: 100%; color: #d6c9b7; font: .72rem 'Share Tech Mono', 'Courier New', monospace; }
input[type="file"]::file-selector-button {
    margin-right: 9px;
    padding: 8px 11px;
    color: #f3c889;
    background: linear-gradient(145deg, #25180d, #100c08);
    border: 1px solid rgba(217, 119, 6, .5);
    cursor: pointer;
    font: inherit;
}
input[type="file"]::file-selector-button:hover { color: #fff1d5; background: #3a230f; border-color: #e99536; }

.app-dialog {
    width: min(440px, calc(100vw - 28px));
    max-width: none;
    padding: 0;
    color: #fef3c7;
    background: transparent;
    border: 0;
    overflow: visible;
}
.app-dialog::backdrop { background: rgba(0, 0, 0, .78); backdrop-filter: blur(5px); }
.app-dialog-panel {
    display: grid;
    gap: 12px;
    padding: clamp(18px, 5vw, 26px);
    background: radial-gradient(ellipse at 12% 0, rgba(217, 119, 6, .16), transparent 55%), linear-gradient(145deg, #17110c, #080706 78%);
    border: 1px solid rgba(217, 119, 6, .7);
    box-shadow: 0 20px 65px rgba(0, 0, 0, .9), inset 0 0 24px rgba(217, 119, 6, .06);
}
.app-dialog-kicker { color: #d97706; font: .58rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .12em; }
.app-dialog-title { margin: 0; color: #fff4df; font: 600 1.25rem/1.25 'Source Serif 4', Georgia, serif; }
.app-dialog-message { margin: 0; color: #c8bba9; font-size: .8rem; line-height: 1.6; white-space: pre-wrap; }
.app-dialog-input-wrap { display: grid; gap: 5px; color: #edc68a; font-size: .68rem; }
.app-dialog-input { width: 100%; min-height: 42px; padding: 9px 10px; color: #fff1d5; background: rgba(0, 0, 0, .42); border: 1px solid rgba(217, 119, 6, .48); outline: none; }
.app-dialog-input:focus { border-color: #f0a343; box-shadow: 0 0 0 2px rgba(217, 119, 6, .15); }
.app-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }
.app-dialog-actions button { min-height: 38px; padding: 8px 13px; color: #e7d6bd; background: #100c08; border: 1px solid rgba(217, 119, 6, .35); cursor: pointer; font: .68rem 'Share Tech Mono', 'Courier New', monospace; }
.app-dialog-actions button:hover, .app-dialog-actions button:focus-visible { color: #fff1d5; border-color: #e99536; outline: 2px solid rgba(217, 119, 6, .25); outline-offset: 2px; }
.app-dialog-actions .app-dialog-submit { color: #ffe1ad; background: linear-gradient(145deg, #512d0d, #241307); border-color: rgba(217, 119, 6, .65); }

.membership-locked { position: relative; isolation: isolate; }
.membership-locked > :not(.membership-lock-overlay) { filter: blur(5px); pointer-events: none; user-select: none; }
.eco-tactical-location-card > .membership-lock-overlay { z-index: 4; }
.membership-lock-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    width: 100%;
    min-height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    padding: 16px;
    color: #ffe4b5;
    background: rgba(9, 7, 5, .38);
    border: 1px solid rgba(217, 166, 107, .58);
    cursor: pointer;
    font: 1.35rem 'Share Tech Mono', 'Courier New', monospace;
    text-align: center;
    text-shadow: 0 2px 9px #000;
}
.membership-lock-overlay span { font: 600 .9rem 'Source Serif 4', Georgia, serif; }
.membership-lock-overlay small { color: #e4d0b5; font: .62rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .04em; }
.membership-lock-overlay:hover, .membership-lock-overlay:focus-visible { background: rgba(9, 7, 5, .52); border-color: #e6b36f; outline: 2px solid rgba(230, 179, 111, .55); outline-offset: -4px; }
.home-eco-record-wrap { position: relative; min-width: 0; }
.eco-agent-mission-item { position: relative; min-width: 0; }
.eco-agent-mission-list > .eco-agent-mission-item > a { display: grid; gap: 4px; padding: 9px 10px; color: #eceee5; background: rgba(157,202,156,.045); border: 1px solid rgba(157,202,156,.16); text-decoration: none; }
.eco-agent-mission-list > .eco-agent-mission-item > a:hover { border-color: rgba(157,202,156,.48); background: rgba(157,202,156,.08); }
.eco-agent-mission-list > .eco-agent-mission-item > a > span { color: #d9a66b; font: .44rem 'Share Tech Mono', monospace; }
.eco-agent-mission-list > .eco-agent-mission-item > a > strong { font: 500 .76rem 'Source Serif 4', Georgia, serif; }
.eco-agent-mission-list > .eco-agent-mission-item > a > small { color: #9ca99a; font-size: .59rem; }

@media (max-width: 700px) {
    .cmd-nav-wrapper .section-switcher { gap: 6px; margin: 7px 0 10px; padding: 6px; }
    .cmd-nav-wrapper .section-switcher-link { width: 48px; min-width: 48px; min-height: 48px; flex-basis: 48px; }
    .cmd-nav-wrapper .section-switcher-link img { width: 36px; height: 36px; }
    .cmd-nav-wrapper > .cmd-nav-menu { gap: 4px; padding: 5px; }
}

@media (max-width: 360px) {
    .cmd-nav-wrapper .section-switcher { justify-content: space-between; gap: 3px; padding: 5px; }
    .cmd-nav-wrapper .section-switcher-home { margin-right: 0; }
    .cmd-nav-wrapper .section-switcher-link { width: 44px; min-width: 44px; min-height: 44px; flex-basis: 44px; padding: 3px; }
    .cmd-nav-wrapper .section-switcher-link img { width: 34px; height: 34px; }
}

.site-content-layout { display: block; }
.widget-rail { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; width: min(100%, var(--widget-rail-width, 620px)); min-width: 0; max-width: 100%; margin: 0 auto 14px; }
.site-widget { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 0; color: #d9d6c7; background: transparent; border: 0; box-shadow: none; }
.site-widget-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 28px; }
.site-widget-heading h2 { min-width: 0; margin: 0; color: #eef0dc; font: 600 .78rem/1.4 'Share Tech Mono', 'Courier New', monospace; text-transform: uppercase; overflow-wrap: anywhere; }
.site-widget-heading + .site-widget-content { padding-top: 8px; }
.site-widget-image { display: block; width: 100%; max-height: 150px; margin-bottom: 9px; object-fit: cover; }
.site-widget p { margin: 0; color: #b8b8a7; font-size: .72rem; line-height: 1.55; }
.site-widget-custom-html { color: #b8b8a7; font-size: .72rem; line-height: 1.55; overflow-wrap: anywhere; }
.site-widget-custom-html > :first-child { margin-top: 0; }
.site-widget-custom-html > :last-child { margin-bottom: 0; }
.site-widget-custom-html img, .site-widget-custom-html iframe, .site-widget-custom-html video, .site-widget-custom-html embed, .site-widget-custom-html object { max-width: 100%; }
.site-widget-custom-html img, .site-widget-custom-html video { height: auto; }
.site-widget-custom-html iframe { width: 100%; }
.site-widget-link { display: inline-flex; gap: 7px; margin-top: 9px; padding-top: 7px; color: #bdc279; border-top: 1px solid rgba(174,181,91,.2); font: .58rem 'Share Tech Mono', 'Courier New', monospace; text-decoration: none; text-transform: uppercase; }
.site-widget-link:hover, .site-widget-link:focus-visible { color: #f0efdf; }
.site-footer a { color: #c9b581; }
.site-footer form { margin: 0; }
.site-footer button { padding: 0; color: #c9b581; background: transparent; border: 0; cursor: pointer; font-size: inherit; }
.admin-widget-layout { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 13px; align-items: start; }
.admin-widget-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-widget-page .admin-widget-form.panel, .admin-members-page .admin-widget-layout > form.panel { z-index: 5; overflow: visible; }
.admin-widget-page .app-select.is-open, .admin-members-page .app-select.is-open { z-index: 10; }
.admin-widget-page .form-field.is-select-open, .admin-members-page .form-field.is-select-open { z-index: 20; }
.admin-widget-form .panel-title { grid-column: 1 / -1; }
.admin-widget-form .form-field { min-width: 0; }
.admin-widget-form .form-field > span, .admin-widget-active { color: var(--amber); font-size: .68rem; }
.admin-widget-form .form-field input, .admin-widget-form .form-field select, .admin-widget-form .form-field textarea { width: 100%; min-width: 0; padding: 8px; color: var(--cream); background: #0c0907; border: 1px solid var(--border); }
.admin-widget-page .app-select-trigger, .admin-members-page .app-select-trigger { min-height: 44px; padding: 10px 12px; color: #fff1d5; background: linear-gradient(145deg, #21170f, #0c0907); border-color: rgba(217, 119, 6, .68); font-size: .72rem; text-align: left; overflow-wrap: anywhere; }
.admin-widget-page .app-select-trigger::after, .admin-members-page .app-select-trigger::after { color: #ffc36b; font-size: 1rem; }
.admin-widget-page .app-select-trigger:hover, .admin-widget-page .app-select-trigger:focus-visible, .admin-widget-page .app-select.is-open .app-select-trigger,
.admin-members-page .app-select-trigger:hover, .admin-members-page .app-select-trigger:focus-visible, .admin-members-page .app-select.is-open .app-select-trigger { color: #fff8eb; background: #26190e; border-color: #ffb454; box-shadow: 0 0 0 2px rgba(255, 180, 84, .2), inset 0 0 12px rgba(217, 119, 6, .08); }
.admin-widget-page .app-select-trigger[aria-invalid="true"], .admin-members-page .app-select-trigger[aria-invalid="true"] { border-color: #ff7468; box-shadow: 0 0 0 2px rgba(255, 116, 104, .18); }
.admin-widget-page .app-select-option, .admin-members-page .app-select-option { min-height: 42px; color: #f0e5d3; font-size: .72rem; text-align: left; overflow-wrap: anywhere; }
.admin-widget-page .app-select-options, .admin-members-page .app-select-options { background: #100c08; border: 1px solid #d8903d; box-shadow: 0 14px 34px rgba(0, 0, 0, .95); }
.admin-widget-page .app-select-option:hover, .admin-widget-page .app-select-option:focus-visible, .admin-widget-page .app-select-option[aria-selected="true"],
.admin-members-page .app-select-option:hover, .admin-members-page .app-select-option:focus-visible, .admin-members-page .app-select-option[aria-selected="true"] { color: #fff0d0; background: rgba(217, 119, 6, .26); }
.admin-widget-page .admin-widget-active { min-height: 44px; align-self: end; padding: 8px 10px; color: #f0e5d3; background: rgba(217, 119, 6, .06); border: 1px solid rgba(217, 119, 6, .28); cursor: pointer; }
.admin-widget-page .admin-widget-active input[type="checkbox"] { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-content: center; margin: 0; color: #17110c; background: #0c0907; border: 1px solid #c98a3e; border-radius: 2px; appearance: none; cursor: pointer; }
.admin-widget-page .admin-widget-active input[type="checkbox"]::before { width: 10px; height: 6px; content: ""; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; transform: rotate(-45deg) scale(0); transform-origin: center; transition: transform .12s ease-in-out; }
.admin-widget-page .admin-widget-active input[type="checkbox"]:checked { color: #17110c; background: #f2b65d; border-color: #ffd28e; }
.admin-widget-page .admin-widget-active input[type="checkbox"]:checked::before { transform: rotate(-45deg) scale(1); }
.admin-widget-page .admin-widget-active:focus-within { border-color: #ffb454; box-shadow: 0 0 0 2px rgba(255, 180, 84, .18); }
.admin-widget-form .form-field textarea { resize: vertical; }
.admin-members-page .form-grid > .panel-title { grid-column: 1 / -1; }
.membership-rank-option { display: flex; align-items: center; gap: 8px; width: fit-content; margin: 4px 0; color: var(--cream); font-size: .72rem; cursor: pointer; }
.membership-rank-option input { width: 18px; height: 18px; margin: 0; accent-color: #d9a66b; }
.admin-widget-active { display: flex; align-items: center; gap: 8px; }
.admin-widget-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.admin-content-copy-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-copy-group { min-width: 0; margin: 0 0 12px; padding: 12px; background: rgba(8,7,6,.7); border: 1px solid var(--border); }
.admin-copy-group legend { padding: 0 7px; color: var(--amber); font: .68rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .06em; text-transform: uppercase; }
.admin-content-copy-form .form-field { min-width: 0; }
.admin-content-copy-form .form-field > span { color: var(--amber); font-size: .68rem; }
.admin-content-copy-form textarea { width: 100%; min-height: 72px; padding: 8px; color: var(--cream); background: #0c0907; border: 1px solid var(--border); resize: vertical; }
.admin-content-copy-form small { color: var(--muted); font-size: .58rem; }
.admin-member-list { display: grid; gap: 10px; }
.admin-member-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px; background: rgba(8,7,6,.78); border: 1px solid var(--border); }
.admin-member-card h3 { margin: 0; color: var(--cream); font-size: .8rem; }
.admin-member-card p { margin: 4px 0; color: var(--muted); font-size: .65rem; }
.admin-member-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.member-auth-panel { width: min(100%, 560px); margin: 0 auto; }
.member-auth-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.member-auth-form { display: grid; gap: 10px; }
.member-auth-form[hidden] { display: none; }
.member-profile-card { display: grid; gap: 12px; max-width: 820px; margin: 0 auto; padding: clamp(16px, 4vw, 30px); background: radial-gradient(ellipse at 8% 0, rgba(131,169,135,.11), transparent 48%), linear-gradient(145deg, rgba(17,15,11,.98), rgba(8,7,6,.98)); border-color: rgba(131,169,135,.32); }
.member-profile-hero { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; align-items: center; padding: 4px 0 18px; border-bottom: 1px solid rgba(131,169,135,.24); }
.member-profile-avatar-frame { display: grid; width: 94px; height: 94px; place-items: center; overflow: hidden; background: rgba(131,169,135,.08); border: 1px solid rgba(131,169,135,.55); border-radius: 50%; box-shadow: 0 0 24px rgba(131,169,135,.12); }
.member-profile-avatar { width: 100%; height: 100%; object-fit: cover; }
.member-profile-avatar-placeholder { color: #a8c9a9; font-size: 2.6rem; line-height: 1; }
.member-profile-identity { min-width: 0; }
.member-profile-kicker { color: #a8c9a9; font: .58rem 'Share Tech Mono', 'Courier New', monospace; letter-spacing: .12em; }
.member-profile-identity h1 { margin: 5px 0 2px; color: #f4f1e5; font: 600 clamp(1.35rem, 4vw, 2rem)/1.2 'Source Serif 4', Georgia, serif; overflow-wrap: anywhere; }
.member-profile-identity p { margin: 0; color: var(--muted); font: .68rem 'Share Tech Mono', 'Courier New', monospace; overflow-wrap: anywhere; }
.member-profile-card > .notice { margin: 0; }
.member-profile-card > form.form-grid { display: grid; gap: 14px; margin: 0; }
.member-profile-section { min-width: 0; padding: clamp(13px, 3vw, 20px); background: rgba(5,5,4,.54); border: 1px solid rgba(131,169,135,.16); }
.member-profile-section-heading { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 16px; }
.member-profile-section-heading > span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; color: #a8c9a9; background: rgba(131,169,135,.1); border: 1px solid rgba(131,169,135,.3); font: .62rem 'Share Tech Mono', 'Courier New', monospace; }
.member-profile-section-heading h2 { margin: 0; color: #e8eadb; font: 600 .95rem 'Source Serif 4', Georgia, serif; }
.member-profile-section-heading p { margin: 3px 0 0; color: var(--muted); font-size: .64rem; line-height: 1.5; }
.member-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.member-profile-fields .form-field { display: grid; min-width: 0; gap: 5px; }
.member-profile-fields .form-field > span { color: #b4c7a8; font-size: .66rem; }
.member-profile-fields input:not([type="checkbox"]), .member-profile-fields input[type="file"], .member-profile-fields textarea { width: 100%; min-width: 0; padding: 10px 11px; color: var(--cream); background: rgba(4,5,4,.88); border: 1px solid rgba(131,169,135,.26); border-radius: 4px; font-size: .72rem; }
.member-profile-fields input:focus, .member-profile-fields textarea:focus { border-color: rgba(168,201,169,.8); outline: none; box-shadow: 0 0 0 3px rgba(131,169,135,.1); }
.member-profile-fields input:disabled { color: #96978c; background: rgba(25,26,22,.7); }
.member-profile-fields textarea { resize: vertical; line-height: 1.55; }
.member-profile-fields .admin-profile-checkbox { display: flex; align-items: center; }
.member-profile-fields .admin-profile-checkbox span { display: flex; align-items: center; gap: 8px; }
.member-profile-fields .admin-profile-checkbox input { accent-color: #83a987; }
.member-profile-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 2px; }
.member-profile-actions > span { color: var(--muted); font-size: .62rem; }
@media (max-width: 520px) {
    .member-profile-hero { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; }
    .member-profile-avatar-frame { width: 68px; height: 68px; }
    .member-profile-avatar-placeholder { font-size: 2rem; }
    .member-profile-fields { grid-template-columns: minmax(0, 1fr); }
    .member-profile-fields .form-field.full { grid-column: auto; }
    .member-profile-actions { align-items: stretch; flex-direction: column; }
    .member-profile-actions .btn { width: 100%; }
}
@media (min-width: 1280px) {
    .site-content-layout.is-sidebar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1024px) minmax(0, 1fr); align-items: start; column-gap: 16px; width: var(--widget-layout-width, 100vw); margin-left: calc(50% - var(--widget-layout-width, 100vw) / 2); }
    .site-content-layout.is-sidebar-layout > .main-content { grid-column: 2; grid-row: 1; min-width: 0; }
    .widget-rail.is-sidebar { align-self: start; width: min(100%, var(--widget-rail-width, 220px)); min-width: 0; margin: 0; padding: 0; }
    .widget-rail-left.is-sidebar { grid-column: 1; grid-row: 1; justify-self: end; }
    .widget-rail-right.is-sidebar { grid-column: 3; grid-row: 1; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
    .site-widget { transition: none; }
}
@media (max-width: 1279px) {
    .widget-rail, .widget-rail.is-sidebar { width: 100%; }
    .widget-rail .site-widget { width: 100%; max-width: none; }
    .site-widget-content, .site-widget-custom-html { width: 100%; min-width: 0; }
    .site-widget-custom-html iframe, .site-widget-custom-html video, .site-widget-custom-html embed, .site-widget-custom-html object { max-width: 100%; }
}
@media (max-width: 700px) {
    .widget-rail, .widget-rail.is-sidebar { width: var(--widget-layout-width, 100vw); max-width: none; margin-right: 0; margin-left: calc(50% - var(--widget-layout-width, 100vw) / 2); }
}
@media (max-width: 700px) {
    .admin-widget-layout, .admin-content-copy-form { grid-template-columns: minmax(0, 1fr); }
    .admin-member-card { grid-template-columns: minmax(0, 1fr); }
    .admin-member-card-actions { justify-content: flex-start; }
    .admin-content-copy-form .form-field.full { grid-column: auto; }
}
@media (max-width: 340px) {
    .cmd-nav-wrapper .section-switcher-link { width: 40px; min-width: 40px; min-height: 40px; flex-basis: 40px; padding: 3px; }
    .cmd-nav-wrapper .section-switcher-link img { width: 32px; height: 32px; }
    .cmd-nav-wrapper .section-switcher-member-avatar { width: 32px; height: 32px; }
    .cmd-nav-wrapper .section-switcher-member-placeholder { width: 32px; height: 32px; font-size: 1.2rem; }
}
.pwa-install-card[hidden], .pwa-install-help[hidden], [data-pwa-install-section][hidden], [data-pwa-notification-section][hidden] { display: none; }
.pwa-install-actions [hidden] { display: none; }
.pwa-install-card {
    position: fixed;
    z-index: 10000;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    width: min(390px, calc(100vw - 32px));
    padding: 20px;
    color: var(--cream);
    background: radial-gradient(ellipse at 0 0, rgba(217,119,6,.16), transparent 65%), rgba(12,9,7,.98);
    border: 1px solid var(--border-bright);
    box-shadow: 0 14px 48px rgba(0,0,0,.72), inset 0 0 22px rgba(217,119,6,.04);
    animation: pwa-install-enter .24s ease-out both;
}
.pwa-install-close {
    position: absolute;
    top: 6px;
    right: 8px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: var(--muted);
    background: transparent;
    border: 1px solid transparent;
    font-size: 1.35rem;
    cursor: pointer;
}
.pwa-install-close:hover, .pwa-install-close:focus-visible { color: var(--cream); border-color: var(--border); outline: none; }
.pwa-install-brand { display: block; margin: 0 24px 14px; color: var(--cream); font-family: 'Share Tech Mono', monospace; font-size: .68rem; letter-spacing: .16em; text-align: center; }
.pwa-install-header { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 13px; align-items: center; padding-right: 20px; }
.pwa-install-header img { display: block; width: 52px; height: 52px; border: 1px solid var(--border); box-shadow: 0 0 16px rgba(217,119,6,.13); }
.pwa-install-kicker { color: var(--amber); font-family: 'Share Tech Mono', monospace; font-size: .58rem; letter-spacing: .1em; }
.pwa-install-header h2 { margin: 5px 0 0; color: var(--cream); font-family: 'Source Serif 4', Georgia, serif; font-size: 1.02rem; font-weight: 600; line-height: 1.3; }
.pwa-install-description, .pwa-install-help { margin: 13px 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.pwa-install-help { padding: 0; color: #e7e5e4; background: transparent; border: 0; }
.pwa-install-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.pwa-install-actions .btn { min-height: 38px; padding: 8px; font-size: .66rem; text-align: center; }
.pwa-install-actions .btn:disabled { cursor: not-allowed; opacity: .65; }
.pwa-notification-section { display: grid; gap: 8px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--border); }
.pwa-notification-section h3 { margin: 5px 0 0; color: var(--cream); font-family: 'Source Serif 4', Georgia, serif; font-size: .95rem; font-weight: 600; line-height: 1.35; }
.pwa-notification-section > p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.pwa-install-status { min-height: 0; margin: 9px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.pwa-install-status:empty { display: none; }
.pwa-install-card.pwa-notification-promo { border-top-color: #d9a66b; background: radial-gradient(ellipse at 0 0, rgba(217,166,107,.15), transparent 65%), rgba(12,9,7,.98); }
.pwa-notification-promo .pwa-notification-section { margin-top: 0; padding-top: 0; border-top: 0; }
.pwa-notification-promo .pwa-notification-section .pwa-install-kicker { color: #d9a66b; }
.pwa-notification-promo .pwa-notification-section .pwa-install-actions .btn { min-height: 42px; color: #fff; background: rgba(217,119,6,.22); border-color: var(--amber); }
.pwa-notification-promo .pwa-notification-section .pwa-install-actions .btn:hover { background: rgba(217,119,6,.35); }
.pwa-copy-fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--border); }
.pwa-copy-fieldset legend { padding: 0 6px; color: var(--amber); font-family: 'Share Tech Mono', monospace; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.pwa-copy-fieldset > .form-field { margin: 8px 0; }
.pwa-copy-fieldset > small { color: var(--muted); font-size: .65rem; line-height: 1.5; }
@keyframes pwa-install-enter {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 420px) {
    .pwa-install-card { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100vw - 24px); padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .pwa-install-card { animation: none; }
}
