.end-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:8px 20px}
#quest-retry:focus-visible,#investment-replay:focus-visible,.end-actions .pixel-button:focus-visible{outline:none;text-decoration:underline;text-underline-offset:6px}
.pixel-button.survey-launch{background:var(--gold);box-shadow:inset 4px 4px #ffe890,inset -4px -4px #c87000,4px 4px var(--ink)}
.quest-survey{position:fixed;inset:0;z-index:1300;overflow-y:auto;overscroll-behavior:contain;background:var(--sky);color:var(--ink);font-family:"Press Start",monospace;touch-action:pan-y;isolation:isolate}
.survey-open .touch-controls,.survey-open .quest-sound{display:none!important}
.quest-survey .brick-ground{position:fixed;z-index:-1;height:28px}
.survey-shell{max-width:940px;margin:0 auto;padding:20px 32px 55px;box-sizing:border-box}
.survey-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}
.survey-header img{width:180px;height:auto;image-rendering:pixelated}
.survey-link{border:0;box-shadow:none;background:transparent;color:#fff;text-shadow:2px 2px var(--ink);font:9px/1.8 "Press Start",monospace;min-height:48px;padding:10px 0;touch-action:manipulation}
.survey-link:disabled{opacity:.4;cursor:default}.survey-link:focus-visible{outline:none;text-decoration:underline;text-underline-offset:5px}
.survey-topline{display:flex;justify-content:space-between;gap:16px;color:#fff;font-size:10px;line-height:1.8;text-shadow:2px 2px var(--ink)}
.survey-progress{height:12px;background:#3760ae;border:3px solid var(--ink);margin:14px 0 24px;box-shadow:3px 3px var(--ink)}
.survey-progress span{display:block;height:100%;background:#80d010;box-shadow:inset 0 3px #c8f878;transition:width .18s}
.survey-card{padding:28px 30px 20px;background:#fff1cf;border:4px solid var(--ink);box-shadow:inset 4px 4px #fff,6px 6px var(--ink)}
.survey-section{font-size:9px;line-height:1.9;color:#884000;margin:0 0 14px;text-transform:uppercase}
.survey-card h1,.survey-card h2{font-size:clamp(14px,1.75vw,20px);line-height:1.7;outline:none;margin:0 0 15px;color:var(--ink)}
.survey-hint{font-family:Arial,sans-serif;font-size:17px;line-height:1.5;margin:0 0 20px;color:#514025;text-shadow:none}
.survey-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.survey-option{display:flex;align-items:center;gap:12px;min-height:62px;background:#fffaf0;color:var(--ink);border:3px solid #9c7848;border-radius:0;box-shadow:3px 3px #c4a078;padding:14px;text-align:left;font:10px/1.8 "Press Start",monospace;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.survey-check{flex:none;width:18px;height:18px;border:2px solid #9c7848;background:white;display:flex;align-items:center;justify-content:center;font:700 18px Arial,sans-serif}
.survey-option.is-selected{background:#d8f4a0;border-color:#285000;box-shadow:3px 3px #285000}.survey-option.is-selected .survey-check{background:#80d010;border-color:#285000}
.survey-option:disabled:not(.is-selected){opacity:.5}.survey-option:focus-visible{outline:3px solid #244cab;outline-offset:2px}
@media(hover:hover){.survey-option:not(:disabled):hover{background:#ffdf88;border-color:var(--ink)}}
.survey-written{display:block;margin-top:20px;font:16px/1.7 Arial,sans-serif;text-shadow:none}
.survey-written input,.survey-written textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:14px;border:3px solid #9c7848;border-radius:0;background:#fffaf0;color:var(--ink);font:18px/1.5 Arial,sans-serif;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto;resize:vertical}
.survey-written input:focus,.survey-written textarea:focus{outline:3px solid #244cab;outline-offset:2px}
.survey-selection-note{min-height:22px;font:14px/1.5 Arial,sans-serif;margin:14px 0 0;color:#514025}
.survey-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;border-top:2px solid #dbc49c;padding-top:18px}
.survey-nav .survey-link{color:#514025;text-shadow:none}.survey-nav .pixel-button{font-size:10px;padding:15px 21px;touch-action:manipulation}
.survey-nav .pixel-button:focus-visible,.survey-finished .pixel-button:focus-visible{outline:3px solid #244cab;outline-offset:4px}
.survey-footer{display:flex;justify-content:flex-start;gap:20px;align-items:center;margin-top:18px}
.survey-privacy{font:14px/1.5 Arial,sans-serif;color:#665438}
.survey-finished{max-width:680px;margin:70px auto 30px;text-align:center;padding:40px 28px}.survey-finished .pixel-coin{width:40px;height:56px;margin-bottom:24px}.survey-finished .survey-link{display:block;margin:20px auto 0;color:#514025;text-shadow:none}.survey-receipt{font-size:9px;margin:24px 0 32px;line-height:1.8;color:#665438}
/* One short, composited celebration, using the original game sprite pixels. */
.survey-celebration{display:block;align-self:center;flex:none;width:min(320px,100%);height:180px;max-height:30vh;margin:0 auto 16px;overflow:visible;pointer-events:none}
.survey-celebration image{image-rendering:pixelated}.survey-celebration-ground{fill:#c6a36c}
.survey-block-used,.survey-mario-jumping,.survey-celebration-coin{opacity:0}.survey-celebration.is-hit .survey-block-question{opacity:0}.survey-celebration.is-hit .survey-block-used{opacity:1}
.survey-coin-spin{transform-box:fill-box;transform-origin:center}
.survey-celebration.is-celebrating .survey-celebration-mario{animation:survey-mario-jump 1.2s both}.survey-celebration.is-celebrating .survey-mario-standing{animation:survey-mario-stand 1.2s step-end both}.survey-celebration.is-celebrating .survey-mario-jumping{animation:survey-mario-pose 1.2s step-end both}
.survey-celebration.is-celebrating .survey-submission-block{animation:survey-block-bump .216667s .56s steps(1,end) both}.survey-celebration.is-celebrating .survey-celebration-coin{animation:survey-coin-pop .817s .677s linear both}.survey-celebration.is-celebrating .survey-coin-spin{animation:survey-coin-spin .5s .677s steps(1,end) 2 both}
@keyframes survey-mario-jump{0%,33.333%{transform:translateY(0)}46.666%{transform:translateY(-44px);animation-timing-function:cubic-bezier(.45,0,.8,.5)}78%,100%{transform:translateY(0)}}
@keyframes survey-mario-stand{0%,33.333%{opacity:1}33.334%,77%{opacity:0}78%,100%{opacity:1}}
@keyframes survey-mario-pose{0%,33.333%{opacity:0}33.334%,77%{opacity:1}78%,100%{opacity:0}}
/* Gameplay bump: -3px velocity, +.5px/tick for 13 ticks; scaled 32px → 48px. */
@keyframes survey-block-bump{0%,100%{transform:translateY(0)}7.692%,92.308%{transform:translateY(-4.5px)}15.385%,84.615%{transform:translateY(-8.25px)}23.077%,76.923%{transform:translateY(-11.25px)}30.769%,69.231%{transform:translateY(-13.5px)}38.462%,61.538%{transform:translateY(-15px)}46.154%,53.846%{transform:translateY(-15.75px)}}
@keyframes survey-coin-pop{0%{opacity:0;transform:translateY(0)}1%{opacity:1}51.02%{opacity:1;transform:translateY(-52px)}99%{opacity:1}100%{opacity:0;transform:translateY(0)}}
@keyframes survey-coin-spin{0%,100%{transform:scaleX(.4)}16.667%,83.333%{transform:scaleX(1)}33.333%,66.667%{transform:scaleX(.6)}50%{transform:scaleX(.15)}}
@media(prefers-reduced-motion:reduce){.survey-celebration *{animation:none!important}.survey-celebration .survey-mario-standing{opacity:1}.survey-celebration .survey-mario-jumping{opacity:0}}
@media(max-width:620px){.survey-shell{padding:15px 16px 50px}.survey-header{margin-bottom:18px}.survey-header img{width:148px}.survey-topline{font-size:8px}.survey-progress{margin-bottom:18px}.survey-card{padding:22px 16px 18px}.survey-options{grid-template-columns:1fr;gap:10px}.survey-option{min-height:60px;font-size:10px}.survey-footer{align-items:flex-start}.survey-nav .pixel-button{font-size:9px;padding:14px}.survey-finished{margin-top:30px}.survey-card h1{font-size:17px}}
@media(min-width:621px) and (max-height:850px){.survey-shell{padding:14px 24px 44px}.survey-header{margin-bottom:14px}.survey-header img{width:145px}.survey-progress{margin:10px 0 18px}.survey-card{padding:20px 22px 14px}.survey-card h2{font-size:16px;line-height:1.6}.survey-hint{font-size:16px;margin-bottom:14px}.survey-option{min-height:52px;padding:10px}.survey-nav{margin-top:6px;padding-top:12px}.survey-nav .pixel-button{padding:12px 18px}.survey-footer{margin-top:12px}}
.survey-written input,.survey-written textarea{color:#000;-webkit-text-fill-color:#000;caret-color:#000;color-scheme:light}
.survey-written input::placeholder,.survey-written textarea::placeholder{color:#595959;-webkit-text-fill-color:#595959;opacity:1}
