/* ============ Garrison wiki ============ */
/* Relies on /styles.css for :root brand vars, fonts, and .btn. */

.wiki body, body.wiki { background: var(--bg); }

/* ---- top bar ---- */
.wtop{
  position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:1rem;
  padding:.7rem clamp(1rem,3vw,1.6rem);
  background:rgba(7,11,16,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.wtop .brand{display:flex;align-items:center;gap:.55rem}
.wtop .brand-mark{width:32px;height:32px;border-radius:9px;box-shadow:0 0 18px -4px rgba(0,255,159,.6)}
.wtop .brand-name{font-family:Orbitron,sans-serif;font-weight:800;letter-spacing:.13em;font-size:1rem}
.wtop .docs-tag{font-family:Rajdhani,sans-serif;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  font-size:.72rem;color:var(--teal);border:1px solid rgba(45,212,191,.3);border-radius:999px;padding:.15rem .55rem;margin-left:.2rem}
.wtop .spacer{margin-left:auto}
.wtop .wtop-links{display:flex;gap:1.1rem;align-items:center;font-size:.9rem;color:var(--muted);font-weight:500}
.wtop .wtop-links a:hover{color:#fff}
.wtop .wburger{display:none;background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1}

/* ---- shell ---- */
.wiki-shell{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:248px minmax(0,1fr) 200px;gap:0}
.wiki-side{position:sticky;top:54px;align-self:start;height:calc(100dvh - 54px);overflow-y:auto;
  padding:1.6rem 1rem 3rem 1.2rem;border-right:1px solid var(--line)}
.wiki-main{min-width:0;padding:2.2rem clamp(1.1rem,3vw,2.6rem) 5rem}
.wiki-toc{position:sticky;top:54px;align-self:start;height:calc(100dvh - 54px);overflow-y:auto;
  padding:2.2rem .8rem 3rem .4rem;font-size:.85rem}

/* ---- sidebar nav ---- */
.wnav-group{margin-bottom:1.3rem}
.wnav-group > .wnav-title{font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  font-size:.72rem;color:#5f7079;padding:0 .6rem;margin-bottom:.5rem}
.wnav-group a{display:block;padding:.42rem .65rem;border-radius:9px;color:var(--muted);font-size:.92rem;font-weight:500;
  border:1px solid transparent;transition:.14s ease;line-height:1.3}
.wnav-group a:hover{color:#fff;background:var(--panel)}
.wnav-group a.active{color:#fff;background:rgba(0,255,159,.1);border-color:rgba(45,212,191,.32)}
.wnav-group a.active::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--emerald);margin-right:.5rem;vertical-align:middle;box-shadow:0 0 8px var(--emerald)}

/* ---- on-this-page toc ---- */
.wiki-toc .toc-title{font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.68rem;color:#5f7079;margin-bottom:.6rem;padding-left:.6rem}
.wiki-toc a{display:block;padding:.24rem .6rem;border-left:2px solid var(--line);color:var(--muted);transition:.14s}
.wiki-toc a.lvl-3{padding-left:1.2rem;font-size:.82rem}
.wiki-toc a:hover{color:#fff;border-left-color:var(--teal)}
.wiki-toc a.active{color:var(--emerald);border-left-color:var(--emerald)}

/* ---- doc typography ---- */
.wiki-doc{max-width:820px}
.breadcrumb{font-size:.82rem;color:#5f7079;margin-bottom:1rem}
.breadcrumb a:hover{color:var(--teal)}
.wiki-doc h1{font-family:Orbitron,sans-serif;font-weight:800;font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.01em;margin:.2rem 0 .4rem}
.wiki-doc .lede{font-size:1.12rem;color:var(--muted);margin:0 0 2rem;line-height:1.6}
.wiki-doc h2{font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:.01em;margin:2.6rem 0 .9rem;
  padding-top:.6rem;scroll-margin-top:70px}
.wiki-doc h3{font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.22rem;margin:1.8rem 0 .6rem;color:#dfeae8;scroll-margin-top:70px}
.wiki-doc p{color:#c4d2d2;margin:.7rem 0}
.wiki-doc a{color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(45,212,191,.3)}
.wiki-doc a:hover{color:var(--emerald);border-bottom-color:var(--emerald)}
.wiki-doc strong{color:#eaf2f0}
.wiki-doc ul,.wiki-doc ol{color:#c4d2d2;padding-left:1.3rem;margin:.7rem 0}
.wiki-doc li{margin:.4rem 0}
.wiki-doc li::marker{color:var(--teal)}
.wiki-doc hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
.anchor{opacity:0;color:var(--teal)!important;border:0!important;margin-left:.4rem;font-weight:400;text-decoration:none}
.wiki-doc h2:hover .anchor,.wiki-doc h3:hover .anchor{opacity:.7}

/* ---- code ---- */
.wiki-doc code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.88em;
  background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:6px;padding:.08em .4em;color:#bdf4df}
.codeblock{position:relative;margin:1.1rem 0;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(180deg,#0c141c,#0a0f15)}
.codeblock .cb-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:rgba(255,255,255,.04);
  border-bottom:1px solid var(--line);font-family:Rajdhani,sans-serif;font-size:.78rem;letter-spacing:.05em;color:var(--muted)}
.codeblock pre{margin:0;padding:1rem 1.1rem;overflow-x:auto;font-family:ui-monospace,Consolas,monospace;font-size:.86rem;line-height:1.65}
.codeblock pre code{background:none;border:0;padding:0;color:#d6e7e2}
.codeblock .cb-copy{margin-left:auto;background:none;border:1px solid var(--line);color:var(--muted);border-radius:6px;
  font-size:.72rem;padding:.12rem .5rem;cursor:pointer;transition:.15s}
.codeblock .cb-copy:hover{color:#fff;border-color:rgba(45,212,191,.5)}
.tok-c{color:#5f7079}.tok-p{color:var(--cyan)}.tok-s{color:var(--emerald)}.tok-k{color:#7fb0ff}.tok-ok{color:var(--teal)}

/* ---- callouts ---- */
.note{display:flex;gap:.8rem;margin:1.3rem 0;padding:1rem 1.1rem;border-radius:12px;
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--teal)}
.note .note-ic{font-size:1.1rem;line-height:1.4}
.note.tip{border-left-color:var(--emerald)}
.note.warn{border-left-color:#f5b942}
.note.danger{border-left-color:var(--red)}
.note p{margin:.2rem 0;color:#cfdcdb;font-size:.95rem}
.note b{color:#fff}

/* ---- key tables ---- */
.wtable{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
.wtable th,.wtable td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.wtable th{font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:.04em;color:#fff;font-size:.84rem;text-transform:uppercase}
.wtable td{color:#c4d2d2}
.wtable tr:hover td{background:rgba(255,255,255,.02)}
.wtable code{white-space:nowrap}

/* ---- feature/quick cards ---- */
.wcards{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin:1.4rem 0}
.wcard{display:block;padding:1.1rem 1.2rem;border-radius:13px;background:var(--panel);border:1px solid var(--line);transition:.18s ease}
.wcard:hover{transform:translateY(-3px);border-color:rgba(45,212,191,.35);box-shadow:0 18px 44px -26px rgba(0,255,159,.4)}
.wcard h4{margin:0 0 .25rem;font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.05rem;color:#fff}
.wcard p{margin:0;color:var(--muted);font-size:.88rem}
.wcard .wc-ic{font-size:1.3rem;margin-bottom:.5rem;display:block}

/* ---- figures / "screenshots" ---- */
figure.fig{margin:1.6rem 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(180deg,#0b1119,#080d13)}
figure.fig .fig-body{padding:1.2rem;display:block}
figure.fig svg,figure.fig>img{display:block;width:100%;height:auto}
figure.fig figcaption{padding:.6rem 1rem;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);
  background:rgba(255,255,255,.02);text-align:center}
.badge{display:inline-block;font-family:Rajdhani,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;padding:.12rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.badge.on{color:var(--emerald);border-color:rgba(0,255,159,.4);background:rgba(0,255,159,.08)}

/* ---- prev / next ---- */
.wiki-prevnext{display:flex;gap:1rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:1.6rem}
.wiki-prevnext a{flex:1;display:block;padding:.9rem 1.1rem;border-radius:12px;border:1px solid var(--line);background:var(--panel);transition:.18s}
.wiki-prevnext a:hover{border-color:rgba(45,212,191,.4);transform:translateY(-2px)}
.wiki-prevnext .pn-k{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#5f7079;font-family:Rajdhani,sans-serif}
.wiki-prevnext .pn-t{color:#fff;font-weight:600;margin-top:.15rem}
.wiki-prevnext .next{text-align:right}

/* ---- mobile ---- */
.wiki-backdrop{display:none}
@media(max-width:1080px){
  .wiki-shell{grid-template-columns:248px minmax(0,1fr)}
  .wiki-toc{display:none}
}
@media(max-width:760px){
  .wiki-shell{grid-template-columns:1fr}
  .wtop .wburger{display:block}
  .wtop .wtop-links{display:none}
  .wiki-side{position:fixed;top:0;left:0;bottom:0;width:280px;height:100dvh;z-index:80;
    background:#0a121b;transform:translateX(-100%);transition:transform .25s ease;padding-top:1.2rem}
  .wiki-side.open{transform:none}
  .wiki-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70;display:none}
  .wiki-backdrop.show{display:block}
  .wcards{grid-template-columns:1fr}
}
