:root{--game-table:#17130f;--game-table-raised:#211b16;--game-paper:#fff4d8;--game-paper-deep:#eedfba;--game-ink:#17130f;--game-ink-soft:#655b4d;--hoppra-coral:#f45b69;--hoppra-coral-dark:#d63f50;--hoppra-cyan:#6dc6dd;--hoppra-yellow:#f4c84b;--hoppra-mint:#9bdd73;--game-border:3px solid var(--game-ink);--game-shadow:8px 8px 0 #00000057;--paper-shadow:8px 8px 0 var(--hoppra-coral);--font-display-fallback:"Arial Narrow", "Roboto Condensed", sans-serif}html{background:var(--game-table)}body{background:var(--game-table);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;overflow-x:hidden}h1,h2,h3,.logo__type,.primary-button,.secondary-button,.category-badge{font-family:var(--font-display), var(--font-display-fallback)}.primary-button,.secondary-button,.quiet-button,.text-button,.peek-button,.icon-button,.help-button,.effects-toggle,.language-switch__option,.choice-row button,.category-choices>button,.guesser-list button{touch-action:manipulation}.primary-button,.secondary-button{letter-spacing:.015em;border-style:solid;border-width:2px;border-radius:10px;font-size:1.05rem;font-weight:900;box-shadow:0 4px #00000047}.primary-button{color:var(--game-ink);background:var(--hoppra-coral);border-color:var(--game-ink)}.primary-button:hover:not(:disabled){background:#ff7180}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #00000047}.secondary-button{color:var(--game-ink);background:var(--game-paper);border-color:var(--game-ink)}.secondary-button:hover:not(:disabled){background:var(--game-paper-deep)}.primary-button:disabled{color:#82786c;box-shadow:none;background:#d7cbae;border-color:#82786c}.setup-page,.game-page,.game-over-page,.handoff-screen,.reveal-screen,.loading-screen{isolation:isolate;background-color:var(--game-table);background-image:linear-gradient(27deg,#ffffff05 1px,#0000 1px),linear-gradient(117deg,#ffffff03 1px,#0000 1px);background-size:22px 22px,31px 31px;position:relative}.setup-page:before,.game-page:before,.game-over-page:before,.handoff-screen:before,.reveal-screen:before,.loading-screen:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0,#f45b6914,#0000 42%),linear-gradient(90deg,#0000 0 4%,#ffffff03 4% 4.2%,#0000 4.2% 96%,#ffffff03 96% 96.2%,#0000 96.2%);position:fixed;inset:0}[data-pack-surface]{--pack-surface:var(--game-paper);--pack-surface-raised:#fff9e9;--pack-line:var(--game-ink);--pack-shadow:var(--pack-accent);--pack-stage-radius:16px;--pack-control-radius:10px}[data-pack-surface=arcade]{--pack-stage-radius:16px;--pack-control-radius:10px}.logo{color:var(--game-paper)}.logo__type{letter-spacing:.015em;text-transform:uppercase;font-weight:900}.logo__type>span{color:var(--hoppra-coral)}.logo__bubble{fill:var(--hoppra-coral)}.topbar,.game-topbar{z-index:2;border-bottom:2px solid #fff4d838;position:relative}.topbar:after,.game-topbar:after{content:"";background:var(--hoppra-coral);width:min(150px,35vw);height:2px;position:absolute;bottom:-2px;left:0}.effects-settings,.language-switch{background:var(--game-table-raised);border:1px solid #fff4d838}.effects-toggle[aria-pressed=true],.language-switch__option[aria-pressed=true]{color:var(--game-ink);background:var(--game-paper)}.help-button:hover,.icon-button:hover{background:#fff4d81a}.setup-layout{grid-template-columns:minmax(300px,390px) minmax(560px,630px);gap:clamp(40px,5vw,72px);margin-top:48px}.setup-intro{padding-top:10px}.setup-tagline{width:fit-content;color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);box-shadow:3px 3px 0 var(--hoppra-coral);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;padding:5px 10px 4px;font-size:.9rem;font-weight:900;transform:rotate(-1deg)}.setup-intro h1{max-width:10ch;color:var(--game-paper);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(3.25rem,7vw,5.8rem);font-weight:900;line-height:.88}.setup-subtitle{color:#d7c9b7;max-width:44ch;margin-top:22px;font-size:1rem;font-weight:600}.setup-pack-art{background:var(--game-paper);border:var(--game-border);width:min(100%,390px);box-shadow:8px 8px 0 var(--pack-accent);border-radius:14px;margin-block:28px 34px;position:relative;transform:rotate(-1deg)}.setup-pack-art:after{content:"";pointer-events:none;border:1px dashed #17130f47;border-radius:8px;position:absolute;inset:8px}.rules-list{width:min(100%,390px);color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:6px 6px 0 var(--hoppra-cyan);margin-top:34px;padding:20px;transform:rotate(.6deg)}.rules-list summary{border-bottom:3px solid var(--game-ink);cursor:pointer;font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.035em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;padding-bottom:8px;font-size:1.45rem;font-weight:900;list-style:none;display:grid}.rules-list summary::-webkit-details-marker{display:none}.rules-list summary:after{content:"+";width:28px;height:28px;color:var(--game-paper);background:var(--game-ink);border-radius:50%;place-items:center;line-height:1;display:grid}.rules-list[open] summary{margin-bottom:16px}.rules-list[open] summary:after{content:"−"}.rules-list li{color:var(--game-ink-soft);font-weight:700}.rules-list li>span{color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);border-radius:4px;font-size:.9rem}.setup-form{width:100%;min-width:0;max-width:100%;color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--hoppra-coral);--ink:var(--game-ink);--muted:var(--game-ink-soft);--subtle:#817665;--line:#2e281f;--surface:var(--game-paper);--surface-raised:#f3e6c7;--surface-soft:#e7d6ae;--accent:var(--hoppra-coral);--accent-soft:#ffd9d7;border-radius:18px;overflow:hidden}.setup-form:before{content:"HOPPRA!";color:var(--game-paper);background:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.12em;border-radius:13px 13px 0 0;padding:8px 22px 7px;font-size:.9rem;font-weight:900;display:block}.form-section{border-bottom:2px dashed #17130f40;padding:26px}.setup-options{border-bottom:2px dashed #17130f40}.setup-options>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:12px;min-height:78px;padding:16px 26px;list-style:none;display:grid}.setup-options>summary::-webkit-details-marker{display:none}.setup-options>summary>span{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.025em;text-transform:uppercase;font-size:1.4rem;font-weight:900}.setup-options>summary>small{color:var(--game-ink-soft);font-size:.82rem;font-weight:800}.setup-options>summary:after{content:"+";width:32px;height:32px;color:var(--game-paper);border:2px solid var(--game-ink);background:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);border-radius:50%;place-items:center;font-size:1.35rem;line-height:1;display:grid}.setup-options[open]>summary{border-bottom:2px solid var(--game-ink)}.setup-options[open]>summary:after{content:"−"}.setup-options__body>.form-section:last-child{border-bottom:0}.form-section-heading h2,.section-heading h2,.pack-picker__title{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.025em;text-transform:uppercase;font-size:1.4rem;font-weight:900}.section-icon{color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);border-radius:6px}.section-heading>strong{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);font-size:1.2rem}.player-field{border:2px solid var(--game-ink);background:#fff9e9;border-radius:8px;box-shadow:3px 3px #17130f24}.player-field:focus-within{border-color:var(--hoppra-coral-dark);box-shadow:3px 3px 0 var(--hoppra-coral)}.player-field input,.player-field input::placeholder{color:var(--game-ink)}.segmented-grid label>span,.choice-row button,.category-choices>button{color:var(--game-ink-soft);border:2px solid var(--game-ink);background:#fff9e9;border-radius:8px;box-shadow:3px 3px #17130f24}.segmented-grid input:checked+span,.choice-row button[aria-pressed=true]{color:var(--game-ink);background:var(--hoppra-yellow);border-color:var(--game-ink);box-shadow:4px 4px 0 var(--hoppra-coral)}.category-choices>button[aria-pressed=true]{color:var(--game-ink);background:color-mix(in srgb, var(--category) 34%, var(--game-paper));border-color:var(--game-ink);box-shadow:4px 4px 0 var(--category)}.selection-summary{color:var(--game-ink-soft);font-weight:700}.start-area{background:#eadbb8;border-radius:0 0 14px 14px;padding:26px}.start-area .primary-button{text-transform:uppercase;min-height:62px;font-size:1.35rem}.pack-picker__empty{color:var(--game-ink-soft);margin-top:12px}.pack-picker{min-width:0}.pack-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.pack-card{min-width:0;min-height:100%;color:var(--game-ink);border:3px solid var(--game-ink);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);background:#fff9e9;border-radius:14px;flex-direction:column;padding:10px;display:flex;position:relative;transform:rotate(-.35deg);box-shadow:6px 6px #17130f38}.pack-card:nth-child(2n){transform:rotate(.45deg)}.pack-card:before{content:"";z-index:1;background:var(--pack-card-accent);border-radius:4px;height:7px;position:absolute;inset:7px 7px auto}.pack-card[data-selected=true]{box-shadow:8px 8px 0 var(--pack-card-accent);transform:translateY(-3px)rotate(0)}.pack-card__art{background:var(--game-paper);border:2px solid var(--game-ink);border-radius:8px;margin:8px 0 10px;position:relative;overflow:hidden}.pack-card__art svg{width:100%;height:auto;display:block}.pack-card__copy{flex:1;padding:0 3px}.pack-card__audience{width:fit-content;color:var(--game-ink);background:var(--game-paper-deep);border:1px solid var(--game-ink);border-radius:999px;margin-bottom:6px;padding:2px 7px;font-size:.73rem;font-weight:800}.pack-card h3{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.015em;text-transform:uppercase;font-size:1.3rem;font-weight:900;line-height:1}.pack-card__description{-webkit-line-clamp:3;color:var(--game-ink-soft);-webkit-box-orient:vertical;margin-top:6px;font-size:.84rem;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.pack-card__action{width:100%;min-height:44px;margin-top:10px}.pack-card[data-selected=true] .pack-card__action{color:var(--game-ink);background:var(--pack-card-accent)}.category-badge{min-height:32px;color:var(--game-ink);background:color-mix(in srgb, var(--category) 54%, var(--game-paper));border:2px solid var(--game-ink);letter-spacing:.035em;text-transform:uppercase;border-radius:999px;padding-inline:10px;font-size:.84rem;font-weight:900}.category-line>p{color:inherit;opacity:.68;font-weight:700}.handoff-screen,.reveal-screen{color:var(--game-paper);background-color:var(--game-table);background-image:var(--pack-pattern), linear-gradient(27deg, #ffffff04 1px, transparent 1px);background-size:var(--pack-pattern-size), 22px 22px}.handoff-content,.reveal-content{width:min(100%,620px);color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--pack-accent);text-align:center;border-radius:18px;padding:clamp(24px,6vw,48px);position:relative}.handoff-content:before,.reveal-content:before{content:"";pointer-events:none;border:2px dashed #17130f3d;border-radius:11px;position:absolute;inset:10px}.handoff-content:after,.reveal-content:after{content:"";background:var(--pack-accent);border:2px solid var(--game-ink);width:112px;height:13px;position:absolute;top:0;left:50%;transform:translate(-50%,-7px)}.handoff-pack-art,.reveal-pack-art{z-index:1;border:2px solid var(--game-ink);width:min(100%,230px);box-shadow:5px 5px 0 var(--pack-accent);background:#fff9e9;border-radius:8px;margin-bottom:22px;position:relative}.reveal-pack-art{width:min(100%,190px)}.privacy-label{z-index:1;color:var(--game-ink-soft);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;font-weight:900;position:relative}.round-progress{z-index:1;color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.06em;text-transform:uppercase;font-size:1rem;position:relative}.handoff-content h1{z-index:1;color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.015em;text-transform:uppercase;font-size:clamp(2.8rem,10vw,5.4rem);font-weight:900;line-height:.9;position:relative}.handoff-content>p:not(.round-progress){z-index:1;color:var(--game-ink-soft);font-weight:700;position:relative}.handoff-content .primary-button,.reveal-content .primary-button{z-index:1;position:relative}.reveal-screen,.reveal-screen[data-pack-surface=broadcast],.reveal-screen[data-pack-surface=arcade]{color:var(--game-paper);background-color:var(--game-table)}.reveal-content .category-badge{z-index:1;color:var(--game-ink);background:color-mix(in srgb, var(--category) 54%, var(--game-paper));position:relative}.reveal-content>p:first-of-type{z-index:1;color:var(--game-ink-soft);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.08em;text-transform:uppercase;margin-top:26px;font-weight:900;position:relative}.reveal-content h1,.reveal-screen[data-pack-surface=cinema] .reveal-content h1,.reveal-screen[data-pack-surface=broadcast] .reveal-content h1,.reveal-screen[data-pack-surface=arcade] .reveal-content h1{z-index:1;overflow-wrap:break-word;color:var(--game-ink);border:0;border-block:4px solid var(--game-ink);box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--pack-accent) 42%, transparent);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.025em;text-transform:uppercase;background:0 0;border-radius:0;margin-block:14px;padding:16px 12px;font-size:clamp(3rem,12vw,6rem);font-weight:900;line-height:.9;position:relative}.reveal-screen[data-pack-surface=arcade] .reveal-content h1{box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--pack-accent) 50%, transparent)}.reveal-content .category-instruction{z-index:1;color:var(--game-ink-soft);margin-bottom:24px;font-weight:700;position:relative}.word-assist{z-index:1;position:relative}.word-assist__toggle{color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);border-radius:8px;box-shadow:3px 3px #17130f3d}.word-assist__details{color:var(--game-ink);border:2px solid var(--game-ink);box-shadow:5px 5px 0 var(--pack-accent);background:#fff9e9;border-radius:10px}.reveal-content .primary-button--inverse:not(:disabled){min-height:58px;color:var(--game-ink);background:var(--hoppra-coral);border-color:var(--game-ink);transition:transform .16s var(--ease-out)}.game-page{background-color:var(--game-table);background-image:linear-gradient(27deg,#ffffff05 1px,#0000 1px),linear-gradient(117deg,#ffffff03 1px,#0000 1px);background-size:22px 22px,31px 31px}.game-topbar{color:#d7c9b7;border-bottom-color:#fff4d838}.game-topbar__meta>span{color:#d7c9b7;font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.04em;text-transform:uppercase;font-size:1rem}.play-layout,.result-layout{align-items:start}.play-stage,.result-stage{min-height:calc(100dvh - 144px);color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--pack-accent);border-radius:18px}.play-stage:before,.result-stage:before,[data-pack-surface=cinema] .play-stage:before,[data-pack-surface=cinema] .result-stage:before,[data-pack-surface=broadcast] .play-stage:before,[data-pack-surface=broadcast] .result-stage:before,[data-pack-surface=arcade] .play-stage:before,[data-pack-surface=arcade] .result-stage:before{background:repeating-linear-gradient(90deg, var(--hoppra-coral) 0 24px, var(--game-ink) 24px 30px, var(--pack-accent) 30px 50px, var(--game-ink) 50px 56px);height:12px;box-shadow:none}.play-stage:after,.result-stage:after{content:"";pointer-events:none;border:1px dashed #17130f33;border-radius:10px;position:absolute;inset:22px}.play-stage>*,.result-stage>*{z-index:1;position:relative}.play-stage h1{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:0;text-transform:uppercase;margin-top:18px;font-size:clamp(2.2rem,5vw,3.7rem);font-weight:900;line-height:.95}.play-stage>.category-line>p{color:var(--game-ink-soft)}.timer-dial{--timer-color:var(--hoppra-coral);background:conic-gradient(var(--timer-color) var(--timer-progress), #cdbf9f 0);border:4px solid var(--game-ink);width:clamp(188px,32vw,246px);box-shadow:0 0 0 7px var(--game-paper), 0 0 0 10px var(--game-ink), 8px 10px 0 var(--pack-accent);border-radius:50%;margin-block:clamp(24px,4vh,38px);position:relative}.timer-dial:before{content:"";background:var(--game-ink);border-radius:8px 8px 2px 2px;width:50px;height:24px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.timer-dial>div{width:calc(100% - 18px);color:var(--game-paper);background:var(--game-ink);border:2px solid var(--game-ink)}.timer-dial strong{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.025em;font-size:clamp(4.8rem,11vw,7rem);font-weight:900}.timer-dial span{color:#d7c9b7;font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.08em;text-transform:uppercase;font-size:.9rem}.prompt-ticket{grid-template-columns:minmax(0,1fr) 64px;gap:10px;width:min(100%,560px)}.active-task-card,.peek-button,[data-pack-surface=arcade] .active-task-card,[data-pack-surface=arcade] .peek-button{color:var(--game-ink);border:3px solid var(--game-ink);box-shadow:5px 5px 0 var(--pack-accent);background:#fff9e9;border-radius:10px}.active-task-card:after,[data-pack-surface=broadcast] .active-task-card:after,[data-pack-surface=arcade] .active-task-card:after{border:0;border-left:3px dotted var(--pack-accent);width:auto;box-shadow:none;background:0 0;inset:7px auto 7px 8px}[data-pack-surface=cinema] .active-task-card:before{border-color:var(--pack-accent)}.active-task-card p,.active-task-card[data-revealed=true] p{color:var(--game-ink)}.active-task-card p{font-weight:800}.active-task-card[data-revealed=true]{border-color:var(--game-ink)}.active-task-card[data-revealed=true] p{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:0;text-transform:uppercase}[data-pack-surface=arcade] .active-task-card p{text-transform:none;font-family:ui-monospace,Cascadia Code,monospace}.peek-button[aria-pressed=true]{color:var(--game-ink);background:var(--hoppra-yellow);border-color:var(--game-ink)}.play-actions{margin-top:26px}.play-actions .primary-button{background:var(--hoppra-mint)}.play-actions .secondary-button{color:var(--game-paper);background:var(--game-ink);border-color:var(--game-ink)}.scoreboard,.game-page[data-pack-surface] .scoreboard{min-width:0;color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:7px 7px 0 var(--hoppra-cyan);border-radius:12px;padding:24px 20px;position:relative;transform:rotate(.45deg)}.scoreboard:before{content:"";pointer-events:none;border-left:2px solid #f45b697a;position:absolute;top:14px;bottom:14px;left:42px}.scoreboard h2{border-bottom:3px solid var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;padding-bottom:10px;font-size:1.45rem;font-weight:900}.scoreboard ol{gap:0}.scoreboard li{border-bottom:1px solid #17130f42;min-height:54px;padding-left:4px}.scoreboard__rank{color:var(--game-ink-soft);font-family:var(--font-display), var(--font-display-fallback);font-size:1rem}.scoreboard__name{color:var(--game-ink);font-weight:800}.scoreboard strong{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);font-size:1.25rem}.scoreboard strong span{color:var(--game-ink-soft)}.scoring-dialog,.game-page[data-pack-surface] .scoring-dialog{color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--hoppra-coral);border-radius:14px;padding:26px}.scoring-dialog:before{content:"";pointer-events:none;border:1px dashed #17130f3d;border-radius:8px;position:absolute;inset:10px}.dialog-heading,.guesser-list,.scoring-dialog>.secondary-button{z-index:1;position:relative}.dialog-icon{color:var(--game-ink);background:var(--hoppra-mint);border:2px solid var(--game-ink);border-radius:6px}.dialog-heading h2{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);text-transform:uppercase;font-size:1.8rem;font-weight:900}.dialog-heading p{color:var(--game-ink-soft)}.guesser-list button{color:var(--game-ink);border:2px solid var(--game-ink);background:#fff9e9;border-radius:8px;box-shadow:3px 3px #17130f29}.guesser-list button:hover{background:var(--hoppra-yellow);border-color:var(--game-ink)}.guesser-list button strong{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);font-size:1.2rem}.result-stage{justify-content:flex-start}.result-status,.game-page[data-pack-surface] .result-status{color:var(--game-ink);background:var(--game-paper-deep);border:3px solid var(--game-ink);box-shadow:5px 5px 0 var(--pack-accent);border-radius:8px;transform:rotate(-3deg)}.result-status[data-success=true]{color:var(--game-ink);background:var(--hoppra-mint)}.result-stage h1{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(3rem,8vw,5.4rem);font-weight:900;line-height:.9}.result-word{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);text-transform:uppercase;font-size:1.7rem;font-weight:900}.points-awarded{border-block:3px solid var(--game-ink)}.points-awarded>div+div{border-left-color:var(--game-ink)}.points-awarded span,.next-player>span{color:var(--game-ink-soft)}.result-stage .quiet-button{color:var(--game-ink-soft);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.result-stage .quiet-button:hover{color:var(--game-ink)}.points-awarded b{color:#266f3a;font-family:var(--font-display), var(--font-display-fallback);font-size:1.4rem}.game-over-page{background-color:var(--game-table);align-items:start;width:min(100%,1080px)}.winner-panel{color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--pack-accent);border-radius:18px;position:relative;overflow:hidden}.winner-panel:before{content:"";pointer-events:none;border:2px dashed #17130f38;border-radius:10px;position:absolute;inset:12px}.winner-panel:after{content:"HOPPRA!";width:220px;color:var(--game-paper);background:var(--hoppra-coral);border-block:2px solid var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.08em;text-align:center;padding:6px 0;font-size:.86rem;font-weight:900;position:absolute;top:20px;left:-55px;transform:rotate(-38deg)}.winner-panel>*{z-index:1;position:relative}.winner-pack-art{border:2px solid var(--game-ink);width:min(100%,360px);box-shadow:6px 6px 0 var(--pack-accent);background:#fff9e9;border-radius:9px}.winner-icon{color:var(--game-ink);background:var(--hoppra-yellow);border:3px solid var(--game-ink);box-shadow:5px 5px 0 var(--hoppra-coral);border-radius:8px;transform:rotate(-4deg)}.winner-panel>p{color:var(--game-ink-soft);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.08em;text-transform:uppercase;font-weight:900}.winner-panel h1{color:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(3.3rem,8vw,6.5rem);font-weight:900;line-height:.84}.winner-panel>span:not(.winner-icon){color:var(--game-ink-soft);font-weight:700}.recap-sheet{color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:9px 9px 0 var(--hoppra-cyan);border-radius:14px;padding:clamp(22px,4vw,34px);position:relative}.recap-sheet:before{content:"";pointer-events:none;border:1px dashed #17130f3b;border-radius:8px;position:absolute;inset:10px}.recap-sheet>*{z-index:1;position:relative}.recap-sheet__header{border-bottom:4px solid var(--game-ink);padding-bottom:16px}.recap-sheet__header>p{color:var(--hoppra-coral-dark);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.08em;text-transform:uppercase;font-weight:900}.recap-sheet__header h2{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.015em;text-transform:uppercase;margin-top:4px;font-size:clamp(2.5rem,7vw,4.8rem);font-weight:900;line-height:.9}.recap-stats{border:3px solid var(--game-ink);grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;display:grid}.recap-stats>div{text-align:center;min-width:0;padding:12px 8px}.recap-stats>div+div{border-left:2px solid var(--game-ink)}.recap-stats dt{color:var(--game-ink-soft);font-size:.76rem;font-weight:800}.recap-stats dd{font-family:var(--font-display), var(--font-display-fallback);margin:2px 0 0;font-size:2rem;font-weight:900;line-height:1}.recap-awards,.recap-standings{margin-top:28px}.recap-awards h3,.recap-standings h3{font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:1.5rem;font-weight:900}.recap-awards dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;display:grid}.recap-awards dl>div{border:2px solid var(--game-ink);box-shadow:4px 4px 0 var(--hoppra-yellow);background:#fff9e9;padding:14px}.recap-awards dt{font-weight:900}.recap-awards dd{color:var(--game-ink-soft);margin:4px 0 0;font-size:.88rem;font-weight:650}.recap-standings ol{margin:12px 0 0;padding:0;list-style:none}.recap-standings li{border-bottom:1px solid #17130f4d;justify-content:space-between;align-items:center;gap:16px;min-height:50px;padding:10px 4px;display:flex}.recap-standings li>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:850;overflow:hidden}.recap-standings strong{font-family:var(--font-display), var(--font-display-fallback);white-space:nowrap;font-size:1.4rem}.recap-standings small{color:var(--game-ink-soft);font-family:var(--font-body), sans-serif;font-size:.72rem}.recap-sheet__actions{border-top:3px solid var(--game-ink);margin-top:24px;padding-top:18px}.recap-share-actions{flex-wrap:wrap;gap:10px;display:flex}.recap-share-actions p{color:#9b2537;flex-basis:100%;font-weight:800}.howto-dialog{color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--hoppra-coral);--ink:var(--game-ink);--muted:var(--game-ink-soft);--surface:var(--game-paper);--surface-raised:#fff9e9;--surface-soft:var(--game-paper-deep);--line:var(--game-ink);border-radius:14px}.howto-steps li,.howto-visual{border:2px solid var(--game-ink);background:#fff9e9;border-radius:8px}.howto-steps li>div>span,.howto-visual__detail,.howto-visual__modes{color:var(--game-ink);background:var(--hoppra-yellow);border:1px solid var(--game-ink);border-radius:5px}@media (max-width:980px){.setup-layout{grid-template-columns:1fr;margin-top:34px}.setup-intro{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);align-items:end;gap:20px 28px;display:grid;position:static}.setup-tagline,.setup-intro h1,.setup-subtitle{grid-column:1}.setup-pack-art{grid-area:1/2/span 3;margin:0}.rules-list{grid-column:1/-1;width:100%}.play-stage,.result-stage{min-height:auto}.scoreboard{transform:none}.scoreboard ol{grid-template-columns:repeat(2,minmax(0,1fr))}.game-over-page{grid-template-columns:1fr}}@media (max-width:700px){.setup-page,.game-page,.game-over-page{padding-inline:14px}.setup-intro{display:block}.setup-intro h1{max-width:11ch;font-size:clamp(3.15rem,16vw,5.2rem)}.setup-pack-art{width:100%;margin-block:26px 0}.rules-list{margin-top:28px}.setup-form{box-shadow:7px 7px 0 var(--hoppra-coral);border-radius:14px}.form-section{padding:22px 16px}.pack-picker__grid{scroll-snap-type:x mandatory;scrollbar-color:var(--game-ink) transparent;scrollbar-width:thin;gap:14px;width:auto;max-width:calc(100% + 32px);margin-inline:-16px;padding:2px 16px 12px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.pack-card,.pack-card:nth-child(2n),.pack-card:last-child:nth-child(odd){scroll-snap-align:start;flex:0 0 min(78vw,300px);display:flex;transform:none}.pack-card:last-child:nth-child(odd) .pack-card__art{margin-bottom:16px}.handoff-screen,.reveal-screen{padding-inline:14px}.handoff-content,.reveal-content{box-shadow:7px 7px 0 var(--pack-accent);border-radius:14px;padding:28px 18px}.handoff-pack-art{width:min(100%,220px)}.reveal-pack-art{width:min(100%,160px)}.reveal-content h1,.reveal-screen[data-pack-surface=cinema] .reveal-content h1,.reveal-screen[data-pack-surface=broadcast] .reveal-content h1,.reveal-screen[data-pack-surface=arcade] .reveal-content h1{font-size:clamp(2.8rem,14vw,4.8rem)}.game-topbar{padding-inline:2px}.play-stage,.result-stage{box-shadow:7px 7px 0 var(--pack-accent);padding:30px 16px 24px}.play-stage:after,.result-stage:after{inset:17px 10px 10px}.play-stage h1{font-size:clamp(2.15rem,11vw,3.25rem)}.timer-dial{width:min(52vw,188px);margin-block:28px}.timer-dial strong{font-size:clamp(4.2rem,20vw,5.7rem)}.play-actions{grid-template-columns:1fr .75fr}.scoreboard ol,.points-awarded{grid-template-columns:1fr}.points-awarded>div+div{border-top:2px solid var(--game-ink);border-left:0}.winner-panel{min-height:auto;box-shadow:7px 7px 0 var(--pack-accent);padding:34px 20px}.winner-panel h1{font-size:clamp(3.1rem,15vw,5.2rem)}.recap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-stats>div:nth-child(3){border-left:0}.recap-stats>div:nth-child(n+3){border-top:2px solid var(--game-ink)}.recap-awards dl{grid-template-columns:1fr}}@media (max-width:390px){.topbar-actions{gap:1px}.setup-form:before{font-size:.78rem}.play-actions{grid-template-columns:1fr}.prompt-ticket{grid-template-columns:minmax(0,1fr) 58px}.peek-button{width:58px;min-width:58px}}@media (prefers-reduced-motion:reduce){.pack-card,.pack-card:nth-child(2n),.winner-icon,.result-status{transform:none}}.pack-identity{width:fit-content;max-width:100%;color:var(--game-ink);border:2px solid var(--game-ink);border-radius:var(--pack-control-radius);background:var(--game-paper);box-shadow:3px 3px 0 var(--pack-secondary);align-items:center;gap:8px;margin:0;padding:6px 10px;line-height:1;display:inline-flex;transform:rotate(-.7deg)}.pack-identity>span{border:1px solid var(--game-ink);background:var(--pack-accent);border-radius:50%;flex:none;width:9px;height:9px}.pack-identity small,.pack-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pack-identity small{color:var(--game-ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.pack-identity strong{font-family:var(--font-display), var(--font-display-fallback);text-transform:uppercase;font-size:.95rem;font-weight:900}.pack-identity[data-compact=true]{max-width:min(34vw,230px);box-shadow:2px 2px 0 var(--pack-secondary);padding:5px 8px;transform:none}.setup-intro>.pack-identity,.handoff-content>.pack-identity,.reveal-content>.pack-identity,.result-stage>.pack-identity,.winner-panel>.pack-identity{margin-inline:auto}.setup-form,.play-stage,.result-stage,.winner-panel{border-radius:var(--pack-stage-radius)}.setup-form:before{color:var(--game-ink);background:linear-gradient(90deg, var(--pack-accent) 0 68%, var(--pack-secondary) 68%)}.play-stage:before,.result-stage:before,[data-pack-surface=cinema] .play-stage:before,[data-pack-surface=cinema] .result-stage:before,[data-pack-surface=broadcast] .play-stage:before,[data-pack-surface=broadcast] .result-stage:before,[data-pack-surface=arcade] .play-stage:before,[data-pack-surface=arcade] .result-stage:before{background:repeating-linear-gradient(90deg, var(--pack-accent) 0 34px, var(--pack-secondary) 34px 68px, var(--game-ink) 68px 72px)}.prompt-ticket,.scoreboard,.scoring-dialog{border-radius:var(--pack-control-radius)}.scoreboard:before{background:var(--pack-secondary)}[data-pack-theme=summit] .play-stage,[data-pack-theme=summit] .result-stage{background-image:repeating-linear-gradient(135deg, transparent 0 30px, color-mix(in srgb, var(--pack-accent) 12%, transparent) 30px 32px)}[data-pack-theme=city] .play-stage,[data-pack-theme=city] .result-stage{background-image:linear-gradient(color-mix(in srgb, var(--pack-accent) 11%, transparent) 2px, transparent 2px), linear-gradient(90deg, color-mix(in srgb, var(--pack-accent) 11%, transparent) 2px, transparent 2px);background-size:var(--pack-pattern-size) var(--pack-pattern-size)}[data-pack-theme=cinema] .prompt-ticket{box-shadow:6px 6px 0 var(--pack-secondary);border-style:dashed}[data-pack-theme=broadcast] .play-stage,[data-pack-theme=broadcast] .result-stage{background-image:repeating-linear-gradient(0deg, transparent 0 calc(var(--pack-pattern-size) - 1px), color-mix(in srgb, var(--pack-accent) 12%, transparent) calc(var(--pack-pattern-size) - 1px) var(--pack-pattern-size))}[data-pack-theme=arcade] .play-stage,[data-pack-theme=arcade] .result-stage{background-image:linear-gradient(45deg, color-mix(in srgb, var(--pack-accent) 12%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--pack-secondary) 12%, transparent) 25%, transparent 25%);background-size:var(--pack-pattern-size) var(--pack-pattern-size)}[data-pack-theme=arcade] .active-task-card,[data-pack-theme=arcade] .result-word{font-family:ui-monospace,Cascadia Mono,Courier New,monospace}.setup-form :is(button,input):focus-visible,.play-stage :is(button,input):focus-visible,.result-stage :is(button,input):focus-visible,.winner-panel :is(button,input):focus-visible,.scoreboard :is(button,input):focus-visible{outline-color:var(--game-ink);box-shadow:0 0 0 3px var(--game-paper), 0 0 0 6px var(--game-ink)}.player-field input::placeholder{opacity:.72}@media (max-width:700px){.game-topbar{grid-template-columns:auto minmax(0,1fr);gap:6px 10px;padding-block:8px;display:grid}.game-topbar__meta{justify-self:end;min-width:0}.game-topbar>.pack-identity{grid-column:1/-1;max-width:min(100%,230px)}}.offline-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:var(--game-table);place-items:center;display:grid}.offline-card{width:min(100%,620px);color:var(--game-ink);border:3px solid var(--game-ink);background:var(--game-paper);box-shadow:9px 9px 0 var(--hoppra-yellow);text-align:center;border-radius:14px;padding:clamp(28px,6vw,52px)}.offline-card h1{font-family:var(--font-display), var(--font-display-fallback);text-transform:uppercase;margin-block:12px;font-size:clamp(3rem,11vw,5.5rem);line-height:.9}.offline-card>p:not(.setup-tagline){max-width:44ch;margin-inline:auto}.offline-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.pwa-update{z-index:1000;right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));left:max(14px, env(safe-area-inset-left));max-width:640px;color:var(--game-ink);border:2px solid var(--game-ink);background:var(--game-paper);box-shadow:5px 5px 0 var(--hoppra-cyan);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-inline:auto;padding:12px;display:grid;position:fixed}.pwa-update p{margin:0;font-weight:800}.pwa-update button{border:2px solid var(--game-ink);background:var(--hoppra-yellow);border-radius:6px;min-height:40px;padding-inline:12px;font-weight:900}.play-layout--focused{grid-template-columns:minmax(0,780px);justify-content:center;gap:16px;margin-top:20px}.play-layout--focused .play-stage{min-height:auto;padding:30px clamp(22px,5vw,44px) 28px}.play-stage>.pack-identity{color:var(--game-ink-soft);box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto 16px;padding:0;transform:none}.play-stage>.pack-identity>span{border:0;border-radius:2px}.play-layout--focused .play-stage h1{margin-top:14px;font-size:clamp(2rem,5vw,3.25rem)}.play-layout--focused .timer-dial{width:clamp(176px,27vw,220px);margin-block:clamp(18px,3.5vh,28px)}.play-layout--focused .timer-dial strong{font-size:clamp(4rem,9vw,5.7rem)}.play-layout--focused .play-actions{margin-top:20px}.scoreboard--collapsible,.game-page[data-pack-surface] .scoreboard--collapsible{border-radius:var(--pack-control-radius);width:min(100%,680px);box-shadow:4px 4px 0 var(--pack-secondary);border-width:2px;margin-inline:auto;padding:0;transform:none}.scoreboard--collapsible:before{display:none}.scoreboard--collapsible summary{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:12px;min-height:58px;padding:10px 14px;list-style:none;display:grid}.scoreboard--collapsible summary::-webkit-details-marker{display:none}.scoreboard--collapsible summary:after{content:"+";width:30px;height:30px;color:var(--game-paper);border:2px solid var(--game-ink);background:var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);border-radius:50%;place-items:center;font-size:1.35rem;line-height:1;display:grid}.scoreboard--collapsible[open] summary:after{content:"−"}.rules-list summary:focus-visible,.setup-options>summary:focus-visible,.scoreboard--collapsible summary:focus-visible{outline:3px solid var(--game-ink);outline-offset:-5px}.scoreboard--collapsible summary h2{border:0;margin:0;padding:0;font-size:1.1rem}.scoreboard--collapsible summary p{color:var(--game-ink-soft);white-space:nowrap;align-items:baseline;gap:7px;margin:0;font-size:.76rem;display:flex}.scoreboard--collapsible summary p strong{max-width:18ch;color:var(--game-ink);text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.scoreboard--collapsible summary p span{color:var(--game-ink-soft);font-weight:800}.scoreboard__body{border-top:1px dashed #17130f52;padding:0 14px 12px}.scoreboard__body ol{grid-template-columns:repeat(2,minmax(0,1fr))}[data-pack-theme=classic]{--world-paper:#fff4d8;--world-paper-raised:#fffaf0}[data-pack-theme=summit]{--world-paper:#e5ebcf;--world-paper-raised:#f4f4df}[data-pack-theme=city]{--world-paper:#e1f1e5;--world-paper-raised:#f2fbf4}[data-pack-theme=cinema]{--world-paper:#f5dcad;--world-paper-raised:#fff0cf}[data-pack-theme=broadcast]{--world-paper:#dcecf0;--world-paper-raised:#eff9fa}[data-pack-theme=arcade]{--world-paper:#e1f2c7;--world-paper-raised:#f1ffdc}.game-page[data-pack-theme] .play-stage,.game-page[data-pack-theme] .scoreboard{background-color:var(--world-paper)}.game-page[data-pack-theme] :is(.active-task-card,.peek-button){background-color:var(--world-paper-raised)}.game-page[data-pack-theme=classic]{background-image:radial-gradient(circle at 12% 18%,#f5b6421f 0 3px,#0000 4px),radial-gradient(circle at 86% 74%,#ef5d7a1a 0 3px,#0000 4px);background-size:54px 54px,72px 72px}.game-page[data-pack-theme=summit]{background-color:#141b13;background-image:linear-gradient(135deg,#0000 0 48%,#f5b6421a 48% 49%,#0000 49%),linear-gradient(45deg,#0000 0 72%,#ef5d7a17 72% 73%,#0000 73%);background-size:76px 76px,112px 112px}.game-page[data-pack-theme=summit] .play-stage{background-image:radial-gradient(at 8% 100%,#0000 0 34%,#31452f29 35% 36%,#0000 37% 43%,#31452f1a 44% 45%,#0000 46%),radial-gradient(at 92% 0,#0000 0 26%,#31452f24 27% 28%,#0000 29% 35%,#31452f17 36% 37%,#0000 38%);border-radius:3px 22px;box-shadow:8px 8px #77905b}.game-page[data-pack-theme=city]{background-image:linear-gradient(#6dc6dd1a 2px,#0000 2px),linear-gradient(90deg,#9fe8701a 2px,#0000 2px);background-size:36px 36px}.game-page[data-pack-theme=city] .play-stage{background-image:linear-gradient(90deg,#0000 49%,#17130f12 49% 51%,#0000 51%),linear-gradient(#0000 49%,#17130f12 49% 51%,#0000 51%);background-size:90px 90px;border-radius:24px}.game-page[data-pack-theme=cinema]{background-image:radial-gradient(circle,#f5b64226 0 2px,#0000 2.5px);background-size:34px 34px}.game-page[data-pack-theme=cinema] .play-stage{border:5px double var(--game-ink);background-image:linear-gradient(90deg,#17130f14 0 14px,#0000 14px calc(100% - 14px),#17130f14 calc(100% - 14px));border-radius:7px}.game-page[data-pack-theme=cinema] .prompt-ticket{transform:rotate(-.5deg)}.game-page[data-pack-theme=broadcast]{background-image:repeating-linear-gradient(0deg,#0000 0 8px,#6dc6dd17 8px 9px)}.game-page[data-pack-theme=broadcast] .play-stage{box-shadow:inset 0 0 0 7px #6dc6dd2e, 8px 8px 0 var(--pack-accent);background-image:repeating-linear-gradient(0deg,#0000 0 7px,#17130f0a 7px 8px);border-width:5px;border-radius:28px}.game-page[data-pack-theme=broadcast] .active-task-card{border-radius:16px;box-shadow:inset 0 0 0 4px #6dc6dd2e}.game-page[data-pack-theme=arcade]{background-image:conic-gradient(from 90deg at 2px 2px, transparent 25%, #9fe8701a 0 50%, transparent 0 75%, #6dc6dd17 0);background-size:22px 22px}.game-page[data-pack-theme=arcade] .play-stage{box-shadow:9px 9px 0 var(--pack-accent);background-image:linear-gradient(45deg,#9fe8701f 25%,#0000 25%),linear-gradient(-45deg,#6dc6dd1a 25%,#0000 25%);background-size:18px 18px;border-width:4px;border-radius:0}.game-page[data-pack-theme=arcade] :is(.prompt-ticket,.active-task-card,.peek-button,.play-actions button){border-radius:0}.pack-card[data-pack-theme=summit]{background-color:#e5ebcf;background-image:radial-gradient(at 0 100%,#0000 0 32%,#31452f21 33% 34%,#0000 35%),repeating-linear-gradient(135deg,#0000 0 32px,#77905b1c 32px 34px);border-radius:3px 18px}.pack-card[data-pack-theme=city]{background-image:linear-gradient(#6dc6dd17 1px,#0000 1px),linear-gradient(90deg,#9fe87017 1px,#0000 1px);background-size:24px 24px;border-radius:20px}.pack-card[data-pack-theme=cinema]{border:5px double var(--game-ink);background:#f5dcad;border-radius:7px}.pack-card[data-pack-theme=cinema] .pack-card__art{border-style:dashed}.pack-card[data-pack-theme=broadcast]{background:#dcecf0;border-width:5px;border-radius:24px;box-shadow:inset 0 0 0 5px #6dc6dd29}.pack-card[data-pack-theme=arcade]{background-color:#e1f2c7;background-image:conic-gradient(from 90deg at 1px 1px, transparent 25%, #9fe87024 0 50%, transparent 0 75%, #6dc6dd1f 0);background-size:18px 18px;border-width:4px;border-radius:0}.pack-card[data-pack-theme=arcade] :is(.pack-card__art,.pack-card__action){border-radius:0}.pack-card[data-pack-theme=arcade] h3{letter-spacing:-.06em;font-family:ui-monospace,Cascadia Mono,Courier New,monospace}@media (max-width:700px){.setup-layout{gap:18px;margin-top:24px}.setup-intro h1{font-size:clamp(2.75rem,13vw,3.6rem)}.setup-subtitle{margin-top:12px}.setup-intro>.pack-identity{margin-top:14px}.setup-pack-art{width:min(100%,250px);margin:16px auto 0}.rules-list{margin-top:16px;padding:14px 16px}.rules-list summary{border-bottom:0;padding-bottom:0;font-size:1.2rem}.rules-list[open] summary{border-bottom:3px solid var(--game-ink);padding-bottom:8px}.setup-options>summary{grid-template-columns:minmax(0,1fr) 30px;min-height:70px;padding:12px 16px}.setup-options>summary>small{grid-area:2/1}.setup-options>summary:after{grid-area:1/2/span 2}.play-layout--focused{gap:12px;margin-top:14px}.play-layout--focused .play-stage{padding:22px 14px 20px}.play-layout--focused .play-stage h1{font-size:clamp(2rem,10.5vw,2.75rem)}.play-layout--focused .timer-dial{width:min(46vw,176px);margin-block:16px}.play-layout--focused .timer-dial strong{font-size:clamp(3.7rem,18vw,5rem)}.scoreboard--collapsible summary{grid-template-columns:minmax(0,1fr) auto 30px;gap:8px;padding-inline:12px}.scoreboard--collapsible summary p strong{max-width:10ch}.scoreboard__body ol{grid-template-columns:1fr}}
.brand-link{color:inherit;text-decoration:none;display:inline-flex}.home-page{isolation:isolate;min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(36px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background-color:var(--game-table);background-image:linear-gradient(27deg,#ffffff05 1px,#0000 1px),linear-gradient(117deg,#ffffff03 1px,#0000 1px);background-size:22px 22px,31px 31px;position:relative;overflow:hidden}.home-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 78% 12%,#6dc6dd1a,#0000 30%),radial-gradient(circle at 18% 34%,#f45b6914,#0000 36%);position:fixed;inset:0}.home-topbar{z-index:3;border-bottom:2px solid #fff4d838;justify-content:space-between;align-items:center;gap:18px;width:min(100%,1120px);min-height:68px;margin-inline:auto;display:flex;position:relative}.home-topbar:after{content:"";background:var(--hoppra-coral);width:min(170px,38vw);height:2px;position:absolute;bottom:-2px;left:0}.home-topbar__actions{align-items:center;gap:10px;display:flex}.home-nav-link,.home-nav-cta,.home-link-button{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.home-nav-link{color:#d7c9b7;min-height:42px;padding-inline:10px;font-weight:800}.home-nav-link:hover{color:var(--game-paper)}.home-nav-cta{min-height:42px;color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);box-shadow:3px 3px 0 var(--hoppra-coral);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.04em;text-transform:uppercase;border-radius:8px;padding-inline:15px;font-weight:900}.home-nav-cta:active,.home-link-button:active{transform:translateY(2px)}.home-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);align-items:center;gap:clamp(44px,7vw,92px);width:min(100%,1120px);min-height:min(760px,100dvh - 78px);margin-inline:auto;padding-block:clamp(48px,8vw,92px);display:grid}.home-kicker{width:fit-content;color:var(--game-ink);background:var(--hoppra-yellow);border:2px solid var(--game-ink);box-shadow:3px 3px 0 var(--hoppra-coral);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.07em;text-transform:uppercase;margin-bottom:16px;padding:6px 11px 5px;font-size:.9rem;font-weight:900;transform:rotate(-1deg)}.home-hero h1{max-width:10ch;color:var(--game-paper);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(3.8rem,8vw,6.8rem);font-weight:900;line-height:.87}.home-hero__description{color:#d7c9b7;max-width:49ch;margin-top:24px;font-size:clamp(1rem,1.8vw,1.15rem);font-weight:650}.home-hero__actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.home-link-button{white-space:nowrap;min-height:54px;padding-inline:22px}.home-hero__board{min-width:0;color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:10px 10px 0 var(--hoppra-coral);border-radius:16px;padding:18px;position:relative;transform:rotate(1.2deg)}.home-hero__board:before{content:"HOPPRA!";color:var(--game-paper);background:var(--game-ink);border:2px solid var(--game-ink);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:.12em;padding:6px 12px 5px;font-weight:900;position:absolute;top:-19px;right:22px}.home-hero__art{border:2px solid var(--game-ink);border-radius:10px;overflow:hidden}.home-hero__art svg,.home-world-card__art svg{width:100%;height:auto;display:block}.home-hero__category-strip{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.home-hero__category-strip .category-line{display:block}.home-hero__board>p{color:var(--game-ink-soft);margin-top:15px;font-weight:800}.home-section,.home-final-cta,.home-footer{width:min(100%,1120px);margin-inline:auto}.home-section{padding-block:clamp(72px,10vw,120px)}.home-section+.home-section{border-top:2px solid #fff4d82e}.home-section__heading{max-width:680px;margin-bottom:38px}.home-section__heading h2,.home-final-cta h2{color:var(--game-paper);font-family:var(--font-display), var(--font-display-fallback);letter-spacing:-.015em;text-transform:uppercase;font-size:clamp(2.65rem,6vw,4.8rem);font-weight:900;line-height:.92}.home-section__heading>p,.home-final-cta p{color:#cdbfab;max-width:58ch;margin-top:18px;font-weight:650}.home-how__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.home-how__steps li{min-width:0;color:var(--game-ink);background:var(--game-paper);border:var(--game-border);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:17px;padding:22px;display:grid;box-shadow:6px 6px #0000004d}.home-how__steps li:nth-child(2){box-shadow:6px 6px 0 var(--hoppra-cyan);transform:translateY(16px)}.home-how__steps li:nth-child(3){box-shadow:6px 6px 0 var(--hoppra-yellow)}.home-how__steps li:nth-child(4){box-shadow:6px 6px 0 var(--hoppra-coral);transform:translateY(16px)}.home-how__icon{background:var(--hoppra-yellow);border:2px solid var(--game-ink);border-radius:8px;place-items:center;width:50px;height:50px;display:grid}.home-how__steps h3,.home-category-card h3,.home-world-card h3{font-family:var(--font-display), var(--font-display-fallback);text-transform:uppercase;margin:0;font-weight:900}.home-how__steps h3{font-size:1.35rem;line-height:1}.home-how__steps p{color:var(--game-ink-soft);margin-top:8px;font-size:.93rem;font-weight:650}.home-categories__grid{grid-template-columns:1.2fr .9fr;gap:18px;display:grid}.home-category-card{min-width:0;color:var(--game-ink);background:color-mix(in srgb, var(--category) 38%, var(--game-paper));border:var(--game-border);box-shadow:7px 7px 0 var(--category);border-radius:14px;padding:clamp(24px,4vw,38px)}.home-category-card:first-child{flex-direction:column;grid-row:span 2;justify-content:flex-end;min-height:390px;display:flex}.home-category-card .category-line{justify-content:flex-start}.home-category-card h3{max-width:15ch;margin-top:28px;font-size:clamp(2rem,4vw,3.4rem);line-height:.95}.home-category-card p{max-width:43ch;color:var(--game-ink-soft);margin-top:14px;font-weight:700}.home-worlds__shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.home-world-card{min-width:0;color:var(--game-ink);background:var(--game-paper);border:var(--game-border);border-radius:12px;padding:14px 14px 20px;box-shadow:5px 5px #00000052}.home-world-card:nth-child(2n){transform:translateY(18px)rotate(.6deg)}.home-world-card__art{border:2px solid var(--game-ink);border-radius:7px;overflow:hidden}.home-world-card h3{margin-top:18px;font-size:1.5rem}.home-world-card p{color:var(--game-ink-soft);margin-top:8px;font-size:.9rem;font-weight:650}.home-final-cta{color:var(--game-ink);background:var(--game-paper);border:var(--game-border);box-shadow:9px 9px 0 var(--hoppra-coral);border-radius:16px;justify-content:space-between;align-items:center;gap:30px;margin-top:clamp(70px,10vw,120px);padding:clamp(28px,5vw,48px);display:flex}.home-final-cta h2{color:var(--game-ink)}.home-final-cta p{color:var(--game-ink-soft)}.home-final-cta .primary-button{flex:none}.home-footer{color:#a99b89;border-top:2px solid #fff4d82e;justify-content:space-between;align-items:center;gap:20px;margin-top:80px;padding-block:24px 8px;font-size:.88rem;display:flex}@media (max-width:980px){.home-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.75fr);gap:38px}.home-worlds__shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.home-page{padding-inline:14px}.home-topbar{min-height:62px}.home-nav-link{display:none}.home-nav-cta{min-height:38px;padding-inline:11px;font-size:.82rem}.home-hero{grid-template-columns:1fr;gap:52px;min-height:auto;padding-block:48px 74px}.home-hero h1{max-width:9ch;font-size:clamp(3.5rem,18vw,5.6rem)}.home-hero__board{width:calc(100% - 7px);box-shadow:7px 7px 0 var(--hoppra-coral);transform:rotate(.5deg)}.home-section{padding-block:74px}.home-section__heading{margin-bottom:30px}.home-how__steps,.home-categories__grid{grid-template-columns:1fr}.home-how__steps li:nth-child(2),.home-how__steps li:nth-child(4){transform:none}.home-category-card:first-child{grid-row:auto;min-height:310px}.home-worlds__shelf{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:14px;width:calc(100% + 28px);margin-inline:-14px;padding:2px 14px 18px;scroll-padding-inline:14px;display:flex;overflow-x:auto}.home-world-card,.home-world-card:nth-child(2n){scroll-snap-align:start;flex:0 0 min(78vw,290px);transform:none}.home-final-cta{box-shadow:7px 7px 0 var(--hoppra-coral);flex-direction:column;align-items:stretch;margin-top:68px;padding:28px 20px}.home-final-cta .home-link-button{width:100%}.home-footer{flex-direction:column;align-items:flex-start;margin-top:64px}}@media (max-width:390px){.home-topbar__actions{gap:5px}.home-nav-cta{padding-inline:9px}.home-nav-cta svg{display:none}.home-how__steps li{grid-template-columns:1fr;padding:18px}}@media (prefers-reduced-motion:reduce){.home-kicker,.home-hero__board,.home-how__steps li,.home-world-card{transform:none}}
