/* aeX402 shared styles — sidebar nav + layout + typography */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#fff;--fg:#111;
  --dim:#666;--faint:#ddd;--line:#eee;
  --accent:#000;--bright:#000;
  --mono:'JetBrains Mono','SF Mono','Cascadia Code','Fira Code',monospace;
  --sb-width:220px;
}
body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:15px;line-height:1.7}
a{color:var(--fg)}a:hover{color:var(--dim)}

/* ── Layout: sidebar + content ── */
.aex-layout{display:flex;min-height:100vh}
.wrap{max-width:980px;margin:0 auto;padding:32px 24px 48px;flex:1;min-width:0}

/* ── Sidebar ── */
.aex-sidebar{
  width:var(--sb-width);flex-shrink:0;
  border-right:1px solid var(--line);
  padding:20px 0;
  position:sticky;top:0;height:100vh;overflow-y:auto;
  background:var(--bg);
  font-size:12px;
}
.sb-brand{
  display:block;font-weight:700;font-size:16px;letter-spacing:2px;
  color:var(--fg);text-decoration:none;padding:0 20px 16px;
  border-bottom:1px solid var(--line);margin-bottom:12px;
}
.sb-brand:hover{color:var(--dim)}
.sb-identity{font-size:10px;color:var(--dim);padding:0 20px 12px;border-bottom:1px solid var(--line);margin-bottom:8px;cursor:help;letter-spacing:.5px}
.sb-search-wrap{padding:0 12px 12px;position:relative}
.sb-search{
  width:100%;font-family:var(--mono);font-size:11px;
  padding:6px 10px;border:1px solid var(--faint);
  background:var(--bg);color:var(--fg);outline:none;
}
.sb-search:focus{border-color:var(--dim)}
.sb-search::placeholder{color:#ccc}
.sb-search-results{
  position:absolute;left:12px;right:12px;top:100%;
  background:var(--bg);border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:100;
  display:none;max-height:260px;overflow-y:auto;
}
.sb-sr-item{
  display:block;padding:6px 10px;border-bottom:1px solid var(--line);
  color:var(--fg);text-decoration:none;font-size:11px;line-height:1.5;
}
.sb-sr-item:hover{background:#f5f5f5}
.sb-group{margin-bottom:4px}
.sb-label{
  font-size:10px;font-weight:600;letter-spacing:2px;
  color:var(--dim);padding:8px 20px 4px;
}
.sb-toggle{cursor:pointer;user-select:none}
.sb-toggle:hover{color:var(--fg)}
.sb-arrow{font-size:8px;display:inline-block;width:12px}
.sb-recent .sb-name{font-size:12px;color:var(--dim)}
.sb-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--faint);margin-left:6px;vertical-align:middle;cursor:help}
.sb-status-dot.live{background:#3fb950}
.sb-status-dot.warn{background:#d29922}
.sb-status-dot.err{background:#f85149}
.sb-link:focus{outline:1px solid var(--dim);outline-offset:-1px;background:#f8f8f8}
.sb-link{
  display:flex;flex-direction:column;
  padding:5px 20px;text-decoration:none;
  color:var(--fg);border-left:2px solid transparent;
  transition:background .1s,border-color .1s;
}
.sb-link:hover{background:#f8f8f8;border-left-color:var(--faint)}
.sb-link.active{background:#f5f5f5;border-left-color:var(--fg);font-weight:600}
.sb-name{font-size:13px}
.sb-desc{font-size:10px;color:var(--dim);margin-top:1px}

/* ── Hamburger (mobile) ── */
.sb-burger{
  display:none;position:fixed;top:12px;left:12px;z-index:200;
  background:var(--bg);border:1px solid var(--line);
  font-size:20px;padding:4px 10px;cursor:pointer;
  font-family:var(--mono);color:var(--fg);
}

/* ── Section headings ── */
section{margin-bottom:36px}
section h2{font-size:11px;font-weight:400;color:var(--dim);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}

/* ── Footer ── */
.site-footer{text-align:center;padding:32px 0;font-size:11px;color:var(--dim);border-top:1px solid var(--line);margin-top:32px;letter-spacing:1px}

/* ── Mobile ── */
@media(max-width:900px){
  .aex-layout{flex-direction:column}
  .aex-sidebar{
    position:fixed;left:0;top:0;bottom:0;z-index:100;
    transform:translateX(-100%);transition:transform .25s ease;
    box-shadow:none;width:260px;
  }
  .aex-sidebar.open{transform:translateX(0);box-shadow:4px 0 20px rgba(0,0,0,.1)}
  .sb-burger{display:block}
  .wrap{padding:48px 16px 32px}
}
