#threatcue{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:3;color:#ffc14c;filter:drop-shadow(0 2px 2px #081e30)}
#threatcue span{position:absolute;left:-12px;top:calc(-1 * min(28vh,120px));font:bold 28px Arial;text-shadow:0 0 5px #081e30}
#threatcue[data-hit=true]{color:#ff7057}
#controllayout,#playtestdialog{width:min(760px,94vw);max-height:94dvh;padding:20px;border:1px solid #4d7a90;border-radius:20px;background:#103449;color:#edfbff;overflow:auto}
.polish-header,.polish-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.polish-header h2{margin:0;font-size:24px}.polish-header button,#resetlayout{background:#245971;border-radius:10px;padding:12px;min-height:44px}
.layout-preview{position:relative;display:flex;justify-content:space-around;background:linear-gradient(90deg,#133f53 50%,#17495d 50%);border:1px solid #5991a4;border-radius:12px;height:110px;margin:12px 0;padding-top:12px;font-size:14px;overflow:hidden}
#layoutsample{position:absolute;bottom:10px;display:flex;gap:8px;transform-origin:center bottom}#layoutsample b{border:1px solid #c4eafa;background:#24576c;padding:8px;border-radius:8px;font-size:12px}
.layout-fields,.playtest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.layout-fields label,.playtest-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px}.layout-fields .check{flex-direction:row;align-items:center}.layout-fields output{font-size:14px;color:#ffc776}.layout-fields input[type=range]{width:100%}
.playtest-fields select,.playtest-fields textarea{font:16px Arial;color:#edfbff;background:#20556b;border:1px solid #639daf;border-radius:8px;padding:10px;width:100%}.test-notes{grid-column:1/-1}.polish-actions .primary{margin:0;width:auto;padding:12px;font-size:14px}.polish-actions a{color:#c4edff;font-size:14px}#teststatus{font-size:13px;line-height:1.3;margin-bottom:0}
@media(orientation:landscape){
 .touch-device #touch #dashaction{display:block!important}
 .touch-device #actionbuttons{left:calc(50% + 4px + var(--control-x,0vw));bottom:calc(12px + var(--safe-bottom) + var(--control-y,0vh));transform:scale(var(--control-scale,1));transform-origin:center bottom}
 .touch-device #touch>#touchweapon{left:calc(50% - 96px + var(--control-x,0vw));bottom:calc(12px + var(--safe-bottom) + var(--control-y,0vh));transform:scale(var(--control-scale,1));transform-origin:center bottom}
 .touch-device #touch>#touchzoom{left:calc(50% + 44px + var(--control-x,0vw));bottom:calc(76px + var(--safe-bottom) + var(--control-y,0vh));transform:scale(var(--control-scale,1));transform-origin:center bottom}
 .touch-device #touch>#fire{transform:scale(var(--control-scale,1));transform-origin:right bottom;bottom:calc(12px + var(--safe-bottom) + var(--control-y,0vh))}
 .touch-device.left-handed #movezone{left:auto;right:0}.touch-device.left-handed #lookzone{right:auto;left:0}
 .touch-device.left-handed #movelabel{left:auto;right:24px}.touch-device.left-handed #looklabel{right:auto;left:24px}
 .touch-device.left-handed #touch>#fire{right:auto;left:calc(24px + var(--safe-left));transform-origin:left bottom}
}
@media(orientation:landscape) and (max-height:500px){#controllayout,#playtestdialog{padding:12px}.polish-header h2{font-size:20px}.layout-preview{height:76px;margin:8px 0}.layout-fields{gap:6px;margin:6px 0;grid-template-columns:repeat(4,minmax(0,1fr))}.layout-fields .check{font-size:13px}.playtest-fields{gap:8px;margin:8px 0}#teststatus{font-size:12px}.polish-header button,#resetlayout{padding:8px;min-height:40px}}
