body{font-family:system-ui;margin:12px;max-width:1100px}
.meta,.controls{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:8px 0}
.badge{padding:2px 7px;border:1px solid #888;border-radius:999px}
.small{opacity:.72;font-size:.9rem}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px}
.pad{display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,46px);gap:6px;width:max-content;margin:8px auto}
.pad button{min-height:46px;font-size:18px}
.pad .pad-unused{opacity:.38}
.pad .pad-centre{opacity:.7;font-weight:bold}
@media(max-width:700px){.layout{grid-template-columns:1fr}
.side{max-width:220px}
}
canvas{width:100%;height:auto;border:1px solid #777;border-radius:8px}
#world{background:#4c8fbd}
#mini{background:#101827}
pre{font:13px/1 monospace;background:#111;color:#eee;padding:10px;overflow:auto;border-radius:8px}
.sitenav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #ddd;font-size:.92rem}
.sitenav a{color:#2a5d82;text-decoration:none;padding:2px 8px;border-radius:999px}
.sitenav a:hover{background:#eef4f8}
.sitenav a.here{background:#354c58;color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:16px 0}
.card{display:block;padding:14px 16px;border:1px solid #bbb;border-radius:10px;text-decoration:none;color:inherit;background:#fbfcfd}
.card:hover{border-color:#2a5d82;background:#f2f7fb}
.card h2{margin:0 0 6px;font-size:1.15rem;color:#2a5d82}
.card p{margin:6px 0}
