/* Verge Lua API docs — site theme (matches vergetf.pro palette) */
:root{
  --vg-bg:#2A2725; --vg-surface:#1E1C1A; --vg-card:#23211F; --vg-border:#3A352E;
  --vg-accent:#CF7236; --vg-accent-h:#E08A50; --vg-text:#F2EFEA; --vg-body:#C9C4BE;
  --vg-muted:#969696; --vg-code-bg:#171513;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--vg-bg);color:var(--vg-text);
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif;line-height:1.55;
}
a{color:var(--vg-accent);text-decoration:none;}
a:hover{color:var(--vg-accent-h);}
::selection{background:var(--vg-accent);color:#221910;}
code,kbd{font-family:'JetBrains Mono','Cascadia Code','Consolas',monospace;}

/* Top bar */
.topbar{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;
  height:52px;padding:0 18px;background:var(--vg-bg);
  border-bottom:1px solid var(--vg-border);
}
.brand{font-weight:800;letter-spacing:1.5px;color:var(--vg-text);font-size:15px;}
.brand:hover{color:var(--vg-accent);}
.brand-sub{color:var(--vg-accent);font-weight:700;font-size:13px;letter-spacing:.5px;}
.topbar-right{margin-left:auto;flex:0 1 360px;position:relative;}
#search{
  width:100%;background:var(--vg-surface);border:1px solid var(--vg-border);
  border-radius:8px;color:var(--vg-text);padding:8px 12px;font-family:'Inter',sans-serif;font-size:14px;
}
#search:focus{border-color:var(--vg-accent);outline:none;box-shadow:0 0 0 2px rgba(207,114,54,.25);}
.nav-toggle{display:none;background:none;border:1px solid var(--vg-border);color:var(--vg-text);
  border-radius:8px;width:38px;height:38px;font-size:18px;cursor:pointer;}

/* Search dropdown */
.search-results{
  position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--vg-surface);
  border:1px solid var(--vg-border);border-radius:10px;max-height:340px;overflow-y:auto;z-index:60;
}
.search-results a{display:block;padding:9px 12px;color:var(--vg-body);font-size:13.5px;border-bottom:1px solid var(--vg-border);}
.search-results a:last-child{border-bottom:none;}
.search-results a .m{color:var(--vg-accent);font-weight:600;}
.search-results a:hover,.search-results a.hl{background:var(--vg-card);color:var(--vg-text);}
.search-results .empty{padding:10px 12px;color:var(--vg-muted);font-size:13px;}

/* Layout */
.layout{display:flex;align-items:flex-start;max-width:1500px;margin:0 auto;}

/* Sidebar */
.sidebar{
  position:sticky;top:52px;width:264px;flex:0 0 264px;height:calc(100vh - 52px);
  overflow-y:auto;padding:16px 10px 40px;border-right:1px solid var(--vg-border);
  scrollbar-width:thin;scrollbar-color:var(--vg-border) transparent;
}
.nav-home{display:block;padding:7px 12px;color:var(--vg-text);font-weight:700;font-size:14px;border-radius:8px;}
.nav-home:hover{color:var(--vg-accent);background:var(--vg-card);}
.nav-group{color:var(--vg-muted);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  margin:18px 12px 6px;}
.nav-link{display:block;padding:6px 12px;color:var(--vg-body);font-size:13.5px;border-radius:8px;border-left:2px solid transparent;}
.nav-link:hover{color:var(--vg-accent);background:var(--vg-card);}
.nav-link.active{color:var(--vg-accent);font-weight:600;background:var(--vg-card);border-left-color:var(--vg-accent);}

/* Content */
.content{flex:1;min-width:0;max-width:880px;padding:30px 34px 60px;}
.page-head h1{margin:0 0 6px;font-size:30px;font-weight:800;letter-spacing:.3px;}
.lede{color:var(--vg-muted);font-size:15px;margin:0 0 4px;}
h2.sub{margin:34px 0 12px;font-size:19px;color:var(--vg-accent);}

/* Entry cards */
.entry{background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:10px;padding:14px 16px;margin:0 0 12px;}
.entry-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sig{color:var(--vg-accent);font-size:14px;font-weight:600;white-space:pre-wrap;word-break:break-word;}
.kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:6px;}
.kind-prop{background:rgba(207,114,54,.15);color:var(--vg-accent);}
.kind-ctor{background:rgba(107,191,90,.15);color:#6BBF5A;}
.entry-desc{color:var(--vg-body);font-size:14px;margin:8px 0 0;}
.entry .code{margin:10px 0 0;}

/* Code */
.code{
  position:relative;background:var(--vg-code-bg);border:1px solid var(--vg-border);
  border-radius:10px;padding:14px 16px;overflow-x:auto;margin:0;
  font-family:'JetBrains Mono','Cascadia Code','Consolas',monospace;font-size:13px;line-height:1.5;
  color:var(--vg-text);
}
.code code{font-family:inherit;background:none;padding:0;display:block;}
.copy-btn{
  position:absolute;top:8px;right:8px;background:var(--vg-card);border:1px solid var(--vg-border);
  color:var(--vg-muted);border-radius:6px;font-size:11px;padding:3px 9px;cursor:pointer;font-family:'Inter',sans-serif;
}
.copy-btn:hover{color:var(--vg-accent);border-color:var(--vg-accent);}
.copy-btn.ok{color:#6BBF5A;border-color:#6BBF5A;}

/* Constants table */
.toc{background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:10px;padding:12px 16px;margin:18px 0;}
.toc h2{margin:0 0 8px;font-size:13px;color:var(--vg-muted);text-transform:uppercase;letter-spacing:1px;}
.toc a{display:inline-block;margin:2px 10px 2px 0;font-size:13px;}
.toc-tabs{margin-bottom:4px;}
.toc-tab{font-weight:600;font-size:14px;}
.toc-sub{margin-top:3px;font-size:12.5px;}
.toc-sub b{color:var(--vg-muted);font-weight:600;margin-right:8px;display:inline-block;min-width:62px;}
.const-group{margin:26px 0;}
.const-group>h2{font-size:20px;color:var(--vg-text);border-bottom:1px solid var(--vg-border);padding-bottom:6px;}
.const-table{background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:10px;overflow:hidden;}
.const-row{display:grid;grid-template-columns:minmax(160px,1.4fr) auto 1.6fr;gap:12px;padding:8px 14px;
  border-bottom:1px solid var(--vg-border);font-size:13px;align-items:baseline;}
.const-row:last-child{border-bottom:none;}
.const-name{color:var(--vg-text);font-size:12.5px;}
.const-val{color:var(--vg-accent);font-family:'JetBrains Mono','Cascadia Code',monospace;font-size:12px;}
.const-desc{color:var(--vg-muted);font-size:13px;}

/* Examples */
.topics{margin:14px 0 18px;color:var(--vg-muted);font-size:13px;}
.topics-label{font-weight:600;color:var(--vg-text);}
.topic{display:inline-block;margin:2px 6px 2px 0;padding:3px 10px;background:var(--vg-card);
  border:1px solid var(--vg-border);border-radius:6px;font-size:12.5px;color:var(--vg-body);}
.topic:hover{color:var(--vg-accent);border-color:var(--vg-accent);}
.rawlink{color:var(--vg-muted);font-size:13px;margin:12px 0 0;}
.example-card{background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:10px;padding:16px 18px;margin:0 0 14px;}
.example-card h3{margin:0 0 6px;font-size:17px;}
.example-card p{margin:0 0 10px;color:var(--vg-body);font-size:14px;}
.example-card .topic{pointer-events:none;}

/* Footer */
.footer{color:var(--vg-muted);font-size:13px;margin-top:48px;padding-top:16px;border-top:1px solid var(--vg-border);}

/* Overlay + responsive */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40;}
@media (max-width:900px){
  .topbar-right{flex:1;}
  .nav-toggle{display:block;}
  .sidebar{position:fixed;top:52px;left:0;bottom:0;width:280px;height:auto;z-index:45;
    transform:translateX(-102%);transition:transform .22s ease;background:var(--vg-bg);}
  .sidebar.open{transform:none;}
  .content{padding:22px 18px 50px;}
  .const-row{grid-template-columns:1fr;gap:2px;}
}

/* Features page — the menu reference */
.feat-note{color:var(--vg-body);font-size:14px;margin:0 0 10px;}
.feat-tab{margin:34px 0 0;}
.feat-tab>h2{font-size:24px;font-weight:800;color:var(--vg-text);margin:0 0 4px;
  padding-bottom:8px;border-bottom:1px solid var(--vg-border);}
.feat-subtab{font-size:15px;font-weight:700;color:var(--vg-text);margin:24px 0 10px;}
.feat-subtab::before{content:"";display:inline-block;width:3px;height:14px;background:var(--vg-accent);
  border-radius:2px;margin-right:9px;vertical-align:-1px;}
.feat-card{background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:10px;
  padding:14px 16px;margin:0 0 12px;}
.feat-card>h4{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--vg-accent);
  text-transform:uppercase;letter-spacing:.6px;}
.feat-lede{margin:0 0 12px;color:var(--vg-muted);font-size:13px;}
.feat-card>.feat-lede{margin-top:-4px;}
.feat-list{display:flex;flex-direction:column;}
.feat-row{padding:9px 0;border-top:1px solid var(--vg-border);}
.feat-row:first-child{border-top:none;padding-top:0;}
.feat-row-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.feat-name{color:var(--vg-text);font-weight:600;font-size:14px;}
.feat-badge{margin-left:auto;font-size:11px;color:var(--vg-muted);background:var(--vg-card);
  border:1px solid var(--vg-border);border-radius:6px;padding:1px 7px;white-space:nowrap;}
.feat-desc{margin:3px 0 0;color:var(--vg-body);font-size:13.5px;}
.feat-opts{display:flex;flex-wrap:wrap;gap:4px 6px;margin:7px 0 0;}
.feat-opt{font-size:12px;color:var(--vg-body);background:var(--vg-card);border:1px solid var(--vg-border);
  border-radius:6px;padding:2px 8px;}
.feat-opt b{color:var(--vg-text);font-weight:600;}
.feat-opt i{color:var(--vg-muted);font-style:normal;margin-left:5px;}
.feat-intro{color:var(--vg-body);font-size:14px;}

/* Hookable lists (GameEvent / UserMessage / NetMessage pages) */
.hook-group{margin:18px 0 4px;}
.hook-group h3{font-size:13px;color:var(--vg-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em;}
.hook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 12px;}
.hook-name{font-family:'JetBrains Mono','Cascadia Code',monospace;font-size:12px;color:var(--vg-accent);background:var(--vg-surface);border:1px solid var(--vg-border);border-radius:6px;padding:3px 8px;}
.hook-name b{color:var(--vg-text);font-weight:600;}
.hook-name i{color:var(--vg-body);font-style:normal;opacity:.75;margin-left:6px;font-size:11px;}
