@font-face {
    font-family:Action Man;
    src:url('/web/action-man.ttf') format('truetype');
    font-display:swap;
}
:root {
    --ink:#363636;
    --accent-dark:#0a6e0c;
    --danger:#b3261e;
    --muted:#62625c;
    --line:#d9d8cd;
    --bg:#fffdf5;
    --card:#fff;
    --yellow:#ffba08;
}
* {
    box-sizing:border-box;
}
body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
}
a {
    color:var(--accent-dark);
    text-underline-offset:4px;
    overflow-wrap:anywhere;
}
a:focus-visible,button:focus-visible {
    outline:3px solid var(--accent-dark);
    outline-offset:5px;
}
.shell {
    max-width:1120px;
    margin:auto;
    padding:0 28px;
}
.site-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    padding:28px 0;
    border-bottom:2px solid var(--ink);
}
.brand {
    font:700 30px/1.2 "Action Man",sans-serif;
    color:var(--ink);
    text-decoration:none;
}
.brand span {
    display:inline-grid;
    place-items:center;
    width:36px;
    height:36px;
    background:var(--yellow);
    border:2px solid var(--ink);
    border-radius:9px;
    margin-right:10px;
}
nav {
    display:flex;
    gap:20px;
    align-items:center;
    flex-wrap:wrap;
}
nav a {
    font-size:14px;
    color:var(--ink);
}
nav a[aria-current=true] {
    font-weight:800;
    text-decoration:none;
}
.page {
    max-width:760px;
    margin:54px auto 0;
    min-height:50vh;
}
.page.home {
    max-width:none;
    margin-top:0;
}
h1,h2,h3 {
    line-height:1.15;
    text-wrap:balance;
}
h1 {
    font-size:clamp(30px,4vw,46px);
    letter-spacing:-1px;
}
h2 {
    font-size:25px;
    margin:38px 0 12px;
}
h3 {
    font-size:21px;
}
p {
    margin:14px 0;
}
.muted {
    color:var(--muted);
}
.card {
    border:1px solid var(--line);
    background:var(--card);
    padding:24px;
    border-radius:12px;
    margin:24px 0;
}
.card h2 {
    margin-top:0;
}
button,.button {
    display:inline-block;
    font:700 16px/1.4 system-ui,sans-serif;
    padding:14px 20px;
    border:2px solid var(--ink);
    border-radius:10px;
    background:var(--card);
    color:var(--ink);
    cursor:pointer;
    text-decoration:none;
    margin:6px 8px 6px 0;
    box-shadow:0 3px 0 var(--ink);
}
button.primary,.button.primary {
    background:var(--yellow);
}
button.danger {
    background:var(--danger);
    color:white;
}
button:disabled {
    opacity:.5;
    cursor:not-allowed;
}
.error {
    color:var(--danger);
    font-weight:600;
}
[hidden] {
    display:none!important;
}
footer {
    margin-top:76px;
    padding:28px 0 34px;
    border-top:2px solid var(--ink);
    font-size:14px;
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    align-items:center;
}
footer .signature {
    margin-right:auto;
}
.table-wrap {
    overflow-x:auto;
}
table {
    border-collapse:collapse;
    width:100%;
    font-size:15px;
}
th,td {
    text-align:left;
    vertical-align:top;
    padding:12px;
    border-bottom:1px solid var(--line);
}
.skip {
    position:absolute;
    left:20px;
    top:-100px;
    background:white;
    padding:10px;
    z-index:10;
}
.skip:focus {
    top:10px;
}
.hero {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:40px;
    align-items:center;
    padding:72px 0;
}
.eyebrow {
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:800;
    color:var(--accent-dark);
}
.hero h1 {
    font-family:"Action Man",sans-serif;
    font-size:clamp(50px,6vw,82px);
    letter-spacing:-2px;
    margin:18px 0 22px;
}
.hero p {
    max-width:490px;
}
.stage {
    position:relative;
    display:grid;
    place-items:center;
    min-height:400px;
    background:var(--yellow);
    border:3px solid var(--ink);
    border-radius:48% 48% 14px 14px;
    box-shadow:8px 8px 0 var(--ink);
    transform:rotate(2deg);
}
.stage img {
    width:65%;
    max-height:330px;
    object-fit:contain;
    image-rendering:pixelated;
    transform:rotate(-6deg);
}
.stage-label {
    position:absolute;
    bottom:22px;
    left:22px;
    background:white;
    border:2px solid var(--ink);
    border-radius:8px;
    padding:8px 14px;
    font:20px "Action Man",sans-serif;
    transform:rotate(-4deg);
}
.availability {
    font-size:13px;
    color:var(--muted);
    margin-top:22px!important;
}
.strip {
    display:flex;
    gap:24px;
    justify-content:space-between;
    flex-wrap:wrap;
    padding:22px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    font-size:14px;
    font-weight:700;
}
.section {
    padding:48px 0;
}
.section h2 {
    font-family:"Action Man",sans-serif;
    font-size:36px;
    margin-top:10px;
}
.games {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    margin-top:30px;
    border-top:2px solid var(--ink);
}
.game {
    padding:24px 20px 22px 0;
    border-bottom:1px solid var(--line);
}
.game small {
    color:var(--accent-dark);
    font-weight:800;
}
.game h3 {
    margin:8px 0;
}
.game p {
    font-size:14px;
    color:var(--muted);
}
.community {
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:56px;
    align-items:center;
    background:#edf4e3;
    border-radius:18px;
    padding:40px;
}
.meme {
    max-width:300px;
    width:100%;
    margin:auto;
    background:white;
    border:2px solid var(--ink);
    box-shadow:5px 5px 0 var(--ink);
    border-radius:12px;
    padding:24px;
    text-align:center;
    transform:rotate(-3deg);
}
.meme p {
    font:24px "Action Man",sans-serif;
}
.meme img {
    height:160px;
    image-rendering:pixelated;
}
.meme small {
    font-size:11px;
}
.help-row {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center;
}
.help-row p {
    max-width:620px;
}
.help-row h2 {
    margin:0;
}
@media(max-width:700px) {
    .shell {
        padding:0 20px;
    }
    .site-header {
        padding:20px 0;
        gap:18px;
    }
    nav {
        gap:14px;
    }
    .hero {
        grid-template-columns:1fr;
        padding:40px 0;
        gap:32px;
    }
    .hero h1 {
        font-size:54px;
    }
    .stage {
        min-height:300px;
        max-width:370px;
        width:90%;
        margin:0 auto;
    }
    .stage img {
        max-height:260px;
    }
    .games {
        grid-template-columns:repeat(2,1fr);
    }
    .community {
        grid-template-columns:1fr;
        padding:28px 22px;
        gap:35px;
    }
    .help-row {
        display:block;
    }
    .strip {
        gap:12px;
        font-size:12px;
    }
    .page {
        margin-top:32px;
    }
    .section {
        padding:36px 0;
    }
    footer {
        margin-top:44px;
        gap:16px;
    }
    footer .signature {
        width:100%;
    }
}
