/* Q1: original scene, separate challenge and optional guide paths. */
body[data-game=q1] .game-shell{grid-template-rows:84px minmax(0,1fr) 36px;min-height:0}
body[data-game=q1] .play-area{grid-template-columns:minmax(0,1fr) minmax(345px,390px)}
body[data-game=q1] .console{padding:20px;overflow:auto}
body[data-game=q1] .console-top{margin-bottom:8px}
body[data-game=q1] .console h2{font-size:22px;line-height:1.45;margin:0 0 10px}
body[data-game=q1] .intro{font-size:16px;line-height:1.65;margin:0 0 14px}
body[data-game=q1] select{font-size:16px;min-height:44px}
body[data-game=q1] .question-preview{font-size:16px;line-height:1.6;min-height:3.2em;margin:12px 0}
body[data-game=q1] .primary{font-size:16px;min-height:46px}
body[data-game=q1] .status-line{font-size:14px;line-height:1.6;min-height:0;margin-bottom:6px}
body[data-game=q1] .console-bottom{padding-top:12px}
body[data-game=q1] .utility{justify-content:space-between;flex-wrap:wrap;margin-top:8px;padding-top:8px;gap:8px!important}
body[data-game=q1] .utility button{font-size:14px;min-width:44px;min-height:44px;padding:6px 3px}
body[data-game=q1] #campaign-next{padding:7px 10px}
body[data-game=q1] .answer-text{font-size:30px;padding:10px 0}
body[data-game=q1] #decision-note{font-size:16px;line-height:1.7;margin:0 0 12px}
body[data-game=q1] .gate-explain{display:block;min-height:44px;padding:9px 14px;border:1px solid #a85d40;border-radius:8px;background:#fffaf0;color:#713d2b;font:inherit;font-size:16px}
body[data-game=q1] .gate-explain[hidden]{display:none}
body[data-game=q1][data-gate-phase=select] .status-line{display:none}
body[data-game=q1] .campaign-bar[hidden],body[data-game=q1] #campaign-next[hidden]{display:none}
body[data-game=q1] .guard-name{font-size:14px!important;line-height:1.5}
body[data-game=q1] .scene-caption{font-size:16px;line-height:1.55}
body[data-game=q1] .scene-result strong{font-size:27px}
body[data-game=q1] .scene-result span{font-size:16px;line-height:1.6}
body[data-game=q1] .scene-hud{letter-spacing:0}
/* Locked characters must let taps reach the doors behind them. */
body[data-game=q1][data-gate-phase=choose] .guard-row{pointer-events:none}
.gate-question-quote{margin:14px 0;padding:16px;border-left:4px solid #9e563d;background:#eee4d3;font-size:20px;line-height:1.8;color:#492f26}
.gate-equation{padding:12px 16px;background:#ece4d2;border-radius:10px;color:#4b3427}
.gate-equation p{font-size:18px;line-height:1.8;margin:8px 0}
.gate-chain{border:1px solid #d6c8ab;padding:12px;border-radius:8px;font-size:17px;line-height:1.8}
body[data-game=q1] #gate-guide h3{font-size:24px;line-height:1.5;margin:12px 0}
body[data-game=q1] #gate-guide .guide-content p{font-size:18px;line-height:1.85}
body[data-game=q1] #gate-guide .guide-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px}
body[data-game=q1] #gate-guide .guide-nav button{font-size:17px;min-height:46px}
@media(min-width:761px) and (max-height:820px){
 body[data-game=q1] .game-shell{height:calc(100dvh - 60px);grid-template-rows:70px minmax(0,1fr) 30px}
 body[data-game=q1] .console{padding:16px 18px}
 body[data-game=q1] .console-top{display:none}
 body[data-game=q1] .intro{font-size:15px;margin-bottom:10px}
 body[data-game=q1] .question-preview{font-size:15px;min-height:3.2em;margin:9px 0}
 body[data-game=q1] .console-bottom{padding-top:8px}
}
@media(max-width:760px){
 body[data-game=q1] #wujie-analytics-settings{position:static;display:block;margin:16px;min-height:44px;font-size:14px}
 body[data-game=q1] .site-head{height:60px}
 body[data-game=q1] .game-shell{height:calc(100dvh - 60px);grid-template-rows:52px minmax(0,1fr);padding:0 10px 10px;min-height:0}
 body[data-game=q1] .chapter h1{font-size:26px;margin:0}
 body[data-game=q1] .chapter .eyebrow{display:none}
 body[data-game=q1] .play-area{grid-template-columns:1fr;grid-template-rows:minmax(185px,1fr) auto}
 body[data-game=q1] .game-foot{display:none}
 body[data-game=q1] .console{min-height:0;padding:12px 15px;overflow:visible}
 body[data-game=q1] .console h2{display:block;font-size:20px;margin-bottom:6px}
 body[data-game=q1] .console>.intro{font-size:15px;line-height:1.55;margin-bottom:9px}
 body[data-game=q1] .gate-question-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body[data-game=q1] .question-preview{font-size:15px;line-height:1.55;min-height:2.8em;margin:8px 0}
 body[data-game=q1] .primary{min-height:44px;padding:9px 14px;font-size:16px}
 body[data-game=q1] .console-bottom{padding-top:6px}
 body[data-game=q1] .status-line{display:block;font-size:14px;line-height:1.55;margin:0 0 5px}
 body[data-game=q1][data-gate-phase=select] .status-line{display:none}
 body[data-game=q1] .utility{margin-top:5px;padding-top:5px;flex-wrap:nowrap;gap:6px!important}
 body[data-game=q1] .utility button{font-size:14px;min-height:44px}
 body[data-game=q1] #campaign-next{font-size:13px;padding:7px}
 body[data-game=q1] .campaign-bar{margin-bottom:8px}
 body[data-game=q1] .campaign-bar select{font-size:14px!important}
 body[data-game=q1] #level-progress{font-size:11px}
 body[data-game=q1] .scene-hud{top:10px;left:12px;right:12px;font-size:11px}
 body[data-game=q1] .scene-hud span{padding:4px 7px}
 body[data-game=q1] .scene-caption{font-size:13px;line-height:1.5;padding:6px 10px;bottom:8px;left:3%;right:3%;min-height:32px}
 body[data-game=q1] .portals{left:19%;right:19%;top:19%;height:64%;gap:16%}
 body[data-game=q1] .guard-row{left:21%;right:21%;gap:22%;bottom:23%}
 body[data-game=q1] .guard{width:39%;max-width:96px;min-height:44px}
 body[data-game=q1] .guard-name{font-size:11px!important;padding:2px 7px!important}
 body[data-game=q1] .scene-result{inset:20% 6% 26%;padding:12px;gap:7px}
 body[data-game=q1] .scene-result .result-icon{display:none}
 body[data-game=q1] .scene-result strong{font-size:21px}
 body[data-game=q1] .scene-result span{font-size:14px}
 body[data-game=q1] .answer-text{font-size:25px;padding:6px 0}
 body[data-game=q1] #decision-note{font-size:15px;line-height:1.6;margin-bottom:8px}
 .gate-question-quote{font-size:18px;padding:12px}
 .gate-equation{padding:9px 12px}.gate-equation p{font-size:16px}
 body[data-game=q1] #gate-guide h3{font-size:22px}
}
@media(max-width:760px) and (max-height:740px){
 body[data-game=q1] .game-shell{grid-template-rows:46px minmax(0,1fr)}
 body[data-game=q1] .play-area{grid-template-rows:minmax(170px,1fr) auto}
 body[data-game=q1] .console{padding:10px 13px}
 body[data-game=q1] .console>.intro{margin-bottom:7px}
 body[data-game=q1] .question-preview{margin:6px 0;min-height:2.6em}
 body[data-game=q1] .console-bottom{padding-top:3px}
 body[data-game=q1] .utility{margin-top:3px;padding-top:3px}
 body[data-game=q1] .campaign-bar{margin-bottom:6px}
 body[data-game=q1] .guard{max-width:78px}
}
