/* ========== THEME TOKENS ========== */
:root{
  --bg:#0e141b; --panel:#121820; --ink:#e8f0ff; --muted:#93a8ba; --border:#1d2733;
  --acc:#4cc3ff; --gold:#B8860B;
}
html[data-theme="light"]{
  --bg:#f5f7fb; --panel:#fff; --ink:#0f1720; --muted:#5a6b7a;
  --border:#e5edf5; --acc:#2aa4ff; --gold:#C99700;
}

/* ========== BASE LAYOUT ========== */
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Inter,system-ui;}
a{ color: var(--gold); text-decoration:none; }
a:hover{ opacity:.9; }

.wrap{max-width:1440px !important;margin:20px auto;padding:0 16px;}

.bbx-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bbx-brand{margin:0;font-weight:800;}
.bbx-brand .plus{color:var(--gold);}
.bbx-header-actions{display:flex;align-items:center;gap:10px;}
.bbx-icon{
  background:transparent;color:var(--ink);border:1px solid var(--border);
  width:36px;height:36px;border-radius:10px;cursor:pointer;
}
.bbx-search input{
  background:transparent;color:var(--ink);border:1px solid var(--border);
  border-radius:10px;padding:8px 10px;
}

.card{
  background:var(--panel);border:1px solid var(--border);border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);padding:20px;margin-top:20px;
}

/* ========== TABLES ========== */
table{width:100%;border-collapse:separate;border-spacing:0;margin:12px 0;}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);}
th{color:var(--muted);text-align:left;position:sticky;top:0;background:var(--panel);}
.right{text-align:right;}

/* ========== UTILITIES ========== */
.copyable{cursor:pointer;border-bottom:1px dashed var(--border);}
.copy-tip{
  position:fixed;z-index:9999;padding:6px 10px;font-size:12px;
  background:#000000cc;color:#fff;border-radius:8px;pointer-events:none;opacity:0;
  transform:translate(-50%,-8px);transition:opacity .15s ease;
}

.bbx-footer{
  margin-top:28px;padding-top:12px;font-size:13px;color:var(--muted);
  border-top:1px solid var(--border);text-align:center;
}

/* ========== PMWIKI / DOC FIXES ========== */
/* Common “boxy” elements */
#wikitext .quickref,
#wikitext .wikimessage,
#wikitext .note,
#wikitext .example,
#wikitext .important,
#wikitext .hint,
#wikitext .news,
#wikitext .vspace,
#wikitext blockquote,
#wikitext .outdent,
#wikitext .indent,
table.wikitable,
pre, code, kbd, samp {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px;
}

/* Wikitable look */
table.wikitable th,
table.wikitable td { background: var(--panel) !important; border-color: var(--border) !important; }
table.wikitable th { color: var(--muted); }

/* Blockquotes */
#wikitext blockquote{
  padding:10px 14px;border-left:3px solid var(--acc);margin:12px 0;
}

/* Inline code “chips” */
code, kbd, samp { padding:2px 6px; border-radius:8px; }

/* Forms inside wiki text */
#wikitext input,
#wikitext select,
#wikitext textarea{
  background:transparent;color:var(--ink);
  border:1px solid var(--border);border-radius:10px;
}

/* Frames / thumbs (override inline styles from docs) */
#wikitext .frame,
#wikitext .thumb,
#wikitext div.frame,
#wikitext div.thumb,
#wikitext .frame[style],
#wikitext .thumb[style],
#wikitext .frame[style*="background"],
#wikitext .thumb[style*="background"]{
  background:var(--panel) !important;color:var(--ink) !important;
  border:1px solid var(--border) !important;border-radius:12px !important;
  padding:10px !important;box-shadow:0 6px 18px rgba(0,0,0,.12) !important;
}
#wikitext .frame img,
#wikitext .thumb img{ display:block; max-width:100%; height:auto; background:transparent !important; }
#wikitext .frame .caption,
#wikitext .thumbcaption{
  background:transparent !important;color:var(--muted) !important;
  border-top:1px solid var(--border) !important;padding:8px 10px !important;font-size:13px !important;
}

/* Float helpers used in docs */
#wikitext .floatleft, #wikitext .lfloat { float:left;  margin:0 1rem 1rem 0 !important; }
#wikitext .floatright,#wikitext .rfloat { float:right; margin:0 0 1rem 1rem !important; }
@media (max-width:760px){
  #wikitext .floatleft, #wikitext .lfloat,
  #wikitext .floatright,#wikitext .rfloat{ float:none !important; margin:0 0 1rem 0 !important; }
}

/* ========== SIDEBAR (GRID LAYOUT) ========== */
.bbx-shell{
  display:grid; grid-template-columns:260px minmax(0,1fr);
  gap:16px; margin-top:16px;
}
.bbx-sb{
  background:var(--panel); color:var(--ink);
  border:1px solid var(--border); border-radius:16px; padding:14px;
  position:sticky; top:12px; align-self:start;
}
.bbx-sb a{ color:var(--gold); }
.bbx-sb a:hover{ color:var(--acc); }
.bbx-sb ul{ list-style:none; margin:0; padding:0; }
.bbx-sb li{ margin:.35rem 0; }
.bbx-main{ min-width:0; }

@media (max-width:900px){
  .bbx-shell{ grid-template-columns:1fr; }
  .bbx-sb{ order:2; position:static; }
}
