.device-test-page{margin:0;min-height:100dvh;background:var(--kott-color-background,#030806);color:#f4f0e8;font-family:var(--font-ui);display:flex;flex-direction:column;overflow:hidden}
.device-test-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(20px,env(safe-area-inset-right));border-bottom:1px solid #53452a;background:#07100f}
.device-test-header small{color:#c9aa67;font-size:11px;letter-spacing:.14em}.device-test-header h1{font:500 25px var(--font-ui);margin:4px 0 0}.device-test-header a{color:#e7dfc9;min-height:44px;display:flex;align-items:center;text-decoration:none}
.device-test-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);min-height:0;height:calc(100dvh - 92px)}
#device-test-arena{position:relative;min-width:0;min-height:0;overflow:hidden;background:#070907}#device-test-arena>canvas{display:block;width:100%!important;height:100%!important}
.device-test-panel{padding:24px;min-width:0;min-height:0;overflow:auto;background:#0b1712;border-inline-start:1px solid #53452a}.device-test-panel>small{color:#c9aa67;font-size:14px}.device-test-panel h2{font:500 26px/1.2 var(--font-ui);margin:12px 0}.device-test-panel p{font:400 16px/1.5 var(--font-ui);color:#c7c0b4;overflow-wrap:anywhere}.device-test-results{display:grid;gap:10px;margin:24px 0}.device-test-results>div{padding:12px 0;border-block-end:1px solid #314238;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.device-test-results strong{font-size:26px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.device-test-results small{display:block;color:#b7b1a4;font-size:13px}
.device-test-actions{display:flex;flex-wrap:wrap;gap:10px}.device-test-actions button{font:500 16px var(--font-ui);min-height:48px;padding:10px 18px;border:1px solid #a17f36;border-radius:4px;background:#1a2b20;color:#f4f0e8;cursor:pointer;flex:1}.device-test-actions #test-apply{background:#d4a63a;color:#08120c}.device-test-actions button:disabled{opacity:.6;cursor:progress}.device-test-page [hidden]{display:none!important}.device-test-page :focus-visible{outline:2px solid #edcf80;outline-offset:3px}
@media(max-width:760px){.device-test-header{padding:8px 14px;gap:12px}.device-test-header h1{font-size:20px}.device-test-header a{font-size:14px}.device-test-layout{grid-template-columns:1fr;grid-template-rows:minmax(230px,48dvh) minmax(0,1fr);height:calc(100dvh - 75px)}.device-test-panel{padding:16px;border-inline-start:0;border-block-start:1px solid #53452a}.device-test-panel h2{font-size:22px;margin:6px 0}.device-test-panel p{font-size:14px;margin:8px 0}.device-test-results{margin:12px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.device-test-results>div{display:block}.device-test-results strong{font-size:24px}}
@media(max-height:500px) and (min-width:600px){.device-test-header{padding:5px 14px}.device-test-header h1{font-size:18px}.device-test-layout{grid-template-columns:minmax(0,1fr) minmax(230px,32%);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 65px)}.device-test-panel{padding:12px}.device-test-panel h2{font-size:20px}.device-test-panel p{font-size:13px}.device-test-results{margin:8px 0;gap:6px}.device-test-actions button{min-height:44px;font-size:14px;padding:8px}}
.hall-device-test{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0;border-block-start:1px solid #514429;margin-top:14px}.hall-device-test span{min-width:0;color:#c7c0b4;font-size:14px}.hall-device-test button{min-height:48px;padding:10px 18px;font:500 16px var(--font-ui);border:1px solid #aa8840;border-radius:4px;background:#15291d;color:#f4f0e8;cursor:pointer}

/* Measure the same full viewport as gameplay; the test UI is an overlay. */
#device-test-arena{position:fixed;inset:0;width:100vw;height:100dvh;z-index:0}
.device-test-header{position:relative;z-index:2;background:rgba(7,16,15,.95)}
.device-test-panel{position:absolute;z-index:2;inset-inline-end:16px;top:105px;width:310px;max-height:calc(100dvh - 125px);background:rgba(11,23,18,.96);border:1px solid #53452a;border-radius:4px}
@media(max-width:760px){.device-test-panel{top:auto;bottom:max(12px,env(safe-area-inset-bottom));inset-inline:12px;width:auto;max-height:38dvh}}
@media(max-height:500px) and (min-width:600px){.device-test-panel{top:72px;bottom:12px;inset-inline-start:auto;inset-inline-end:12px;width:240px;max-height:calc(100dvh - 84px)}}

html[dir="rtl"] .device-test-page{direction:rtl}

.hall-graphics-grid select{min-height:44px}
.hall-settings-actions>button{min-height:44px}

/* Keep cancellation/apply reachable as individual shot results accumulate. */
.device-test-panel{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.device-test-panel>small,.device-test-panel>h2,.device-test-panel>p,.device-test-actions{flex-shrink:0}
.device-test-measurements{min-height:0;overflow:auto;flex:1 1 auto}
.device-test-results{overflow:visible;flex:none;align-content:start}
.device-test-panel[data-state] [data-copy="clarity"]{display:none}
#test-note{white-space:pre-line}
@media(max-width:760px){.device-test-panel[data-state="complete"]{max-height:58dvh}.device-test-results{grid-auto-rows:min-content}}
