/* Truckmania shop. The colour tokens and the .shop-pack card come from the pause menu
   (ts_pausemenu/web/style.css); its viewport-based spacing is replaced for a web page. */
:root{--text:#e8eceb;--muted:#aeb6ba;--line:#ffffff20;--pack-color:#e0c784}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--text);background:#10191f;font:16px/1.5 'Segoe UI',system-ui,Arial,sans-serif}
/* The pause menu artwork on a fixed layer; background-attachment:fixed is unreliable on mobile. */
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#0d151bf5,#101a22e0 50%,#101a22b3),linear-gradient(0deg,#0d151b99,transparent 65%),url("/assets/background.webp") center/cover no-repeat}
h1,h2,h3,p,ol,ul{margin:0}h1,h2,h3{font-weight:500}ol,ul{padding:0;list-style:none}
h1{font-size:clamp(28px,5vw,44px);line-height:1.15;letter-spacing:-.04em}
a{color:inherit}
button,.button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:3px;padding:.5em 1em;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
button:hover,.button:hover{background:#ffffff0c}
:focus-visible{outline:2px solid #e8eceb;outline-offset:3px}
kbd{font:500 .85em/1.4 'Segoe UI',Arial,sans-serif;border:1px solid #ffffff55;border-radius:3px;padding:1px 5px;background:#131b2366}
.eyebrow{font-size:.75rem;font-weight:400;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:16px;top:16px;z-index:1;padding:.6em 1em;background:#172128;border-radius:4px}

.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;width:100%;max-width:1180px;margin:0 auto;padding:16px;border-bottom:1px solid var(--line)}
.site-brand{display:flex;align-items:center;gap:.7em;text-decoration:none}.site-brand img{display:block;object-fit:contain}
.site-brand strong{font-size:1.25rem;letter-spacing:.14em;font-weight:500;text-transform:uppercase}.site-brand span{color:var(--muted);font-size:.9rem}
.account{display:flex;align-items:center;flex-wrap:wrap;gap:.5em 1em;color:var(--muted);font-size:.9rem}.account strong{color:var(--text);font-weight:500;overflow-wrap:anywhere}
.site-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:36px 16px 64px}
.site-footer{border-top:1px solid var(--line);padding:20px 16px;text-align:center;color:var(--muted);font-size:.85rem;display:grid;gap:.4em}

.hero{display:flex;align-items:center;gap:24px;margin-bottom:32px}.hero-coin{flex:none;width:clamp(88px,14vw,160px);height:auto;filter:drop-shadow(0 6px 14px #0008)}
.hero h1{margin:.2em 0 .35em}.hero-intro{max-width:38rem;color:var(--muted);font-size:1.05rem}

.shop-message{margin-bottom:20px;padding:.8em 1em;border-left:2px solid #7fe0c4;background:#7fe0c40f;font-size:.95rem}.shop-message-error{border-left-color:#e07f7f;background:#e07f7f12}
.shop-packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.shop-packs>.shop-empty{grid-column:1/-1;padding:48px 16px;border:1px dashed #ffffff30;border-radius:5px;text-align:center;color:var(--muted);background:#ffffff04}
.shop-pack{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid #ffffff25;border-top:2px solid var(--pack-color);border-radius:5px;background:linear-gradient(150deg,#202d34ed,#121d24e8)}
.shop-pack-top{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-bottom:14px}
.shop-emblem-art{display:block;width:84px;height:84px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 6px #0006)}
.shop-pack h2{font-size:1.7rem;line-height:1.2;letter-spacing:-.03em;overflow-wrap:anywhere}.shop-subtitle{margin-top:.4em;color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}
.shop-pack-bottom{margin-top:auto;padding-top:20px}.shop-price{margin-bottom:.5em;color:var(--pack-color);font-size:1.5rem;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.shop-pack-bottom button{width:100%;padding:.65em 1em;text-align:center;border-color:var(--pack-color);background:#ffffff0d}
.shop-pack-bottom button:enabled:hover,.shop-pack-bottom button.shop-confirm{background:var(--pack-color);color:#10191e;font-weight:600}
button:disabled{cursor:default;opacity:.55}
.shop-note{margin-top:14px;color:var(--muted);font-size:.85rem}

.terms{margin-top:24px;color:var(--muted);font-size:.9rem}.terms h3,.terms h4{margin:.9em 0 .4em;font-size:1.05rem;color:var(--text)}.terms p{margin:.5em 0}.terms ul,.terms ol{margin:.5em 0;padding-left:1.3em;list-style:disc;display:grid;gap:.3em}.terms ol{list-style:decimal}.terms strong{color:var(--text);font-weight:500}.terms hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}.terms code{font:500 .9em/1.4 Consolas,monospace;border:1px solid #ffffff35;border-radius:3px;padding:0 4px}
.section-heading{margin:48px 0 14px}
.panel{min-width:0;border:1px solid var(--line);border-radius:5px;background:linear-gradient(110deg,#1b252ced,#172128e0);padding:20px}
.steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.steps h3{font-size:1.15rem;margin:.7em 0 .3em}.steps p,.spend p{color:var(--muted);font-size:.92rem}
.shop-emblem{display:grid;place-items:center;width:2.7em;height:2.7em;border:1px solid var(--pack-color);border-radius:50%;color:var(--pack-color)}
.spend{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px}.spend>div{max-width:34rem}.spend h2{font-size:1.4rem;margin:.3em 0 .4em}
.tiers{display:flex;gap:16px;flex:none}.tiers li{display:grid;justify-items:center;gap:.2em;color:var(--muted);font-size:.8rem}.tiers img{display:block;width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 3px 6px #0006)}

.thanks{max-width:40rem;margin:24px auto 0;padding:32px 24px;text-align:center;display:grid;justify-items:center;gap:14px}.thanks h1{font-size:clamp(24px,4vw,34px)}.thanks p{color:var(--muted)}
.thanks-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.thanks-links .button{color:var(--text)}

@media(max-width:820px){.steps ol{grid-template-columns:minmax(0,1fr)}.spend{flex-direction:column;align-items:flex-start}.tiers{gap:8px}.tiers img{width:60px;height:60px}}
@media(max-width:520px){.hero{flex-direction:column;align-items:flex-start;gap:12px}.site-main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
