:root{color-scheme:dark;--bg: #06101c;--bg-2: #0c1b30;--card: rgba(16, 32, 56, .94);--line: rgba(213, 222, 234, .16);--silver: #d5deea;--muted: #8ea0b8;--gold: #e4c98a;--blue: #7ec8ff;--deep: #1d4e9a;--danger: #ff9aab;--ok: #8ee0c2;--header: 72px;--nav: 68px;font-family:PingFang SC,Noto Sans SC,Source Han Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;touch-action:manipulation;background:radial-gradient(1200px 500px at 50% -10%,rgba(126,200,255,.16),transparent 55%),var(--bg);color:var(--silver)}#app{height:100%;height:100dvh}button,input,textarea,select{font:inherit;color:inherit;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.phone{max-width:480px;height:100%;margin:0 auto;display:flex;flex-direction:column;position:relative;background:linear-gradient(180deg,#081424,#06101c 40%);box-shadow:0 0 0 1px var(--line)}header{min-height:var(--header);padding:12px 16px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px}header h1{font-size:18px;margin:0;font-weight:650;letter-spacing:.02em}header p{margin:4px 0 0;color:var(--muted);font-size:12px}.balance{border:1px solid rgba(228,201,138,.45);color:var(--gold);border-radius:999px;padding:6px 10px;font-size:13px;white-space:nowrap;background:#e4c98a14}main{flex:1;min-height:0;position:relative}.view{display:none;height:100%}.view.active{display:flex;flex-direction:column;min-height:0}#view-map{position:relative}#map-host{position:relative;flex:1;min-height:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.stage-player{position:absolute;z-index:2;overflow:hidden;border-radius:0;background:transparent;pointer-events:auto}.stage-player[hidden]{display:none}.stage-player iframe{width:100%;height:100%;border:0;display:block;background:transparent}#map-host canvas{display:block;width:100%;height:100%;touch-action:none}.scene-nav{position:absolute;z-index:7;top:10px;left:10px;right:10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;pointer-events:none}.scene-nav-slot{display:flex;min-height:32px}.scene-nav-slot.end{justify-content:flex-end}.scene-nav-slot>*{pointer-events:auto}.scene-back,.bgm-toggle{border:1px solid var(--line);background:#06101cdb;color:var(--silver);border-radius:999px;padding:7px 12px;font-size:13px;white-space:nowrap;box-shadow:0 8px 24px #00000047}.scene-hint{margin:0;font-size:12px;color:var(--silver);background:#06101cb8;border:1px solid var(--line);border-radius:999px;padding:6px 10px;white-space:nowrap}.scene-hint:empty{display:none}.map-tools{position:absolute;z-index:5;left:12px;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;align-items:stretch;pointer-events:none}.map-tools>*{pointer-events:auto}.map-tools .grow{flex:1}.legend{display:flex;gap:8px;font-size:11px;color:var(--muted);background:#06101cb8;border:1px solid var(--line);border-radius:999px;padding:6px 10px}.dot{width:8px;height:8px;border-radius:99px;display:inline-block;margin-right:4px}.dot.basic{background:#7ec8ff}.dot.large{background:#e4c98a}.dot.luxury{background:#f4f7ff;box-shadow:0 0 8px #7ec8ff}.banner{position:absolute;z-index:6;top:54px;left:12px;right:12px;background:#081222e0;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;display:none}.banner.show{display:flex;justify-content:space-between;gap:8px;align-items:center}nav{height:var(--nav);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#06101cf5;padding-bottom:env(safe-area-inset-bottom)}nav button{background:transparent;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px}nav button.active{color:var(--silver)}nav button span.mark{font-size:16px}.page{padding:8px 16px 20px;overflow:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.card h2{margin:0 0 8px;font-size:16px}.hint{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}input[type=text],input[type=password],input[type=number],textarea,select{width:100%;background:#091423;border:1px solid var(--line);border-radius:12px;padding:12px;outline:none;font-size:16px}textarea{min-height:72px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#7ec8ffb3}.btn{border:0;border-radius:12px;padding:12px 14px;background:linear-gradient(180deg,#2a6fbe,#1a4f96);color:#fff}.btn.secondary{background:transparent;border:1px solid var(--line);color:var(--silver)}.btn.gold{background:linear-gradient(180deg,#e7d3a2,#b99555);color:#2a2112}.btn.danger{background:transparent;border:1px solid rgba(255,154,171,.5);color:var(--danger)}.btn.block{width:100%}#view-admin .card .btn+.btn{margin-top:8px}.row{display:flex;gap:8px}.row>*{flex:1}.skins{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.skin{text-align:center;background:#091423;border:1px solid var(--line);border-radius:12px;padding:6px 4px 8px}.skin img{width:100%;height:64px;object-fit:contain;display:block;pointer-events:none}.skin b{display:block;color:var(--silver);font-size:12px;font-weight:600}.skin.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.tiers{display:grid;gap:8px}.tier{text-align:left;background:#091423;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tier.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.tier b{display:block;color:var(--silver)}.tier small{color:var(--muted)}.toast{position:absolute;top:12px;left:16px;right:16px;z-index:20;background:#12243d;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 10px 30px #00000059;display:none}.toast.show{display:block}.toast.bad{border-color:#ff9aab99}.toast.good{border-color:#8ee0c299}.sheet{position:absolute;inset:auto 0 0 0;z-index:15;background:#0c1a2e;border-top:1px solid var(--line);border-radius:18px 18px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -16px 40px #0006;display:none;max-height:78%;overflow:auto}.sheet.show{display:block}.counter{text-align:right;color:var(--muted);font-size:12px}.list{display:grid;gap:8px}.item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#08101e73}.item strong{display:block}.item span{color:var(--muted);font-size:12px}.verifying{display:flex;align-items:center;gap:10px}.spinner{width:18px;height:18px;flex:0 0 auto;border-radius:50%;border:2px solid rgba(213,222,234,.28);border-top-color:var(--blue);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.tag{display:inline-block;border-radius:999px;padding:2px 8px;border:1px solid var(--line);font-size:11px;margin-right:4px}.tag.warn{color:var(--gold);border-color:#e4c98a73}.tag.bad{color:var(--danger);border-color:#ff9aab73}.preview{margin-top:8px;max-height:140px;border-radius:12px;display:none}.preview.show{display:block}.word-row{display:flex;justify-content:space-between;gap:8px;align-items:center}details summary{cursor:pointer;color:var(--gold);margin-bottom:8px}
