#orientation-toolbar[hidden]{display:none!important}
#orientation-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 12px;min-height:44px;background:#071d48;color:#fff;font-size:12px;position:sticky;top:0;z-index:50}
#orientation-return{border:1px solid #9fbbf1;background:white;border-radius:9px;color:#12356e;padding:6px 12px;font-size:14px;min-height:34px;white-space:nowrap}
body .rotate-hint .landscape-button{background:#235fce;color:white;border:2px solid #174391;border-bottom-width:4px;border-radius:10px;min-height:44px;padding:8px 14px;font-size:16px;font-weight:800;white-space:nowrap}
body .rotate-hint{flex-wrap:wrap}body .rotate-hint>span:not([aria-hidden]){flex:1;min-width:180px}
body.virtual-landscape{overflow:hidden;height:100dvh}
body.virtual-landscape #screen-shell{position:fixed;left:var(--landscape-left);top:0;width:var(--landscape-width);height:var(--landscape-height);transform-origin:0 0;transform:rotate(90deg);display:flex;flex-direction:column;overflow:hidden;background:#f5f6fa}
body.virtual-landscape.journey-mode #screen-shell{background:#102a65}
body.virtual-landscape #orientation-toolbar{position:relative;flex:0 0 44px;padding:4px 12px}
body.virtual-landscape #screen-scroll{width:100%;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:12px;padding-bottom:110px}
/* Fixed question controls use the unscrolled, rotated shell as their containing block. */
body.virtual-landscape :is(.practice-controls,.exam-controls){width:min(1000px,calc(var(--landscape-width) - 20px));bottom:0;padding-bottom:8px}
body.virtual-landscape dialog{position:fixed;inset:auto;left:50%;top:50%;margin:0;width:min(460px,calc(var(--landscape-width) - 32px));max-width:none;max-height:calc(var(--landscape-height) - 32px);transform:translate(-50%,-50%) rotate(90deg);overflow:auto}
body.landscape-layout .rotate-hint{display:none}
body.landscape-layout .header{height:58px;padding:7px 18px}
body.landscape-layout .header-end{gap:12px}
body.landscape-layout .lesson{min-height:calc(var(--landscape-height) - 90px)}
body.landscape-layout .lesson-top{position:relative;padding:6px 18px;gap:8px}
body.landscape-layout .lesson-top button{min-height:34px;padding:5px 9px}
body.landscape-layout #exercise{padding-bottom:105px;max-width:1050px;margin:auto}
body.landscape-layout .question-head{padding:12px 18px}
body.landscape-layout .question-head h2{font-size:21px;line-height:1.35}
body.landscape-layout .question-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:15px;padding:0 18px 18px}
body.landscape-layout .question-body.text-only{display:block}
body.landscape-layout .question-body .answers{display:grid;grid-template-columns:1fr;gap:8px}
body.landscape-layout .question-body.text-only .answers{grid-template-columns:1fr 1fr}
body.landscape-layout .answer{font-size:16px;min-height:49px;padding:8px;border-bottom-width:4px}
body.landscape-layout .answer .letter{width:28px;height:28px;font-size:14px;flex-shrink:0}
body.landscape-layout :is(.official-image img,.original-road-scene svg,.diagram svg){max-height:230px;min-height:0;object-fit:contain}
body.landscape-layout .game-progress{padding:6px 18px 0}
body.landscape-layout .game-progress .route-dots>span{width:24px;height:24px;font-size:11px}
body.landscape-layout :is(.practice-controls,.exam-controls){padding-top:7px;gap:4px 12px}
body.landscape-layout :is(.practice-controls,.exam-controls) button{min-height:38px;padding:6px 12px;font-size:16px}
body.landscape-layout .navigation-feedback{font-size:12px}
body.landscape-layout .journey-welcome{max-width:740px;padding:18px 26px}
body.landscape-layout .journey-art{height:100px}
body.landscape-layout .journey-welcome h1{font-size:28px;margin:9px 0 12px}
body.landscape-layout .date-choices{grid-template-columns:repeat(4,1fr)}
body.landscape-layout .experience-choices{grid-template-columns:repeat(3,1fr)}
body.landscape-layout .experience-choices button{font-size:16px;padding:9px;min-height:65px}
body.landscape-layout .journey-welcome .journey-cta{max-width:440px;margin:20px auto}
body.landscape-layout .exam-toolbar{padding:5px 18px}
