:root{color-scheme:dark;--soil:#211811;--panel:#2e2219;--line:#4a3727;--text:#f6ead6;--muted:#c2a888;--amber:#ffc24b;--ink:#140d08}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--soil);color:var(--text);font:16px/1.7 system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans",sans-serif}
a{color:var(--amber)}a:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.wrap{max-width:780px;margin:0 auto;padding-inline:16px;padding-block:20px 48px}
header.top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-block:6px 18px;border-bottom:2px solid var(--line);margin-bottom:24px}
.logo{font-family:Silkscreen,monospace;font-weight:700;font-size:22px;letter-spacing:1px;color:var(--amber);text-decoration:none;text-shadow:3px 3px 0 var(--ink)}
header.top nav{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}header.top nav a{color:var(--muted);text-decoration:none}header.top nav a:hover{color:var(--text)}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:8px}.crumbs a{color:var(--muted)}
h1{font-size:clamp(26px,5vw,36px);line-height:1.25;margin:0 0 12px;text-wrap:balance}
h2{font-size:21px;margin:34px 0 10px;color:var(--amber);text-wrap:balance}h3{font-size:17px;margin:20px 0 6px}
p,li{max-width:68ch}p{margin:0 0 14px}.lead{color:var(--muted);font-size:17px}
.btn{display:inline-block;background:var(--amber);color:#2a1a08;font-weight:700;text-decoration:none;padding:10px 18px;border-radius:6px;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
.hero{display:grid;grid-template-columns:minmax(0,240px) 1fr;gap:20px;align-items:start;margin:18px 0 8px}
.hero img{width:100%;height:auto;image-rendering:pixelated;border:3px solid var(--ink);border-radius:6px;background:#e8d1a3}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 16px;font-size:15px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}
.tag{display:inline-block;font-size:12px;font-weight:700;color:#2a0f06;background:var(--amber);border-radius:3px;padding:0 6px}
.t-intro{background:#9cc45a}.t-normal{background:#a8917a}.t-adv{background:#ffc24b}.t-hard{background:#ff7a5c}.t-expert{background:#c77dff}
.sw{display:inline-block;width:14px;height:14px;border:2px solid var(--ink);border-radius:3px;vertical-align:-2px;margin-right:4px}
details{background:var(--panel);border:2px solid var(--line);border-radius:8px;padding:12px 16px;margin-top:10px}summary{cursor:pointer;font-weight:700;color:var(--amber)}
ol.sol{margin:14px 0 0;padding-left:28px;display:grid;gap:6px}ol.sol li{padding-left:4px}
.chip{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:6px}.chip .sw{width:22px;height:18px;margin:0}
.chip b{font-variant-numeric:tabular-nums}.plus{color:var(--muted)}
figure.chart{margin:12px 0 18px}figure.chart svg{width:100%;height:auto;display:block;background:var(--panel);border:2px solid var(--line);border-radius:8px}
figure.chart figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px}
.card{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:2px solid var(--line);border-radius:8px;padding:10px;text-decoration:none;color:var(--text)}
.card:hover{border-color:var(--amber)}.card img{width:100%;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;background:#e8d1a3;border-radius:4px}
.card small{color:var(--muted)}.pager{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:space-between;margin-top:30px}
.arts{display:grid;gap:12px;margin-top:12px}.arts a{display:block;background:var(--panel);border:2px solid var(--line);border-radius:8px;padding:12px 16px;text-decoration:none;color:var(--text)}
.arts a:hover{border-color:var(--amber)}.arts b{color:var(--amber);display:block;margin-bottom:2px}.arts span{color:var(--muted);font-size:14px}
.minis{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.minis a{display:flex;align-items:center;gap:6px;background:var(--panel);border:2px solid var(--line);border-radius:6px;padding:4px 10px 4px 4px;text-decoration:none;color:var(--text);font-size:14px}
.minis img{width:28px;height:28px;image-rendering:pixelated;border-radius:3px;background:#e8d1a3}
ul.list{padding-left:22px}ul.list li{margin-bottom:6px}article ul{padding-left:22px}article li{margin-bottom:6px}
.faq h3{margin-top:18px}footer{margin-top:44px;padding-top:16px;border-top:2px solid var(--line);font-size:13px;color:var(--muted)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}footer nav a{color:var(--muted)}footer nav a[aria-current]{color:var(--text);text-decoration:none}
@media (max-width:560px){.hero{grid-template-columns:1fr}.hero img{max-width:260px}}