@import url('data:text/css,');
:root{--paper:#f5f2eb;--ink:#28332e;--muted:#85867c;--line:#deded4;--green:#466657;--gold:#9e774e;--panel:#fcfbf7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 system-ui,"Microsoft YaHei",sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}.masthead{height:88px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:14px;align-items:center;letter-spacing:1px;font-weight:600;font-size:17px}.brand-mark{font:42px/1 Georgia,serif;color:var(--gold);letter-spacing:-5px}.brand-mark span{font-size:29px}.brand small{display:block;font:9px/1.7 system-ui;letter-spacing:2px;color:var(--muted);margin-top:4px}.masthead nav{display:flex;gap:34px;height:100%;align-items:center}.masthead nav button{height:100%;position:relative;font-size:13px;color:#81857b}.masthead nav button.active{color:var(--ink)}.masthead nav button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green)}.download{font-size:12px;background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:2px;white-space:nowrap}.download span{margin-left:15px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 338px;height:calc(100dvh - 88px);min-height:720px}.stage{position:relative;overflow:hidden;background:#e7e7df}#canvas{width:100%;height:100%;display:block;touch-action:none}.stage-heading{position:absolute;left:38px;top:30px;pointer-events:none}.kicker{font-size:9px;letter-spacing:2.4px;color:var(--gold);font-weight:600}.stage h1{font-size:30px;line-height:1.55;letter-spacing:2px;font-weight:400;margin:12px 0 10px}.stage-heading p{font-size:11px;color:#727c70;letter-spacing:1px}.north{position:absolute;right:30px;top:32px;display:flex;align-items:center;flex-direction:column;font-size:10px;letter-spacing:2px;color:#728073}.north span{font:36px Georgia;line-height:1.2}.sidebar{background:var(--panel);padding:30px 27px 20px;overflow:auto;border-left:1px solid var(--line)}.property-title h2{font-weight:450;font-size:24px;letter-spacing:1px;margin:12px 0 4px}.property-title h2 em{font:30px Georgia;float:right;color:var(--gold)}.property-title p{font-size:11px;color:var(--muted);margin:0}.numbers{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers div+div{border-left:1px solid var(--line);padding-left:23px}.numbers b{font:30px Georgia,serif;font-weight:400}.numbers small{font:11px system-ui;margin-left:5px}.numbers span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.sidebar section{padding:20px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-title h3{font-weight:550;font-size:12px;margin:0;letter-spacing:1px}.section-title>span{font:8px system-ui;letter-spacing:1.4px;color:var(--muted)}.switch-row{display:flex;align-items:center;justify-content:space-between;margin:15px 0;font-size:12px}.switch-row small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.switch-row input{accent-color:var(--green);width:30px;height:16px;cursor:pointer}.light-mode{display:grid;grid-template-columns:1fr 1fr;background:#efefe8;padding:3px;border-radius:3px}.light-mode button{font-size:10px;padding:7px;border-radius:2px;color:var(--muted)}.light-mode button.active{background:#fff;box-shadow:0 1px 4px #0000000a;color:var(--ink)}.room-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.room-buttons button{border:1px solid #e0e1d9;text-align:left;border-radius:2px;padding:9px 10px;background:#fffdfa;font-size:10px;display:flex;justify-content:space-between;align-items:center;transition:background .15s}.room-buttons button:hover,.room-buttons button.active{background:#e7ede7;border-color:#a1b5a5}.room-buttons button small{color:#9b9e92;font:9px Georgia}.selection-card>b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.selection-card p{font-size:10px;color:var(--muted);margin:7px 0 12px}.interaction-actions{display:flex;gap:7px}.interaction-actions button{font-size:10px;border:1px solid #d4dcd2;border-radius:2px;padding:7px 10px}.interaction-actions button:first-child{background:var(--green);color:white}.interaction-actions button:disabled{opacity:.4;cursor:default}.selection-card p.micro{font-size:9px;margin-bottom:0}.sidebar-footer{padding-top:18px;display:flex;flex-direction:column;gap:8px;font-size:9px;color:var(--muted)}.sidebar-footer a{color:var(--green)}.canvas-bottom{position:absolute;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.instruction{font-size:10px;letter-spacing:.4px;color:#728071;background:#f5f5eecc;padding:7px 12px;border-radius:2px}.view-presets{display:flex;background:#fbfaf4e8;border:1px solid #d7dcd3;border-radius:3px;padding:3px;box-shadow:0 4px 20px #33402c0a}.view-presets button{font-size:10px;padding:8px 13px;white-space:nowrap}.view-presets button.active{background:var(--green);color:white;border-radius:2px}.loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#e8e9e1ed;z-index:3}.loader b{font-size:13px;font-weight:450}.loader span{font-size:10px;color:var(--muted)}.spinner{width:32px;height:32px;border:1px solid #c6d0c1;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}.load-error{position:absolute;left:15%;right:15%;top:45%;background:#fff;padding:25px;color:#9c4c37;z-index:4}.room-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.room-label{position:absolute;transform:translate(-50%,-50%);font-size:10px;padding:3px 8px;background:#fafbf2d9;border:1px solid #dce1d2;border-radius:2px;color:#53654f;white-space:nowrap}.document-panel{max-width:1270px;margin:auto;padding:60px 45px 90px}.document-heading{margin-bottom:40px}.document-heading h1{font-size:34px;font-weight:400;letter-spacing:2px;margin:13px 0}.document-heading p{font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:36px 28px}.gallery figure{margin:0}.gallery-wide{grid-column:1/-1}.gallery img{display:block;width:100%;aspect-ratio:24/16.5;object-fit:cover;border-radius:3px;background:#e3e2d9}.gallery figcaption{padding-top:13px;display:flex;justify-content:space-between;font-size:11px}.gallery figcaption b{font-weight:500}.gallery figcaption span{color:var(--muted);font-size:10px}.source-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:70px}.source-plan{margin:0}.source-plan img{width:100%;border:1px solid var(--line)}.source-plan figcaption{font-size:10px;color:var(--muted);padding-top:8px}.source-copy h2{font-size:16px;font-weight:500;margin:26px 0 10px}.source-copy h2:first-child{margin-top:0}.source-copy p{color:#6b7568;font-size:12px;line-height:2}.source-copy a{color:var(--green);text-decoration:underline;text-underline-offset:4px}.source-links{display:flex;flex-direction:column;gap:10px;font-size:11px}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 370px}.sidebar{padding-left:34px;padding-right:34px}.stage-heading{left:48px;top:40px}}@media(max-width:850px){.masthead{height:72px;padding:0 18px;gap:12px}.brand{font-size:13px;gap:9px}.brand-mark{font-size:31px}.brand small{font-size:7px;letter-spacing:1px}.masthead nav{gap:16px}.masthead nav button{font-size:10px}.download{font-size:9px;padding:8px 10px}.download span{display:none}.workspace{grid-template-columns:minmax(0,1fr) 280px;height:calc(100dvh - 72px)}.sidebar{padding:22px 18px}.stage-heading{left:23px;top:22px}.stage h1{font-size:23px}.instruction{display:none}.canvas-bottom{justify-content:center}.source-layout{grid-template-columns:280px 1fr;gap:30px}.document-panel{padding:35px 24px}.gallery figcaption{display:block}.gallery figcaption span{display:block;margin-top:5px}}@media(max-width:600px){.masthead{flex-wrap:wrap;height:auto;min-height:101px;padding:12px 17px 0}.brand{flex:1}.masthead nav{order:3;width:100%;height:39px;justify-content:space-around;gap:0}.masthead nav button{font-size:11px}.workspace{height:auto;display:flex;flex-direction:column;min-height:0}.stage{height:66dvh;min-height:430px;width:100%}.stage-heading{left:18px;top:19px}.stage h1{font-size:22px;margin:7px 0}.stage-heading p{font-size:9px}.north{right:20px;top:20px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:24px}.property-title h2{font-size:23px}.numbers{margin-top:18px}.room-buttons{grid-template-columns:repeat(3,1fr)}.document-heading h1{font-size:25px}.document-heading p{font-size:11px}.gallery{grid-template-columns:1fr;gap:27px}.gallery-wide{grid-column:auto}.source-layout{display:flex;flex-direction:column;gap:25px}.source-plan{max-width:340px;margin:auto}.document-panel{padding:30px 20px 60px}.canvas-bottom{bottom:15px}.selection-card p{font-size:11px}}
#part-select{display:block;width:100%;padding:8px;margin:0 0 12px;border:1px solid #d5ded3;background:#fffdfa;color:#52674f;border-radius:2px;font:10px system-ui;min-width:0}
.workspace{min-height:0}.sidebar{overscroll-behavior:contain}.stage{overscroll-behavior:none}.zoom-status{position:absolute;left:25px;bottom:72px;font-size:10px;color:#657664;background:#fafbf2db;padding:4px 8px;border-radius:2px;pointer-events:none}
