/* m29 Clock shop: the complete room precedes every close observation. */
body.m27 #visual-scene-host.sx-enhanced{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#091718}
body.m27 #visual-scene-host.sx-enhanced>.fi-root{display:none!important}
.sx-root{position:absolute;inset:0;isolation:isolate;overflow:hidden;color:#f0dec0;background:#0b1718;font-family:inherit;--sx-bottom:132px}
.sx-root:before{content:'';position:absolute;inset:-30px;z-index:-2;background:linear-gradient(#07141355,#071413bb),var(--sx-backdrop) center/cover;filter:blur(24px)}
.sx-root:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#06121499,transparent 22%,transparent 68%,#081418e8);pointer-events:none}
.sx-nav{position:absolute;top:15px;right:15px;z-index:7;display:flex;gap:8px}
.sx-nav-item{min-width:47px;min-height:46px;padding:7px;border:1px solid #baa16e88;border-radius:7px;color:#f2dcae;background:#0b181bd4;font:14px/1.4 'KaiTi','STKaiti',serif;cursor:pointer}
.sx-heading{position:absolute;left:20px;top:85px;z-index:3;pointer-events:none;text-shadow:0 2px 9px #000}
.sx-title{font:22px/1.4 'KaiTi','STKaiti',serif;letter-spacing:2px;margin:0;color:#f6e6c6}
.sx-caption{font-size:11px;line-height:1.7;letter-spacing:.5px;margin:6px 0;color:#cdbb96}
.sx-overview .sx-heading{top:83px}.sx-overview .sx-title{display:none}
.sx-breadcrumbs{position:absolute;top:76px;right:15px;z-index:6;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:58%}
.sx-breadcrumb{min-height:36px;border:1px solid #ba9d6566;border-radius:3px;background:#101e20d9;color:#e5c99b;padding:5px 9px;font-size:11px;cursor:pointer}
.sx-stage{position:absolute;top:136px;bottom:var(--sx-bottom);left:8px;right:8px;display:flex;align-items:center;justify-content:center;min-height:60px;}
.sx-overview .sx-stage{top:75px;bottom:100px;left:0;right:0}
.sx-frame{position:relative;flex:none;overflow:hidden;outline:none;touch-action:none;user-select:none;background:#0c1513;box-shadow:0 8px 35px #0005}
.sx-frame:focus-visible{outline:2px solid #e5bf7c;outline-offset:3px}
.sx-plane{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;will-change:transform}
.sx-source{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.sx-loading:before{content:'正在走近……';position:absolute;inset:0;display:grid;place-items:center;font:16px/1.5 'KaiTi',serif;color:#c5b58d;background:#13201f}
.sx-zones{position:absolute;inset:0;pointer-events:none}
.sx-zone{position:absolute;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:#f5e3bf;font:16px/1.4 'KaiTi','STKaiti',serif;cursor:pointer;pointer-events:auto;min-width:32px;min-height:32px;padding:0}
.sx-zone-label{opacity:0;background:#0a151bd1;border:1px solid #c2a773a8;border-radius:3px;padding:7px 11px;box-shadow:0 2px 10px #0005;transition:opacity .18s ease;pointer-events:none;white-space:nowrap}
.sx-looking .sx-zone-label,.sx-zone:focus-visible .sx-zone-label{opacity:1}
.sx-zone:focus-visible{outline:1px solid #e5c48c;outline-offset:1px;background:#e5c48c15}
@media(hover:hover){.sx-zone:hover .sx-zone-label{opacity:1}}
.sx-framing .sx-zone{pointer-events:none}
.sx-selection{position:absolute;border:2px solid #f5dc9d;background:#d4c17a0b;box-shadow:0 0 0 9999px #05101869;pointer-events:none;box-sizing:border-box}
.sx-selection:after{content:'';position:absolute;inset:33%;border:1px solid #f4dcb95e}
.sx-cursor{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:1px solid #f7e4ad;border-radius:50%;box-shadow:0 0 3px #000;pointer-events:none;background:linear-gradient(transparent 46%,#f8dc9699 46%,#f8dc9699 54%,transparent 54%),linear-gradient(90deg,transparent 46%,#f8dc9699 46%,#f8dc9699 54%,transparent 54%)}
.sx-root [hidden]{display:none!important}
.sx-camera-tools{position:absolute;bottom:7px;right:8px;z-index:2;display:flex;gap:4px}
.sx-zoom,.sx-reset{height:36px;min-width:36px;border:1px solid #b59a6977;border-radius:3px;background:#0b1b20db;color:#e5cc9f;font-size:12px;cursor:pointer}
.sx-zoom{font-size:20px}.sx-reset{padding:4px 8px}
.sx-footer{position:absolute;bottom:0;left:0;right:0;min-height:100px;padding:9px 16px calc(12px + env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(transparent,#061216e6 35%);display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:end;z-index:4}
.sx-actions{grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.sx-action{min-height:42px;border:1px solid #c2a06d99;background:linear-gradient(#243029e8,#0e1c1be8);border-radius:4px;color:#f3dbaf;padding:9px 16px;letter-spacing:1px;font:15px/1.4 'KaiTi','STKaiti',serif;box-shadow:0 3px 9px #0004;cursor:pointer}
.sx-people{grid-column:1/-1;display:flex;justify-content:center;gap:7px}
.sx-talk{min-height:36px;border:0;border-bottom:1px solid #bda16c88;background:#0b1618aa;color:#edce98;font:16px/1.5 'KaiTi','STKaiti',serif;padding:5px 15px;cursor:pointer}
.sx-talk:after{content:' · 交谈';font:10px/1.5 sans-serif;color:#c3b28f;letter-spacing:1px}
.sx-glance,.sx-camera,.sx-pocket{min-height:45px;border:1px solid #bc9d6488;border-radius:5px;background:#0e1d21cb;color:#ead2a6;font:13px/1.5 inherit;padding:7px 9px;cursor:pointer}
.sx-glance{grid-column:1;grid-row:3;justify-self:start}.sx-camera{grid-column:2;grid-row:3;border-color:#dbc18d;background:#b99a61;color:#162320;font-weight:600;min-width:93px}.sx-pocket{grid-column:3;grid-row:3;justify-self:end}
.sx-overview .sx-people{position:absolute;bottom:121px;left:50%;transform:translateX(-50%);padding:0;white-space:nowrap}.sx-overview .sx-actions{display:none}
.sx-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:1px}
.sx-note{grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box;min-height:44px;border:1px solid #bba16d88;background:#132223f5;border-radius:4px;padding:9px 11px;color:#f1e0bc;font:16px/1.5 inherit}
.sx-note::placeholder{color:#abaf9d;font-size:12px}
.sx-shutter{min-height:43px;border:1px solid #d9bc84;border-radius:4px;background:#d3b278;color:#263029;font:14px/1.5 inherit;cursor:pointer}.sx-cancel-camera{min-height:43px;border:1px solid #a18e6555;background:#102024;color:#d5bc90;border-radius:4px;padding:7px 11px;font-size:12px;cursor:pointer}
.sx-framing{--sx-bottom:220px}.sx-framing .sx-actions,.sx-framing .sx-people{display:none}
.sx-framing .sx-glance,.sx-framing .sx-pocket,.sx-framing .sx-camera{grid-row:1}
.sx-status{position:absolute;left:18px;right:18px;top:144px;z-index:8;max-width:520px;margin:0 auto;padding:8px 12px;border:1px solid #bd9c6688;border-radius:4px;background:#0e2127ec;color:#ead7b3;font-size:12px;line-height:1.65;box-shadow:0 3px 16px #0004;pointer-events:none}
.sx-overview .sx-status{top:auto;bottom:110px}
.sx-status.sx-error{background:#442c22f2;border-color:#cc9c73;color:#ffe3c7;pointer-events:auto}
.sx-receipt{position:absolute;bottom:100px;left:15px;width:134px;max-height:47dvh;overflow:auto;background:#e5d5b1;color:#443720;border:1px solid #bda16e;border-radius:2px;box-shadow:0 3px 14px #0007;transform:rotate(-2deg);z-index:5}
.sx-receipt-title{font:12px/1.7 'KaiTi',serif;padding:8px;cursor:pointer;min-height:40px;box-sizing:border-box}
.sx-receipt[open]{width:min(290px,calc(100% - 30px));transform:none}
.sx-framing .sx-receipt{display:none}
.sx-photo-card .fi-attached-grid{display:block}.sx-photo-card .fi-attached-photo{border:0;border-radius:0;background:#e5d5b1}.sx-photo-card .fi-crop{min-height:120px}.sx-photo-card .fi-attached-materials{margin:0}
.sx-present,.sx-open-photo{display:block;width:calc(100% - 14px);margin:6px 7px;min-height:39px;border:1px solid #8f79554d;border-radius:2px;background:#efe2c5;color:#423824;padding:6px;font-size:12px;cursor:pointer}
.sx-root button:disabled{opacity:.5;cursor:wait}.sx-root :is(button,input):focus-visible{outline:2px solid #f3d394;outline-offset:3px}.sx-busy .sx-zone{pointer-events:none}
@media(min-width:760px){.sx-stage{top:105px;bottom:142px;left:40px;right:40px}.sx-overview .sx-stage{top:70px;bottom:82px}.sx-heading{left:28px;top:81px}.sx-footer{max-width:650px;margin-inline:auto;left:0;right:0}.sx-overview .sx-people{bottom:117px;left:86%}.sx-nav{right:25px}.sx-breadcrumbs{right:25px}.sx-receipt{left:0}.sx-framing{--sx-bottom:220px}.sx-framing .sx-stage{bottom:220px}.sx-controls{grid-template-columns:minmax(0,1fr) auto auto}.sx-note{grid-column:auto}.sx-shutter{padding-inline:14px}}
@media(max-width:350px){.sx-heading{left:13px}.sx-title{font-size:19px}.sx-breadcrumbs{right:10px}.sx-breadcrumb{font-size:10px;padding-inline:6px}.sx-footer{padding-inline:10px;gap:5px}.sx-glance,.sx-camera,.sx-pocket{font-size:11px;padding-inline:6px}.sx-camera{min-width:86px}.sx-caption{font-size:10px}.sx-action{font-size:14px;padding-inline:12px}}
@media(max-height:550px){.sx-heading{top:69px}.sx-title{font-size:17px}.sx-caption{display:none}.sx-breadcrumbs{top:70px}.sx-stage{top:113px;bottom:105px}.sx-overview .sx-stage{top:65px;bottom:70px}.sx-footer{min-height:68px;padding-bottom:7px;gap:4px}.sx-action{min-height:33px;font-size:12px;padding:5px 9px}.sx-people{display:none}.sx-glance,.sx-camera,.sx-pocket{min-height:35px}.sx-framing .sx-stage{top:102px;bottom:140px}.sx-framing{--sx-bottom:140px}.sx-controls{grid-template-columns:1fr auto auto}.sx-note{grid-column:auto;min-height:38px}.sx-shutter,.sx-cancel-camera{min-height:38px;font-size:11px}.sx-status{font-size:10px;padding:5px 9px}.sx-overview .sx-talk{display:block}.sx-overview .sx-people{display:flex;bottom:75px}.sx-camera-tools{bottom:3px}.sx-reset,.sx-zoom{height:29px;min-width:29px}.sx-receipt{bottom:71px}}
@media(prefers-reduced-motion:reduce){.sx-root *{transition:none!important;scroll-behavior:auto!important}}
.sx-overview .sx-people{display:none}
.sx-person-zone{align-items:flex-start;padding-top:12px}
.sx-framing .sx-stage{bottom:var(--sx-bottom)}
@media(max-height:550px){.sx-status{top:108px}.sx-overview .sx-status{top:auto;bottom:78px}}
/* m31: scene first. Shared small navigation, anchored entrances, one photo action. */
.sx-root{--sx-bottom:0px}
.sx-stage,.sx-overview .sx-stage,.sx-framing .sx-stage{inset:0;min-height:0;overflow:hidden}
.sx-frame{box-shadow:none;background:transparent}
.sx-heading,.sx-breadcrumbs{display:none}
.sx-nav{top:14px;right:14px;gap:8px}
.sx-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;min-width:45px;min-height:58px;padding:4px 7px;font:11px/1.4 inherit;text-shadow:0 1px 5px #000}
.sx-nav-item svg{width:29px;height:29px;padding:5px;border:1px solid #c5a56777;border-radius:7px;background:#122129c9;box-sizing:content-box}
.sx-zone-label{position:relative;opacity:1;font:12px/1.4 'KaiTi','STKaiti',serif;padding:6px 9px;letter-spacing:.5px;background:#10252ad4;border-color:#c9af7669}
.sx-person-zone{align-items:flex-end;padding-bottom:0}.sx-person-zone .sx-zone-label{transform:translateY(18px)}
.sx-footer{min-height:0;display:flex;align-items:flex-end;justify-content:space-between;gap:9px;padding:0 16px calc(18px + env(safe-area-inset-bottom));pointer-events:none;background:none;max-width:none}
.sx-footer>*{pointer-events:auto}
.sx-overview .sx-footer{display:none}
.sx-people{order:0;flex:none}.sx-talk{font-size:14px;border:1px solid #bba16d55;border-radius:3px;min-height:44px;padding:8px 10px;background:#10252bdd}
.sx-actions{position:absolute;left:16px;right:16px;bottom:78px;display:flex;justify-content:center;gap:8px}
.sx-action{font-size:14px;min-height:44px;background:#182e30ec}
.sx-camera{margin-left:auto;font-size:13px;min-height:44px;border:1px solid #bfa57399;background:#183037e6;color:#f4dfb5;font-weight:400}
.sx-controls{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px;border:1px solid #baa16c66;background:#102129ed;border-radius:3px;max-width:520px;margin:auto;box-sizing:border-box}
.sx-note-fold{grid-column:1/-1;font-size:11px;color:#d9c6a1}.sx-note-fold summary{cursor:pointer;padding:4px 0;min-height:22px}.sx-note{margin-top:5px;font-size:16px}
.sx-shutter,.sx-cancel-camera{min-height:44px}.sx-note-fold:not([open]){margin-top:-3px}
.sx-framing .sx-camera,.sx-framing .sx-actions,.sx-framing .sx-people{display:none}
.sx-camera-tools{right:16px;bottom:78px;display:flex;flex-direction:column;gap:3px}.sx-camera-tools:has(+*){pointer-events:auto}
.sx-zoom{width:44px;height:44px;background:#10252bbd;border-color:#baa16e55;font-size:20px}
.sx-actions:not(:empty)~.sx-camera{margin-left:auto}
.sx-status,.sx-overview .sx-status{top:auto;bottom:140px;max-width:470px;pointer-events:none}
.sx-receipt{left:16px;bottom:136px}.sx-receipt[open]{max-height:45dvh}
@media(min-width:760px){.sx-zone-label{font-size:14px}.sx-footer{padding-left:28px;padding-right:28px}.sx-camera-tools{right:28px}.sx-actions{left:28px;right:28px}.sx-receipt{left:28px}}
@media(max-height:550px){.sx-footer{padding-bottom:10px}.sx-actions{bottom:65px}.sx-zone-label{font-size:11px;padding:5px 7px}.sx-receipt{bottom:116px}.sx-camera-tools{bottom:65px}.sx-note-fold summary{padding:1px 0}.sx-status,.sx-overview .sx-status{bottom:122px}}
