@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&display=swap";:root{color:#354341;font-synthesis:none;letter-spacing:0;--ink:#354341;--muted:#77817d;--line:#d5ddda;--rose:#bd7e8c;background:#edf0ef;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #b67887}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;padding:0 4%;display:flex}.brand{align-items:center;gap:15px;font:600 20px Georgia,serif;display:flex}.brand small{color:var(--muted);letter-spacing:0;margin-top:6px;font:10px Microsoft YaHei,sans-serif;display:block}.brand-mark{padding-right:9px;font:700 40px/1 Georgia,serif;position:relative}.brand-mark>span{color:var(--rose);font-size:32px;position:relative;left:-7px}.edition{align-items:center;gap:9px;font-size:11px;display:flex}.status-dot{background:var(--rose);border-radius:50%;width:6px;height:6px}.edition-date{border-left:1px solid var(--line);color:var(--muted);margin-left:13px;padding-left:20px;font-size:9px}.studio{border-bottom:1px solid var(--line);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 286px;min-height:690px;padding-right:4%;display:grid;position:relative}.intro{z-index:2;pointer-events:none;position:absolute;top:34px;left:4.2%}.eyebrow{color:var(--rose);margin:0 0 13px;font-size:9px;font-weight:600;line-height:1.6}.intro h1{margin:0 0 9px;font-family:Noto Serif SC,SimSun,serif;font-size:35px;font-weight:400;line-height:1.4}.intro-copy{color:var(--muted);margin:0;font-size:11px}.scene-stage{grid-row:1/3;min-width:0;height:690px;position:relative;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block}.scene-meta{color:var(--muted);pointer-events:none;flex-direction:column;gap:15px;font-size:10px;display:flex;position:absolute;bottom:27px;left:5.5%}.scene-meta>span:first-child{color:var(--ink);font-size:11px}.meta-separator{color:#a5afaa;margin:0 10px}.view-toolbar{background:#ffffffed;border:1px solid #dce3df;border-radius:6px;align-items:center;gap:3px;padding:5px;display:flex;position:absolute;bottom:29px;right:25px;box-shadow:0 5px 16px #43584b0b}.segmented{gap:2px;padding-right:2px;display:flex}.segmented button{background:0 0;border:0;border-radius:3px;padding:9px 12px;font-size:11px}.segmented button.active{color:#344c42;background:#e6ece8}.toolbar-divider{background:var(--line);width:1px;height:19px;margin:0 4px}.icon-button{background:0 0;border:0;border-radius:3px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.icon-button:hover,.icon-button[aria-pressed=true]{background:#e6ece8}.icon-button svg{stroke-width:1.6px;width:16px;height:16px}.icon-button:disabled{opacity:.25;cursor:default}.zone-panel{border-left:1px solid var(--line);z-index:3;grid-area:1/2/3;margin-top:29px;margin-bottom:25px;padding:0 0 0 25px}.panel-heading{justify-content:space-between;align-items:center;margin:8px 0 20px;font-size:11px;display:flex}.panel-heading>span:last-child{color:var(--muted);font:9px Georgia,serif}#zones{flex-direction:column;gap:5px;display:flex}.zone-button{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:11px;width:100%;padding:11px 8px;display:flex}.zone-button.active{background:#ffffffb0}.zone-no{color:#9ba7a0;min-width:20px;font:italic 13px Georgia,serif}.zone-button.active .zone-no{color:var(--rose)}.zone-dot{background:var(--zone-color);border-radius:50%;width:5px;height:5px;margin-left:auto}.zone-name{font-size:12px;line-height:1.45}.zone-name small{color:#7f8d87;margin-top:4px;font-size:8px;display:block}.zone-detail{border-top:1px solid var(--line);min-height:174px;margin-top:21px;padding-top:19px}.zone-detail h2{align-items:center;gap:9px;margin:0 0 9px;font-size:13px;font-weight:500;display:flex}.zone-detail h2 svg{width:16px;height:16px;color:var(--rose)}.zone-detail p{color:#738079;margin:0 0 11px;font-size:11px;line-height:1.9}.zone-detail .size{color:var(--rose);margin-bottom:10px;font-size:10px}.detail-tags{color:#677870;flex-wrap:wrap;gap:9px;font-size:9px;display:flex}.detail-tags span:before{content:"·";color:#ad7281;margin-right:4px}.future{color:#8b9890!important;margin-top:12px!important;font-size:9px!important}.scale-note{border-top:1px solid var(--line);gap:10px;margin-top:17px;padding-top:14px;display:flex}.scale-note>svg{color:#7d9186;flex-shrink:0;width:17px;height:17px}.scale-note strong{font-size:10px;font-weight:500}.scale-note p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.8}.hotspots{pointer-events:none;position:absolute;inset:0}.hotspot{color:#4f685e;pointer-events:auto;z-index:2;background:#fafbf8ef;border:1px solid #fff;border-radius:50%;width:26px;height:26px;font-size:10px;transition:background .18s,color .18s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #34473c20}.hotspot:hover,.hotspot.active{color:#fff;z-index:3;background:#ae7282}.hotspot:after{content:attr(data-label);white-space:nowrap;color:#4f685e;opacity:0;pointer-events:none;background:#fffef7;border-radius:3px;padding:4px 7px;font-size:9px;position:absolute;top:1px;left:33px}.hotspot:hover:after{opacity:1}#load-state{z-index:4;background:#edf0ef;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}#load-state.error{text-align:center;padding:80px;line-height:2}.plan-view{position:absolute;inset:160px 30px 80px 42px}.plan-view svg{width:100%;height:100%;overflow:visible}.plan-view .plan-zone{cursor:pointer}.plan-view .plan-zone:hover rect{stroke:#ae7282;stroke-width:3px}.plan-view .plan-furniture{pointer-events:none}.design-notes{grid-template-columns:1.05fr 1fr 1fr 1fr;gap:40px;max-width:1600px;margin:auto;padding:47px 4% 45px;display:grid}.note-title h2{margin:0 0 12px;font:400 24px/1.5 Noto Serif SC,SimSun,serif}.note-title>p:last-child{color:#849189;max-width:225px;font-size:10px;line-height:1.9}.note-number{color:#a9b6ad;font:italic 20px Georgia,serif}.note h3{margin:13px 0 14px;font-size:13px;font-weight:500}.note p{color:#77877d;margin:0;font-size:11px;line-height:2}.metric{color:#637a6b;margin-top:18px;font:18px Georgia,serif}.metric small{font:9px Microsoft YaHei,sans-serif}.metric>span{color:#95a398;margin:0 4px;font-size:12px}.palette{gap:8px;margin-top:20px;display:flex}.swatch{background:var(--swatch);border:none;border-radius:50%;width:25px;height:25px;position:relative;box-shadow:inset 0 0 0 1px #00000008}.swatch span{white-space:nowrap;opacity:0;pointer-events:none;border:1px solid var(--line);background:#fff;border-radius:3px;padding:5px 7px;font-size:9px;position:absolute;bottom:31px;left:50%;transform:translate(-50%)}.swatch:hover span,.swatch:focus-visible span{opacity:1}footer{border-top:1px solid var(--line);color:#8b978f;justify-content:space-between;gap:20px;margin:0 4%;padding:20px 0 25px;font-size:9px;display:flex}body.night{background:#dce4e1}.night .scene-meta{color:#6b817a}@media (width>=1600px){.studio{grid-template-columns:minmax(0,1fr) 320px}.scene-stage{height:770px}.intro{top:40px}.zone-panel{margin-top:40px}.zone-button{padding:13px 8px}.zone-detail{margin-top:28px}.design-notes{gap:60px}}@media (width<=1100px){.studio{grid-template-columns:minmax(0,1fr) 250px;padding-right:3%}.zone-panel{padding-left:17px}.intro h1{font-size:29px}.scene-stage{height:720px}.view-toolbar{bottom:77px;left:50%;right:auto;transform:translate(-50%)}.scene-meta{gap:8px;bottom:23px}.design-notes{gap:24px}.intro-copy{max-width:260px;line-height:1.7}.note-title h2{font-size:21px}}@media (width<=760px){.masthead{height:76px;padding:0 22px}.brand{gap:8px;font-size:17px}.brand-mark{font-size:32px}.brand-mark>span{font-size:27px}.edition{font-size:10px}.edition-date{display:none}.studio{min-height:0;padding:0;display:block}.intro{top:27px;left:24px}.intro .eyebrow{margin-bottom:10px;font-size:8px}.intro h1{font-size:27px}.intro-copy{max-width:none;font-size:10px}.scene-stage{height:570px}.view-toolbar{white-space:nowrap;gap:1px;max-width:calc(100% - 32px);bottom:61px}.segmented button{padding:9px 10px}.icon-button{flex-basis:30px;width:30px}.scene-meta{flex-direction:row;justify-content:space-between;gap:12px;font-size:8px;bottom:22px;left:24px;right:24px}.scene-meta>span:first-child{font-size:9px}.meta-separator{margin:0 5px}.zone-panel{border-left:0;border-top:1px solid var(--line);margin:0;padding:22px 24px 24px}.panel-heading{margin:0 0 15px}#zones{grid-template-columns:1fr 1fr;gap:5px 10px;display:grid}.zone-button{gap:5px;padding:10px 8px}.zone-no{font-size:12px}.zone-name{font-size:11px}.zone-name small{font-size:7px}.zone-detail{min-height:0;margin-top:17px}.zone-detail p{font-size:11px}.scale-note{display:none}.design-notes{grid-template-columns:1fr 1fr;gap:32px 25px;padding:30px 24px}.note-title h2{font-size:23px}.note-title>p:last-child{font-size:10px}.note h3{font-size:12px}.note p{font-size:10px}.metric{font-size:16px}.metric small{font-size:8px}.palette{gap:6px}.swatch{width:21px;height:21px}.plan-view{inset:152px 18px 108px}.hotspot{width:23px;height:23px;font-size:9px}.hotspot:after{display:none}footer{flex-direction:column;gap:7px;margin:0 24px;font-size:8px}.brand small{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.drag-modes{gap:2px;display:flex}.view-toolbar{flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 32px)}#scene{cursor:grab}#scene.dragging{cursor:grabbing}@media (width<=380px){.view-toolbar{width:264px}.view-toolbar .segmented{flex:0 0 82px}.view-toolbar .toolbar-divider{display:none}.view-toolbar .drag-modes{flex:0 0 155px;justify-content:flex-end}.view-toolbar .icon-button{flex-basis:38px;width:38px;height:36px}}.scene-stage{height:760px}.zone-panel #zones{gap:2px}.zone-panel .zone-button{padding:5px 8px}.zone-panel .zone-name{line-height:1.25}.zone-panel .zone-name small{margin-top:2px}.plan-view .plan-zone:hover polygon{stroke:#ae7282;stroke-width:2px}.intro h1{font-family:Georgia,Noto Serif SC,SimSun,serif}.studio.focused .intro,.studio.focused .scene-meta{visibility:hidden}@media (width<=760px){.scene-stage{height:500px}.zone-panel #zones{gap:5px 10px}.zone-panel .zone-button{padding:10px 8px}.scene-meta,.scene-meta>span:first-child{font-size:8px}}@media (width<=380px){.masthead{gap:12px;padding:0 16px}.brand{gap:6px;min-width:0;font-size:16px}.brand-mark{flex-shrink:0}.edition{white-space:nowrap;flex-shrink:0;font-size:9px}.zone-panel{padding-left:16px;padding-right:16px}.zone-panel .zone-button{gap:4px;min-width:0;padding:8px 4px}.zone-name{overflow-wrap:anywhere;min-width:0}.zone-no{min-width:18px}.zone-dot{flex:0 0 4px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scene-stage{align-self:stretch;height:auto;min-height:760px}.app-toast{z-index:10;color:#fff;pointer-events:none;background:#364e41;border:1px solid #536f5d;border-radius:5px;max-width:calc(100% - 32px);padding:11px 18px;font-size:12px;line-height:1.5;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.app-toast:empty{display:none}#scene:focus-visible{outline-offset:-3px;outline:2px solid #9d6177}.experience-bar{z-index:5;align-items:center;gap:12px;display:flex;position:absolute;top:23px;right:25px}.experience-modes,.visitor-tools{background:#fafcf9ed;border:1px solid #cfd9d3;border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex}.experience-modes button{white-space:nowrap;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 12px;font-size:11px;display:flex}.experience-modes button[aria-pressed=true]{color:#304b3d;background:#dfe8e2}.experience-modes svg{stroke-width:1.6px;width:15px;height:15px}.visitor-tools .icon-button{flex-basis:36px;width:36px;height:36px}.visitor-status{z-index:4;color:#40594c;background:#fafcf9ed;border:1px solid #cfd9d3;border-radius:5px;align-items:center;gap:10px;max-width:calc(100% - 380px);padding:1px 5px 1px 12px;font-size:12px;display:flex;position:absolute;top:26px;left:30px}.visitor-status #visitor-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-weight:600;overflow:hidden}.visitor-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.visitor-separator{color:#99a79f}#visitor-location{white-space:nowrap}.visitor-status .icon-button{flex-shrink:0}#avatar-marker{z-index:3;pointer-events:none;color:#633e4f;white-space:nowrap;text-overflow:ellipsis;background:#fffdf8e8;border:1px solid #cbb1bb;border-radius:4px;max-width:145px;padding:4px 7px;font-size:10px;position:absolute;overflow:hidden;transform:translate(-50%,-100%);box-shadow:0 2px 8px #33463812}.walking #hotspots,.walking .intro,.walking .scene-meta{visibility:hidden}.joystick{z-index:5;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffffb8;border:1px solid #b8c9bf;border-radius:50%;place-items:center;width:108px;height:108px;display:grid;position:absolute;bottom:95px;left:28px;box-shadow:0 3px 18px #354c3f0d}.joystick>svg{color:#708b7a;stroke-width:1px;opacity:.45;pointer-events:none;width:70px;height:70px}.joystick-thumb{pointer-events:none;background:#fafcf9;border:1px solid #b3c5b9;border-radius:50%;width:38px;height:38px;position:absolute;top:34px;left:34px;box-shadow:0 3px 9px #344d4024}.joystick.engaged .joystick-thumb{background:#d2dfd6;border-color:#759081}@media (hover:hover) and (pointer:fine){.joystick{display:none}}.zone-detail p,.note p,.intro-copy{color:#5e6f67}.zone-name small{color:#65756d}.zone-panel .zone-button{min-height:42px}.zone-button:hover{background:#ffffff90}.zone-button:focus-visible{outline-offset:0}.icon-button:disabled{opacity:.38}.view-toolbar .icon-button{flex-basis:36px;width:36px;height:36px}.swatch:focus-visible{outline-offset:3px}.hotspot:focus-visible:after{opacity:1}.hotspot{min-width:26px;min-height:26px}.hotspot.tooltip-left:after{left:auto;right:33px}#character-dialog{color:#354b3f;background:#f8faf7;border:1px solid #c9d6ce;border-radius:8px;width:660px;max-width:calc(100% - 32px);max-height:calc(100svh - 32px);padding:0;overflow:hidden;box-shadow:0 25px 90px #233d3b30}#character-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#293b3547}#character-dialog form{flex-direction:column;max-height:calc(100svh - 34px);display:flex}.character-heading{border-bottom:1px solid #dae2dc;flex-shrink:0;justify-content:space-between;align-items:center;padding:22px 24px 16px;display:flex}.character-heading .eyebrow{margin:0 0 5px;font-size:9px}.character-heading h2{margin:0;font-size:22px;font-weight:500}.character-heading .icon-button{flex-basis:38px;width:38px;height:38px}.character-body{overscroll-behavior:contain;grid-template-columns:240px minmax(0,1fr);gap:24px;min-height:0;padding:22px 24px;display:grid;overflow:auto}.character-preview{background:#edf2ed;border-radius:6px;justify-content:center;align-items:center;min-width:0;min-height:300px;display:flex;position:relative}.character-preview canvas{object-fit:contain;width:240px;max-width:100%;height:270px;display:block}#random-avatar{background:#ffffffb0;border:1px solid #c7d5ca;width:36px;height:36px;position:absolute;bottom:12px;right:12px}.character-fields{min-width:0}.text-field{color:#566b5d;flex-direction:column;gap:7px;font-size:12px;display:flex}.text-field input,.text-field select{color:#354b3f;height:36px;font:inherit;background:#fff;border:1px solid #c4d1c7;border-radius:4px;width:100%;min-width:0;padding:0 10px}.text-field input:focus-visible,.text-field select:focus-visible{outline-offset:2px;outline:2px solid #a56b80}#appearance-colors{flex-direction:column;gap:14px;margin:18px 0;display:flex}#appearance-colors fieldset{border:0;min-width:0;margin:0;padding:0}#appearance-colors legend{color:#566b5d;margin-bottom:8px;padding:0;font-size:11px}.color-options{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.avatar-color{background:var(--color);border:3px solid #f8faf7;border-radius:50%;flex:0 0 29px;width:29px;height:29px;padding:0;position:relative;box-shadow:0 0 0 1px #ccd5cd}.avatar-color[aria-pressed=true]{box-shadow:0 0 0 2px #8e5c73}.avatar-color[aria-pressed=true]:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px;box-shadow:0 0 0 1px #24352b40}.avatar-color:focus-visible{outline-offset:4px}.character-extras{grid-template-columns:1fr 1fr;align-items:end;gap:20px;display:grid}.glasses-field{align-items:center;gap:8px;height:36px;font-size:12px;display:flex}.glasses-field input{accent-color:#9e637a;width:17px;height:17px;margin:0}.character-actions{border-top:1px solid #dae2dc;flex-direction:row;flex-shrink:0;justify-content:flex-end;gap:10px;margin:0;padding:16px 24px;display:flex}.text-button,.primary-button{border-radius:4px;height:39px;padding:0 20px;font-size:12px}.text-button{background:0 0;border:1px solid #c5d1c8}.primary-button{color:#fff;background:#486554;border:1px solid #486554}.primary-button:hover{background:#375642}.text-button:hover{background:#e7eee7}@media (width<=1100px) and (width>=761px){.experience-bar{gap:6px;top:22px;right:18px}.experience-modes button{padding:0 8px}.intro{top:88px}.intro h1{font-size:27px}.visitor-status{max-width:calc(100% - 50px);top:78px;left:28px}}@media (width<=760px){.scene-stage{height:560px;min-height:0}.studio.walking .scene-stage{height:calc(100svh - 76px);min-height:560px;max-height:900px}.experience-bar{justify-content:space-between;gap:8px;top:16px;left:16px;right:16px}.experience-modes button{gap:5px;height:38px;padding:0 10px;font-size:11px}.visitor-tools .icon-button{flex-basis:36px;width:36px;height:38px}.intro{top:88px;left:24px;right:24px}.intro h1{font-size:27px}.intro-copy{line-height:1.8}.visitor-status{gap:8px;max-width:calc(100% - 40px);font-size:11px;top:76px;left:20px}.visitor-status #visitor-name{max-width:104px}.view-toolbar{gap:1px;max-width:calc(100% - 24px);padding:4px;bottom:58px}.view-toolbar .icon-button{flex-basis:34px;width:34px;height:38px}.walking .view-toolbar{bottom:22px}.walking #rotate,.walking .scene-meta{display:none}.scene-meta{line-height:1.6;bottom:20px;left:20px;right:20px}.joystick{bottom:112px;left:22px}#character-dialog{max-width:calc(100% - 24px)}.character-heading{padding:16px 18px 12px}.character-heading h2{font-size:20px}.character-body{flex-direction:column;gap:17px;padding:16px 18px;display:flex}.character-preview{flex-shrink:0;min-height:160px}.character-preview canvas{width:151px;height:170px}.character-fields .text-field{gap:5px}.character-fields .text-field input{height:38px;font-size:16px}#appearance-colors{gap:10px;margin:14px 0}#appearance-colors fieldset{align-items:center;gap:12px;display:flex}#appearance-colors legend{float:left;flex-shrink:0;width:38px;margin:0;line-height:32px}.color-options{flex-wrap:nowrap;gap:9px}.avatar-color{flex-basis:29px;width:29px;height:29px}.character-actions{padding:12px 18px}.character-extras{gap:16px}}@media (width<=380px){.experience-bar{gap:4px;left:12px;right:12px}.experience-modes button{padding:0 7px;font-size:10px}.experience-modes svg{width:13px;height:13px}.visitor-tools .icon-button{flex-basis:32px;width:32px}.view-toolbar{width:264px}.view-toolbar .drag-modes{flex-basis:155px}.view-toolbar .icon-button{flex-basis:38px;width:38px}.character-body{padding:12px 14px}.color-options{gap:6px}.avatar-color{flex-basis:27px;width:27px;height:27px}#appearance-colors legend{width:32px}.visitor-status{font-size:10px}.visitor-status #visitor-name{max-width:84px}}
