.gp-page{position:relative;isolation:isolate;min-height:calc(100svh - 64px);padding:16px 24px max(24px,env(safe-area-inset-bottom));color:var(--gp-text);background:var(--gp-canvas);color-scheme:dark}.gp-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--gp-night),url(/images/game/start/01_moonlit_garden.webp) center / cover no-repeat}.gp-shell{max-width:1200px;margin:0 auto;padding:20px 28px 24px;background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:16px;box-shadow:var(--gp-shadow)}.gp-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.gp-eyebrow{margin:0 0 10px;color:var(--gp-coral);font-size:.75rem;letter-spacing:.16em}.gp-header h1{font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.5}.gp-header h1 span{margin-left:12px;font-size:.8em;font-variant-numeric:tabular-nums;color:var(--gp-muted)}.gp-close{flex:0 0 44px;width:44px;min-height:44px;font-size:1.8rem;color:var(--gp-muted);border:1px solid var(--gp-line);border-radius:50%;cursor:pointer}.gp-progress{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:14px 0 20px;padding:0;list-style:none}.gp-progress li{height:5px;background:var(--gp-track);border-radius:2px}.gp-progress li[data-status=current]{outline:1px solid var(--gp-gold);outline-offset:2px}.gp-progress li[data-status=correct]{background:var(--gp-gold)}.gp-progress li[data-status=wrong]{background:var(--gp-wrong-step)}.gp-columns{display:grid;grid-template-columns:minmax(0,404px) minmax(0,1fr);gap:36px;align-items:start}.gp-art{position:relative;margin:0;width:100%;max-width:404px;align-self:start}.gp-canvas{position:relative;width:100%;aspect-ratio:2 / 3;isolation:isolate;background:var(--gp-canvas);box-shadow:var(--gp-shadow)}.gp-art-image,.gp-art-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform:none}.gp-art-background{opacity:0}.gp-art[data-phase=correct] .gp-art-background{opacity:1}.gp-art[data-phase=correct] .gp-clue{opacity:0}.gp-reveal{animation:gp-reveal .3s ease-out both}.gp-wrong-effect{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gp-wrong);pointer-events:none;animation:gp-reveal .2s ease-out both}.gp-wrong-effect img{position:absolute;left:33%;top:33.66%;width:34%;height:auto;animation:gp-reveal .26s ease-out both}.gp-foreground{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.gp-foreground *{pointer-events:none;-webkit-user-select:none;user-select:none}.gp-lantern{position:absolute;width:22%;max-width:90px;left:-12%;bottom:-3%}.gp-blossoms{position:absolute;width:65%;max-width:none;left:-22%;bottom:-9%;opacity:.8}.gp-answer{min-width:0;padding-top:0}.gp-answer h2{font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.45;overflow-wrap:anywhere;outline:none}.gp-lead{margin:8px 0 16px;color:var(--gp-muted);line-height:1.65;font-size:.875rem}.gp-options{display:grid;gap:8px;min-width:0;border:0;margin:0;padding:0}.gp-option{position:relative;display:flex;align-items:center;gap:12px;min-height:68px;padding:10px 14px;border:1px solid var(--gp-line);border-radius:11px;background:var(--gp-option);cursor:pointer;transition:border-color .13s ease,background-color .13s ease}.gp-option input{position:absolute;width:1px;height:1px;opacity:0}.gp-option:has(input:focus-visible){outline:2px solid var(--gp-gold);outline-offset:3px}.gp-option[data-selected=true]{border-color:var(--gp-gold);background:var(--gp-selection)}.gp-option[data-revealed=true][data-answer=true]{border-color:var(--gp-gold)}.gp-options:disabled .gp-option{cursor:default}.gp-option-letter{flex:0 0 28px;font-size:1.2rem;color:var(--gp-muted)}.gp-option-text{min-width:0;border-left:1px solid var(--gp-line);padding-left:16px}.gp-option-text strong{display:block;font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.125rem;line-height:1.4;overflow-wrap:anywhere}.gp-option-text small{display:block;margin-top:3px;font-size:.8rem;color:var(--gp-muted);overflow-wrap:anywhere}.gp-option-status{display:block;font-size:.72rem;line-height:1.6;color:var(--gp-gold)}.gp-primary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px;width:100%;margin-top:16px;padding:10px 16px;border:1px solid var(--gp-gold);border-radius:7px;background:var(--gp-button);color:var(--gp-button-text);line-height:1.5;font-weight:650;cursor:pointer}.gp-primary span{flex:0 0 auto}.gp-primary:hover:not(:disabled){filter:brightness(1.06)}.gp-primary:active:not(:disabled){transform:translateY(1px)}.gp-page button:focus-visible{outline:2px solid var(--gp-gold);outline-offset:4px}.gp-page button:disabled{opacity:.5;cursor:default}.gp-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;margin-top:12px;font-size:.85rem;line-height:1.6;color:var(--gp-muted)}.gp-feedback strong{color:var(--gp-text)}.gp-error{border-left:2px solid var(--gp-coral);padding:10px 14px;margin:0 0 20px;color:var(--gp-error);line-height:1.8}.gp-image-failure{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;background:var(--gp-canvas)}.gp-image-failure button{min-height:44px;padding:10px;border:1px solid var(--gp-gold);margin-top:15px}.gp-image-hint{text-align:center;font-size:.8rem;color:var(--gp-muted);margin-top:12px}.gp-exit-dialog{max-width:min(440px,calc(100% - 32px));border:1px solid var(--gp-line);border-radius:14px;padding:28px;background:var(--gp-canvas);color:var(--gp-text);margin:auto}.gp-exit-dialog::backdrop{background:var(--gp-backdrop)}.gp-exit-dialog h2{line-height:1.9;font-size:1.1rem}.gp-exit-dialog div{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.gp-exit-dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--gp-line);border-radius:6px}@keyframes gp-reveal{0%{opacity:0}to{opacity:1}}@media(max-width:760px){.gp-page{padding:16px 20px max(28px,env(safe-area-inset-bottom))}.gp-scene{background-image:var(--gp-night),url(/images/game/play/night-mobile.webp);background-position:center top}.gp-shell{padding:0;border:0;border-radius:0;box-shadow:none;background:none}.gp-header h1{font-size:1.3rem}.gp-progress{margin:12px 0 20px;gap:6px}.gp-columns{grid-template-columns:minmax(0,1fr);gap:24px}.gp-art{max-width:240px;margin:0 auto}.gp-lantern{left:-8%;width:18%;opacity:.75}.gp-blossoms{width:50%;left:-10%;bottom:-5%;opacity:.55}.gp-answer{padding:0}.gp-option{min-height:66px;padding:13px 16px;border-radius:9px}.gp-answer h2{font-size:1.7rem}.gp-option-text strong{font-size:1.2rem}.gp-primary{margin-top:14px}.gp-lead{margin-bottom:14px}.gp-feedback{grid-template-columns:minmax(0,1fr)}}@media(max-width:359px){.gp-page{padding-inline:16px}.gp-art{max-width:250px}}@media(max-width:760px)and (max-height:740px){.gp-art{max-width:216px}}@media(prefers-reduced-motion:reduce){.gp-page *,.gp-page *:before,.gp-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.gp-lore-link{display:inline-flex;align-items:center;min-height:44px;color:var(--gp-gold);text-underline-offset:5px;text-decoration:underline}.gp-heading{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.gp-heading .gp-eyebrow{margin:0}.gp-feedback .gp-primary{grid-column:1 / -1;margin-top:8px}.gp-option-text{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.gp-option-text strong,.gp-option-text small{grid-column:1}.gp-option-status{grid-column:2;grid-row:1 / span 2;align-self:center;max-width:16ch}@media(min-width:761px){.gp-page[data-playing=true]{height:calc(100dvh - 65px);min-height:0;padding-block:16px;overflow:clip}.gp-page[data-playing=true] .gp-shell{height:100%;display:flex;flex-direction:column;padding:16px 28px 24px}.gp-header,.gp-progress{flex-shrink:0}.gp-columns{flex:1;min-height:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}.gp-art{width:min(100%,calc((100dvh - 208px) * 2 / 3));max-width:404px;justify-self:center}.gp-answer{align-self:stretch;overflow-y:auto;padding:4px 6px;scrollbar-gutter:stable}}@media(min-width:761px)and (max-height:740px){.gp-answer h2{font-size:1.4rem}.gp-lead{margin:5px 0 10px}.gp-option{min-height:60px;padding-block:7px}.gp-option-text strong{font-size:1.05rem}.gp-feedback{margin-top:6px}.gp-primary{margin-top:10px}}.gp-games-link{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:var(--gp-gold);font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.gp-games-link:focus-visible{outline:2px solid var(--gp-gold);outline-offset:4px}.gp-page[data-results=true]{display:grid;align-items:center;padding-block:24px}.gp-page[data-results=true] .gp-shell{width:100%;max-width:1100px;padding:24px 32px 20px}.gr-header{display:flex;align-items:baseline;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--gp-line)}.gr-header p{color:var(--gp-gold);font-size:.9rem}.gr-header h1{color:var(--gp-muted);font-size:.8rem;letter-spacing:.12em}.gr-columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:center;padding:28px 0}.gr-score{text-align:center}.gr-score-ring{position:relative;width:248px;max-width:100%;aspect-ratio:1;margin:auto}.gr-score-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke-width:1;transform:rotate(-90deg)}.gr-ring-track{stroke:var(--gp-line)}.gr-ring-value{stroke:var(--gp-gold);stroke-width:2}.gr-score-ring>div{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center}.gr-score-ring p{color:var(--gp-muted);font-size:.85rem}.gr-score-ring strong{font-family:Shippori Mincho,Yu Mincho,serif;font-size:104px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}.gr-score-ring strong span{color:var(--gp-muted);font-family:inherit;font-size:25px;margin-left:8px}.gr-dots{display:flex;justify-content:center;gap:9px;margin:22px 0 12px}.gr-dots span{width:8px;height:8px;border:1px solid var(--gp-line);border-radius:50%}.gr-dots span[data-correct=true]{background:var(--gp-gold);border-color:var(--gp-gold)}.gr-score>p{font-size:.85rem;color:var(--gp-muted)}.gr-details{min-width:0}.gr-details h2{font-family:Shippori Mincho,Yu Mincho,serif;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.5;text-wrap:balance}.gr-thanks{margin-top:8px;font-size:.85rem;line-height:1.7;color:var(--gp-muted)}.gr-reward{display:flex;align-items:center;gap:14px;margin:22px 0 16px}.gr-reward p{font-size:.75rem;color:var(--gp-muted)}.gr-reward strong{font-size:42px;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;color:var(--gp-gold)}.gr-reward strong span{margin-left:10px;font-size:.8rem}.gr-ledger{border-block:1px solid var(--gp-line);padding:10px 0;font-size:.8rem;line-height:1.8}.gr-ledger>div{display:flex;justify-content:space-between;gap:20px}.gr-ledger dt{color:var(--gp-muted)}.gr-ledger dd{white-space:nowrap;font-variant-numeric:tabular-nums}.gr-ledger>div:last-child dd{color:var(--gp-gold)}.gr-received{margin-top:10px;font-size:.75rem;color:var(--gp-muted);line-height:1.65}.gr-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.gr-actions .gp-primary{margin:0;font-size:.85rem;gap:10px}.gr-actions svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.5}.gr-back{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;border:1px solid var(--gp-line);border-radius:7px;color:var(--gp-text);font-size:.85rem;text-align:center}.gr-back:hover{border-color:var(--gp-gold)}.gr-back:focus-visible{outline:2px solid var(--gp-gold);outline-offset:4px}.gr-next{padding-top:16px;border-top:1px solid var(--gp-line);font-size:.75rem;line-height:1.7;color:var(--gp-muted);text-align:center}.gr-share-dialog{width:460px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--gp-line);border-radius:14px;background:var(--gp-canvas);color:var(--gp-text)}.gr-share-dialog::backdrop{background:var(--gp-backdrop)}.gr-share-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.gr-share-header h2{font-size:1.1rem}.gr-share-header button{width:44px;min-height:44px;flex:0 0 44px;font-size:1.8rem;cursor:pointer}.gr-share-dialog textarea{display:block;width:100%;min-height:144px;padding:14px;border:1px solid var(--gp-line);border-radius:6px;background:var(--gp-option);color:var(--gp-text);resize:vertical;font-size:.85rem;line-height:1.7}.gr-share-secondary{display:block;width:100%;min-height:44px;margin-top:10px;border:1px solid var(--gp-line);border-radius:7px;padding:10px;font-size:.85rem;cursor:pointer}.gr-share-status{min-height:1.7em;margin-top:10px;font-size:.8rem;color:var(--gp-gold)}@media(max-width:760px){.gp-page[data-results=true] .gp-shell{padding:20px;border:1px solid var(--gp-line);border-radius:12px;background:var(--gp-surface)}.gr-header{gap:12px;flex-wrap:wrap;padding-bottom:14px}.gr-columns{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:22px}.gr-score-ring{width:172px}.gr-score-ring strong{font-size:72px}.gr-score-ring strong span{font-size:20px}.gr-dots{margin-top:16px}.gr-details h2{font-size:1.4rem}.gr-actions{grid-template-columns:minmax(0,1fr);gap:10px}.gr-reward{margin-top:18px}}
