
/* v15 — Scrollable Sidebar + Desktop Rail */
:root{
  --bg:#0b0b0b; --panel:#121212; --text:#f1f1f1; --muted:#a8a8a8; --line:#1f1f1f; --gold:#bfa14a;
}
html[data-theme=light]{ --bg:#fff; --panel:#f7f7f7; --text:#141414; --muted:#606060; --line:#e5e5e5; }
body{ background:var(--bg); color:var(--text); }

/* Header (mobile / default) */
.site-header-min{ position:sticky; top:0; z-index:999; background:var(--bg); border-bottom:1px solid var(--line); }
.site-header-min .wrap{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; }
.brand-mini{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); }
.brand-mini img{ height:28px; width:28px; object-fit:contain; display:block; }
.menu-btn{ border:1px solid var(--line); background:var(--panel); color:var(--text); border-radius:10px; padding:8px 10px; }
.menu-btn:active{ transform:translateY(1px); }

/* Sidebar (mobile) */
.sidebar{ position:fixed; left:0; top:0; bottom:0; width:290px; max-width:84%; background:var(--panel);
  transform:translateX(-100%); transition:transform .25s ease; border-right:1px solid var(--line); z-index:1000;
  display:flex; flex-direction:column; }
.sidebar.open{ transform:translateX(0); }
.sidebar header{ display:flex; align-items:center; gap:10px; padding:16px; border-bottom:1px solid var(--line); flex:0 0 auto; }
.sidebar header img{ height:30px; width:30px; }
.sidebar .scroll{ overflow-y:auto; -webkit-overflow-scrolling:touch; flex:1 1 auto; }
.sidebar nav{ display:flex; flex-direction:column; padding:10px; gap:8px; }
.sidebar nav a{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text);
  border:1px solid var(--line); border-radius:12px; padding:10px 12px; }
.sidebar nav a:hover{ border-color:var(--gold); background:rgba(191,161,74,.07); }
.sidebar .section{ padding:12px 10px 6px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }

/* Overlay */
.overlay{ position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:opacity .25s ease; z-index:900; }
.overlay.show{ opacity:1; visibility:visible; }

/* Content */
.site-main.wrap{ padding:20px 16px; max-width:1100px; margin:0 auto; }

/* Footer tidy */
.site-footer .btn{ border-radius:12px; border:1px solid var(--line); padding:8px 12px; text-decoration:none; }
.site-footer a:hover{ border-color:var(--gold); }

/* Desktop rail (>=1024px) */
@media (min-width:1024px){
  .site-header-min{ display:none; }
  .sidebar{ transform:none !important; width:320px; max-width:320px; }
  .overlay{ display:none !important; }
  body.desktop-rail .sidebar{ left:0; top:0; bottom:0; position:fixed; }
  body.desktop-rail .site-main.wrap{ margin-left:340px; max-width:calc(1100px + 340px); }
  body.desktop-rail .site-footer .wrap{ margin-left:340px; }
}
