/* All screens are viewport-sized. Reflow answers instead of hiding overflow. */
@media(max-height:520px){.survey-editing .survey-header,.survey-editing .survey-topline,.survey-editing .survey-progress,.survey-editing .survey-options,.survey-editing .survey-option-pages,.survey-editing .survey-section,.survey-editing .survey-hint,.survey-editing .survey-footer,.survey-editing .survey-selection-note{display:none!important}}
html,body{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
#investment-overlay .result-buttons{display:flex;justify-content:center}#investment-overlay .result-buttons .survey-launch{min-width:220px;font-size:11px;padding:16px 20px}
@media(max-width:620px){#investment-overlay .bonus-content{padding-bottom:64px}}
.quest-survey,.investment-overlay{height:var(--game-view-height,100dvh);bottom:auto;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}
.survey-shell{height:100%;display:flex;flex-direction:column;padding:12px 24px 30px;gap:0}
.survey-header{height:36px;min-height:36px;flex-shrink:0;margin-bottom:12px;overflow:visible}
.survey-header img{width:132px;max-height:36px;object-fit:contain}.survey-header .survey-link{min-height:36px}
.survey-topline{flex-shrink:0;font-size:9px}.survey-progress{flex-shrink:0;height:9px;margin:9px 0 15px}
.survey-card{display:flex;flex-direction:column;flex:1;min-height:0;padding:20px 22px 14px}
.survey-section{flex-shrink:0;margin:0 0 10px;font-size:8px}.survey-card h2{flex-shrink:0;font-size:16px;line-height:1.5;margin:0 0 10px}
.survey-hint{flex-shrink:0;font-size:15px;line-height:1.35;margin:0 0 14px}
.survey-options{flex:1;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(48px,1fr);gap:8px}
.survey-option{min-height:48px;padding:8px 10px;font:600 16px/1.3 Arial,sans-serif;gap:9px;overflow-wrap:anywhere}
.survey-option>span:last-child{min-width:0}.survey-check{width:17px;height:17px}
.survey-selection-note{flex-shrink:0;min-height:0;font-size:13px;line-height:1.3;margin:9px 0 0}.survey-selection-note:empty{display:none}
.survey-nav{flex-shrink:0;margin-top:12px;padding-top:12px}.survey-nav .pixel-button{padding:12px 16px;font-size:9px;min-height:48px}
.survey-footer{flex-shrink:0;margin-top:8px;gap:12px}.survey-footer p{font-size:11px;line-height:1.3}.survey-footer .survey-link{font-size:8px;min-height:36px;padding:4px 0}
.survey-written{flex-shrink:0;margin-top:8px;font-size:14px}.survey-written input{margin-top:4px;padding:8px 12px;min-height:42px}
.survey-written textarea{height:clamp(65px,20vh,170px);resize:none;margin-top:6px}.survey-privacy{font-size:12px;margin:8px 0 0}
.survey-details{flex:initial;margin:auto 0;}
.survey-details form{display:flex;flex-direction:column;min-height:0;gap:8px}
.survey-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.survey-detail-fields .survey-written{margin:0;min-width:0;font-weight:600}
.survey-detail-fields input,.survey-detail-fields select{display:block;width:100%;box-sizing:border-box;min-height:48px;margin-top:4px;padding:8px 10px;border:3px solid #9c7848;border-radius:0;background:#fffaf0;color:var(--ink);font:16px/1.5 Arial,sans-serif;touch-action:manipulation}
.survey-detail-fields select:focus{outline:3px solid #244cab;outline-offset:2px}
.survey-compact-details:has(.survey-details) .survey-header,.survey-compact-details .survey-details .survey-section,.survey-compact-details .survey-details .survey-privacy{display:none}
.survey-compact-details .survey-details{padding:10px 12px}
.survey-compact-details .survey-details h2{font-size:11px;margin-bottom:6px}
.survey-compact-details .survey-details form{gap:2px}
.survey-compact-details .survey-details .survey-nav{padding-top:4px;margin-top:4px}
@media(max-width:460px){.survey-detail-fields{grid-template-columns:1fr;gap:10px}.survey-compact-details .survey-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.survey-compact-details .survey-detail-fields input,.survey-compact-details .survey-detail-fields select{min-height:40px;padding:4px 8px}}
.survey-option-pages{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;height:40px;gap:8px;font:12px Arial,sans-serif}
.survey-page-button{min-height:40px;border:0;background:transparent;color:#514025;font:7px/1.5 "Press Start",monospace;padding:8px 0}.survey-page-button:disabled{opacity:.35}.survey-page-button:focus-visible{outline:2px solid #244cab;outline-offset:0}
.survey-finished{flex:initial;width:100%;box-sizing:border-box;margin:auto;max-height:100%;padding:28px 24px}.survey-finished .pixel-coin{flex-shrink:0;align-self:center;margin-bottom:18px}.survey-finished .pixel-button{align-self:center}.survey-finished .survey-link{flex-shrink:0}
.survey-success .survey-celebration{height:clamp(90px,25vh,180px);margin-bottom:14px}.survey-success .pixel-button{flex-shrink:0}
.investment-overlay .bonus-content{box-sizing:border-box;padding-bottom:58px;transform-origin:top center;will-change:transform}
/* Keep the scenery inside the visible viewport and align every sprite with
   the top of the ground, including its border. viewport.js reserves this band. */
.bonus-scenery{--bonus-ground:52px;position:absolute;bottom:auto;height:var(--game-view-height,100dvh)}
.bonus-scenery .brick-ground{height:var(--bonus-ground);box-sizing:border-box}
.bonus-scenery .bonus-mario,.bonus-scenery .pixel-pipe,.bonus-scenery .pixel-hill{bottom:var(--bonus-ground)}
@media(max-height:650px) and (min-width:621px){.bonus-scenery{--bonus-ground:30px}}
@media(max-width:620px){.survey-shell{padding:10px 12px 24px}.survey-header{margin-bottom:8px}.survey-header img{width:118px}.survey-topline{font-size:7px}.survey-progress{margin:7px 0 12px}.survey-card{padding:15px 13px 12px}.survey-card h2{font-size:12px;line-height:1.6;margin-bottom:8px}.survey-section{font-size:7px;margin-bottom:8px}.survey-hint{font-size:13px;margin-bottom:10px}.survey-option{font-size:14px;padding:7px;gap:7px}.survey-check{width:14px;height:14px;flex-shrink:0}.survey-options{gap:7px}.survey-nav{margin-top:8px;padding-top:8px}.survey-nav .pixel-button{font-size:8px;padding:10px 12px}.survey-footer p{font-size:10px;max-width:180px}.survey-selection-note{font-size:11px}.survey-finished h1{font-size:15px}.survey-finished .survey-hint{font-size:15px}.investment-overlay .bonus-content{padding-top:58px;padding-bottom:36px}.investment-overlay .bonus-content>h1{font-size:20px;margin:4px 0}.investment-overlay .bonus-content>.pixel-kicker{font-size:6px}.investment-overlay .bonus-layout{gap:7px}.investment-overlay .coin-bag{min-height:72px}.investment-overlay .wheel-wrap{max-width:360px}.investment-overlay #investment-finish{padding:12px 10px}.investment-overlay .bank-instruction{font-size:7px}.investment-overlay .result-content{padding-top:70px}.investment-overlay .result-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.investment-overlay .result-buttons .pixel-button{font-size:7px;padding:12px 8px}.investment-overlay .priority-flag{margin:18px 0;padding:14px}.investment-overlay .investment-results>div{padding:8px 0}.investment-overlay .result-content .save-status{margin-top:14px;font-size:7px}}
@media(max-height:520px){.survey-shell{padding-top:6px;padding-bottom:10px}.survey-header{height:28px;min-height:28px;margin-bottom:4px}.survey-header img{max-height:26px;width:105px}.survey-topline{font-size:7px}.survey-progress{height:6px;margin:5px 0 8px}.survey-card{padding:10px 14px 8px}.survey-card h2{font-size:11px;line-height:1.5;margin-bottom:6px}.survey-section{font-size:6px;margin-bottom:5px}.survey-hint{font-size:12px;margin-bottom:6px}.survey-option{font-size:13px}.survey-selection-note{margin-top:5px;font-size:11px}.survey-nav{margin-top:6px;padding-top:6px}.survey-footer{margin-top:4px}.survey-footer .survey-link{min-height:26px}.survey-footer p{font-size:9px}.survey-option-pages{height:30px}.survey-page-button{min-height:30px;font-size:6px}.survey-finished{padding:14px}.survey-finished .pixel-coin{width:20px;height:28px;margin-bottom:8px}.survey-finished h1{font-size:14px;margin-bottom:8px}.survey-receipt{margin:10px 0}.survey-finished .survey-link{margin-top:10px}}
@media(max-height:520px){.survey-success .survey-celebration{height:clamp(64px,24vh,110px);margin-bottom:8px}}
