:root {
  --wiki-ink: #121c2d;
  --wiki-muted: #526074;
  --wiki-paper: #f3f5f7;
  --wiki-panel: #ffffff;
  --wiki-line: rgba(18, 28, 45, 0.14);
  --wiki-space: #0b1220;
  --wiki-human: #4b8fd8;
  --wiki-bugvex: #82994a;
  --wiki-cryvum: #9b72d0;
}

.wiki-page { background: var(--wiki-paper); color: var(--wiki-ink); }
.wiki-page .site-header { color: #eff7ff; background: rgba(7, 13, 25, 0.88); }
.wiki-page .site-header.scrolled { background: #09111f; }
.wiki-page .header-cta { color: #0a1423; background: #d6f0ff; }
.wiki-shell { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }

.wiki-hero { position: relative; overflow: hidden; padding: 190px 0 94px; color: #f6fbff; background: radial-gradient(circle at 76% 20%, rgba(91, 154, 233, 0.29), transparent 20%), radial-gradient(circle at 13% 92%, rgba(126, 149, 74, 0.17), transparent 27%), #0a1322; }
.wiki-hero::after { position: absolute; inset: 0; opacity: 0.32; background-image: radial-gradient(rgba(229, 245, 255, 0.7) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(90deg, transparent, black 22%, black 75%, transparent); content: ""; }
.wiki-hero .wiki-shell { position: relative; z-index: 1; }
.wiki-kicker, .wiki-label { margin: 0 0 14px; color: #b6e8ff; font-size: 11px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; }
.wiki-hero h1 { max-width: 850px; margin: 0; color: #f8fcff; font-size: clamp(52px, 8vw, 116px); font-weight: 950; letter-spacing: -0.07em; line-height: 0.82; }
.wiki-hero h1 em { color: #79d8c4; font-style: normal; }
.wiki-lede { max-width: 650px; margin: 27px 0 0; color: rgba(232, 244, 255, 0.78); font-size: 18px; line-height: 1.7; }
.wiki-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; color: rgba(229, 244, 255, 0.58); font-size: 11px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.wiki-breadcrumb a:hover, .wiki-breadcrumb a:focus-visible { color: #aaf1dc; }
.wiki-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 27px; }
.wiki-meta span { padding: 8px 10px; border: 1px solid rgba(216, 242, 255, 0.24); color: rgba(235, 247, 255, 0.84); background: rgba(255, 255, 255, 0.07); font-size: 10px; font-weight: 900; letter-spacing: 0.08em; }

.wiki-intro, .wiki-section, .wiki-status-note { padding: 88px 0; }
.wiki-intro-grid, .wiki-section-heading, .wiki-detail-grid { display: grid; grid-template-columns: minmax(240px, 0.68fr) minmax(0, 1.32fr); gap: 58px; }
.wiki-intro h2, .wiki-section h2, .wiki-detail-grid h2 { margin: 0; color: var(--wiki-ink); font-size: clamp(38px, 5vw, 66px); font-weight: 920; letter-spacing: -0.055em; line-height: 0.96; }
.wiki-copy, .wiki-section-heading > p, .wiki-detail-copy > p { max-width: 650px; margin: 0; color: var(--wiki-muted); font-size: 16px; line-height: 1.75; }
.wiki-entry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 40px; }
.wiki-entry-card { display: flex; min-height: 330px; flex-direction: column; padding: 22px; border: 1px solid var(--wiki-line); border-top: 5px solid var(--faction-color); color: var(--wiki-ink); background: var(--wiki-panel); box-shadow: 0 18px 44px rgba(11, 20, 35, 0.08); }
.wiki-entry-card:hover, .wiki-entry-card:focus-within { transform: translateY(-3px); box-shadow: 0 25px 52px rgba(11, 20, 35, 0.13); }
.wiki-entry-card.human { --faction-color: var(--wiki-human); }.wiki-entry-card.bugvex { --faction-color: var(--wiki-bugvex); }.wiki-entry-card.cryvum { --faction-color: var(--wiki-cryvum); }
.wiki-entry-card > span, .wiki-record-status { color: var(--faction-color); font-size: 10px; font-weight: 900; letter-spacing: 0.12em; }
.wiki-entry-card h3 { margin: 48px 0 10px; color: var(--wiki-ink); font-size: 32px; font-weight: 930; letter-spacing: -0.045em; line-height: 1; }
.wiki-entry-card p { margin: 0; color: var(--wiki-muted); font-size: 14px; line-height: 1.65; }
.wiki-entry-card a, .wiki-backlink { display: inline-flex; align-items: center; gap: 7px; width: fit-content; margin-top: auto; padding-top: 25px; color: var(--faction-color); font-size: 12px; font-weight: 900; }

.wiki-section { background: #e7ecef; }.wiki-section-heading { align-items: end; margin-bottom: 38px; }.wiki-groups { display: grid; gap: 12px; }
.wiki-group { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; align-items: center; gap: 25px; padding: 24px; border: 1px solid var(--wiki-line); background: #fcfdfd; }
.wiki-group-code { color: var(--group-color, #1c73b9); font-size: 10px; font-weight: 900; letter-spacing: 0.12em; }
.wiki-group h3 { margin: 0 0 7px; color: var(--wiki-ink); font-size: 25px; font-weight: 900; letter-spacing: -0.035em; line-height: 1; }
.wiki-group p { max-width: 650px; margin: 0; color: var(--wiki-muted); font-size: 13px; line-height: 1.6; }
.wiki-group-links { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; max-width: 320px; }
.wiki-group-links a { padding: 7px 9px; border: 1px solid var(--wiki-line); color: #284256; background: #fff; font-size: 10px; font-weight: 850; }
.wiki-group-links a:hover, .wiki-group-links a:focus-visible { border-color: var(--group-color, #1c73b9); color: var(--group-color, #1c73b9); }

.wiki-status-note { color: #eaf4fa; background: var(--wiki-space); }.wiki-status-note .wiki-shell { display: grid; grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.22fr); gap: 58px; }.wiki-status-note h2 { margin: 0; color: #f5fbff; font-size: clamp(34px, 4vw, 56px); letter-spacing: -0.045em; line-height: 1; }.wiki-status-note p:not(.wiki-kicker) { max-width: 660px; margin: 0; color: rgba(227, 243, 252, 0.7); line-height: 1.7; }.wiki-status-note strong { color: #aaf1dc; }

.wiki-faction-human { --faction-color: var(--wiki-human); }.wiki-faction-bugvex { --faction-color: var(--wiki-bugvex); }.wiki-faction-cryvum { --faction-color: var(--wiki-cryvum); }
.wiki-faction-human .wiki-kicker, .wiki-faction-human .wiki-label { color: var(--wiki-human); }.wiki-faction-bugvex .wiki-kicker, .wiki-faction-bugvex .wiki-label { color: var(--wiki-bugvex); }.wiki-faction-cryvum .wiki-kicker, .wiki-faction-cryvum .wiki-label { color: var(--wiki-cryvum); }
.wiki-faction-hero .wiki-hero { background: linear-gradient(120deg, rgba(5, 12, 21, 0.93), rgba(8, 20, 36, 0.78)), url("../../../assets/hero-worlds-keyart.jpg") center / cover; }.wiki-faction-hero .wiki-hero::after { opacity: 0.13; }.wiki-faction-summary { padding: 78px 0; background: #f5f7f8; }
.wiki-video { overflow: hidden; border: 1px solid var(--wiki-line); background: #03070d; box-shadow: 0 20px 55px rgba(8, 17, 29, 0.16); }.wiki-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }.wiki-video small { display: block; padding: 9px 12px; color: rgba(232, 247, 255, 0.7); font-size: 10px; font-weight: 850; letter-spacing: 0.08em; }
.wiki-ship-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 33px; }.wiki-ship-link { min-height: 166px; padding: 16px; border: 1px solid var(--wiki-line); border-left: 4px solid var(--faction-color); color: var(--wiki-ink); background: #fff; }.wiki-ship-link:hover, .wiki-ship-link:focus-visible { border-color: var(--faction-color); box-shadow: 0 14px 34px rgba(13, 29, 48, 0.1); }.wiki-ship-link span { color: var(--faction-color); font-size: 9px; font-weight: 900; letter-spacing: 0.1em; }.wiki-ship-link h3 { margin: 23px 0 6px; color: var(--wiki-ink); font-size: 23px; font-weight: 920; letter-spacing: -0.035em; line-height: 0.98; }.wiki-ship-link p { margin: 0; color: var(--wiki-muted); font-size: 12px; }

.wiki-vessel-hero .wiki-hero { padding-bottom: 74px; }.wiki-vessel-hero .wiki-hero h1 { max-width: 980px; }.wiki-detail-section { padding: 84px 0; }.wiki-detail-copy h2 { margin-bottom: 22px; }.wiki-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }.wiki-specs div { min-height: 94px; padding: 14px; border: 1px solid var(--wiki-line); border-top: 3px solid var(--faction-color, #6d9fd0); background: #fff; }.wiki-specs dt { color: var(--wiki-muted); font-size: 9px; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }.wiki-specs dd { margin: 8px 0 0; color: var(--wiki-ink); font-size: 14px; font-weight: 850; line-height: 1.35; }.wiki-detail-footer { padding: 54px 0 84px; background: #e7ecef; }.wiki-detail-footer .wiki-shell { display: flex; justify-content: space-between; gap: 20px; align-items: center; }.wiki-detail-footer p { margin: 0; color: var(--wiki-muted); font-size: 13px; }

.wiki-page .site-footer { padding: 30px 0; color: rgba(231, 244, 252, 0.7); background: #070d16; }.wiki-page .footer-inner { grid-template-columns: auto 1fr; }.wiki-page .footer-inner p { color: rgba(226, 242, 251, 0.62); }

@media (max-width: 900px) { .wiki-intro-grid, .wiki-section-heading, .wiki-status-note .wiki-shell, .wiki-detail-grid { grid-template-columns: 1fr; gap: 26px; }.wiki-entry-grid, .wiki-ship-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }.wiki-group { grid-template-columns: 150px minmax(0, 1fr); }.wiki-group-links { grid-column: 2; justify-content: start; max-width: none; } }
@media (max-width: 680px) { .wiki-page .nav-links { display: none; }.wiki-shell { width: min(100% - 28px, 1180px); }.wiki-hero { padding: 135px 0 68px; }.wiki-hero h1 { font-size: clamp(52px, 17vw, 78px); }.wiki-lede { font-size: 16px; }.wiki-intro, .wiki-section, .wiki-status-note, .wiki-faction-summary, .wiki-detail-section { padding: 64px 0; }.wiki-entry-grid, .wiki-ship-index, .wiki-specs { grid-template-columns: 1fr; }.wiki-group { grid-template-columns: 1fr; gap: 13px; }.wiki-group-links { grid-column: auto; }.wiki-detail-footer .wiki-shell { display: block; }.wiki-detail-footer .wiki-backlink { margin-top: 18px; }.wiki-page .footer-inner { grid-template-columns: 1fr; } }
/* Archive content components. */
.archive-skip { position:fixed; z-index:100; top:-100px; left:20px; padding:12px 20px; background:#b9ff48; color:#101820; }
.archive-skip:focus { top:15px; }
.archive-group-heading { margin:48px 0 0; color:var(--faction-color,#34536c); font-size:24px; }
.archive-media { max-width:1000px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.archive-media > :first-child, .archive-media > .wiki-video, .archive-media > p { grid-column:1 / -1; }
.archive-image { margin:0; min-width:0; }
.archive-image img { width:100%; max-height:750px; object-fit:contain; }
.archive-image figcaption { color:var(--wiki-muted); margin-top:12px; }
@media (max-width:600px) { .archive-media { grid-template-columns:1fr; } }
.wiki-copy + .wiki-copy { margin-top:18px; }
.wiki-video { margin-top:25px; }
.wiki-detail-copy .wiki-copy { margin-bottom:18px; }
.archive-tree { margin-top:36px; max-width:950px; }
.archive-branch { margin:0 0 14px; border:1px solid var(--theme-line,var(--wiki-line)); background:var(--theme-panel,#fff); }
.archive-branch summary { cursor:pointer; padding:19px 22px; color:var(--theme-accent,#34536c); font-size:17px; font-weight:750; }
.archive-branch summary::marker { color:var(--theme-accent,#34536c); }
.archive-count { float:right; min-width:27px; padding:0 7px; border:1px solid var(--theme-line,var(--wiki-line)); border-radius:4px; text-align:center; font-size:13px; }
.archive-branch ul { list-style:none; margin:0 22px 22px 30px; padding:0 0 0 21px; border-left:1px solid var(--theme-line,var(--wiki-line)); }
.archive-branch li { position:relative; }
.archive-branch li::before { content:""; position:absolute; left:-21px; top:28px; width:17px; border-top:1px solid var(--theme-line,var(--wiki-line)); }
.archive-branch li a { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:center; gap:18px; padding:16px 12px; border-bottom:1px solid var(--theme-line,var(--wiki-line)); }
.archive-branch li:last-child a { border-bottom:0; }
.archive-branch li a:hover { background:var(--theme-bg,#edf2f5); }
.archive-entry-name { color:var(--theme-text,var(--wiki-ink)); font-weight:700; }
.archive-entry-type { color:var(--theme-muted,var(--wiki-muted)); font-size:12px; }
.archive-branch summary:focus-visible { outline:2px solid var(--theme-accent,#34536c); outline-offset:3px; }
@media(max-width:680px) { .archive-branch summary { padding:17px 14px; font-size:15px; }.archive-branch ul { margin-left:20px; margin-right:12px; padding-left:15px; }.archive-branch li::before { left:-15px; width:11px; }.archive-branch li a { grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }.archive-entry-type { grid-row:2; }.archive-branch li a>span:last-child { grid-column:2; grid-row:1/3; } }
.directory-controls { display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px; margin:32px 0; }
.directory-controls>label { display:grid; gap:8px; font-size:12px; color:var(--theme-muted); }
.directory-controls input[type=search],.directory-controls select { width:100%; min-width:0; padding:13px 12px; border:1px solid var(--theme-line); border-radius:4px; color:var(--theme-text); background:var(--theme-panel); font:inherit; font-size:14px; }
.directory-controls fieldset { display:flex; flex-wrap:wrap; gap:12px; grid-column:1/-1; border:0; padding:0; margin:0; }
.directory-controls legend { margin-bottom:12px; font-size:12px; color:var(--theme-muted); }
.directory-controls fieldset label { display:flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--theme-line); background:var(--theme-panel); cursor:pointer; font-size:13px; }
.directory-controls input[type=checkbox] { accent-color:var(--theme-accent); }
.directory-controls button { justify-self:start; padding:9px 15px; border:1px solid var(--theme-line); color:var(--theme-accent); background:transparent; cursor:pointer; }
.directory-controls :focus-visible { outline:2px solid var(--theme-accent); outline-offset:3px; }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.directory-card { display:block; border:1px solid var(--theme-line); background:var(--theme-panel); }
.directory-card[hidden] { display:none; }
.directory-card:hover { border-color:var(--theme-accent); }
.directory-image { width:100%; aspect-ratio:16/10; object-fit:contain; background:var(--theme-bg); }
.directory-no-image { display:grid; place-items:center; color:var(--theme-muted); font-size:12px; }
.directory-card-copy { padding:22px; }
.directory-card h3 { margin:0 0 10px; font-size:24px; color:var(--theme-text); }
.directory-card p { margin:0 0 15px; color:var(--theme-muted); font-size:13px; }
.directory-tags { display:flex; flex-wrap:wrap; gap:6px; }
.directory-tags span { padding:3px 8px; color:var(--theme-accent); border:1px solid var(--theme-line); font-size:10px; }
.directory-feedback { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#directory { scroll-margin-top:165px; }
.archive-dossier-section { max-width:850px; margin:0 0 38px; }
.archive-dossier-section h2 { margin-bottom:16px; }
@media(max-width:900px) { .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .directory-controls { grid-template-columns:1fr 1fr; gap:14px; }.directory-controls>label:first-child { grid-column:1/-1; }.directory-grid { grid-template-columns:1fr; }.directory-controls fieldset { gap:8px; } }

/* Archive landing art: quiet left side for readable title copy */
.wiki-page .archive-universe-hero {
  background: linear-gradient(90deg, rgba(5, 12, 24, .42), rgba(5, 12, 24, .04)), url("../../../assets/universe-archive-background-v1.png") center / cover;
  border-bottom: 1px solid rgba(126, 211, 222, .2);
}
.wiki-page .archive-universe-hero::after { display: none; }
.archive-universe-hero .wiki-lede { max-width: 620px; color: #e1eaf3; }
.archive-universe-hero h1 { text-shadow: 0 3px 28px rgba(0, 0, 0, .45); }
@media (max-width: 680px) {
  .wiki-page .archive-universe-hero {
    background-image: linear-gradient(90deg, rgba(5, 12, 24, .84), rgba(5, 12, 24, .4)), url("../../../assets/universe-archive-background-v1.png");
    background-position: 65% center;
  }
}

/* Civilization cards: atmosphere behind the original emblems and copy */
.archive-universe-hero + .wiki-section .wiki-entry-card {
  background-image: linear-gradient(180deg, rgba(5, 9, 16, .1), rgba(5, 9, 16, .72) 43%, rgba(5, 9, 16, .96) 76%), var(--card-art);
  background-size: cover;
  background-position: center;
  isolation: isolate;
}
.archive-universe-hero + .wiki-section .wiki-entry-card.human {
  --card-art: url("../../../assets/faction-human-background-v1.png");
  background-position: 80% center;
}
.archive-universe-hero + .wiki-section .wiki-entry-card.bugvex { --card-art: url("../../../assets/faction-bugvex-background-v1.png"); }
.archive-universe-hero + .wiki-section .wiki-entry-card.cryvum { --card-art: url("../../../assets/faction-cryvum-background-v1.png"); }
.archive-universe-hero + .wiki-section .wiki-entry-card.other { --card-art: url("../../../assets/faction-other-background-v1.png"); }
.archive-universe-hero + .wiki-section .wiki-entry-card p { color: #e0e6ed; }
.archive-universe-hero + .wiki-section .encyclopedia-card-icon { filter: drop-shadow(0 3px 16px rgba(0, 0, 0, .6)); }
