/* Coin Shop + ad slots in the keeper's-logbook look: square corners, brass double rules, serif + small caps. Uses the --lg-* theme vars. */
body[data-page=shop] main{color:var(--lg-ink)}
body[data-page=shop] :is(h1,h2,h3){font-family:"Ledger",Georgia,"Times New Roman",serif;font-weight:600;color:var(--lg-ink);letter-spacing:.01em}
body[data-page=shop] .kicker{font-family:"Ledger SC",Georgia,serif;letter-spacing:.12em;color:var(--lg-brass);text-transform:none}
body[data-page=shop] .lead,body[data-page=shop] .muted{color:var(--lg-ink-m)}
body[data-page=shop] main a{color:var(--lg-brass-l);text-decoration-color:rgba(var(--lg-brass-rgb),.45)}
.sh-book{border:1px solid var(--lg-brass-d);background:linear-gradient(180deg,var(--lg-lea-1),var(--lg-lea-2));box-shadow:inset 0 0 0 3px var(--lg-lea-2),inset 0 0 0 4px rgba(var(--lg-brass-rgb),.28),0 10px 26px rgba(0,0,0,.45);padding:22px 24px;margin:0 0 22px}
.sh-book h2{font-size:24px;margin:0 0 12px;padding-bottom:8px;border-bottom:3px double rgba(var(--lg-brass-rgb),.45)}
.sh-wallet{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(var(--lg-brass-rgb),.28);border-bottom:1px solid rgba(var(--lg-brass-rgb),.28);margin:0 0 18px}
.sh-wallet div{padding:8px 18px;border-left:1px solid rgba(var(--lg-brass-rgb),.28)}.sh-wallet div:first-child{border-left:0;padding-left:0}
.sh-wallet dt{font:400 14px "Ledger SC",Georgia,serif;color:var(--lg-brass);letter-spacing:.04em}.sh-wallet dd{margin:0;font:600 26px "Ledger",Georgia,serif}
/* the price ledger: one ruled row per pack, the USD price is the biggest thing on the line */
.sh-ledger{width:100%;border-collapse:collapse;font-family:"Ledger",Georgia,serif}
.sh-ledger th{font:400 14px "Ledger SC",Georgia,serif;color:var(--lg-brass);letter-spacing:.05em;text-align:left;padding:6px 10px;border-bottom:3px double var(--lg-brass-d)}
.sh-ledger td{padding:14px 10px;border-bottom:1px solid rgba(var(--lg-brass-rgb),.22);vertical-align:middle;font-size:19px}
.sh-ledger tr:hover td{background:rgba(var(--lg-brass-rgb),.05)}
.sh-ledger .nm b{display:block;font-size:21px}.sh-ledger .nm small{font:400 14px "Ledger SC",Georgia,serif;color:var(--lg-ink-m)}
.sh-ledger .usd{font-size:26px;font-weight:600;color:var(--lg-brass-l);white-space:nowrap}
.sh-ledger .act{text-align:right}
.sh-buy,.rw-go,.ad-notice button,.sh-confirm button{font:400 16px "Ledger SC",Georgia,serif;letter-spacing:.04em;padding:8px 16px;border:0;border-radius:0;cursor:pointer;color:var(--lg-on-brass);background:linear-gradient(180deg,var(--lg-brass-l),var(--lg-brass) 48%,var(--lg-brass-dd));box-shadow:inset 0 1px 0 rgba(255,245,215,.7),inset 0 -1px 0 rgba(60,40,15,.6),inset 0 0 0 1px var(--lg-brass-d),0 2px 6px rgba(0,0,0,.5)}
.sh-buy:disabled,.rw-go:disabled{filter:grayscale(.6);opacity:.6;cursor:default}
.sh-confirm .ghost,.rw-cancel{font:400 15px "Ledger SC",Georgia,serif;background:transparent;color:var(--lg-ink);border:0;border-radius:0;box-shadow:inset 0 0 0 1px var(--lg-brass-d);padding:7px 14px;cursor:pointer}
.sh-confirm{margin:14px 0 0;padding:14px 16px;background:var(--lg-paper);color:var(--lg-on-paper);border:2px double var(--lg-brass-d);font-family:"Ledger",Georgia,serif}
.sh-confirm h3{color:var(--lg-on-paper)!important;margin:0 0 6px;font-size:21px}.sh-confirm p{margin:4px 0}.sh-confirm .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.sh-stamp{display:inline-block;font:400 14px "Ledger SC",Georgia,serif;letter-spacing:.1em;color:var(--lg-stamp);border:2px double var(--lg-stamp);padding:0 8px;transform:rotate(-2deg);margin-left:8px;vertical-align:middle}
.sh-rules{list-style:none;padding:0;margin:0;font-family:"Ledger",Georgia,serif;font-size:18px}
.sh-rules li{padding:8px 0 8px 26px;border-bottom:1px dotted rgba(var(--lg-brass-rgb),.3);position:relative}
.sh-rules li::before{content:"\2766";position:absolute;left:0;top:8px;color:var(--lg-brass)}
.sh-notice{border-left:3px double var(--lg-brass);padding:8px 14px;margin:14px 0 0;font-family:"Ledger",Georgia,serif;font-size:17px;background:rgba(var(--lg-brass-rgb),.06)}
.sh-msg{min-height:1.4em;font-family:"Ledger SC",Georgia,serif;color:var(--lg-ok)}
@media (max-width:700px){.sh-book{padding:16px 14px}.sh-ledger thead{display:none}.sh-ledger tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid rgba(var(--lg-brass-rgb),.22);padding:10px 0}.sh-ledger td{border:0;padding:2px 4px}.sh-ledger .act{grid-column:1/-1;text-align:left;padding-top:8px}.sh-ledger .cn{display:none}}

/* ad slots: a ruled, labeled box sized to the ad, never inside the game frame */
.ad-slot{display:block;margin:22px auto;max-width:100%;width:calc(var(--ad-w,728px) + 2px);text-align:center}
.ad-slot .ad-tag{display:block;font:400 12px "Ledger SC",Georgia,serif;letter-spacing:.14em;color:var(--lg-ink-m);text-align:left;margin:0 0 3px}
.ad-slot .ad-ph,.rw-stage .ad-ph{display:flex;flex-direction:column;justify-content:center;align-items:center;height:var(--ad-h,90px);max-width:100%;border:1px dashed var(--lg-brass-d);background:repeating-linear-gradient(135deg,rgba(var(--lg-brass-rgb),.05) 0 8px,transparent 8px 16px);color:var(--lg-ink-m);font-family:"Ledger",Georgia,serif}
.ad-ph b{font:400 15px "Ledger SC",Georgia,serif;letter-spacing:.08em;color:var(--lg-brass)}.ad-ph small{font-size:13px}
/* opt-in reward ad */
.rw{border:1px solid var(--lg-brass-d);background:linear-gradient(180deg,var(--lg-lea-1),var(--lg-lea-2));box-shadow:inset 0 0 0 3px var(--lg-lea-2),inset 0 0 0 4px rgba(var(--lg-brass-rgb),.28);padding:16px 20px;margin:22px 0;color:var(--lg-ink);font-family:"Ledger",Georgia,serif;font-size:17px}
.rw .rw-h{font:600 22px "Ledger",Georgia,serif;margin:0 0 6px;padding-bottom:6px;border-bottom:3px double rgba(var(--lg-brass-rgb),.4);color:var(--lg-ink)}
.rw p{margin:6px 0}.rw a{color:var(--lg-brass-l)}.rw-left{font-family:"Ledger SC",Georgia,serif;color:var(--lg-brass)}
.rw-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}
.rw-stage{margin-top:12px;position:relative}.rw-stage .ad-ph{height:180px}.rw-stage .rw-cancel{margin-top:8px}
.rw-msg{font-family:"Ledger SC",Georgia,serif;color:var(--lg-ok);min-height:1.2em}
/* ads notice: a thin ruled strip at the bottom, not a modal, nothing blocked */
.ad-notice{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 16px;background:var(--lg-lea-2);color:var(--lg-ink);border-top:3px double var(--lg-brass-d);font-family:"Ledger",Georgia,serif;font-size:16px}
.ad-notice p{margin:0}.ad-notice a{color:var(--lg-brass-l)}.ad-notice button{padding:5px 14px;font-size:15px}
