@font-face{font-family:LocalSerif;src:local('Noto Serif SC'),local('Songti SC'),local('SimSun');font-display:swap}
#photograph{position:absolute;inset:0;margin:0;background:#101710}#photograph[hidden]{display:none}#photograph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}@media(max-width:600px){#photograph img{object-fit:contain}.camera-nav .view{padding-left:7px;padding-right:7px;font-size:9px}}
.detail-view .scene-label h1,.detail-view .scene-label p,.detail-view .scene-label .hairline,.detail-view .scene-label .eyebrow{display:none}
:root{color-scheme:dark;--gold:#d4bd8e;--white:#eee9df;--muted:#b5b4a7;--line:rgba(219,205,176,.19)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101410;color:var(--white);font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:13px}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.45;cursor:wait}button,a{touch-action:manipulation}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}#studio,#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,13,10,.58) 0,transparent 23%,transparent 65%,rgba(8,12,9,.82) 100%)}.topbar{position:absolute;top:30px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:14px;color:var(--white);text-decoration:none;font-family:LocalSerif,serif;font-size:24px;letter-spacing:2px}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;font-size:24px;letter-spacing:0;color:var(--gold)}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:2.1px;color:var(--muted);margin-top:5px}.topright{display:flex;align-items:center;gap:18px}.live{font-size:10px;letter-spacing:1.6px;color:#c9cbbf;display:flex;gap:8px;align-items:center}.live i{height:4px;width:4px;border-radius:100%;background:#a9c59b;box-shadow:0 0 9px #a9c59b88}.icon-btn{display:grid;place-items:center;width:35px;height:35px;background:transparent;border:1px solid var(--line);border-radius:50%;transition:border-color .2s,background .2s}.icon-btn:hover{border-color:var(--gold);background:#b49e6f14}.scene-label{position:absolute;left:42px;top:145px;pointer-events:none}.eyebrow{font-family:Georgia,serif;font-size:9px;letter-spacing:2.3px;color:var(--gold)}h1{font:38px LocalSerif,serif;font-weight:400;letter-spacing:6px;margin:19px 0 12px}.scene-label p{font-size:11px;color:#c9c7ba;letter-spacing:3px;margin:0}.hairline{width:32px;height:1px;background:var(--gold);opacity:.65;margin:24px 0 14px}.scene-label>span{font-size:9px;letter-spacing:1.2px;color:var(--muted)}.bottom-area{position:absolute;left:40px;right:40px;bottom:26px;pointer-events:none}.bottom-area button{pointer-events:auto}.camera-nav{display:flex;justify-content:center;margin-bottom:30px;gap:5px}.view{border:1px solid transparent;border-bottom:1px solid var(--line);background:rgba(16,21,17,.45);backdrop-filter:blur(14px);padding:15px 23px;color:#aeafa1;font-size:11px;letter-spacing:1px;transition:all .25s}.view span{font-family:Georgia,serif;font-size:10px;margin-right:9px;opacity:.5}.view.active{color:var(--gold);border-bottom-color:var(--gold);background:#262b23aa}.view:hover{color:var(--white);background:#343a2faa}.footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:#b8b8a9;letter-spacing:1px}.dimensions{display:flex;align-items:center;gap:15px}.dimensions span{font-family:Georgia,serif;letter-spacing:2px;color:var(--gold)}.dimensions i{width:1px;height:10px;background:var(--line)}.gestures{display:flex;align-items:center;gap:8px}.gestures svg{width:17px;height:17px;opacity:.6}.snapshot{display:flex;align-items:center;gap:8px;border:0;background:transparent;font-size:10px;letter-spacing:1px;padding:4px 0 4px 14px}.snapshot:hover{color:var(--gold)}.snapshot svg{width:17px;height:17px}.settings{position:absolute;right:40px;top:91px;width:270px;background:#161c18ee;border:1px solid var(--line);backdrop-filter:blur(22px);padding:22px;box-shadow:0 20px 80px #0006;z-index:4}.settings[hidden]{display:none}.panel-head{display:flex;align-items:center;justify-content:space-between;font-family:LocalSerif,serif;font-size:18px;margin-bottom:20px}.panel-head .icon-btn{width:26px;height:26px;border:0;font-family:sans-serif;font-size:22px;color:var(--muted)}.field-label{display:block;font-size:10px;color:var(--muted);margin:21px 0 12px;letter-spacing:1px}.field-label span{float:right;color:var(--gold)}.swatches{display:flex;align-items:center;gap:12px}.swatch{width:22px;height:22px;background:var(--swatch);border:3px solid #161c18;border-radius:50%;outline:1px solid transparent}.swatch.active{outline-color:var(--gold)}.swatches>span{font-size:10px;margin-left:auto;color:#c9c7b6}input[type=range]{width:100%;accent-color:var(--gold);height:3px;margin-bottom:11px;cursor:pointer}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:11px;color:#cbccb9}.switch{width:31px;height:17px;border:1px solid #626954;background:#232a22;padding:2px;border-radius:12px}.switch>span{display:block;width:11px;height:11px;border-radius:50%;background:#a2a592;transition:transform .2s}.switch[aria-checked=true]{background:#a58c59;border-color:#a58c59}.switch[aria-checked=true]>span{transform:translateX(13px);background:#f5ead1}select{width:100%;background:#1b231c;border:1px solid var(--line);padding:10px;color:#d0cfbb;font:11px 'Microsoft YaHei',sans-serif}.panel-divider{height:1px;background:var(--line);margin:23px 0 12px}.download{display:flex;justify-content:space-between;width:100%;padding:12px 0;background:none;border:0;color:var(--gold);font-size:11px}.download:hover{color:#f3e4c4}.export-note{font-size:9px;line-height:1.8;color:#858d7d;margin:12px 0 0}.loader{position:absolute;inset:0;background:#111712;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;z-index:10;font-size:13px;letter-spacing:3px;transition:opacity .7s}.loader.hide{opacity:0;pointer-events:none}.loader>span{color:#818b7c;font-size:9px;letter-spacing:2px}.loader-ball{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:34px Georgia,serif;box-shadow:0 0 25px #c8ae7310;animation:breathe 1.7s infinite}@keyframes breathe{50%{opacity:.45;transform:scale(.96)}}.toast{position:absolute;bottom:159px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#1d251eee;border:1px solid var(--line);color:var(--gold);font-size:11px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:5;max-width:90%;text-align:center}.toast.show{opacity:1}.error{position:absolute;inset:0;z-index:20;background:#111712;place-content:center;text-align:center;padding:24px}.error:not([hidden]){display:grid}.error h2{font:25px LocalSerif,serif}.error p{color:var(--muted);line-height:1.8}.error button{background:#253123;border:1px solid var(--gold);padding:12px 25px;margin:20px auto;width:max-content}@media(max-width:850px){.scene-label{top:120px}.scene-label h1{font-size:28px}.scene-label .eyebrow{font-size:7px}.gestures{display:none}}@media(max-width:600px){.topbar{top:22px;left:22px;right:20px}.brand{font-size:21px;gap:10px}.brand small{font-size:6px;letter-spacing:1.2px}.brand-symbol{height:33px;width:33px;font-size:21px}.topright{gap:10px}.live{display:none}.scene-label{left:24px;top:103px}.scene-label h1{font-size:27px;margin:13px 0 10px;letter-spacing:4px}.scene-label p{font-size:9px;letter-spacing:2px}.hairline{margin:16px 0 10px}.scene-label>span{font-size:8px}.bottom-area{left:20px;right:20px;bottom:20px}.camera-nav{gap:0;justify-content:space-between;margin-bottom:19px}.view{padding:12px 10px;font-size:10px;letter-spacing:0}.view span{display:none}.footer-row{padding-top:15px;font-size:8px}.dimensions{gap:8px;letter-spacing:0}.snapshot{font-size:9px;gap:5px}.settings{right:20px;top:78px;width:260px}.toast{bottom:127px}.vignette{background:linear-gradient(180deg,#09100bc9,transparent 35%,transparent 63%,#09100bdd)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Pocket inspection stays small so the model remains the focus. */
.pocket-inspection{position:absolute;z-index:5;left:40px;top:190px;width:210px;padding:16px;background:#172019e8;border:1px solid #bba16d30;color:#d9d5c5;backdrop-filter:blur(14px)}
.pocket-inspection[hidden]{display:none}.pocket-tabs{display:flex;border-bottom:1px solid #bba16d30}.pocket-tabs button{flex:1;background:none;border:0;border-bottom:1px solid transparent;padding:8px 4px 10px;color:#b4b7a6;cursor:pointer;font:inherit;font-size:12px}.pocket-tabs button.active{color:#e0c895;border-bottom-color:#cfb17a}.pocket-inspection p{font-size:12px;margin:16px 0;line-height:1.7}.pocket-inspection p span{display:block;color:#8f9b8b;font-size:11px}.pocket-demo{width:100%;border:1px solid #bba16d55;padding:9px 10px;background:#d9bc7912;color:#dfc58e;text-align:left;cursor:pointer;font:inherit;font-size:12px}.pocket-demo span{float:right}.pocket-inspection label{display:block;font-size:11px;margin:16px 0 2px;color:#a6b29f}.pocket-inspection label span{float:right}.pocket-inspection input{width:100%;accent-color:#b9a471}.pocket-inspection small{display:block;font-size:10px;line-height:1.6;color:#8f9b8b;margin-top:4px}
@media(max-width:650px){.pocket-inspection{left:18px;top:132px;width:170px;padding:12px}.pocket-inspection p{margin:10px 0}.pocket-tabs button{padding:5px 4px 8px}}
/* Render resolution, measured GPU time and the browser/GPU limits. */
.quality-info{margin:12px 0 2px;font-size:9px;line-height:1.75;color:#8f9a8a;white-space:pre-line}
