#fps{position:absolute;top:max(6px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:11;font:600 10px 'DM Sans',sans-serif;color:var(--mint);background:#102337cc;padding:3px 9px;border-radius:10px;pointer-events:none;white-space:nowrap}
/* Portrait phones: header, one control row (mode switch + save status), a second row (plot tools + camera column), bottom sheets below. */
@media(max-width:650px){
header{height:52px;padding:8px 14px}.brand{font-size:22px;gap:8px}.brand span{font-size:18px}.brand small{display:none}.wallet{font-size:14px;text-align:right}.wallet small{font-size:8px}
.topline{top:60px;left:12px;right:12px;justify-content:flex-end}.topline>div,.sceneTag,#hint,.camera #zoomIn,.camera #zoomOut{display:none!important}
#status{height:44px;display:flex;align-items:center;padding:0 12px;font-size:10px}
#modeSwitch{top:60px;left:12px;transform:none;padding:3px;border-radius:14px}#modeSwitch button{padding:0 12px;font-size:11px}
#plotTools{top:116px;left:12px}
.camera,.placementActive .camera{display:flex;flex-direction:column;top:116px;right:12px;gap:6px}
#toast{top:176px}#placeHint{top:116px}
.roomBar{top:60px;left:12px;transform:none;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;text-align:left}.roomBar .eyebrow{display:none}.roomBar b{font-size:13px;margin:0}.roomBar small{margin:0}
#roomSheet{bottom:max(8px,env(safe-area-inset-bottom));padding:10px 12px;max-height:50dvh}
}
@media(max-width:650px){.interiorActive .camera{top:62px}.interactMode .camera{top:max(14px,env(safe-area-inset-top))}#roomSheet{left:8px;right:8px;width:auto;transform:none;bottom:max(8px,env(safe-area-inset-bottom))}}
/* Clean UI: the brand and demo-coins header stay hidden everywhere (the coin counter still updates in the DOM). */
header{display:none!important}
