:root{
  --bg:#14120f;
  --bg-alt:#1c1913;
  --bg-card:#221e17;
  --iron:#4a4740;
  --iron-soft:#33302a;
  --patina:#7c8f6a;
  --rust:#a8503a;
  --bone:#e8e2d4;
  --bone-dim:#a39c8c;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:ui-monospace, Consolas, monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:radial-gradient(900px 480px at 50% -8%, #2a241c 0%, var(--bg) 55%);
  color:var(--bone);
  font-family:var(--font-body);
  line-height:1.55;
  min-height:100vh;
}
a{color:var(--patina);text-decoration:none;}
a:hover{color:var(--bone);}

.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(20,18,15,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--iron-soft);
}
.topbar-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;gap:16px;
  padding:12px 20px;
}
.brand img{height:34px;width:auto;}
.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto;}
.lang-switch{display:inline-flex;border:1px solid var(--iron);border-radius:2px;overflow:hidden;}
.lang-switch button{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;
  padding:7px 9px;background:transparent;border:none;color:var(--bone-dim);cursor:pointer;
}
.lang-switch button + button{border-left:1px solid var(--iron);}
.lang-switch button.active{background:var(--iron-soft);color:var(--patina);}
.btn{
  display:inline-block;font-weight:600;font-size:.8rem;letter-spacing:.04em;
  text-transform:uppercase;padding:8px 12px;border:1px solid var(--iron);border-radius:2px;color:var(--bone-dim);
}
.btn:hover{border-color:var(--patina);color:var(--patina);}

.layout{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:260px 1fr;gap:28px;
  padding:28px 20px 64px;
}
.side{
  position:sticky;top:72px;align-self:start;
  max-height:calc(100vh - 88px);overflow:auto;
  padding-right:6px;
}
.side h2{
  font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin-bottom:.35rem;
}
.side .lead{color:var(--bone-dim);font-size:.88rem;margin-bottom:1rem;}
.cat{
  margin-bottom:.85rem;
}
.cat-btn{
  width:100%;text-align:left;background:transparent;border:0;
  color:var(--bone);font:inherit;font-weight:600;font-size:.9rem;
  padding:.35rem 0;cursor:pointer;
}
.cat-btn:hover,.cat-btn.active{color:var(--patina);}
.topic-list{list-style:none;margin:.15rem 0 .4rem .65rem;padding:0;}
.topic-list a{
  display:block;font-size:.82rem;color:var(--bone-dim);
  padding:.28rem 0;border-left:2px solid transparent;padding-left:.55rem;
}
.topic-list a:hover,.topic-list a.active{
  color:var(--patina);border-left-color:var(--patina);
}

.main .eyebrow{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--patina);margin-bottom:.4rem;
}
.main h1{
  font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:600;margin-bottom:.75rem;
}
.main > p, .main h1 + p{
  color:var(--bone-dim);margin-bottom:.85rem;max-width:62ch;
}
.article{
  background:var(--bg-card);
  border:1px solid rgba(232,226,212,.1);
  border-radius:4px;
  padding:1.5rem 1.55rem 1.7rem;
}
.article h2{
  font-family:var(--font-display);font-size:1.7rem;font-weight:600;margin-bottom:.75rem;
}
.article h3{
  font-family:var(--font-display);font-size:1.22rem;font-weight:600;
  color:var(--bone);margin:1.35rem 0 .5rem;
}
.article p{color:var(--bone-dim);margin-bottom:.85rem;}
.article ul{margin:0 0 1rem 1.15rem;color:var(--bone-dim);}
.article li{margin-bottom:.42rem;}
.article strong{color:var(--bone);}
.article .back{margin-top:1.4rem;margin-bottom:0;}
.article-sec{margin-top:.35rem;}
.article ul.rules{margin-top:.15rem;}
.article ul.tips{margin-bottom:1.1rem;}
.wiki-link{margin-top:.4rem;}

.callout{
  display:flex;flex-direction:column;gap:.2rem;
  margin:0 0 1.05rem;padding:.75rem .9rem;
  border-radius:3px;border-left:3px solid var(--patina);
  background:rgba(124,143,106,.1);
  color:var(--bone-dim);font-size:.92rem;
}
.callout strong{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--patina);
}
.callout.warn{
  border-left-color:var(--rust);
  background:rgba(168,80,58,.12);
}
.callout.warn strong{color:#d48973;}
.callout.note{
  border-left-color:#8a8578;
  background:rgba(232,226,212,.06);
}

.main h1 + p, .main .article p:first-of-type{font-size:1.02rem;}
.home-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;
}
.home-card{
  display:block;padding:1rem;
  background:var(--bg-card);border:1px solid rgba(232,226,212,.1);border-radius:4px;color:inherit;
}
.home-card:hover{border-color:var(--patina);}
.home-card strong{display:block;font-family:var(--font-display);font-size:1.15rem;margin-bottom:.3rem;color:var(--bone);}
.home-card span{font-size:.85rem;color:var(--bone-dim);}

.footer{
  border-top:1px solid var(--iron-soft);
  padding:18px 20px;text-align:center;color:var(--bone-dim);font-size:.82rem;
}

@media (max-width:860px){
  .layout{grid-template-columns:1fr;}
  .side{position:static;max-height:none;}
}
