/* Reserve space for guidance. No gameplay canvas sits behind instructional text. */
.putting-shell .module-name{min-width:0;flex:1}
.putting-shell .module-name>span{letter-spacing:-.7px}
.putting-shell .header-actions{flex:none;margin-left:auto}
.putting-shell .course-heading{position:static;inset:auto;width:100%;flex:none;gap:16px;padding:8px 4%;line-height:1.4}
.putting-shell .course-heading>span:last-child{text-align:right}
.putting-shell .canvas-wrap{position:relative;flex:1 1 0;min-height:180px;padding:0;width:100%}
.putting-shell .canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.putting-shell .course-caption{position:static;inset:auto;width:100%;max-width:none;flex:none;padding:12px 4%;text-align:center}
.putting-shell .course-caption p{margin:0 auto 5px;max-width:52ch;font-size:14px;line-height:1.45}
.putting-shell .course-caption>span{display:block;font-size:12px;line-height:1.4}
.putting-shell .putting-stage{min-height:320px}
.putting-shell .hole-picker{flex:1;min-width:0}
.putting-shell .hole-picker select{min-width:0}
.putting-shell .progress{flex:none}
.putting-shell .putt-overlay{align-items:flex-start}
.putting-shell .putt-overlay>div{margin-block:auto;flex-shrink:0;max-width:100%}
.help-button{font-size:18px;font-weight:500}
.game-help{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100svh - 32px);border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--ink);background:var(--paper);overflow:auto;font:inherit}
.game-help::backdrop{background:rgba(25,30,27,.55)}
.help-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.game-help h2{font-size:26px;letter-spacing:-.6px;line-height:1.2;margin:0}
.game-help h3{font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:24px 0 10px}
.game-help p{font-size:16px;line-height:1.6;margin:14px 0}
.game-help .course-caption{position:static;inset:auto;padding:0;width:100%;max-width:none;text-align:left}
.game-help .course-caption p{font-size:16px;margin:0 0 8px}
.game-help .course-caption>span{font-size:12px;line-height:1.5}
.game-help .help-retry{font-size:13px;color:var(--muted)}
.game-help .help-done{width:100%;margin-top:20px}

@media(min-width:900px){
 .putting-shell .putting-deck{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 32px;padding:14px 4%;min-height:0}
 .putting-shell .shot-message{grid-column:1;margin:0;min-height:0}
 .putting-shell .shot-controls{grid-column:1;max-width:590px}
 .putting-shell .putt-actions{position:static;grid-column:2;grid-row:1 / span 2;align-self:center}
 .putting-shell .precision-deck .putt-actions{min-width:0}
}
@media(max-width:600px){
 .putting-shell .module-header{gap:12px}
 .putting-shell .module-name>span{font-size:20px;line-height:1.15}
 .putting-shell .course-heading{padding-block:9px 7px;font-size:12px;letter-spacing:.6px}
 .putting-shell .course-caption{padding:9px 4%}
 .putting-shell .course-caption p{font-size:13px}
 .putting-shell .games-link span{display:none}
 .putting-shell .games-link{width:24px;flex:none}
 .putting-shell .module-header{gap:8px}
 .putting-shell .module-name>span{font-size:18px}
 .putting-shell .module-name i{display:none}
}
@media(max-height:590px) and (orientation:landscape){
 .putting-shell{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto minmax(0,1fr);min-height:390px;height:100svh}
 .putting-shell .module-header{grid-row:1;min-height:62px;height:auto}
 .putting-shell .hole-bar{grid-column:2;grid-row:2;position:static;align-self:stretch;min-width:0}
 .putting-shell .hole-picker select{width:100%;max-width:100%}
 .putting-shell .putting-stage{grid-column:1;grid-row:2 / span 2;min-height:0}
 .putting-shell .course-heading{padding:8px 12px 6px;font-size:12px;letter-spacing:.4px}
 .putting-shell .canvas-wrap{min-height:160px}
 .putting-shell .course-caption{padding:8px 12px}
 .putting-shell .course-caption p{font-size:13px}
 .putting-shell .course-caption>span{display:none}
 .putting-shell .putting-deck{display:flex;flex-direction:column;grid-column:2;grid-row:3;align-self:end;align-items:stretch;gap:8px;padding:10px 18px;min-height:0}
 .putting-shell .shot-message{min-height:0;margin:0;font-size:13px}
 .putting-shell .shot-controls{gap:14px;flex:none}
 .putting-shell .putt-actions{position:static;align-self:stretch;min-width:0;flex-wrap:wrap;gap:8px}
 .putting-shell .putt-button{margin-left:auto;min-width:120px}
 .putting-shell .shoot-button{min-width:150px;font-size:12px}
 .putting-shell .control-tip{display:none}
 .putting-shell .precision-deck .putt-button{min-width:160px}
}

/* Drop Zone uses a full-width moving scene; keep its HUD in separate rows. */
.game-shell .playfield{display:flex;flex-direction:column;min-height:340px}
.game-shell .world-wrap{position:relative;flex:1 1 0;min-height:180px}
.game-shell .scene-head{position:static;order:-2;inset:auto;flex:none;align-items:center;gap:20px;padding:8px 4.2% 0}
.game-shell .scene-head>div:first-child{min-width:0;flex:1}
.game-shell .scene-head p{max-width:none;font-size:15px;line-height:1.4;margin-top:3px}
.game-shell .scene-head>div:first-child>.eyebrow{display:none}
.game-shell .payload{flex:none;display:flex;align-items:center;gap:10px}
.game-shell #ammo{margin-top:0}
.game-shell .target-state{min-height:0;margin:0;line-height:1.4}
.game-shell .target-state:empty{display:none}
.game-shell .scene-note{position:static;order:-1;inset:auto;max-width:none;flex:none;padding:7px 4.2% 10px;line-height:1.4;font-size:12px}
.game-shell .orange-dot{flex:none}
.game-shell .coordinates{display:none}
.game-shell .coordinates>span:last-child{text-align:right}
.game-shell .overlay{align-items:flex-start}
.game-shell .overlay>div{margin-block:auto;flex-shrink:0;max-width:100%}
.game-shell .intro-content{width:430px}
.game-shell .flight-deck{padding-block:14px}
@media(max-width:750px){.game-shell .topbar{padding-inline:4%;gap:3px 8px}.game-shell .wordmark{font-size:20px}.game-shell .top-actions{gap:0}}
@media(max-width:600px){
 .game-shell .flight-deck{flex-wrap:wrap;gap:14px}
 .game-shell .altitude-panel{flex:1;min-width:140px}
 .game-shell .bottomline{height:auto;min-height:28px;flex-wrap:wrap;gap:8px;font-size:9px}
}
@media(max-height:590px) and (orientation:landscape){
 .game-shell{min-height:400px;height:100svh}
 .game-shell .playfield{min-height:0}
 .game-shell .scene-head{padding-top:8px}
 .game-shell .scene-note{padding-block:5px 7px}
 .game-shell .coordinates{padding-block:5px}
 .game-shell .flight-instruction{display:none}
}
