/* RobinHead Ball player guide. Same world as the site and the game: forest night, brass and gold
   for headings and buttons, torch orange for small caps, lime only for the mark and live things. */
:root{
  --night:#0b1210; --canopy:#13201a; --panel:rgba(17,27,21,.88); --panel-solid:#111b15;
  --parch:#f0e4c4; --parch-dim:#b9ab8b; --torch:#f2a03e; --brass:#c9a24a; --brass-hi:#f0d48a;
  --edge:rgba(201,162,74,.24); --edge-hi:rgba(201,162,74,.55); --lime:#C9FB01; --blood:#c0483c;
  --display:"Cinzel",Georgia,serif; --body:"Spectral",Georgia,serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --top:62px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--night);scroll-padding-top:calc(var(--top) + 16px)}
body{margin:0;background:var(--night);color:var(--parch);font:17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 40% at 60% 0%,rgba(242,160,62,.06),transparent 70%),url("/assets/bg.png") center/cover no-repeat;opacity:.18}
a{color:var(--brass-hi);text-decoration:none}
a:hover{color:var(--lime)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

/* ---- top bar ---- */
.topbar{position:sticky;top:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:16px;
  padding:0 max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px));
  background:rgba(9,15,12,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--edge)}
.brand{display:flex;align-items:center;gap:10px;color:var(--parch);font:900 15px/1 var(--display);letter-spacing:.16em;white-space:nowrap}
.brand img{width:32px;height:32px}
.brand b{color:var(--brass-hi);font-weight:900}
.search{position:relative;margin-left:auto;width:min(360px,40vw)}
.search input{width:100%;height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--edge);background:rgba(11,18,16,.8);
  color:var(--parch);font:15px var(--body)}
.search input::placeholder{color:var(--parch-dim)}
#results{position:absolute;top:46px;left:0;right:0;display:none;max-height:60vh;overflow:auto;border-radius:10px;
  border:1px solid var(--edge-hi);background:var(--panel-solid);box-shadow:0 20px 50px rgba(0,0,0,.5)}
#results.open{display:block}
#results a{display:block;padding:10px 14px;border-bottom:1px solid var(--edge);color:var(--parch)}
#results a small{display:block;color:var(--parch-dim);font-size:13px}
#results a:hover,#results a.sel{background:rgba(201,162,74,.08)}
#results .none{padding:12px 14px;color:var(--parch-dim)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  font:700 14px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#1c1508;
  padding:14px 26px;border-radius:6px;background:linear-gradient(180deg,var(--brass-hi),#d9b560 48%,#b78d39);
  box-shadow:0 4px 0 #6b511f,inset 0 1px 0 rgba(255,245,210,.6)}
.btn:hover{color:#1c1508;filter:brightness(1.07)}
.btn.sm{padding:10px 18px;font-size:12.5px}
.btn.ghost{background:rgba(11,18,16,.6);color:var(--parch);box-shadow:inset 0 0 0 1px var(--edge-hi)}
.btn.ghost:hover{color:var(--brass-hi)}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.menu-btn span{width:20px;height:2px;background:var(--parch);border-radius:2px}

/* ---- layout ---- */
.shell{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;max-width:1360px;margin:0 auto}
.sidebar{position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow-y:auto;padding:26px 18px 30px 22px;border-right:1px solid var(--edge)}
.nav-group{margin-bottom:22px}
.nav-title{font:700 11.5px/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--torch);margin:0 0 10px 10px}
.nav-link{display:block;padding:7px 10px;border-radius:6px;color:var(--parch-dim);font-size:15.5px}
.nav-link:hover{color:var(--parch);background:rgba(201,162,74,.06)}
.nav-link.active{color:var(--brass-hi);background:rgba(201,162,74,.10);box-shadow:inset 2px 0 0 var(--brass)}
.nav-foot{margin-top:28px;padding:16px 10px 0;border-top:1px solid var(--edge);font-size:14px}
.content{min-width:0;padding:40px clamp(20px,4vw,56px) 60px}
.crumbs{font:700 11.5px/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--torch);margin-bottom:12px}
.toc{position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow-y:auto;padding:40px 20px 30px 8px;font-size:14px}
.toc-title{font:700 11.5px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--parch-dim);margin-bottom:12px}
.toc a{display:block;padding:5px 0 5px 12px;border-left:1px solid var(--edge);color:var(--parch-dim)}
.toc a:hover,.toc a.on{color:var(--brass-hi);border-left-color:var(--brass)}
@media(max-width:1180px){.shell{grid-template-columns:250px minmax(0,1fr)}.toc{display:none}}
@media(max-width:860px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .menu-btn{display:flex}
  .sidebar{position:fixed;top:var(--top);left:0;bottom:0;z-index:30;width:min(300px,86vw);height:auto;background:var(--panel-solid);
    transform:translateX(-102%);transition:transform .22s;box-shadow:20px 0 40px rgba(0,0,0,.5)}
  body.nav-open .sidebar{transform:none}
  .search{width:auto;flex:1}
  .brand{font-size:0;gap:0} .brand img{width:30px;height:30px}
  .content{padding-top:28px}
}

/* ---- article ---- */
.prose{max-width:760px}
.prose h1{font:900 clamp(30px,4.4vw,44px)/1.1 var(--display);margin:0 0 14px;letter-spacing:.02em;text-wrap:balance;
  background:linear-gradient(180deg,#fbeab4,#e7c46e 38%,#c9a24a 62%,#9a7630);-webkit-background-clip:text;background-clip:text;color:transparent}
.prose h2{font:700 clamp(21px,2.4vw,26px)/1.25 var(--display);color:var(--parch);margin:44px 0 12px;letter-spacing:.03em}
.prose h3{font:700 18px/1.3 var(--display);color:var(--brass-hi);margin:28px 0 8px}
.prose p,.prose li{color:#e6dabb}
.prose p{margin:0 0 14px}
.prose .lede{font-size:clamp(18px,1.8vw,20px);color:var(--parch);margin-bottom:24px}
.prose ul,.prose ol{padding-left:22px;margin:0 0 16px}
.prose li{margin:6px 0}
.prose b,.prose strong{color:var(--parch)}
.anchor{opacity:0;margin-left:8px;color:var(--parch-dim);font-size:.8em}
h2:hover .anchor,h3:hover .anchor{opacity:1}
kbd{font:700 13px/1 var(--mono);background:rgba(201,162,74,.10);border:1px solid var(--edge-hi);border-bottom-width:3px;border-radius:4px;padding:4px 8px;color:var(--parch)}
code{font:600 .88em var(--mono);background:rgba(201,162,74,.08);border:1px solid var(--edge);border-radius:4px;padding:1px 6px}

/* panels and callouts */
.card{background:var(--panel);border:1px solid var(--edge);border-radius:12px;padding:20px 22px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.grid,.grid.three{grid-template-columns:minmax(0,1fr)}}
.grid .card{margin:0}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}
.card .tag{display:block;font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--torch);margin-bottom:8px}
.card img.ic{width:44px;height:44px;object-fit:contain;float:right;margin:0 0 8px 12px}
.note{border-left:3px solid var(--brass);background:rgba(201,162,74,.06);border-radius:0 10px 10px 0;padding:14px 18px;margin:0 0 18px;color:#e6dabb}
.note.tip{border-color:var(--lime);background:rgba(201,251,1,.04)}
.note.warn{border-color:var(--blood);background:rgba(192,72,60,.07)}
.note b:first-child{color:var(--brass-hi)}
.note.tip b:first-child{color:var(--lime)}
.note.warn b:first-child{color:#e7978c}
.steps{list-style:none;counter-reset:s;padding:0 !important}
.steps li{counter-increment:s;position:relative;padding:14px 18px 14px 62px;margin:0 0 10px;background:var(--panel);border:1px solid var(--edge);border-radius:12px}
.steps li::before{content:counter(s);position:absolute;left:16px;top:13px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font:900 14px/1 var(--display);color:#1c1508;background:linear-gradient(180deg,var(--brass-hi),#b78d39)}
.steps li > b:first-child{display:block;color:var(--brass-hi);font-family:var(--display);letter-spacing:.04em}
.tbl{overflow-x:auto;margin:0 0 18px;border:1px solid var(--edge);border-radius:12px;background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:15.5px}
th{text-align:left;font:700 11.5px/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--torch);padding:12px 16px;border-bottom:1px solid var(--edge)}
td{padding:11px 16px;border-bottom:1px solid var(--edge);color:#e6dabb;vertical-align:top}
tr:last-child td{border-bottom:0}
.keys td:first-child{white-space:nowrap}
.crew{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
@media(max-width:560px){.crew{grid-template-columns:repeat(3,minmax(0,1fr))}}
.crew div{background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:12px 6px 10px;text-align:center;font:700 11px/1.2 var(--display);letter-spacing:.06em}
.crew img{display:block;height:70px;margin:0 auto 8px;object-fit:contain}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;margin:0 0 26px}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero img{border-radius:12px;border:1px solid var(--edge-hi)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 24px}
.jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
@media(max-width:640px){.jump{grid-template-columns:minmax(0,1fr)}}
.jump a{display:block;padding:16px 18px;border-radius:12px;border:1px solid var(--edge);background:var(--panel);color:var(--parch)}
.jump a:hover{border-color:var(--edge-hi);color:var(--parch)}
.jump a b{display:block;font:700 16px/1.3 var(--display);color:var(--brass-hi);margin-bottom:4px}
.jump a span{color:var(--parch-dim);font-size:15px}
.mobile-ic{height:2em;vertical-align:-.55em}

/* pager + footer */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:44px 0 0}
.pager a{display:block;padding:14px 18px;border-radius:12px;border:1px solid var(--edge);background:var(--panel);color:var(--parch);font:700 15px/1.3 var(--display)}
.pager a:hover{border-color:var(--edge-hi);color:var(--brass-hi)}
.pager small{display:block;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--parch-dim);margin-bottom:6px}
.pager .next{text-align:right}
.foot{max-width:760px;margin:34px 0 0;padding-top:18px;border-top:1px solid var(--edge);color:var(--parch-dim);font-size:15px}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
