/* Keep the action and its visual response together on phone screens. */
@media(max-width:600px){
 .portfolio-home .studio-heading{padding:8px 0;margin-bottom:10px}
 .portfolio-home .studio-heading h2{font-size:30px;margin:4px 0}
 .portfolio-home .studio-heading p{font-size:16px;line-height:1.35;margin:6px 0}
 .portfolio-home .studio-switch{margin-top:0;padding-top:0}
 .studio .studio-mini{padding:18px 16px}
 .studio .studio-mini h3{font-size:27px;line-height:1.12;margin:8px 0}
 .studio .studio-mini>p{font-size:16px;line-height:1.35;margin:8px 0 12px}
 .studio .mini-shop{padding:12px;gap:10px}
 .studio .puzzle-lamp{height:78px}
 .studio .focus-example{padding:12px}
 .studio .focus-noise{padding:9px;font-size:14px;line-height:1.3}
 .studio .world-top{height:44px;padding-inline:16px}
 .studio .world-top>span:nth-child(2){display:none}
 .studio .object-layout{display:grid;grid-template-columns:1fr;min-height:0}
 .studio .object-layout .lamp-art{grid-row:1;grid-column:1;min-height:300px}
 .studio .object-layout>div:last-child{grid-row:2;grid-column:1;padding:20px}
 .studio .world-object h3{font-size:28px;line-height:1.06;margin:10px 0}
 .studio .world-object p{font-size:15px;line-height:1.35;margin:10px 0}
 .studio .world-object .small-label{font-size:14px}
 .studio .lamp-switch{gap:7px;flex-wrap:wrap;min-height:48px}
 .studio .lamp-switch__label{font-size:14px}
 .studio .lamp-switch__track{flex-shrink:0}
 .studio .studio-caption{font-size:14px;line-height:1.35}
 .onboarding{max-height:none}
 .onboarding-screen{overflow:visible;padding:16px}
 .onboarding-screen .booking-noise>p{margin:8px 0}
 .booking-noise details{margin:3px 2px;padding:4px 8px}
 .booking-noise summary{min-height:44px;display:flex;align-items:center;font-size:14px}
 .booking-slots{gap:6px}
 .booking-slots .onboarding-button{min-height:44px;padding:9px 7px;font-size:15px}
 .onboarding-screen>.booking-status:empty{display:none}
 .onboarding-screen>.onboarding-note{font-size:14px;margin:8px 0 0}
 .onboarding-actions{padding:10px 14px;background:var(--paper)}
 .rocket-controls{padding:14px 16px}
 .rocket-prompt{font-size:20px;line-height:1.25;margin:8px 0 14px}
 .rocket-stage .rocket-turbo{width:104px;min-height:48px;padding:6px 8px;font-size:13px;border-width:1px;border-radius:10px;box-shadow:0 0 10px #f3bb5e26}
 .flight-proximity{min-height:56px;padding:6px 8px;gap:3px 6px}
 .flight-proximity strong{font-size:20px}
 .flight-proximity{right:124px;bottom:12px}
 .flight-destination>span{top:auto;bottom:calc(100% + 7px);left:auto;right:0;transform:none;font-size:14px;letter-spacing:0}
}
@media(max-width:600px){
 .studio .lamp-shade{height:100px;top:45px}
 .studio .lamp-stem{top:130px;height:140px}
 .studio .lamp-foot{top:260px;height:25px}
 .studio .lamp-floor{top:275px;height:20px}
 .studio .lamp-glow{inset:130px 7% 0}
 .studio .focus-noise{max-height:80px;overflow:hidden;transition:max-height .3s ease,padding .3s ease,margin .3s ease,opacity .3s ease}
 .studio .focus-example[data-clear] .focus-noise{max-height:0;padding-block:0;margin-block:0;opacity:0}
 .studio .focus-example [role=status]{font-size:15px;line-height:1.35}
 .studio .focus-example [role=status]:not(:empty){margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.studio .focus-noise{transition:none}}
@media(max-width:600px){
 .rocket-game[data-flight=escaped] .flight-destination,.rocket-game[data-flight=crashed] .flight-destination,.rocket-game[data-flight=engine-failed] .flight-destination{visibility:hidden}
 .rocket-game .aster-record{padding:10px 16px}
 .rocket-game .aster-record>span{font-size:14px;letter-spacing:0}
 .rocket-game .aster-record>strong{font-size:16px}
 .rocket-game[data-flight=escaped] .rocket-lesson,.rocket-game[data-flight=crashed] .rocket-lesson,.rocket-game[data-flight=engine-failed] .rocket-lesson{margin-top:14px}
}
.rocket-game:not([data-flight]) .flight-destination{visibility:hidden}
/* Turbo state is already visible on the in-scene button; announce it without moving Jump. */
.rocket-game[data-flight=flying] .rocket-feedback{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.rocket-stage .rocket-turbo::after{content:attr(data-detail);display:block;font-size:11px;line-height:1.25;margin-top:2px;font-weight:500}

/* Let the scene breathe; supporting reading opens only on request. */
@media(max-width:600px){
 .rocket-stage{height:clamp(340px,51svh,440px)}
 .rocket-game .aster-record{padding:8px 16px;gap:4px}
 .rocket-game .aster-record>strong{font-size:15px}
 .rocket-game[data-flight=flying] .rocket-prompt{font-size:16px;margin:0 0 10px}
 .rocket-game:is([data-flight=escaped],[data-flight=crashed],[data-flight=engine-failed]) .rocket-prompt{display:none}
 .rocket-game .rocket-lesson{padding:0;border:0;margin-top:12px}
 .rocket-lesson__disclosure>summary{min-height:48px;padding:12px 40px 12px 14px}
 .rocket-lesson__title{font:600 16px/1.3 'Source Sans 3',sans-serif}
}
.rocket-lesson__label,.rocket-lesson__invitation{display:none}
.rocket-info-sheet{box-sizing:border-box;width:min(600px,calc(100% - 24px));max-height:88dvh;border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
.rocket-info-sheet::backdrop{background:#08172bb3;backdrop-filter:blur(5px)}
.rocket-info-close{display:block;margin-left:auto;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit;cursor:pointer}
.rocket-info-sheet h2{font:400 28px/1.15 Georgia,serif;margin:16px 0}
.rocket-info-sheet p,.rocket-info-sheet li{font-size:16px;line-height:1.5}
.rocket-info-sheet .rocket-lesson__examples{padding-left:20px}
.rocket-info-sheet .rocket-lesson__examples li{margin:14px 0}
.rocket-info-sheet .rocket-lesson__examples strong,.rocket-info-sheet .rocket-lesson__examples span{display:block}
.rocket-info-tips{display:block;width:100%;min-height:48px;margin-top:20px}
@media(max-width:600px){.rocket-info-sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:20px 20px 0 0;padding:20px 20px max(24px,env(safe-area-inset-bottom))}}

/* One sheet changes content: no close/reopen flash or automatic mobile keyboard. */
.rocket-info-tips{background:var(--accent,#214de1);color:#fff;border-color:var(--accent,#214de1);margin:16px 0 24px;box-shadow:0 4px 14px #214de126}
.rocket-info-form{width:min(600px,calc(100% - 24px))}
.rocket-info-form h2:focus{outline:none}
@media(max-width:600px){
 .rocket-info-sheet,.idea-subscribe.rocket-info-form{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;height:min(620px,88dvh);max-height:88dvh;padding:20px 20px max(24px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto}
}
