*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;background:#cfeef2;color:#22332b;overflow:hidden;height:100vh}
#app{position:relative;height:100vh;max-width:520px;margin:auto}
.screen{position:absolute;inset:0;display:none}.screen.active{display:block}
#map{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.top{position:absolute;top:0;left:0;right:0;z-index:3;padding:14px 14px 0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.title{display:flex;align-items:center;gap:6px;background:#fffd;padding:6px 12px;border-radius:18px;font-weight:800;font-size:20px;box-shadow:0 3px 10px #0001}
.title button{border:0;background:none;font-size:15px}
.lv{background:linear-gradient(#ffd66b,#f4a93b);color:#6b3d00;font-size:12px;padding:2px 8px;border-radius:10px}
.notice{background:#7a5a3a;color:#fff6e0;padding:6px 12px;border-radius:14px;font-size:13px;border:2px solid #a3815c;box-shadow:0 3px 0 #5a3f26}
.notice b{color:#9dff9d}
.sampleTag{position:absolute;top:14px;right:14px;z-index:4;background:#ff6b6b;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:10px;transform:rotate(3deg)}
.sampleTag.inline{position:static;transform:none}
.zoom{position:absolute;right:12px;bottom:80px;z-index:3;display:flex;flex-direction:column;gap:8px}
.zoom button{width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:18px;box-shadow:0 3px 8px #0002}
.legend{position:absolute;left:10px;right:10px;bottom:14px;z-index:3;background:#fffe;border-radius:16px;padding:10px 12px;display:flex;gap:12px;font-size:12px;align-items:center;box-shadow:0 3px 10px #0001}
.legend .hint{margin-left:auto;color:#889}
.d{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.g{background:#3cc46b}.a{background:#f2b33d}.x{background:#aab}
#shop{background:#eef3ef;overflow-y:auto}
.bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#eef3efee}
.bar button{border:0;background:#fff;border-radius:14px;padding:6px 12px;font-size:14px;box-shadow:0 2px 6px #0001}
#report{padding:0 14px 30px;background:#eef3ef}
.hero{background:linear-gradient(150deg,#1f5a42,#0f3a2a);color:#eafff2;border-radius:20px;padding:18px;position:relative;overflow:hidden}
.hero h2{font-size:20px}.hero .pair{opacity:.75;font-size:12px;margin:4px 0 14px}
.hero .big{font-size:36px;font-weight:800;letter-spacing:-1px}.hero .big small{font-size:14px;opacity:.7}
.hero .row{display:flex;gap:16px;margin-top:10px;font-size:12px;opacity:.9}.hero .row b{display:block;font-size:15px}
.hero .badge{position:absolute;right:14px;top:14px;font-size:11px;padding:3px 8px;border-radius:9px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.tile{background:#fff;border-radius:14px;padding:12px}.tile span{font-size:12px;color:#789}.tile b{display:block;font-size:18px;margin-top:4px}
.card{background:#fff;border-radius:16px;padding:14px;margin-bottom:12px}.card h3{font-size:15px;margin-bottom:10px}
.pos{color:#1e9b55}.neg{color:#d9484a}
table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:7px 4px;text-align:right}th{color:#789;font-weight:500}td:first-child,th:first-child{text-align:left}tr+tr td{border-top:1px solid #eef}
.kv{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
.notes{font-size:11px;color:#789;line-height:1.6}
#chart{width:100%;height:200px}
.lgd{font-size:11px;color:#789;display:flex;gap:12px;margin-top:6px}

#office{background:#14181c}#ofc{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.obar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:#e8d6a0}
.obar button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:7px 12px;font-size:14px;backdrop-filter:blur(6px)}
#office .zoom button{background:rgba(255,255,255,.14);color:#fff}
.enter{display:block;width:100%;margin:0 0 10px;padding:11px;border:0;border-radius:14px;background:#1d2a33;color:#e8d6a0;font-size:15px;font-weight:700}

.ohud{position:absolute;left:12px;right:12px;bottom:16px;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px;border-radius:18px;background:rgba(20,18,16,.72);border:1px solid rgba(201,162,74,.45);backdrop-filter:blur(8px);color:#f3e9cf}
.ohud span{display:block;font-size:10px;color:#b9a77a}.ohud b{font-size:15px}.ohud .pos{color:#3be38a}.ohud .neg{color:#ff6b6b}
.ohud em{position:absolute;top:-10px;right:12px;font-style:normal;font-size:10px;background:#ff6b6b;color:#fff;padding:2px 8px;border-radius:8px}
#office .zoom{bottom:110px}#office .obar b{color:#e8cf8a;letter-spacing:1px}
