:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#393c35;background:#f1eee7;font-synthesis:none;--paper:#f8f6f1;--muted:#817f75;--ink:#41483d;--line:#ddd9cf;--accent:#68745b}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,canvas:focus-visible{outline:2px solid #68745b;outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linejoin:round;stroke-linecap:round;flex:none}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.app-shell{height:100vh;height:100svh;min-height:460px;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.page-header{display:flex;align-items:center;justify-content:space-between;flex:none;padding:24px 32px 21px;gap:12px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid #cfcabb;border-radius:12px;color:#6e725f}.brand-mark svg{width:29px;height:29px}.eyebrow{font-size:10px;letter-spacing:.18em;margin:0 0 6px;font-weight:600;color:#8a8b7e}.eyebrow span{padding:0 6px}h1{font-size:21px;font-weight:550;letter-spacing:.06em;margin:0;line-height:1.3}h1 span{font-size:14px;font-weight:400;letter-spacing:.01em;color:#8b8b80}.icon-button{border:1px solid var(--line);border-radius:50%;height:44px;width:44px;display:grid;place-items:center;background:rgba(248,246,241,.93)}.info-button{background:transparent;border-color:transparent;color:#7b7e71}.viewer{position:relative;flex:1;min-height:0;background:#e9e6de;overflow:hidden;margin:0 20px;border-radius:16px;border:1px solid #ddd9cf}#scene{display:block;position:absolute;width:100%;height:100%;touch-action:none;outline-offset:-5px}.viewer-top{position:absolute;top:22px;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.view-label{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:#73766b}.view-label i{height:6px;width:6px;display:block;border-radius:50%;background:#879075}.model-tag{font-size:10px;color:#9a998e;letter-spacing:.09em}.layers{position:absolute;top:59px;left:19px;display:flex;gap:7px}.layer-button{border:1px solid #d5d2c7;border-radius:9px;background:rgba(248,246,241,.94);padding:0 10px;min-height:44px;display:flex;align-items:center;gap:7px;font-size:11px;color:#7c7f72;backdrop-filter:blur(10px)}.layer-button svg{height:17px;width:17px}.layer-button i{width:5px;height:5px;border:1px solid #b1b5a6;border-radius:50%;margin-left:1px}.layer-button[aria-pressed=true]{border-color:#b3bc9e;color:#4f5c40;background:#eef0e5}.layer-button[aria-pressed=true] i{background:#798a63;border-color:#798a63}.zoom-controls{position:absolute;right:18px;bottom:53px;display:flex;flex-direction:column;gap:8px}.zoom-controls .icon-button{width:42px;height:42px;border-radius:10px;color:#757b68}.viewer-bottom{pointer-events:none;position:absolute;left:16px;right:16px;bottom:17px;display:flex;justify-content:center}.gesture-hint{font-size:11px;margin:0;color:#919185;display:flex;gap:10px;align-items:center;padding:5px 11px;border-radius:99px;background:rgba(233,230,222,.7)}.gesture-hint i{font-style:normal;color:#b1ad9f}.page-footer{flex:none;padding:17px 20px 13px}.toolbar{display:flex;justify-content:center;gap:9px;max-width:470px;margin:auto}.view-switcher{background:#e4e1d8;border:1px solid #dcd8ce;border-radius:12px;display:flex;padding:4px;flex:1;gap:3px}.view-button{border:0;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;flex:1;padding:0 17px;color:#8c8c7d;font-size:13px;transition:background .16s,color .16s,box-shadow .16s;white-space:nowrap}.view-button svg{height:19px;width:19px}.view-button[aria-pressed=true]{background:#fcfbf7;color:#4e5943;box-shadow:0 2px 4px #615d4b0c}.reset-button{border:1px solid var(--line);border-radius:12px;background:transparent;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#7e8173;min-height:57px}.reset-button svg{width:18px;height:18px}.disclaimer{text-align:center;font-size:10px;line-height:1.6;color:#979589;margin:11px 0 0}.loading-screen{position:absolute;inset:0;display:grid;place-items:center;background:#e9e6deee;z-index:4;transition:opacity .45s}.loading-screen[hidden]{display:none}.loading-screen.leaving{opacity:0;pointer-events:none}.loading-card{text-align:center;max-width:290px;margin:20px}.loading-symbol{display:grid;place-items:center;color:#899077;margin:0 auto 18px}.loading-symbol svg{height:39px;width:39px;stroke-width:1.1}h2{font-weight:500;font-size:19px;letter-spacing:.04em;margin:0 0 10px}#loading-detail{font-size:12px;line-height:1.7;color:#858477;margin:0}#progress-track{height:2px;width:180px;margin:25px auto 8px;background:#d9d6c9;border-radius:99px;overflow:hidden}#progress-fill{height:100%;width:0;background:#7d886b;transition:width .2s}#progress-track.indeterminate #progress-fill{width:35%;animation:loading 1.4s ease-in-out infinite}.progress-label{display:block;font-size:10px;letter-spacing:.04em;color:#929184;line-height:1.8;overflow-wrap:anywhere}.retry-button{min-height:44px;margin-top:18px;border-radius:9px;border:1px solid #c7cbb9;background:#f7f7ef;padding:0 22px;font-size:12px;color:#5f6e50}.toast{position:absolute;z-index:5;bottom:59px;left:50%;transform:translateX(-50%);border-radius:10px;background:#444b3be8;color:#fff;font-size:12px;line-height:1.6;padding:10px 17px;max-width:calc(100% - 32px);width:max-content;text-align:center;pointer-events:none}.toast[hidden]{display:none}dialog{border:1px solid #ddd8cb;box-shadow:0 24px 90px #26261b2b;background:#f8f6f0;color:var(--ink);width:min(440px,calc(100vw - 32px));border-radius:20px;padding:26px;max-height:85svh;overflow:auto}dialog::backdrop{background:#44453855;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.dialog-head .eyebrow{margin:0}.dialog-head .icon-button{height:44px;width:44px;background:transparent;border:none}dialog h2{font-size:22px;margin-bottom:18px}dialog p{font-size:13px;line-height:1.9;color:#7a7c6f}.dialog-tips{display:grid;grid-template-columns:22px 1fr;gap:10px 8px;border-top:1px solid #e1ddd2;padding-top:19px;margin-top:22px}.dialog-tips span{font-size:10px;color:#9d9f8d;padding-top:6px}.dialog-tips p{margin:0}.privacy-note{font-size:10px;margin-top:23px;color:#9b9b8e}.noscript{position:fixed;inset:40% 15% auto;background:#fff;padding:30px;border-radius:12px;text-align:center;z-index:10}@keyframes loading{0%{transform:translateX(-110%)}100%{transform:translateX(400%)}}@media(max-width:600px){.page-header{padding:19px 20px 17px}.brand{gap:11px}.brand-mark{width:38px;height:38px;border-radius:10px}.brand-mark svg{width:25px;height:25px}.eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:5px}h1{font-size:17px;letter-spacing:.045em}h1 span{font-size:11px}.info-button{height:44px;width:44px}.viewer{margin:0 10px;border-radius:13px}.viewer-top{top:19px;left:18px;right:18px}.model-tag{font-size:9px}.layers{top:48px;left:13px;gap:5px}.layer-button{min-height:44px;padding:0 9px;gap:5px;font-size:10px}.zoom-controls{right:12px;bottom:49px;gap:6px}.zoom-controls .icon-button{height:44px;width:44px}.page-footer{padding:12px 12px 10px}.toolbar{gap:7px}.view-button{padding:0 10px;gap:6px;min-height:45px;font-size:12px}.view-button svg{width:18px;height:18px}.reset-button{padding:0 12px;min-height:55px;font-size:11px;gap:5px}.disclaimer{font-size:9px;margin-top:9px}.gesture-hint{font-size:10px;gap:8px}.viewer-bottom{bottom:14px}}@media(max-width:360px){h1 span{display:none}.view-button{padding:0 8px;gap:5px}.reset-button span{display:none}.reset-button{padding:0 14px}}@media(max-height:520px) and (orientation:landscape){.app-shell{min-height:340px}.page-header{padding:9px 22px}.brand-mark{width:31px;height:31px}.eyebrow{font-size:7px}h1{font-size:14px}.page-footer{padding:7px 15px}.disclaimer{margin-top:5px;font-size:8px}.view-button{min-height:36px}.reset-button{min-height:46px}.viewer-top{top:13px}.layers{top:40px}.viewer-bottom{bottom:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#fallback-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;padding:25px 10px 135px}#fallback-preview[hidden]{display:none}.static-fallback{background:none;align-items:end;pointer-events:none;padding-bottom:50px}.static-fallback .loading-card{background:#f8f6f1ee;border:1px solid #d9d7cc;border-radius:12px;padding:15px 19px;max-width:340px;margin:0 16px;backdrop-filter:blur(8px)}.static-fallback .loading-symbol{display:none}.static-fallback h2{font-size:14px;margin-bottom:6px}.static-fallback #loading-detail{font-size:11px}.static-fallback .progress-label{display:none}.static-fallback .retry-button{pointer-events:auto;min-height:36px;margin-top:10px;font-size:11px}.showing-fallback .layers,.showing-fallback .zoom-controls{display:none}.showing-fallback #scene{visibility:hidden}

.model-note{font-size:11px;line-height:1.8;border-left:2px solid #c5c9b6;padding:7px 0 7px 12px;background:#eeeee5;color:#80836d}.model-note[hidden]{display:none}
#fallback-preview{padding:40px 10px 160px}.static-fallback .loading-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px 10px;padding:13px 15px;text-align:left}.static-fallback h2{font-size:12px;margin:0;grid-column:1}.static-fallback #loading-detail{font-size:10px;grid-column:1}.static-fallback .retry-button{grid-column:2;grid-row:1 / span 2;align-self:center;width:44px;min-height:44px;padding:0;margin:0;font-size:10px}

.walk-panel{max-width:470px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 5px}.walk-panel[hidden]{display:none}.walk-copy strong{font-weight:550;font-size:12px;color:#59634d;letter-spacing:.04em}.walk-copy p{font-size:11px;line-height:1.8;margin:6px 0 0;color:#868878}.move-pad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,44px);gap:4px;touch-action:none;user-select:none;-webkit-user-select:none}.move-pad button{border:1px solid #d4d8c8;border-radius:10px;background:#fafaf5;display:grid;place-items:center;padding:0;touch-action:none;color:#69785a}.move-pad [data-walk=forward]{grid-column:2;grid-row:1}.move-pad [data-walk=left]{grid-column:1;grid-row:2}.move-pad [data-walk=back]{grid-column:2;grid-row:2}.move-pad [data-walk=right]{grid-column:3;grid-row:2}.move-pad [data-walk=left] svg{transform:rotate(-90deg)}.move-pad [data-walk=back] svg{transform:rotate(180deg)}.move-pad [data-walk=right] svg{transform:rotate(90deg)}.move-pad button.is-moving,.move-pad button:active{background:#dfe6d5;border-color:#9eae8a;color:#41542e}.move-pad svg{width:22px;height:22px}#viewer[data-mode=interior] .zoom-controls{display:none}#scene{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(max-width:360px){.walk-panel{padding:0;gap:8px}.walk-copy p{font-size:10px}.move-pad{grid-template-columns:repeat(3,44px)}}@media(max-height:520px) and (orientation:landscape){.walk-panel{margin:0 auto 6px}.move-pad{grid-template-columns:repeat(4,44px);grid-template-rows:44px}.move-pad [data-walk=left]{grid-column:1;grid-row:1}.move-pad [data-walk=forward]{grid-column:2;grid-row:1}.move-pad [data-walk=back]{grid-column:3;grid-row:1}.move-pad [data-walk=right]{grid-column:4;grid-row:1}.walk-copy p{margin:2px 0 0}.walk-copy p br{display:none}}
