:root{--grass:#5d9b3a;--grass-d:#3f6e26;--dirt:#79553a;--dirt-d:#4e3624;--bg:#f4f1e8;--ink:#2b2a22;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:17px}
.wrap{max-width:960px;margin:0 auto;padding:0 1.1rem}
h1,h2{font-family:"Press Start 2P",monospace;line-height:1.4}
h1{font-size:clamp(1.3rem,6vw,2.4rem);margin:0 0 .6rem;text-shadow:3px 3px 0 var(--dirt-d)}
h2{font-size:1rem;color:var(--grass-d);margin:2.5rem 0 1rem}
h3{margin:0 0 .4rem}
.hero{background:var(--grass);color:#fff;text-align:center;padding:3rem 0 2.75rem}
.server-strip{background:var(--dirt);color:#fff;text-align:center;padding:1.5rem 0 2.25rem;border-bottom:8px solid var(--dirt-d)}
.tagline{font-weight:800;font-size:1.2rem;margin:0}
.sub{max-width:34rem;margin:.6rem auto 1.6rem}
.btn{display:inline-block;font:inherit;font-weight:800;border:0;cursor:pointer;text-decoration:none;color:#fff;background:var(--dirt-d);border-radius:6px;box-shadow:0 4px 0 #2e2015}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #2e2015}
.btn.big{font-size:1.15rem;padding:1rem 1.6rem;background:#2f5a1c;box-shadow:0 5px 0 #1e3b11}
.btn.small{padding:.55rem .9rem}
.note{font-size:.9rem;opacity:.9;margin:.5rem 0}
.addr{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;margin-top:1rem}
.addr code{background:rgba(0,0,0,.3);padding:.55rem .8rem;border-radius:6px;font-size:1rem;user-select:all}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{background:var(--grass);color:#fff;padding:.35rem .8rem;border-radius:999px;font-weight:700}
.cards{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.feats{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border-radius:8px;padding:1.1rem;border-top:6px solid var(--grass);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.card{min-width:0;overflow-wrap:anywhere}
.card ol{padding-left:1.2rem;margin:.4rem 0}
.card .note{opacity:.75}
.rules{font-weight:700;padding-left:1.4rem}
footer{margin-top:3rem;background:var(--dirt-d);color:#e9dfcf;text-align:center;padding:1.4rem 0;font-size:.9rem}
.howto{background:#e6eedb;border-left:6px solid var(--grass);border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1rem}
.howto p{margin:.4rem 0}
code{background:#efe6d6;padding:.05rem .35rem;border-radius:4px;font-size:.95em}
.cmds li{margin:.35rem 0}
.tabbar{display:none}
.tabs.js .tabbar{display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:.2rem .1rem .6rem;margin-bottom:.4rem}
.tabbar button{flex:0 0 auto;scroll-snap-align:start;font:inherit;font-weight:800;border:2px solid var(--grass);background:#fff;color:var(--grass-d);border-radius:999px;padding:.55rem 1rem;cursor:pointer;white-space:nowrap;min-height:44px}
.tabbar button[aria-selected=true]{background:var(--grass);color:#fff}
.tabbar button:focus-visible,.panel:focus-visible{outline:3px solid var(--dirt);outline-offset:2px}
.panel{background:var(--card);border-radius:8px;padding:1rem 1.1rem;margin:.7rem 0;box-shadow:0 2px 6px rgba(0,0,0,.08);border-left:6px solid var(--grass)}
.panel ul{padding-left:1.2rem}
.cmds li{margin:.35rem 0}
.tablewrap{overflow-x:auto;background:var(--card);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid #e6dfd0;vertical-align:top}
th{background:var(--grass-d);color:#fff}
td:nth-child(2){white-space:nowrap}
.plugin-next{display:block;font-size:.8rem;line-height:1.35;color:#585f50;margin-top:.2rem;max-width:12rem;overflow-wrap:anywhere}
.video{margin:1rem 0 .4rem}
.vwrap{position:relative;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden}
.vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video figcaption{font-weight:700;margin-top:.4rem}
.vnote{display:block;font-weight:400;font-size:.85rem;opacity:.75}
#changelog details{margin:.5em 0}
#changelog summary{cursor:pointer;font-weight:800}
#changelog ul{margin:.4em 0 .4em 1.2em}

/* The skills guide shares the original grass, dirt, and paper palette. */
[hidden]{display:none!important}
a{color:#315a20;text-underline-offset:.15em}
:focus-visible{outline:3px solid var(--dirt);outline-offset:3px}
.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:10;transform:translateY(-180%);background:#fff;padding:.7rem 1rem;border-radius:6px}
.skip-link:focus{transform:none}
.guide-intro{max-width:44rem}
.guide-panel .howto h4{margin:.25rem 0 .6rem;font-size:1.02rem}
.tabbar button[aria-selected=true]{background:var(--grass-d);border-color:var(--grass-d)}
.guide-kicker{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:800;color:var(--grass-d);margin:0 0 .5rem}
.guide-title{font-size:1.5rem;line-height:1.25}
.guide-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:1rem 0 1.4rem;font-weight:800}
.guide-nav a{padding:.35rem 0}
.guide-facts{display:grid;grid-template-columns:1fr;gap:.7rem;margin:1rem 0 1.4rem}
.guide-fact{background:#f4f1e8;border-radius:7px;padding:.8rem 1rem}
.guide-fact b{display:block;color:var(--grass-d)}
.guide-fact p{margin:.15rem 0;font-size:.94rem}
.guide-section{margin-top:1.7rem;scroll-margin-top:1rem}
.guide-section>h4{font-size:1.2rem;margin:0 0 .5rem}
.skill-controls{background:#e6eedb;border-radius:8px;padding:1rem;margin:1rem 0}
.skill-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem}
.skill-fields label{display:block;font-weight:800;margin-bottom:.3rem}
.skill-fields input,.skill-fields select{font:inherit;color:var(--ink);background:#fff;border:1px solid #7c8d6f;border-radius:6px;min-height:46px;padding:.55rem .7rem;width:100%;min-width:0}
.skill-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}
.plain-btn{font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;color:var(--grass-d);background:#fff;border:1px solid #93a881;border-radius:6px;min-height:44px;padding:.45rem .7rem}
.plain-btn:hover{background:#f4f8ef}
.skill-results{font-size:.9rem;margin:.7rem 0 0;color:#415437}
.skill-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}
.skill-card{border:1px solid #d9dfcf;border-radius:8px;background:#fff;min-width:0;scroll-margin-top:1rem;overflow-wrap:anywhere}
.skill-card>summary{cursor:pointer;padding:.9rem 1rem;list-style:none;position:relative;padding-right:2.6rem;min-height:60px}
.skill-card>summary::-webkit-details-marker{display:none}
.skill-card>summary:after{content:'+';font-size:1.5rem;font-weight:800;line-height:1;position:absolute;right:1rem;top:1.1rem;color:var(--grass-d)}
.skill-card[open]>summary:after{content:'−'}
.skill-card>summary:hover{background:#f5f8f0;border-radius:8px}
.skill-card[open]>summary{background:#eef3e6;border-bottom:1px solid #d9dfcf;border-radius:8px 8px 0 0}
.skill-title{display:block;font-size:1.15rem;font-weight:800;color:var(--grass-d)}
.skill-summary{display:block;font-size:.94rem;margin:.2rem 0;color:var(--ink)}
.skill-meta{display:block;font-size:.8rem;color:#626a59;margin-top:.3rem}
.skill-body{padding:0 1rem 1rem}
.skill-body>p{margin:.8rem 0}
.skill-command{font-size:.9rem}
.skill-command a{margin-left:.6rem}
.ability-list{list-style:none!important;padding:0!important;margin:1rem 0 0}
.ability{border-top:1px solid #e4e7df;padding:.9rem 0 .4rem}
.ability h5{font-size:1.02rem;margin:0 .4rem .25rem 0;display:inline}
.ability p{margin:.4rem 0;font-size:.95rem}
.ability .ability-note{font-size:.86rem;color:#585f50}
.ability-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0 .55rem}
.ability-type,.unlock{display:inline-block;font-size:.75rem;font-weight:800;border-radius:4px;padding:.18rem .45rem;background:#eaf0e1;color:#385528}
.ability-type.active{background:#f2e5cf;color:#6b4518}
.ability-type.manual{background:#e5edf2;color:#33566b}
.unlock{background:#f1f0eb;color:#4f4b40}
.rank-list{font-size:.86rem!important;color:#535d49}
.guide-warning{border-left:4px solid #ae6e23;background:#fff3de;border-radius:4px;padding:.65rem .85rem;font-size:.94rem}
.skill-notes{margin:.7rem 0}
.skill-notes>summary,.guide-sources>summary{font-size:.9rem;font-weight:800;cursor:pointer;padding:.5rem 0;color:var(--grass-d)}
.skill-notes li{font-size:.9rem;margin:.35rem 0}
.guide-sources{background:#f5f4ef;padding:.5rem .9rem;border-radius:7px;margin-top:1rem;overflow-wrap:anywhere}
.guide-sources p,.guide-sources li{font-size:.85rem}
.skill-empty{background:#f4f1e8;padding:1rem;border-radius:6px}
.guide-legend{font-size:.9rem}
.guide-legend span{margin-right:.3rem}
.guide-steps{padding-left:1.3rem}
.guide-steps li{margin:.4rem 0}
.guide-footer-link{margin-top:1.5rem;font-size:.9rem}
.guide-panel code{overflow-wrap:anywhere}
@media(min-width:640px){
  .guide-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .skill-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skill-card[open]{grid-column:1/-1}
}
@media(max-width:420px){
  .guide-panel{padding:1rem .75rem;border-left-width:4px}
  .guide-title{font-size:1.3rem}
  .skill-card>summary{padding-left:.8rem}
  .skill-body{padding-left:.8rem;padding-right:.8rem}
  .addr code{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{
  .hero,.server-strip,.tabbar,.skill-controls,.video,.skip-link,footer{display:none!important}
  .wrap{max-width:none;padding:0}
  .panel[hidden]{display:block!important}
  .skill-grid{display:block}
  .skill-card{break-inside:avoid;margin:.5rem 0}
}
