/* ============================================================
   AvalonEarth Wiki — shared template stylesheet
   Classic encyclopedia / Fandom-style layout (light theme)
   Used by every page in /WikiEarth
   ============================================================ */

:root{
  --paper:#ffffff;          /* article background          */
  --bg:#e9ebef;             /* page background             */
  --panel:#f6f7f9;          /* sidebar / boxes             */
  --panel-2:#eef0f3;        /* nested boxes                */
  --ink:#1c1d22;            /* primary text                */
  --muted:#54595d;          /* secondary text              */
  --faint:#72777d;          /* tertiary text               */
  --line:#c8ccd1;           /* borders                     */
  --line-soft:#e3e6ea;      /* soft borders                */
  --link:#2962b8;           /* wiki link blue              */
  --link-hover:#1f4f96;
  --link-visited:#6b4ba3;
  --brand:#16924f;          /* AvalonEarth green (on light)*/
  --brand-deep:#0f7a40;
  --accent:#2b7fd6;         /* blue accent                 */
  --warn:#c98a00;
  --danger:#c0392b;
  --good:#1d8a4d;
  --radius:6px;
  --shadow:0 1px 3px rgba(20,30,50,.08), 0 1px 2px rgba(20,30,50,.06);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sidebar-w:248px;
  --topbar-h:54px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.62;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline}
img{max-width:100%}

/* ============================================================
   TOP BAR
   ============================================================ */
.wiki-topbar{
  position:sticky;top:0;z-index:60;
  height:var(--topbar-h);
  background:linear-gradient(180deg,#11161f,#0b0f16);
  border-bottom:3px solid var(--brand);
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.wiki-topbar-inner{
  max-width:1500px;margin:0 auto;height:100%;
  display:flex;align-items:center;gap:18px;padding:0 18px;
}
.wiki-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.wiki-brand:hover{text-decoration:none}
.wiki-brand img{width:30px;height:30px}
.wiki-brand-name{color:#fff;font-weight:800;font-size:17px;letter-spacing:.2px}
.wiki-brand-name em{font-style:normal;color:#56d98c;font-weight:600}

/* search */
.wiki-search{position:relative;flex:1;max-width:480px}
.wiki-search i{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:#8b93a1;font-size:13px;pointer-events:none;
}
.wiki-search input{
  width:100%;height:34px;border-radius:18px;border:1px solid #2a3344;
  background:#1b2230;color:#eef2f8;padding:0 14px 0 34px;font-size:14px;font-family:var(--sans);
  outline:none;transition:border-color .15s,background .15s;
}
.wiki-search input::placeholder{color:#8b93a1}
.wiki-search input:focus{border-color:var(--brand);background:#202a3a}
.wiki-search-results{
  position:absolute;top:42px;left:0;right:0;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);overflow:hidden;display:none;z-index:80;
}
.wiki-search-results.open{display:block}
.wiki-search-results a{
  display:flex;align-items:center;gap:10px;padding:9px 14px;
  color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-soft);font-size:14px;
}
.wiki-search-results a:last-child{border-bottom:none}
.wiki-search-results a:hover,.wiki-search-results a.sel{background:var(--panel-2)}
.wiki-search-results a i{color:var(--brand);width:16px;text-align:center;font-size:13px}
.wiki-search-results .sr-sub{color:var(--faint);font-size:12px;margin-left:auto}
.wiki-search-results .sr-empty{padding:12px 14px;color:var(--faint);font-size:13px}

.wiki-topnav{display:flex;align-items:center;gap:18px;margin-left:auto;flex-shrink:0}
.wiki-topnav a{color:#c7cedb;font-size:14px;font-weight:500}
.wiki-topnav a:hover{color:#fff;text-decoration:none}
.wiki-topnav a.store{color:#ffd580}

.wiki-menu-toggle{
  display:none;background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:4px 6px;
}

/* ============================================================
   SHELL / LAYOUT
   ============================================================ */
.wiki-shell{
  max-width:1500px;margin:0 auto;
  display:grid;grid-template-columns:var(--sidebar-w) 1fr;align-items:start;
}

/* ---- Sidebar / navigation tree ---- */
.wiki-sidebar{
  position:sticky;top:var(--topbar-h);
  height:calc(100vh - var(--topbar-h));
  overflow-y:auto;
  background:var(--panel);
  border-right:1px solid var(--line);
  padding:18px 0 40px;
}
.wiki-sidebar-logo{
  display:flex;align-items:center;gap:10px;padding:0 18px 14px;margin-bottom:6px;
  border-bottom:1px solid var(--line-soft);text-decoration:none;
}
.wiki-sidebar-logo img{width:26px;height:26px}
.wiki-sidebar-logo span{font-weight:800;color:var(--ink);font-size:15px}
.wiki-sidebar-logo span em{font-style:normal;color:var(--brand)}

.wiki-tree-group{margin:14px 0 4px}
.wiki-tree-title{
  display:block;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  color:var(--faint);padding:0 18px 6px;
}
.wiki-tree a{
  display:block;padding:6px 18px 6px 18px;font-size:14px;color:#33373d;
  text-decoration:none;border-left:3px solid transparent;line-height:1.35;
}
.wiki-tree a:hover{background:var(--panel-2);color:var(--link-hover);text-decoration:none}
.wiki-tree a.active{
  background:#e7f5ec;color:var(--brand-deep);font-weight:700;
  border-left-color:var(--brand);
}

/* ---- Main / article ---- */
.wiki-main{min-width:0;background:var(--bg);padding:0}
.wiki-article{
  background:var(--paper);
  border:1px solid var(--line);
  border-top:none;
  min-height:calc(100vh - var(--topbar-h));
  padding:22px 34px 60px;
}

.wiki-article-head{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:6px}
.wiki-page-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(26px,3.4vw,34px);line-height:1.15;margin:0 0 2px;color:var(--ink);
}
.wiki-page-sub{color:var(--faint);font-size:12.5px;font-style:italic;margin-bottom:8px}

/* breadcrumb */
.wiki-crumb{font-size:12.5px;color:var(--faint);margin:0 0 14px}
.wiki-crumb a{color:var(--link)}
.wiki-crumb span{margin:0 6px;color:var(--line)}

/* typography inside article */
.wiki-article h2{
  font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;
  margin:30px 0 12px;padding-bottom:5px;border-bottom:1px solid var(--line);color:var(--ink);
  scroll-margin-top:64px;
}
.wiki-article h3{
  font-size:16px;font-weight:700;margin:22px 0 8px;color:var(--ink);
  scroll-margin-top:64px;
}
.wiki-article h4{font-size:14px;font-weight:700;margin:16px 0 6px;color:var(--ink)}
.wiki-article p{margin:0 0 12px}
.wiki-article ul,.wiki-article ol{margin:0 0 14px;padding-left:26px}
.wiki-article li{margin:4px 0}
.wiki-article li::marker{color:var(--faint)}
.wiki-article b,.wiki-article strong{color:var(--ink);font-weight:700}
.wiki-lead{font-size:16px}
.wiki-lead .first-letter{font-weight:700}

code,.kbd{
  font-family:var(--mono);font-size:.9em;
  background:var(--panel-2);border:1px solid var(--line-soft);border-radius:4px;padding:1px 5px;
}
code.cmd{color:var(--brand-deep);font-weight:600}
.wiki-pre{
  font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand);
  border-radius:6px;padding:14px 16px;margin:8px 0 16px;overflow-x:auto;white-space:pre;
}

/* ============================================================
   TABLE OF CONTENTS (wiki "Contents" box)
   ============================================================ */
.wiki-toc{
  display:inline-block;min-width:240px;max-width:420px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 18px 14px;margin:6px 0 22px;
}
.wiki-toc-title{font-weight:700;font-size:13px;text-align:center;margin-bottom:8px;color:var(--ink)}
.wiki-toc ol{margin:0;padding-left:22px;font-size:14px}
.wiki-toc ol ol{padding-left:18px;margin-top:2px}
.wiki-toc li{margin:3px 0}
.wiki-toc a{color:var(--link)}

/* ============================================================
   INFOBOX (right rail fact panel)
   ============================================================ */
.infobox{
  float:right;width:300px;margin:4px 0 18px 24px;
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
  font-size:13px;overflow:hidden;box-shadow:var(--shadow);
}
.infobox-title{
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
  color:#fff;text-align:center;font-weight:800;font-size:15px;padding:10px 12px;letter-spacing:.2px;
}
.infobox-image{
  background:radial-gradient(120% 100% at 50% 0%,#11161f,#0b0f16);
  display:flex;align-items:center;justify-content:center;padding:22px;color:#cfe9da;
}
.infobox-image i{font-size:64px}
.infobox-image img{max-height:150px;image-rendering:auto}
.infobox-caption{
  text-align:center;font-size:11.5px;color:var(--faint);font-style:italic;
  padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line-soft);
}
.infobox table{width:100%;border-collapse:collapse}
.infobox-sub{
  background:var(--panel-2);color:var(--ink);font-weight:700;text-align:center;
  font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:5px 10px;
}
.infobox th,.infobox td{
  text-align:left;vertical-align:top;padding:7px 12px;border-bottom:1px solid var(--line-soft);
}
.infobox th{width:38%;color:var(--muted);font-weight:700}
.infobox tr:last-child th,.infobox tr:last-child td{border-bottom:none}

/* ============================================================
   CALLOUTS / NOTES
   ============================================================ */
.callout{
  display:flex;gap:11px;align-items:flex-start;
  background:#fbf6e7;border:1px solid #ecdca6;border-left:4px solid var(--warn);
  border-radius:6px;padding:11px 14px;font-size:14px;margin:14px 0;
}
.callout.info{background:#eef5fc;border-color:#bcd8f2;border-left-color:var(--accent)}
.callout.danger{background:#fbeeec;border-color:#f0c6c0;border-left-color:var(--danger)}
.callout.success{background:#ecf7f0;border-color:#bfe3cc;border-left-color:var(--good)}
.callout-icon{flex-shrink:0;margin-top:1px;font-size:15px;color:var(--warn)}
.callout.info .callout-icon{color:var(--accent)}
.callout.danger .callout-icon{color:var(--danger)}
.callout.success .callout-icon{color:var(--good)}
.callout p{margin:0;color:var(--muted)}
.callout p b{color:var(--ink)}

/* hatnote (italic note under title) */
.hatnote{
  font-size:13.5px;color:var(--muted);font-style:italic;
  background:var(--panel);border:1px solid var(--line-soft);border-radius:6px;
  padding:8px 14px;margin:0 0 18px;
}
.hatnote a{font-style:normal}

/* ============================================================
   TABLES (wikitable)
   ============================================================ */
.tbl-wrap{overflow-x:auto;margin:0 0 16px}
.wikitable{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--line)}
.wikitable thead th{
  background:var(--panel-2);text-align:left;padding:9px 13px;font-size:12px;font-weight:800;
  letter-spacing:.4px;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);
}
.wikitable td{padding:8px 13px;border:1px solid var(--line-soft);vertical-align:top}
.wikitable tbody tr:nth-child(even){background:var(--panel)}

/* ============================================================
   CARD COMPONENTS
   ============================================================ */
/* overview cards */
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:14px 0}
.ov-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}
.ov-card .ov-icon{font-size:20px;margin-bottom:6px}
.ov-card h3{font-size:14px;font-weight:700;margin:0 0 4px}
.ov-card p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.5}

/* big info cards */
.info-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin:6px 0 4px}
.info-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:8px;padding:16px}
.info-card h3{font-size:15px;font-weight:800;margin:0 0 9px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.info-card h3 i{font-size:14px}
.info-card p{font-size:13.5px;color:var(--muted);margin:0 0 8px;line-height:1.55}
.info-card ol,.info-card ul{margin:6px 0 0;padding-left:20px;font-size:13.5px;color:var(--muted);line-height:1.7}
.info-card li b,.info-card p b{color:var(--ink)}
.info-card.ic-build{border-top-color:#3aa657}.info-card.ic-build h3{color:#2c8c47}
.info-card.ic-merc{border-top-color:#d0493c}.info-card.ic-merc h3{color:#bd3a2e}
.info-card.ic-trade{border-top-color:#2b7fd6}.info-card.ic-trade h3{color:#2168b5}
.info-card.ic-logi{border-top-color:#d49a1a}.info-card.ic-logi h3{color:#b07e10}
.info-card.ic-hit{border-top-color:#8e44ad}.info-card.ic-hit h3{color:#7d3c9c}
.info-card.ic-elec{border-top-color:#e0b32a}.info-card.ic-elec h3{color:#a9821a}
.info-card.ic-oil{border-top-color:#5b636e}.info-card.ic-oil h3{color:#3a3f47}

/* role cards */
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px;margin:8px 0}
.role-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.role-card h3{font-size:13px;font-weight:800;margin:0 0 6px;letter-spacing:.4px;text-transform:uppercase;display:flex;align-items:center;gap:7px}
.role-card.r-owner h3{color:#b07e10}
.role-card.r-mgr h3{color:#2168b5}
.role-card.r-emp h3{color:#5b636e}
.role-card p{font-size:13px;color:var(--muted);margin:0 0 8px;line-height:1.5}
.role-card ul{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted);line-height:1.6}

/* state pills */
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px;margin:8px 0}
.state-row{
  display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:9px 13px;font-size:13px;color:var(--muted);
}
.sp{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0;border:1px solid}
.sp-pending{background:#eef0f2;color:#5b636e;border-color:#d3d8de}
.sp-accepted{background:#e7f5ec;color:#1d8a4d;border-color:#bfe3cc}
.sp-refused{background:#fbeeec;color:#c0392b;border-color:#f0c6c0}
.sp-progress{background:#eef5fc;color:#2168b5;border-color:#bcd8f2}
.sp-done{background:#f1ecfa;color:#6b4ba3;border-color:#d8c9ef}
.sp-cancel{background:#f3f4f6;color:#72777d;border-color:#dcdfe4}

/* stat pills */
.stat-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.stat-pill{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:6px 12px;font-size:13px;color:var(--muted)}
.stat-pill b{color:var(--ink)}
.stat-pill.good{background:#ecf7f0;border-color:#bfe3cc;color:#1d8a4d}
.stat-pill.bad{background:#fbeeec;border-color:#f0c6c0;color:#c0392b}

/* meteorite tiers */
.met-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}
.met-card{background:#fbf1ee;border:1px solid #f0cfc6;border-radius:8px;padding:11px 14px;text-align:center}
.met-card h4{margin:0 0 4px;font-size:13px;font-weight:800;color:#bd4a36;text-transform:uppercase;letter-spacing:.4px}
.met-card p{margin:0;font-size:12px;color:var(--muted)}

/* armor cards */
.armor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:12px 0}
.armor-card{background:#eef5fb;border:1px solid #c4ddf2;border-radius:8px;padding:11px 14px;text-align:center}
.armor-card h4{margin:0 0 6px;font-size:13px;font-weight:800;color:#2168b5;text-transform:uppercase;letter-spacing:.4px}
.armor-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
.armor-card p b{color:var(--ink)}

/* trade-server / generic tiles */
.ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px;margin:10px 0}
.ts-tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:13px 15px}
.ts-tile h3{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;margin:0 0 7px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.ts-tile.fuel h3{color:#b07e10}
.ts-tile.power h3{color:#a9821a}
.ts-tile.dur h3{color:#5b636e}
.ts-tile.heat h3{color:#bd4a36}
.ts-tile.water h3{color:#2168b5}
.ts-tile p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.ts-tile p b{color:var(--ink)}

/* repair summary */
.repair-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:11px;margin:10px 0}
.repair-row{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:13px;color:var(--muted)}
.repair-row b{color:var(--ink)}
.repair-row .arrow{color:var(--brand);margin:0 6px;font-weight:700}

/* command box (inline) */
.cmd-box{
  display:inline-flex;align-items:center;gap:12px;background:#0f1622;border:1px solid #243049;
  border-radius:8px;padding:8px 16px;margin:4px 8px 10px 0;font-family:var(--mono);font-size:14px;
}
.cmd-box .cmd-name{color:#56d98c;font-weight:700}
.cmd-box .cmd-desc{color:#9aa7bd;font-size:12.5px;font-family:var(--sans)}

/* command list */
.cmd-list{display:flex;flex-direction:column;gap:9px;margin:10px 0}
.cmd-row{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:11px 15px;display:flex;flex-direction:column;gap:3px}
.cmd-row .cmd-name{color:var(--brand-deep);font-weight:700;font-family:var(--mono);font-size:14px}
.cmd-row p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}

/* ============================================================
   PORTAL (main page)
   ============================================================ */
.portal-hero{
  background:radial-gradient(120% 130% at 80% 0%,#16243a 0%,#0c1119 60%);
  border:1px solid var(--line);border-radius:12px;padding:30px 32px;margin:6px 0 26px;color:#eaf1fb;
  position:relative;overflow:hidden;
}
.portal-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,40px);margin:0 0 8px;color:#fff}
.portal-hero p{color:#b9c4d6;font-size:16px;max-width:640px;margin:0}
.portal-hero .ph-badge{
  display:inline-block;background:rgba(86,217,140,.16);border:1px solid rgba(86,217,140,.4);
  color:#56d98c;font-size:12px;font-weight:700;letter-spacing:.6px;padding:4px 12px;border-radius:20px;margin-bottom:14px;
}
.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:4px 0 8px}
.portal-card{
  display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;
  text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .1s;
}
.portal-card:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}
.portal-card .pc-icon{
  width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:#e7f5ec;color:var(--brand-deep);font-size:19px;margin-bottom:11px;
}
.portal-card h3{margin:0 0 5px;font-size:16px;font-weight:700}
.portal-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.portal-section-title{
  font-family:var(--serif);font-weight:400;font-size:21px;margin:26px 0 12px;
  padding-bottom:5px;border-bottom:1px solid var(--line);
}

/* ============================================================
   RECIPES (crafting)
   ============================================================ */
.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;margin:6px 0}
.recipe-card{
  background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;
  display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:10px;align-items:start;
}
.recipe-card h3{font-size:14px;font-weight:800;margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;grid-column:1/-1;color:var(--ink)}
.recipe-card>p{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.recipe-card .lock{
  font-size:10.5px;padding:2px 8px;border-radius:11px;background:#e7f5ec;color:var(--brand-deep);
  font-family:var(--mono);font-weight:600;border:1px solid #c5e5d1;letter-spacing:.2px;
}

.ingredients{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;min-width:0;align-self:start}
.ingredients li{display:flex;align-items:center;gap:8px;font-size:13px}
.ingredients li img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.ingredients .ing-count{font-weight:700;color:var(--ink);min-width:26px;font-family:var(--mono);font-size:12px}
.ingredients .ing-name{color:var(--muted)}
.ing-noicon{
  width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;
  font-size:9.5px;font-weight:800;font-family:var(--mono);flex-shrink:0;
  background:#d7dbe0;border:1px solid #b9bfc7;color:#2a2f36;
}

/* crafting grid — Minecraft inventory style */
.r3{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,46px);gap:3px;margin:0;width:fit-content;flex-shrink:0}
.rc{
  width:46px;height:46px;border-radius:3px;background:#c6c6c6;
  border:2px solid;border-color:#fefefe #555 #555 #fefefe;   /* beveled slot */
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;color:#2a2f36;font-family:var(--mono);
  letter-spacing:.2px;text-align:center;padding:2px;
}
.rc.e{background:#bdbdbd;border-color:#cfcfcf #6f6f6f #6f6f6f #cfcfcf}
.rc-img{padding:5px;background:#c6c6c6}
.rc-img img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
/* lettered ingredient tiles (have a title attr) keep a readable label */
.rc[title]{background:#d2d6db;color:#2a2f36}

/* ============================================================
   DATA TABLE (article body)
   ============================================================ */
.wiki-table{
  width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px;
  border:1px solid var(--line);border-radius:8px;overflow:hidden;
}
.wiki-table th,.wiki-table td{
  text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;
}
.wiki-table thead th{
  background:var(--panel);color:var(--ink);font-weight:800;font-size:12.5px;
  letter-spacing:.2px;text-transform:uppercase;
}
.wiki-table tbody tr:nth-child(even){background:rgba(0,0,0,.02)}
.wiki-table tbody tr:last-child td{border-bottom:none}
.wiki-table td b,.wiki-table th b{color:var(--ink)}
.wiki-table .tier{font-family:var(--mono);font-weight:700;color:var(--brand-deep);white-space:nowrap}
.wiki-table caption{caption-side:top;text-align:left;color:var(--muted);font-size:12px;margin-bottom:6px}

/* tier badge used in headings / lists */
.t-badge{
  font-size:10.5px;padding:2px 8px;border-radius:11px;background:#e7f5ec;color:var(--brand-deep);
  font-family:var(--mono);font-weight:600;border:1px solid #c5e5d1;letter-spacing:.2px;
  display:inline-block;vertical-align:middle;
}
.t-badge.gray{background:#eef0f3;color:#5b636e;border-color:#d8dce1}

/* ============================================================
   CATEGORY FOOTER + SITE FOOTER
   ============================================================ */
.wiki-cats{
  margin:38px 0 0;padding:10px 14px;border:1px solid var(--line);border-radius:6px;
  background:var(--panel);font-size:13px;color:var(--muted);
}
.wiki-cats b{color:var(--ink);font-weight:700}
.wiki-cats a{margin-right:4px}
.wiki-cats .sep{color:var(--line);margin:0 4px}

.wiki-footer{
  border-top:1px solid var(--line);background:#11161f;color:#9aa7bd;margin-top:0;
}
.wiki-footer-inner{
  max-width:1500px;margin:0 auto;padding:22px 24px;
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;font-size:13px;
}
.wiki-footer a{color:#c7cedb}
.wiki-footer a:hover{color:#fff}
.wiki-footer .wf-links{display:flex;flex-wrap:wrap;gap:16px}
.wiki-footer .wf-legal{color:#6f7a8c}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .wiki-shell{grid-template-columns:1fr}
  .wiki-sidebar{
    position:fixed;top:var(--topbar-h);left:0;bottom:0;width:280px;z-index:55;
    transform:translateX(-100%);transition:transform .2s ease;height:calc(100vh - var(--topbar-h));
    box-shadow:6px 0 24px rgba(0,0,0,.18);
  }
  .wiki-sidebar.open{transform:translateX(0)}
  .wiki-menu-toggle{display:block}
  .wiki-topnav{display:none}
  .wiki-article{border-left:none;border-right:none;padding:20px 18px 50px}
  .infobox{float:none;width:auto;max-width:420px;margin:0 0 18px}
}
@media (max-width:560px){
  .wiki-brand-name{display:none}
  .r3{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px)}
  .rc{width:40px;height:40px}
  .recipe-card{grid-template-columns:1fr;justify-items:center;text-align:center}
  .recipe-card .ingredients{align-self:center}
}
