.game-title{margin:0}.game-intro{margin-top:var(--sp-2)}.game-page-head{margin-bottom:var(--sp-5)}.game-stage{--stage-offset:calc(var(--header-h) + var(--border-w));height:calc(100vh - var(--stage-offset));height:calc(100svh - var(--stage-offset));min-height:20rem;padding:var(--sp-2);background:var(--c-white);border-block:var(--border);scroll-margin-top:var(--stage-offset);position:relative}.game-stage[hidden]{display:none}@media (height<=560px){.game-stage{--stage-offset:0px}}.game-stage.is-immersive{z-index:80;border:none;height:auto;min-height:0;position:fixed;inset:0}.game-stage:fullscreen{width:100%;height:100%}html.has-immersive-game{overflow:hidden}.game-root{height:100%;position:relative}.game{gap:var(--sp-2);flex-direction:column;height:100%;display:flex;container:game/inline-size}.game-bar{align-items:center;gap:var(--sp-2);display:flex}.game-bar .spacer{margin-left:auto}.hud-stat{align-items:baseline;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);background:var(--c-white);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.hud-stat b{font-family:var(--font-display);font-size:var(--fs-400)}.hud-stat span{font-size:var(--fs-200);color:var(--c-ink-soft)}.bar-btn{min-height:44px;padding:var(--sp-1) var(--sp-3);white-space:nowrap}.bar-btn[aria-pressed=true]{background:var(--c-mint)}.bar-btn-icon{font-size:1.15em;line-height:1}@container game (width<=40rem){.bar-btn .btn-label{display:none}.bar-btn{min-width:44px;padding-inline:var(--sp-2)}}@container game (width<=26rem){.game-bar{gap:var(--sp-1)}.hud-time{display:none}.hud-stat{padding:2px var(--sp-2);box-shadow:none}.hud-stat b{font-size:var(--fs-300)}.hud-stat span{font-size:var(--fs-100)}.bar-btn{min-width:40px;min-height:40px;padding-inline:var(--sp-1)}}.reveal-zone{height:2.75rem;padding-inline:var(--sp-3);text-align:center;border:var(--border-w) solid transparent;border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1.2;display:flex}.reveal-zone>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reveal-zone[data-kind=hint]{color:var(--c-ink-soft);font-weight:600}.reveal-zone[data-kind=match],.reveal-zone[data-kind=info]{background:var(--c-peach);border-color:var(--c-ink);box-shadow:var(--shadow-sm)}.board-wrap{flex:1 1 0;place-items:center;min-height:0;display:grid}.board{place-content:center;gap:var(--gap,8px);flex-wrap:wrap;max-width:100%;display:flex}.board.is-preview{pointer-events:none}.card{width:var(--card-w,80px);height:var(--card-h,80px);cursor:pointer;perspective:1000px;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;padding:0;position:relative;container-type:size}.card[aria-disabled=true]{cursor:default}.card:focus-visible{outline:3px solid var(--c-ink);outline-offset:3px;border-radius:var(--radius-sm)}.card-inner{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.25,1);position:absolute;inset:0}.card.is-flipped .card-inner,.card.is-matched .card-inner{transform:rotateY(180deg)}.card-face{border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);-webkit-backface-visibility:hidden;backface-visibility:hidden;text-align:center;border-radius:clamp(6px,9cqmin,16px);place-items:center;padding:6cqmin;display:grid;position:absolute;inset:0;overflow:hidden}.card-back{--logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29.5' fill='%23fffdf7' stroke='%2314110c' stroke-width='3'/%3E%3Cpath d='M14 47V17h11l7 14 7-14h11v30h-8V31l-6.5 12.5h-7L22 31v16z' transform='translate(32 32) scale(.62) translate(-32 -32)' fill='%2314110c'/%3E%3C/svg%3E");background-color:var(--c-lavender);background-image:var(--logo), radial-gradient(circle, #14110c73 1.2px, transparent 1.5px);background-size:50% 50%,12px 12px;background-image:var(--logo), radial-gradient(circle, #14110c73 .9cqmin, transparent 1.1cqmin);background-position:50%,50%;background-repeat:no-repeat,repeat;background-size:48cqmin 48cqmin,8cqmin 8cqmin;transition:background-color .15s}@media (hover:hover){.card:not([aria-disabled=true]):hover .card-back{background-color:#d3c8ff}}.card-front{background:var(--c-white);transform:rotateY(180deg)}.board.is-association .card[data-face=b] .card-front{background:#e8f5ff}.card-front .emoji{font-size:58cqmin;line-height:1}.card-front .text{max-width:100%;max-height:100%;font-weight:700;line-height:1.15;font-size:var(--fs-300);font-size:calc(var(--fit,18) * 1cqmin);-webkit-hyphens:auto;hyphens:auto;display:block;overflow:hidden}.card-front img{object-fit:contain;width:100%;height:100%}.card-front--photo{padding:0}.card-front--photo img{object-fit:cover}.card.is-matched .card-front--photo{border-color:#2f9e5a}.card.is-matched .card-front--photo img{opacity:.8}.card.is-matched .card-front{background:var(--c-mint)}.card.is-mismatch .card-front{background:var(--c-danger)}.card.is-matched{animation:.3s pop}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.stage-panel{z-index:5;padding:var(--sp-4) var(--sp-3);backdrop-filter:blur(3px);background:#fdf6d8cc;place-items:start center;display:grid;position:absolute;inset:0;overflow:auto}.stage-panel[hidden]{display:none}.stage-panel-card{gap:var(--sp-4);width:min(100%,32rem);padding:var(--sp-5);text-align:center;background:var(--c-white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);justify-items:center;display:grid}.stage-panel-card h2{font-size:var(--fs-600)}.panel-section{gap:var(--sp-2);width:100%;display:grid}.panel-label{font-weight:700}.level-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);width:100%;display:grid}.level-btn{min-height:3.75rem;padding:var(--sp-2) var(--sp-3);font:inherit;color:var(--c-ink);cursor:pointer;background:var(--c-white);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;display:flex}.level-btn strong{font-size:var(--fs-400)}.level-btn span{font-size:var(--fs-200);color:var(--c-ink-soft)}.level-btn[aria-pressed=true]{background:var(--c-mint)}.level-btn[aria-pressed=true] strong:before{content:"✓ "}.option-toggles{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.toggle-btn{font-weight:600}.toggle-btn[aria-pressed=true]{background:var(--c-mint)}@media (width<=30rem){.stage-panel-card{padding:var(--sp-4)}}@media (height<=560px){.stage-panel-card{gap:var(--sp-2);padding:var(--sp-3)}.stage-panel-card h2{font-size:var(--fs-500)}.level-btn{min-height:3rem}}.win-stats{justify-content:center;gap:var(--sp-5);display:flex}.win-stats .n{font-family:var(--font-display);font-size:var(--fs-600)}.win-hint{font-size:var(--fs-200);color:var(--c-ink-soft)}.win-actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.win-actions .btn[hidden]{display:none}.pdf-download{margin-block:var(--sp-6);justify-content:center;display:flex}.pdf-download .btn{white-space:nowrap}.content-columns .prose{max-width:none}.content-columns .prose+.prose{margin-top:var(--sp-6)}.mode-tabs{gap:var(--sp-2);flex-wrap:wrap;display:flex}.mode-tab{min-height:44px;padding:var(--sp-2) var(--sp-4);font:inherit;color:var(--c-ink);cursor:pointer;background:var(--c-white);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.mode-tab[aria-selected=true]{background:var(--c-mint)}.rev-zone{flex:1 1 0;place-items:center;min-height:0;display:grid;container-type:size}.rev-card{aspect-ratio:3/2;cursor:pointer;perspective:1400px;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:min(100cqw - 12px,40rem,150cqh - 18px);padding:0;position:relative;container-type:size}.rev-card:focus-visible{outline:3px solid var(--c-ink);outline-offset:4px;border-radius:var(--radius)}.rev-inner{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.25,1);position:absolute;inset:0}.rev-card.is-flipped .rev-inner{transform:rotateY(180deg)}.rev-face{text-align:center;background:var(--c-white);border:var(--border);box-shadow:var(--shadow);-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:clamp(8px,5cqmin,20px);flex-direction:column;justify-content:center;align-items:center;gap:2cqmin;padding:6cqmin;display:flex;position:absolute;inset:0;overflow:hidden}.rev-back{background:#e8f5ff;transform:rotateY(180deg)}.rev-label{letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-soft);font-size:clamp(.75rem,5cqmin,1.05rem);font-weight:700}.rev-ask{color:var(--c-ink-soft);font-size:clamp(.85rem,6cqmin,1.35rem)}.rev-hint{color:var(--c-ink-soft);font-size:clamp(.75rem,4.5cqmin,1rem)}.rev-content{flex:1 1 0;place-items:center;width:100%;min-height:0;display:grid}.rev-content .text{max-width:100%;max-height:100%;font-weight:700;line-height:1.15;font-size:var(--fs-500);font-size:calc(var(--fit,18) * .7cqmin);-webkit-hyphens:auto;hyphens:auto;display:block;overflow:hidden}.rev-content .emoji{font-size:36cqmin;line-height:1}.rev-content img{object-fit:contain;max-width:100%;max-height:100%}.rev-actions{justify-content:center;gap:var(--sp-3);padding-bottom:var(--sp-2);flex-wrap:wrap;flex:none;display:flex}.rev-actions .btn{min-width:10rem}.rev-end-stats{font-weight:600}@container (aspect-ratio<=1){.rev-card{aspect-ratio:1;width:min(100cqw - 12px,40rem,100cqh - 12px)}}
