*{box-sizing:border-box}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1d2a1f;background:#f7f8f4}
a{color:#2f6b3a}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.top{background:#2f6b3a;color:#fff}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px}
.top a{color:#fff;text-decoration:none}
.logo{font-weight:700;font-size:18px}
.top nav a{display:inline-block;padding:10px 8px;min-height:44px}
h1{font-size:30px;line-height:1.2;margin:24px 0 8px}
h2{font-size:22px;margin:32px 0 8px}
h3{font-size:18px;margin:20px 0 6px}
.lead{font-size:17px;max-width:820px}
.crumbs{margin:16px 0 0;font-size:14px}
.jump a{display:inline-block;margin:4px 8px 4px 0;padding:10px 14px;min-height:44px;background:#2f6b3a;color:#fff;border-radius:6px;text-decoration:none}
.tool{background:#fff;border:1px solid #dfe5da;border-radius:8px;padding:16px;margin:16px 0}
.filters,.pick{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}
label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:4px}
input,select{font-size:16px;padding:10px;min-height:44px;border:1px solid #b9c4b3;border-radius:6px;background:#fff;max-width:100%}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:8px;border-bottom:1px solid #e6eae2;vertical-align:top}
thead th{background:#eef2ea;position:sticky;top:0}
tbody th{font-weight:600;white-space:nowrap}
.tba::after{content:"Not added yet";color:#8a8f86;font-style:italic}
.na::after{content:"\2013";color:#8a8f86}
.bg::after{content:"Base Game"}
.card{margin-top:12px}
.note{font-size:13px;color:#5d665a}
.cols{columns:2 220px}
details{border-bottom:1px solid #e6eae2;padding:10px 0}
summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.foot{margin-top:40px;padding:20px 0;background:#eef2ea;font-size:13px}
.foot .link{font:inherit;padding:0;border:0;background:none;color:#2f6b3a;text-decoration:underline;cursor:pointer}
/* cookie choice: fixed bottom bar, two equal buttons */
.consent{position:fixed;left:16px;right:16px;bottom:12px;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 12px 10px 16px;background:#fff;border:1px solid #dfe5da;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);font-size:13px;line-height:1.5;color:#3d4a3f;z-index:10}
.consent p{margin:0;flex:1;min-width:0}
.consent .short{display:none}
.consent .acts{display:flex;gap:8px}
.consent[hidden]{display:none}
.consent button{font:inherit;font-weight:600;min-height:44px;padding:0 14px;border:1px solid #b9c4b3;border-radius:6px;background:#fff;color:#1d2a1f;cursor:pointer}
.consent button:hover{background:#eef2ea}
.consent button:focus-visible,.foot .link:focus-visible{outline:2px solid #2f6b3a;outline-offset:2px}
@media (max-width:600px){h1{font-size:24px}.top nav a{padding:10px 6px}
  .consent{left:0;right:0;bottom:0;max-width:none;border-radius:0;border-width:1px 0 0;box-shadow:none;gap:10px;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))}
  .consent .long{display:none}.consent .short{display:inline}.consent button{padding:0 10px}}
