*{margin:0;padding:0;box-sizing:border-box}
body{background:#08080e;color:#d0d0d8;font-family:'Courier New',monospace;overflow:hidden;height:100vh;display:flex;flex-direction:column;user-select:none}
#topPanel{display:flex;align-items:center;gap:10px;padding:6px 14px;background:#0e0e18;border-bottom:1px solid #222238;flex-shrink:0;flex-wrap:wrap}
#topPanel label{font-size:13px;color:#8888aa}
#topPanel select{background:#14142a;color:#d0d0d8;border:1px solid #2a2a4a;padding:4px 8px;font-family:inherit;font-size:13px;border-radius:3px;cursor:pointer}
#topPanel select:focus{outline:1px solid #4a4aff}
#topPanel button{background:#14142a;color:#d0d0d8;border:1px solid #2a2a4a;padding:5px 14px;font-family:inherit;font-size:13px;cursor:pointer;border-radius:3px;transition:all .15s}
#topPanel button:hover{background:#1e1e3a}
#topPanel button.active{background:#2a2a5a;border-color:#5555cc;color:#fff}
#gameCanvas{flex:1;display:block;background:#000}
#bottomPanel{display:flex;align-items:center;gap:14px;padding:6px 14px;background:#0e0e18;border-top:1px solid #222238;flex-shrink:0;flex-wrap:wrap;font-size:13px}
.ti{white-space:nowrap}.ti span{color:#44ff88;font-weight:bold;min-width:40px;display:inline-block;text-align:right}
#statusText{color:#ffaa22;font-weight:bold;margin-left:auto}
.cb{background:#14142a;color:#d0d0d8;border:1px solid #2a2a4a;padding:3px 10px;font-family:inherit;font-size:12px;cursor:pointer;border-radius:3px}
.cb:hover{background:#1e1e3a}
