.toolbar{position:sticky;top:0;z-index:5;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:12px;background:var(--bg);border-bottom:2px solid var(--line)}
#pages{padding:16px}
.page{background:#fffdf7;width:100%;max-width:794px;min-height:1050px;margin:0 auto 24px;padding:48px 56px;border:2px solid var(--line);border-radius:8px;position:relative;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.page h1{font-size:2.4rem;margin:0 0 .3em;text-align:center}
.page h2{font-size:1.6rem}
.page .bear{width:110px;display:block;margin:0 auto 10px}
.parch{background:#f6e7c8;border:3px dashed #b8894d;border-radius:16px;padding:28px;font-size:1.25rem}
.sign{font-family:"Baloo 2";font-size:1.4rem;text-align:right;margin-top:18px}
table.setup{width:100%;border-collapse:collapse;font-size:1rem}
table.setup td,table.setup th{border:1px solid #d9c4a3;padding:8px;text-align:left}
table.setup th{background:#f6e7c8}
.cards{display:grid;grid-template-rows:1fr 1fr;gap:28px;min-height:950px}
.clue{border:4px dashed #b8894d;border-radius:20px;padding:28px;background:#f6e7c8;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative}
.clue .num{position:absolute;top:12px;left:16px;font-family:"Baloo 2";font-weight:800;color:#8a5a2b}
.clue .icon{font-size:4.5rem;line-height:1}
.clue .txt{font-size:1.45rem;font-weight:700;margin:14px 0 6px}
.clue.big .txt{font-size:1.7rem}
.clue .arr{font-family:"Baloo 2";color:#8a5a2b;font-size:1.2rem}
.map{position:relative;background:#f3dfb5;border:6px solid #8a5a2b;border-radius:18px;padding:30px;min-height:780px}
.route{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.stop{background:#fffdf3;border:3px solid #8a5a2b;border-radius:50%;width:120px;height:120px;display:grid;place-items:center;text-align:center;font-weight:700;font-size:.85rem;padding:8px}
.stop .e{font-size:2rem;display:block}
.stop.x{background:#e0662f;color:#fff;border-color:#b44a1c}
.dash{font-size:1.6rem;color:#8a5a2b}
.cert{border:10px double #e6b84a;border-radius:18px;padding:36px;text-align:center;min-height:440px;display:flex;flex-direction:column;justify-content:center}
.cert h2{font-size:2rem;margin:.1em 0}
.cert .who{font-family:"Baloo 2";font-size:2.6rem;color:#e0662f;font-weight:800}
.cert .rank{font-size:1.4rem;font-weight:700}
.certs{display:grid;gap:30px}
.foot{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:.75rem;color:#9a8670}
@media print{
  body{background:#fff}
  .toolbar,#builder{display:none!important}
  #pages{padding:0}
  .page{border:0;box-shadow:none;margin:0;max-width:none;min-height:auto;height:277mm;padding:14mm 16mm;page-break-after:always;break-after:page;border-radius:0}
  .cards{min-height:0;height:245mm}
  .map{min-height:230mm}
  @page{size:A4;margin:10mm}
}
@media(max-width:700px){.page{padding:24px 18px;min-height:0}.cards{min-height:0}.clue .txt{font-size:1.15rem}}
.paywall{max-width:794px;margin:0 auto 20px;text-align:center;background:#fff;border:3px solid var(--brand);border-radius:20px;padding:24px}
.paywall h2{margin:0 0 8px}
.locked{position:relative;max-height:900px;overflow:hidden}
.locked .page{filter:blur(7px);pointer-events:none;user-select:none}
.lockmsg{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(rgba(255,248,238,.2),rgba(255,248,238,.9))}
@media print{.paywall,.locked{display:none!important}}
