
:root {
    --bg-color: #0a0f0d;
    --panel-bg: #111814;
    --text-color: #a3c6b4;
    --primary-green: #38b000;
    --bright-green: #70e000;
    --amber: #ffb703;
    --red: #d00000;
    --border-color: #1b2e24;
}

/* GS BIBLE is embedded inside the public site's own header/player shell. */
#bazooka-persistent-player-root,
[id="bazooka-persistent-player-root"] {
    display: none !important;
}
body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: 'Courier New', Courier, monospace;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}
header {
    background-color: var(--panel-bg);
    border-bottom: 2px solid var(--primary-green);
    padding: 20px;
    text-align: center;
}
h1 { color: var(--bright-green); margin: 0; font-size: 2.2rem; text-transform: uppercase; letter-spacing: 2px; }
h2 { color: var(--bright-green); border-bottom: 1px solid var(--border-color); padding-bottom: 5px; text-transform: uppercase; }
h3 { color: var(--amber); }
a { color: var(--bright-green); text-decoration: none; }
a:hover { text-decoration: underline; color: #fff; }
.container { display: flex; max-width: 1400px; margin: 0 auto; padding: 20px; gap: 20px; }
nav {
    background-color: var(--panel-bg);
    border: 1px solid var(--border-color);
    width: 280px;
    padding: 15px;
    height: fit-content;
    position: sticky;
    top: 20px;
}
nav ul { list-style-type: none; padding: 0; margin: 0; }
nav li { margin-bottom: 10px; font-weight: bold; }
nav li ul { padding-left: 15px; font-weight: normal; margin-top: 5px; }
nav li ul li { margin-bottom: 5px; font-size: 0.9rem; }
main { flex: 1; background-color: var(--panel-bg); border: 1px solid var(--border-color); padding: 30px; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); }
.section { margin-bottom: 50px; }
table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 0.9rem; }
th, td { border: 1px solid var(--border-color); padding: 10px; text-align: left; }
th { background-color: var(--border-color); color: var(--bright-green); text-transform: uppercase; }
tr:nth-child(even) { background-color: rgba(27, 46, 36, 0.2); }
.code-block { background-color: #000; border-left: 3px solid var(--amber); padding: 15px; margin: 15px 0; overflow-x: auto; color: #fff; font-size: 0.85rem; }
.status-healthy { color: var(--bright-green); font-weight: bold; }
.status-degraded { color: var(--amber); font-weight: bold; }
.status-failed { color: var(--red); font-weight: bold; }
footer { text-align: center; padding: 20px; border-top: 1px solid var(--border-color); font-size: 0.8rem; margin-top: 40px; }


/* P5.7.105 live-doc additions */
nav a.active { color:#fff; font-weight:bold; border-left:3px solid var(--bright-green); padding-left:8px; }
.nav-meta { margin-top:20px; padding-top:12px; border-top:1px solid var(--border-color); font-size:.78rem; color:#789486; }
.notice { margin:18px 0; padding:14px 16px; border:1px solid var(--amber); background:rgba(255,183,3,.06); color:#d9d3ac; }
.status-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:18px 0 26px; }
.status-card { background:#0b120f; border:1px solid var(--border-color); padding:14px; min-height:100px; display:flex; flex-direction:column; gap:4px; }
.status-card .big { color:var(--bright-green); font-size:1.55rem; font-weight:bold; }
.status-card small,.muted { color:#71897d; }
.world-toolbar { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0 8px; position:sticky; top:0; z-index:5; background:var(--panel-bg); padding:10px 0; }
.world-toolbar input,.world-toolbar select { background:#080d0b; color:var(--text-color); border:1px solid var(--border-color); padding:10px 12px; font-family:inherit; }
.world-toolbar input { flex:1; min-width:260px; }
.world-group { margin:32px 0; }
.count { display:inline-block; border:1px solid var(--border-color); color:var(--text-color); padding:1px 7px; font-size:.75rem; vertical-align:middle; }
.world-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.world-card { border:1px solid var(--border-color); background:#0b120f; overflow:hidden; }
.world-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:#000; border-bottom:1px solid var(--border-color); }
.world-card img:hover { filter:brightness(1.08); }
.world-card-body { padding:13px; }
.world-card h4 { color:#e6edd6; margin:0 0 6px; font-size:1rem; }
.world-card code { display:block; color:#66c78b; font-size:.77rem; overflow-wrap:anywhere; }
.metrics { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.metrics span { border:1px solid #294336; padding:3px 7px; font-size:.78rem; color:#c8d4ce; }
.card-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.mini-link { font-size:.75rem; color:#9ad56e; }
@media (max-width:900px){ .container{flex-direction:column}.container nav{width:auto;position:static}.world-grid{grid-template-columns:1fr} main{padding:18px} }

/* P5.7.129 WORLD/ERA force coverage */
.coverage-detail{margin:10px 0;border:1px solid #3d444b;border-radius:6px;padding:8px 10px;background:#15191c}.coverage-detail summary{cursor:pointer}.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coverage-side{border:1px solid #343a40;border-radius:5px;padding:8px;background:#101315}.coverage-side h5{margin:0 0 6px}.warn{color:#ffb04a}@media(max-width:1100px){.coverage-grid{grid-template-columns:1fr}}

/* P5.7.129 Encyclopedia -> GS BIBLE generated DB */
.db-toolbar{display:flex;gap:10px;position:sticky;top:0;background:var(--panel-bg);padding:10px 0;z-index:4}.db-toolbar input,.db-toolbar select{background:#080d0b;color:var(--text-color);border:1px solid var(--border-color);padding:10px;font-family:inherit}.db-toolbar input{flex:1}.db-layout{display:grid;grid-template-columns:minmax(250px,34%) 1fr;gap:16px}.db-list{max-height:72vh;overflow:auto;border:1px solid var(--border-color)}.db-item{display:block;width:100%;text-align:left;background:#0b120f;color:var(--text-color);border:0;border-bottom:1px solid var(--border-color);padding:10px;font-family:inherit;cursor:pointer}.db-item:hover{background:#13231b}.db-item b,.db-item small{display:block}.db-item small{color:#71897d;margin-top:3px}.db-detail{min-width:0}.db-detail table th{width:34%}@media(max-width:900px){.db-layout{grid-template-columns:1fr}.db-list{max-height:35vh}}
/* Public-package guard for map references that were not shipped in GS_BIBLE.zip. */
.map-reference-missing{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1rem;text-align:center;background:rgba(255,255,255,.025);border:1px dashed rgba(255,255,255,.16);border-radius:12px;color:var(--muted,#9ab3ae)}
.map-reference-missing code{max-width:100%;overflow-wrap:anywhere;font-size:.72rem;opacity:.8}.missing-map-note{font-size:.78rem}

