/* Website-only additions on top of the app's own style.css + theme.css (copied in by build_site.py).
   The app's menu uses <button>s driven by JavaScript; the website has no JavaScript, so its menu items are links. */

.skip { position: absolute; left: -999px; top: 8px; z-index: 50; }
.skip:focus { left: 12px; background: #ff3b3b; color: #fff; padding: 6px 10px; }

/* banner plate is a link home */
a.bn-plate { text-decoration: none; color: inherit; }
.banner .sync.off { color: #ff8a6a; }
.banner .sync.off::before { color: #ffb04a; }
.banner .sync a { color: #ffb04a; }

/* menu links styled exactly like the app's menu buttons */
.navbar a { position: relative; display: inline-block; text-decoration: none; font-size: 12.5px;
  background: linear-gradient(#1c1c22, #111115); border: 1px solid #2c2c34; border-radius: 0;
  color: #b8b8c4; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 10px 24px 9px;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
.navbar a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 3px; height: 2px; background: #3a1a1a; }
.navbar a:hover { color: #fff; background: linear-gradient(#26262e, #16161b); }
.navbar a.on { color: #fff; background: linear-gradient(#3a1010, #1a0808); border-color: #ff3b3b; }
.navbar a.on::after { background: #ff3b3b; box-shadow: 0 0 10px #ff3b3b; }
.navbar a:focus-visible, a.btn:focus-visible, summary:focus-visible { outline: 2px solid var(--c3); outline-offset: 2px; }
@media (max-width: 760px) { .navbar a { padding: 8px 14px 7px; letter-spacing: .08em; font-size: 12px; } }

a.btn { display: inline-block; text-decoration: none; }

/* "install and connect" panel shown where account data would be */
.lockmsg { display: flex; gap: 14px; align-items: flex-start; margin: 4px 0 12px; padding: 14px 16px;
  border: 1px solid var(--fr); background: linear-gradient(color-mix(in srgb, var(--fr) 14%, #141418), rgba(13, 13, 16, .9)); }
.lockic { font-size: 22px; line-height: 1; color: var(--fr); text-shadow: 0 0 10px var(--fr); }
.lockbody { min-width: 0; }
.lockbody b { display: block; color: #fff; letter-spacing: .04em; }
.lockbody p { margin: 4px 0 10px; color: var(--muted); font-size: 13px; }
.lockbtns { display: flex; gap: 8px; flex-wrap: wrap; }
.lockmsg.slim { padding: 10px 12px; margin: 0 0 12px; }

/* grey skeleton rows: show the layout without inventing numbers */
.skrow { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.sk { display: block; height: 10px; border-radius: 2px; background: #22222a; }
.sk.w1 { width: 46%; } .sk.w2 { width: 62%; } .sk.w3 { width: 38%; } .sk.w4 { width: 54%; } .sk.w5 { width: 14%; }
.list .skrow, .orow .skrow { padding: 10px 14px; }
.hero .val.dash, .big.dash { color: #4a4a55; text-shadow: none; }

/* overview: missions at a glance boxes without data */
.glance .gbox { border: 1px solid var(--line); background: var(--panel2); border-radius: 10px; padding: 10px 12px; color: var(--muted); }
.glance .gbox b { display: block; font-size: 22px; color: #4a4a55; }

/* disabled-looking filters (no data to filter) */
.filters .fake { background: #0e0e12; border: 1px solid #2c2c34; border-radius: 999px; padding: 7px 14px; color: #5c5c68; min-width: 180px; }
.filters .fake.wide { flex: 1; min-width: 240px; }
@media (max-width: 640px) { .filters .fake.wide { flex: 1 1 100%; } }

/* intro strip on the home page */
.intro { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; padding: 14px 18px;
  border: 1px solid var(--edge); border-left: 3px solid var(--fr); background: var(--metal); }
.intro h1 { margin: 0 0 4px; font-size: 20px; text-transform: uppercase; letter-spacing: .1em; color: #fff; }
.intro p { margin: 0; color: var(--muted); max-width: 760px; }

/* placeholder cards in grids (officers, factions, artifacts) */
.phgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.phcard { display: flex; gap: 12px; align-items: center; }
.phpic { width: 56px; height: 56px; flex: none; background: #1c1c22; border: 1px solid var(--edge); }
.phpic.round { border-radius: 50%; }
.phbody { flex: 1; min-width: 0; }

/* download + tutorials content */
.facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 18px; margin: 14px 0 0; }
.facts dt { color: var(--fr-hi); text-transform: uppercase; font-size: 11px; letter-spacing: .14em; padding-top: 3px; }
.facts dd { margin: 0; overflow-wrap: anywhere; }
.mono, code { font-family: Consolas, "Cascadia Mono", monospace; font-size: 13px; }
code { background: #1c1c22; padding: 1px 6px; overflow-wrap: anywhere; }
.dlbtn { font-size: 15px; padding: 10px 26px; margin: 6px 0 4px; }
ol.steps2 { padding-left: 22px; margin: 6px 0; } ol.steps2 li { margin: 0 0 8px; }
.toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.cards { display: grid; gap: 16px; }
details.faq { border-bottom: 1px solid var(--line); }
details.faq > summary { cursor: pointer; list-style: none; padding: 10px 26px 10px 0; position: relative; font-weight: 600; }
details.faq > summary::-webkit-details-marker { display: none; }
details.faq > summary::after { content: "+"; position: absolute; right: 4px; top: 7px; font-size: 18px; color: var(--fr); }
details.faq[open] > summary::after { content: "–"; }
details.faq > div { padding: 0 0 12px; color: #d6d6dc; }
details.faq ul { padding-left: 20px; margin: 6px 0; }
.card p { margin: 6px 0; }
.card.narrow { max-width: 900px; }
.sp { margin: 16px 0; }
.grid + .filters { margin-top: 16px; }
.card[id] { scroll-margin-top: 70px; }
.toc a.btn { font-size: 12px; padding: 5px 12px; }
.glance .gbox.g { border-left: 4px solid var(--green); } .glance .gbox.y { border-left: 4px solid var(--yellow); }
.glance .gbox.r { border-left: 4px solid var(--red); } .glance .gbox.a { border-left: 4px solid var(--accent2); }
/* privacy policy and terms */
.legaldoc { line-height: 1.6; }
.legaldoc h1 { margin: 0 0 6px; }
.legaldoc h2 { margin: 22px 0 6px; font-size: 17px; }
.legaldoc ul { padding-left: 20px; }
.legaldoc li { margin: 0 0 6px; }
footer .legal a { color: inherit; }
