:root{color-scheme:dark;--bg:#080c12;--line:#26313d;--muted:#788695;--cyan:#69eed9;--yellow:#ffe177;--pink:#ff779d}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 30%,#11242a55,transparent 60%),var(--bg);color:#eef3f3;font:14px system-ui,"Microsoft YaHei",sans-serif}header{height:84px;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line);padding:0 5%}.brand{display:flex;align-items:center;gap:12px;color:var(--yellow);font-size:30px;text-decoration:none;font-weight:850}.brand span{font-size:20px;letter-spacing:2px;color:#eef3f3}.brand .thin{font-weight:350;color:#97a4b0}.edition,.online{font:11px monospace;letter-spacing:2px;color:var(--muted)}.online{margin-left:auto;color:var(--cyan)}main{max-width:1500px;padding:42px 5% 24px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font:11px monospace;color:var(--cyan);letter-spacing:3px}h1{font-size:32px;letter-spacing:1px;margin:14px 0}h1 span{color:#85959f}.subtitle{color:var(--muted);font-size:13px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#14202a;color:#edf7f6;padding:12px 19px;font:inherit}button:hover{border-color:var(--cyan)}button:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}#start{background:var(--cyan);color:#102825;font-weight:750;min-width:158px;padding:17px 23px}#start span{margin-left:25px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:9px;background:#101720;margin-bottom:20px}.stats>div{padding:19px 24px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}label{display:block;font:10px monospace;letter-spacing:2px;color:var(--muted);margin-bottom:10px}strong{font:26px monospace;letter-spacing:2px}.yellow{color:var(--yellow)}.cyan{color:var(--cyan)}.pink{color:var(--pink)}#status{font:18px system-ui}.views{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:20px}.panel{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0d141d}.panel-head{height:48px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:11px monospace;letter-spacing:1px}.panel-head i{display:inline-block;background:var(--cyan);width:6px;height:6px;border-radius:50%;margin-right:8px}.panel-head small{color:var(--muted)}.viewport{height:425px;position:relative}#scene{width:100%;height:100%;display:block}#map{display:block;width:100%;height:377px;padding:18px}.legend{display:flex;justify-content:center;gap:22px;color:var(--muted);font:10px monospace;letter-spacing:1px;padding:16px}.legend b{margin-right:5px}.view-label{position:absolute;bottom:18px;left:20px;right:20px;color:#b3c5ca77;font:10px monospace;display:flex;justify-content:space-between}.view-label b{position:absolute;left:50%;bottom:180px;color:#ffffff66}#overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#06131a80;text-align:center;backdrop-filter:blur(2px)}#overlay[hidden]{display:none}.badge{color:var(--cyan);font:10px monospace;letter-spacing:3px}h2{font-size:36px;margin:18px 0}#overlay p{color:#b2c6ca;line-height:1.9}.bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;font-size:11px;color:var(--muted)}kbd{display:inline-block;border:1px solid #39434e;border-bottom:3px solid #39434e;border-radius:4px;padding:5px 7px;margin:0 3px;font:10px monospace;color:#d5dfe2}.actions{display:flex;gap:8px}.actions button{font-size:11px}.touch{display:none;gap:10px;margin-top:20px}.touch button{touch-action:none;flex:1}footer{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;font:10px monospace;color:#596877;letter-spacing:1px}@media(max-width:850px){.views{grid-template-columns:1fr}.viewport{height:360px}.heading{gap:15px}h1{font-size:25px}.edition{display:none}.stats>div{padding:15px 10px}strong{font-size:20px}.bottom{flex-wrap:wrap}.touch{display:flex}footer{gap:20px;line-height:1.7}.heading #start{min-width:120px}#map{height:340px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
