:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#f5f0e6;background:#242920;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;font-size:14px;border:1px solid #ffffff28;background:#242920e8;color:#f5f0e6;cursor:pointer;border-radius:9px;padding:10px 15px;transition:background .16s,border-color .16s}button:hover{background:#4b5544;border-color:#d5b882}button:focus-visible,canvas:focus-visible{outline:3px solid #e8c482;outline-offset:3px}button:disabled{cursor:wait;opacity:.5}button.active,button[aria-pressed=true]{background:#e2c89a;color:#29291e;border-color:#e2c89a}#viewer,#world{width:100%;height:100dvh;min-height:420px}#world{display:block;touch-action:none}.topbar{position:absolute;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;pointer-events:none}.identity{display:flex;align-items:center;gap:12px;background:#20251fe8;padding:11px 18px;border:1px solid #ffffff1d;border-radius:12px;backdrop-filter:blur(12px)}.identity h1{font-family:"Songti SC",Georgia,serif;font-size:20px;letter-spacing:.06em;margin:0;font-weight:600}.mark{font-size:21px}.local{font-size:12px;color:#c2c7b7;border-left:1px solid #ffffff30;padding-left:12px}.top-actions{display:flex;gap:8px;pointer-events:auto}.viewpoints{position:absolute;top:88px;left:20px;right:80px;display:flex;flex-wrap:wrap;gap:7px;pointer-events:none}.viewpoints button{pointer-events:auto;backdrop-filter:blur(10px)}.tools{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;gap:7px}.tools button{width:48px;height:48px;padding:0;font-size:25px}.tools .text-tool{font-size:13px;line-height:1.3;height:54px}.help{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);text-align:center;max-width:calc(100% - 30px);width:max-content;border:1px solid #ffffff1d;background:#20251fe8;backdrop-filter:blur(12px);padding:11px 19px;border-radius:12px;pointer-events:none}.help p{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 21px;font-size:14px;margin:0 0 6px}.help small{font-size:12px;color:#c1c7b7}#loading{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#1c251fee,#3c382ce8);z-index:4}#loading[hidden]{display:none}.loading-card{text-align:center;width:min(350px,85vw)}.loading-card h2{font-family:"Songti SC",serif;font-size:25px;letter-spacing:.05em;font-weight:500}.loading-card p{font-size:14px;color:#cdd0c3;line-height:1.7}.track{height:3px;background:#ffffff20;margin-top:22px;border-radius:2px;overflow:hidden}#load-progress{height:100%;width:0;background:#e2c89a;transition:width .2s}.spinner{width:38px;height:38px;border:2px solid #ffffff20;border-top-color:#e2c89a;border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#retry{margin-top:20px}#toast{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);padding:10px 16px;border-radius:8px;background:#242920ee;font-size:14px;pointer-events:none}dialog{border:1px solid #ffffff28;border-radius:14px;background:#1d221d;color:#f5f0e6;width:min(1260px,96vw);max-height:96dvh;padding:14px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#10160ef2}.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-top h2{font-size:18px;margin:0 0 0 4px;font-weight:500}#still-image{display:block;width:100%;height:calc(90dvh - 125px);min-height:160px;object-fit:contain;margin:12px 0;background:#171c17}.gallery-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.gallery-tabs button{padding:8px 13px}@media(max-width:650px){.topbar{top:12px;left:12px;right:12px;align-items:flex-start}.identity{gap:8px;padding:10px 12px}.identity h1{font-size:17px}.local,.mark{display:none}.top-actions{gap:5px}.top-actions button{padding:10px;font-size:13px}.viewpoints{top:72px;left:12px;right:12px;gap:6px}.viewpoints button{padding:8px 11px;font-size:13px}.tools{right:12px}.tools button{width:42px;height:42px}.help{bottom:12px;padding:9px 12px}.help p{gap:5px 12px;font-size:12px}.help small{font-size:12px}.gallery-top h2{font-size:16px}}@media(prefers-reduced-motion:reduce){button,#load-progress{transition:none}.spinner{animation-duration:2s}}

.topbar{z-index:5}
.loading-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.44;pointer-events:none}.loading-card{position:relative;z-index:1;background:#20251feb;padding:25px;border:1px solid #ffffff26;border-radius:16px;backdrop-filter:blur(12px)}
