*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#151e29;color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid #ffffff32;border-radius:8px;background:#172833db;color:white;padding:11px 15px}button:hover{background:#3f5873}button:focus-visible{outline:2px solid #b8a5ff}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:25px;padding:20px 28px;background:linear-gradient(#15212ac9,transparent);z-index:5}.brand{display:flex;align-items:center;gap:18px;color:white;text-decoration:none}.brand strong{font-style:italic;font-size:30px;letter-spacing:-2px}.brand strong span{color:#c2afff}.brand b{font-size:15px;letter-spacing:2px;font-weight:500}.venue{font-size:12px;letter-spacing:2px}nav{display:flex;gap:6px;margin-left:auto}nav button{padding:10px 12px;font-size:12px}#welcome{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:9vw;background:linear-gradient(90deg,#0d1b32ef,#101a2a88 55%,#101a2a30);z-index:10}small{font-size:10px;letter-spacing:2px;color:#bdc9db}h1{font-size:clamp(32px,4vw,62px);line-height:1.3;letter-spacing:2px;white-space:pre-line;font-weight:650;margin:22px 0}p{line-height:1.9;font-size:14px;color:#cbd6e6}#enter{background:#bfafff;color:#15142c;padding:17px 28px;margin-top:18px;font-weight:650}#load-status{font-size:11px}#near-nav{position:absolute;left:24px;right:210px;top:92px;z-index:4;pointer-events:none}#zone-title{display:block;font-size:11px;margin-bottom:8px;text-shadow:0 2px 4px black}#near-buttons{display:flex;gap:5px;overflow:auto;padding-bottom:5px;scrollbar-width:thin}#near-buttons button{pointer-events:auto;font-size:11px;white-space:nowrap;padding:9px 12px}#hud{position:absolute;bottom:20px;left:24px;font-size:11px;background:#17232bd9;padding:14px;border-radius:8px;pointer-events:none}#minimap{position:absolute;right:24px;bottom:20px;width:190px;background:#14232de3;border:1px solid #ffffff22;padding:11px;border-radius:10px;z-index:4}#minimap>div{display:flex;justify-content:space-between;align-items:center;font-size:11px}#minimap small{font-size:8px;letter-spacing:0}#map{width:100%;margin-top:8px;display:block}dialog{background:#142330;color:white;border:1px solid #607183;border-radius:16px;padding:35px;width:min(620px,calc(100vw - 28px));max-height:85vh;overflow:auto}dialog::backdrop{background:#0b1428b0;backdrop-filter:blur(5px)}h2{font-size:25px;font-weight:550}dialog .close{position:absolute;right:15px;top:12px;padding:5px 11px;font-size:22px}#zone-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}#zone-list button{text-align:left;min-height:60px;border-left:4px solid var(--zone);font-size:13px}#zone-list button span{display:block;color:#b1bed1;font-size:10px;margin-top:5px}label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}select{padding:10px;border-radius:5px;background:#253d50;color:white;border:1px solid #688096}#error{position:absolute;inset:0;background:#132235f5;padding:10vw;z-index:30}#touch-controls{position:absolute;inset:0;pointer-events:none;z-index:6}#joystick{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:24px;border-radius:50%;width:124px;height:124px;background:#172a4260;pointer-events:auto;touch-action:none;border:1px solid #ffffff40}#stick-thumb{position:absolute;width:54px;height:54px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#c2afffa0;border:1px solid #ffffff55}.actions{position:absolute;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:10px;pointer-events:auto}.actions button{width:67px;height:67px;border-radius:50%;background:#8470b4ad;touch-action:none}#touch-controls>small{position:absolute;bottom:110px;right:30px;font-size:10px;text-shadow:0 2px 4px black}.touch-mode #hud{display:none}.touch-mode #minimap{bottom:185px}.touch-mode #near-nav{right:20px}.touch-mode header #entry,.touch-mode header #overview{display:none}@media(max-width:900px){.venue,.brand b{display:none}header{gap:10px;padding:15px}#near-nav{left:16px;right:16px;top:76px}#minimap{width:135px;right:15px}nav button{padding:10px;font-size:11px}#hud{font-size:9px;max-width:60%}#welcome{padding:28px}#zone-list{grid-template-columns:1fr}h1{font-size:34px}.brand strong{font-size:26px}header nav{gap:4px}}@media(max-width:440px){header{padding-left:max(12px,env(safe-area-inset-left));padding-right:12px}header #entry,header #overview{display:none}#minimap{width:112px}.brand strong{font-size:24px}#joystick{width:114px;height:114px;left:20px}.actions{right:18px}.actions button{width:62px;height:62px}header button{padding:10px 8px}}
