:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#343c2e;background:#e8e7dc;font-synthesis:none;--paper:#f4f2ec;--olive:#465341;--ink:#282b24;--line:#cbcbb9;--muted:#787d6e}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #827044;outline-offset:4px}button{border:0}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#viewport,#viewport canvas{width:100%;height:100%;display:block}#viewport canvas{outline:none;touch-action:none}.viewer-header{position:absolute;inset:0 0 auto;z-index:4;height:92px;display:flex;align-items:center;gap:29px;padding:0 30px;background:linear-gradient(180deg,#f5f2e9f5,#f5f2e9db 75%,#f5f2e900);pointer-events:none}.viewer-header>*{pointer-events:auto}.back-link{font-size:12px;display:flex;align-items:center;gap:11px;min-height:44px}.back-link>span:first-child{font-size:23px}.viewer-title{display:flex;align-items:center;gap:18px;padding-left:26px;border-left:1px solid #9da18f77}.viewer-title>span{font-size:13px;font-weight:800;letter-spacing:.09em}.viewer-title h1{font-size:12px;font-weight:400;margin:0;color:#777b6d}.header-actions{display:flex;gap:9px;align-items:center;margin-left:auto}.text-button{background:#f9f7efcf;border:1px solid var(--line);padding:11px 15px;font-size:12px;min-height:42px;border-radius:3px}.text-button:hover,.round-button:hover{background:#fff}.text-button[aria-expanded=true]{background:var(--olive);color:var(--paper);border-color:var(--olive)}.text-button span{margin-left:10px}.round-button{background:#faf7ee;border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;font-size:19px;border-radius:50%}.view-nav{position:absolute;z-index:3;top:137px;left:30px;padding:21px 14px 18px;width:171px;border:1px solid #d0d0beb3;background:#f7f4ebe8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:5px;box-shadow:0 10px 40px #343c2e0a}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--muted);margin:0}.view-nav>.eyebrow{padding:0 9px 15px}.view-buttons{display:flex;flex-direction:column;gap:4px}.view-buttons button{display:flex;align-items:center;gap:13px;min-height:45px;padding:10px 9px;text-align:left;font-size:12px;background:transparent;border-radius:2px;white-space:nowrap}.view-buttons button:hover{background:#e8e8dc}.view-number{font-size:10px;letter-spacing:.02em;color:#8a8f7d}.view-buttons button.active{background:var(--olive);color:#fff}.view-buttons button.active .view-number{color:#cbd0b6}.nav-foot{padding:18px 9px 0;margin-top:14px;border-top:1px solid #d2d3c5;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{width:5px;height:5px;border-radius:50%;background:#667a46}.layer-panel{position:absolute;z-index:6;right:30px;top:92px;width:243px;padding:17px 20px 10px;border:1px solid var(--line);border-radius:5px;background:#f7f4ebf7;box-shadow:0 15px 50px #343c2e14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.panel-heading h2{font-size:13px;font-weight:600;margin:0}.panel-heading .round-button{width:29px;height:29px;background:transparent;border:0}.layer-panel label{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:41px;font-size:12px;cursor:pointer}.layer-panel input{width:16px;height:16px;accent-color:var(--olive);cursor:pointer}.layer-panel p{border-top:1px solid #d1d2c3;padding-top:13px;font-size:10px;color:var(--muted)}.scene-status{position:absolute;left:30px;bottom:77px;z-index:2;display:flex;flex-direction:column;gap:7px;pointer-events:none}.scene-status #selection{max-width:400px;padding:9px 12px;border:1px solid #d0d0be99;background:#f7f4ebdd;font-size:11px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-status #count{font-size:9px;letter-spacing:.08em;color:#69705f;padding-left:1px}.viewer-footer{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;height:59px;padding:0 30px;background:#f7f4ebdc;border-top:1px solid #c8cbb9a6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.viewer-footer p{font-size:10px;color:#6e7565;margin:0}.viewer-footer p span{margin:0 8px;color:#a2a58e}.viewer-footer a{font-size:11px;display:flex;align-items:center;gap:18px;min-height:44px}.mobile-hint{display:none}#labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}#labels span{position:absolute;top:0;left:0;white-space:nowrap;font-size:10px;background:#f9f6edda;border:1px solid #bfc6ae;border-radius:3px;padding:5px 8px;color:#404b36;box-shadow:0 2px 8px #313b2510}#toast{position:absolute;z-index:12;bottom:80px;left:50%;transform:translate(-50%);max-width:90vw;background:var(--olive);color:#fff;padding:13px 19px;border-radius:4px;font-size:12px;box-shadow:0 6px 30px #313b2522}.loading-screen,.fallback-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#e6e5d8;display:grid;place-items:center}.loading-screen>img,.fallback-screen>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.65)}.loading-card,.fallback-card{position:relative;width:min(420px,calc(100vw - 40px));padding:34px;background:#f7f4ebed;border:1px solid var(--line);border-radius:5px;box-shadow:0 20px 90px #313b2512}.loading-card h2,.fallback-card h2{font-size:23px;font-weight:500;margin:18px 0 12px;line-height:1.5}.loading-card p,.fallback-card p{font-size:12px;line-height:1.8;color:#747b68;margin:0}.loading-ring{display:block;width:28px;height:28px;border:1px solid #c4c9b8;border-top-color:var(--olive);border-radius:50%;margin-top:30px;animation:spin 1s linear infinite}.fallback-card>div{display:flex;gap:10px;margin-top:24px}.fallback-card button,.fallback-card>div a{font-size:12px;min-height:44px;padding:13px 17px;border:1px solid var(--line);background:#eeeede;border-radius:3px}.fallback-card button{background:var(--olive);color:#fff;border-color:var(--olive)}.fallback-download{display:inline-block;margin-top:25px;font-size:11px;border-bottom:1px solid #9ca487;padding-bottom:5px}#notes{color:var(--ink);width:540px;max-width:calc(100vw - 36px);max-height:80dvh;padding:28px 32px;border:1px solid var(--line);background:var(--paper);border-radius:6px;box-shadow:0 20px 100px #26332033}#notes::backdrop{background:#2e37255c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.notes-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.notes-heading button{width:32px;height:32px;font-size:22px;background:transparent;border:0}#notes h2{font-size:27px;font-weight:500;margin:20px 0}#notes p{font-size:12px;line-height:1.95;color:#616a56;margin:14px 0}.notes-foot{padding-top:15px;border-top:1px solid #cfd2c0}#notes p.notes-foot{font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:760px){.viewer-header{height:83px;padding:0 17px;gap:15px;background:linear-gradient(180deg,#f5f2e9fa,#f5f2e9e6 80%,#f5f2e900)}.back-link{gap:6px;font-size:11px}.back-link>span:first-child{font-size:20px}.viewer-title{padding-left:14px;border-left:1px solid #9da18f66;display:block}.viewer-title>span{font-size:11px;letter-spacing:.05em}.viewer-title h1{font-size:10px;margin-top:3px}.header-actions{gap:7px}.header-actions .text-button{font-size:10px;padding:8px 10px;min-height:37px}.header-actions .text-button span{margin-left:1px}.header-actions .round-button{width:31px;height:31px;font-size:16px}.view-nav{left:0;right:0;top:auto;bottom:calc(44px + env(safe-area-inset-bottom));width:auto;padding:12px 0;background:#f7f4ebf2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:0;border-top:1px solid #cbd0bd;border-radius:0;box-shadow:0 -10px 35px #343c2e06}.view-nav>.eyebrow,.nav-foot,.view-number{display:none}.view-buttons{flex-direction:row;gap:6px;overflow:auto;overscroll-behavior-x:contain;padding:0 15px;scrollbar-width:none}.view-buttons::-webkit-scrollbar{display:none}.view-buttons button{display:block;min-height:42px;padding:12px 16px;border:1px solid #cccfbd;border-radius:3px;font-size:11px;flex:none}.view-buttons button.active{border-color:var(--olive)}.viewer-footer{height:calc(44px + env(safe-area-inset-bottom));padding:0 17px env(safe-area-inset-bottom);gap:10px}.viewer-footer p{font-size:9px}.viewer-footer p span{margin:0 3px}.viewer-footer a{font-size:9px;gap:5px;white-space:nowrap}.desktop-hint{display:none}.mobile-hint{display:block}.scene-status{left:17px;right:17px;bottom:calc(126px + env(safe-area-inset-bottom));gap:0}.scene-status #selection{width:max-content;max-width:100%;font-size:10px;padding:8px 10px}.scene-status #count{display:none}.layer-panel{top:78px;right:17px;width:221px;padding:13px 17px 7px;max-height:calc(100dvh - 220px);overflow:auto}.layer-panel label{min-height:39px}.layer-panel p{font-size:9px}#labels span{font-size:9px;padding:4px 6px}#toast{bottom:calc(157px + env(safe-area-inset-bottom));font-size:11px;white-space:nowrap}#notes{padding:23px;max-height:83dvh}#notes h2{font-size:24px}#notes p{font-size:12px}.loading-card,.fallback-card{padding:28px}.loading-card h2,.fallback-card h2{font-size:21px}}@media (max-width:410px){.viewer-header{gap:9px;padding:0 13px}.viewer-title{padding-left:9px}.header-actions{gap:6px}.header-actions .text-button{padding:8px}.viewer-title h1{display:none}.back-link>span:last-child{display:none}.viewer-footer{padding-left:13px;padding-right:13px}.viewer-footer p,.viewer-footer a{font-size:8px}}@media (prefers-reduced-motion:reduce){.loading-ring{animation:none}.view-buttons{scroll-behavior:auto}}.is-embedded .back-link{display:none}.is-embedded .viewer-title{border-left:0;padding-left:0}.is-embedded .viewer-header{height:78px}.is-embedded .view-nav{top:112px}.is-embedded .layer-panel{top:78px}@media (max-width:760px){.is-embedded .view-nav{top:auto}.is-embedded .viewer-header{height:70px}.is-embedded .layer-panel{top:68px}.is-embedded .viewer-title h1{display:none}}
