:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#303a32;background:#f6f5f1;font-synthesis:none;--paper:#f9f8f4;--ink:#303a32;--muted:#8a8e84;--line:#e7e7df;--green:#405d4c;--accent:#bb7850}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}button:disabled{cursor:default;opacity:.28}button:focus-visible,input:focus-visible{outline:2px solid #8ca68d;outline-offset:3px}button:hover:not(:disabled){background:#ebece5}svg{width:17px;height:17px;flex-shrink:0}button svg{pointer-events:none}button span{pointer-events:none}input{min-width:0;color:var(--ink)}[hidden]{display:none!important}.app-header{height:84px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:22px;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:11px;min-width:238px}.brand h1{font-size:20px;font-weight:650;margin:0;letter-spacing:2px;display:flex;align-items:baseline;gap:10px}.brand h1 span{font-size:9px;letter-spacing:1.7px;font-weight:500;color:#7a8478}.brand p{font-size:10px;letter-spacing:1.5px;margin:5px 0 0;color:#969b90}.project-heading{display:flex;align-items:center;gap:13px;margin-right:auto;font-size:12px;white-space:nowrap;color:#6e786e}.project-heading b{font-weight:500;color:#354337}.heading-divider{width:1px;height:14px;background:#d9dcd2}.save-state{font-size:10px;color:#90998b;display:flex;gap:5px;align-items:center;margin-left:8px}.save-state svg{width:14px;height:14px}.header-actions{display:flex;gap:12px}.header-actions button{height:36px;padding:0 13px;border-radius:6px;font-size:11px}.primary-button{background:var(--green);color:#fff}.primary-button:hover:not(:disabled){background:#304b3b}.header-actions .primary-button{padding:0 17px}.workspace{height:calc(100% - 114px);display:flex}.sidebar{width:272px;flex-shrink:0;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:25;transition:margin .25s}.sidebar-tabs{display:flex;border-bottom:1px solid var(--line);padding:13px 18px 0;gap:19px;flex-shrink:0}.sidebar-tabs button{font-size:12px;gap:6px;height:40px;padding:0 0 14px;position:relative;color:#8a9185;flex:1}.sidebar-tabs button svg{width:15px;height:15px}.sidebar-tabs button span{font-size:9px;border-radius:3px;background:#e9ebe3;padding:1px 4px;margin-left:1px}.sidebar-tabs button.active{color:var(--green);font-weight:600}.sidebar-tabs button.active:after{position:absolute;content:"";height:2px;bottom:0;left:0;right:0;background:var(--green)}.sidebar-tabs button:hover{background:none}.search-box{height:35px;background:#efefe8;border:1px solid #e7e8df;border-radius:6px;display:flex;align-items:center;gap:6px;margin:18px 18px 13px;padding:0 9px}.search-box svg{width:14px;color:#8b9485}.search-box input{border:0;outline:0;background:none;font-size:10px;width:100%}.search-box input::placeholder{color:#929b8d}.search-box kbd{font-size:9px;color:#a0a798;white-space:nowrap}.categories{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 17px}.categories button{padding:5px 10px;font-size:10px;border-radius:4px;color:#7f887b;min-width:48px}.categories button.active{color:#fff;background:var(--green)}.library-content{overflow:auto;padding:0 18px 24px;flex:1;scrollbar-width:thin;scrollbar-color:#d3d8cc transparent}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#939b8c;padding:1px 0 12px}.section-label span:last-child{font-size:9px}.furniture-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 10px}.furniture-card{display:flex;flex-direction:column;align-items:flex-start;padding:0;gap:0;min-width:0;white-space:normal;text-align:left;border-radius:5px}.furniture-preview{width:100%;height:86px;background:#edede5;border:1px solid #e5e7dd;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.furniture-preview>svg{width:45px;height:45px;stroke-width:1;stroke:#969e8d;filter:drop-shadow(0 5px 3px #c6c9b8);transition:transform .25s}.preview-卧室{background:#eaece5}.preview-餐厅{background:#eeebe3}.preview-装饰{background:#e6eadd}.preview-收纳{background:#e8e6de}.preview-灯具{background:#f0ece1}.furniture-card:hover{background:transparent!important}.furniture-card:hover .furniture-preview{border-color:#adbca5;background:#e6eadf}.furniture-card:hover .furniture-preview>svg{transform:translateY(-3px)}.add-badge{width:20px;height:20px;position:absolute;bottom:6px;right:6px;border-radius:50%;background:#fafbf6;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #6070500d}.add-badge svg{width:12px;height:12px;stroke:#7f8b76}.furniture-card strong{font-size:10px;font-weight:500;line-height:1.5;margin:7px 0 2px;max-width:100%}.furniture-card small{font-size:9px;color:#8c9686;font-variant-numeric:tabular-nums}.furniture-card small span{font-size:8px;margin-left:1px}.library-note{font-size:9px;color:#a2aa9b;line-height:1.8;margin:24px 0 0}.sidebar-footer{border-top:1px solid var(--line);height:43px;padding:0 18px;display:flex;align-items:center;gap:7px;font-size:9px;color:#919b88;flex-shrink:0}.sidebar-footer button{margin-left:auto;width:25px;height:25px;border-radius:4px}.sidebar-footer svg{width:13px}.live-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#75936d;flex-shrink:0}.canvas-area{flex:1;min-width:0;position:relative;overflow:hidden;background:#e8e6df}#viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}#viewport canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.canvas-topbar{position:absolute;top:22px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none;z-index:12}.view-switch,.scheme-switch{display:flex;padding:4px;border:1px solid #ffffffab;background:#f9f9f2ed;border-radius:7px;box-shadow:0 3px 12px #5b604c08;pointer-events:auto}.view-switch button,.scheme-switch button{padding:8px 15px;font-size:11px;border-radius:4px;color:#7b8575}.view-switch button.active{background:var(--green);color:#fff;box-shadow:0 2px 4px #344d3822}.view-switch button svg{width:14px;height:14px}.scheme-switch button{font-size:10px;padding:8px 13px}.scheme-switch button.active{color:var(--green);background:#e4e9de;font-weight:550}.new-dot{height:4px;width:4px;border-radius:50%;background:#81926c;margin-left:2px}.scene-caption{position:absolute;left:30px;top:108px;pointer-events:none;z-index:10}.eyebrow{font-size:8px;letter-spacing:2.6px;color:#819077;font-weight:500}.scene-caption h2{font-size:23px;font-weight:400;letter-spacing:3px;margin:12px 0 9px;color:#46503f}.scene-caption p{font-size:10px;letter-spacing:.7px;color:#939989}.scene-caption.invisible{display:none}.viewport-tools{position:absolute;top:95px;right:26px;padding:5px;background:#f9f9f2ed;border:1px solid #ffffffa0;border-radius:7px;display:flex;flex-direction:column;gap:3px;z-index:15;box-shadow:0 2px 10px #4f5b4105}.viewport-tools button{height:33px;width:33px;border-radius:4px;color:#87907d}.viewport-tools button svg{width:15px;height:15px}.viewport-tools button.active{background:#e3e9dc;color:#466044}.viewport-tools>span{height:1px;background:#e3e6dc;margin:3px 4px}.room-label{position:absolute;top:0;left:0;pointer-events:none;z-index:4;text-align:center;white-space:nowrap;display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 3px #fff,0 0 5px #ffffffbd}.room-label span{font-size:11px;color:#5f6857;font-weight:550;letter-spacing:.5px}.room-label small{font-size:9px;color:#8b907e;font-variant-numeric:tabular-nums}.hide-room-labels .room-label{display:none}.bottom-info{position:absolute;bottom:79px;left:30px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.plan-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#717d65}.plan-label .subtle{color:#9ca38f;font-size:9px;margin-left:5px}.north-mark{font-family:Georgia,serif;font-size:12px;color:#89937e;letter-spacing:4px}.canvas-bottom{position:absolute;bottom:20px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:14}.icon-button,.bottom-controls{background:#fafaf2e8;border:1px solid #ffffffa3;box-shadow:0 2px 8px #50613d08;border-radius:6px}.icon-button{height:35px;width:36px;color:#7c8971}.bottom-controls{display:flex;padding:3px;gap:2px}.bottom-controls button{height:29px;width:32px;border-radius:4px;color:#7a876c}.bottom-controls svg{width:14px;height:14px}.interaction-hint{display:flex;align-items:center;gap:12px;font-size:9px;color:#959d89;background:#f8f8f0b0;border:1px solid #ffffff55;padding:10px 17px;border-radius:25px;white-space:nowrap}.interaction-hint span{color:#bcc1ad}.status-bar{height:30px;border-top:1px solid var(--line);background:var(--paper);font-size:9px;color:#929b89;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-dot{margin:0 10px;color:#d1d6c9}.status-bar button{font-size:9px;color:#929b89;gap:5px}.status-bar button svg{width:11px;height:11px}.inspector{position:absolute;right:78px;top:95px;width:232px;background:#fafbf5f7;border:1px solid #ffffffad;border-radius:9px;z-index:18;box-shadow:0 12px 35px #3e4c2e12;padding:15px 17px;max-height:calc(100% - 185px);overflow:auto;scrollbar-width:thin}.inspector-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8d987f}.inspector-heading button{height:20px;width:20px;border-radius:4px}.inspector-heading button svg{width:13px;height:13px}.inspector h3{font-size:15px;font-weight:550;margin:9px 0 6px;letter-spacing:.3px}.inspector>p{font-size:9px;line-height:1.7;color:#8e9785;margin:0 0 18px}.field-caption{display:flex;justify-content:space-between;font-size:10px;color:#748267;margin:13px 0 7px}.field-caption span{font-size:9px;color:#a0a993}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.field-grid label{background:#f1f3eb;border:1px solid #e6eadd;border-radius:4px;font-size:8px;display:flex;flex-direction:column;padding:5px 7px;color:#9aa58e}.field-grid input{border:0;background:none;outline:0;width:100%;font-size:11px;margin-top:3px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;padding:0}.field-grid input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lift-input{border:1px solid #e6eadd;border-radius:4px;background:#f1f3eb;padding:7px 9px;width:100%;font-size:11px}.tone-swatches{display:flex;gap:10px;margin:11px 0 20px}.tone-swatches button{width:23px;height:23px;border-radius:50%;background:var(--swatch);border:3px solid #fbfcf5;box-shadow:0 0 0 1px #e0e5d7}.tone-swatches button.selected{box-shadow:0 0 0 1.5px var(--green)}.tone-swatches button:hover{background:var(--swatch);transform:scale(1.1)}.inspector-actions{display:flex;gap:5px;border-top:1px solid var(--line);padding-top:12px;justify-content:space-between}.inspector-actions button{font-size:9px;gap:4px;padding:6px 4px;border-radius:4px;color:#68795c}.inspector-actions button svg{width:12px;height:12px}.inspector-actions .danger{color:#b67f65}.shopping-intro{padding:26px 0 20px}.shopping-intro .eyebrow{font-size:8px}.shopping-intro h3{font-size:18px;font-weight:400;letter-spacing:1px;margin:12px 0 9px}.shopping-intro p{font-size:10px;color:#939c89}.shopping-list{border-top:1px solid var(--line)}.shopping-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.shopping-icon{display:flex;align-items:center;justify-content:center;width:34px;height:37px;background:#ebeede;border-radius:5px;color:#829073}.shopping-icon svg{width:20px;height:20px;stroke-width:1.25}.shopping-row>div{flex:1}.shopping-row strong{font-size:10px;font-weight:500;display:block}.shopping-row small{font-size:9px;color:#9ba58d;display:block;margin-top:5px}.shopping-row>b{font-size:10px;color:#78876a;font-weight:400}.download-list{margin-top:22px;width:100%;font-size:10px;border:1px solid #cfd8c3;padding:10px;border-radius:5px;color:#657c56}.download-list svg{width:13px;height:13px}.empty-state{padding:40px 0;text-align:center;font-size:12px;color:#7a8a6c;line-height:2.5}.empty-state small{font-size:10px;color:#a1ab92}.panel-closed .sidebar{margin-left:-272px}.loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#eeeee5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .55s,visibility .55s;pointer-events:none}.loading-logo{animation:breathe 1.5s infinite}.loading p{font-size:13px;color:#566b4c;text-align:center;letter-spacing:1px}.loading p span{display:block;font-size:10px;color:#97a48b;margin-top:12px;letter-spacing:.5px}.loading.loaded{opacity:0;visibility:hidden}.toast{position:fixed;bottom:70px;left:50%;transform:translate(-50%,15px);z-index:100;background:#334b3eee;color:#f6f8ef;border:1px solid #ffffff20;padding:12px 20px;border-radius:7px;font-size:11px;opacity:0;visibility:hidden;transition:.2s;box-shadow:0 5px 25px #263d2020;max-width:90vw;text-align:center}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%)}dialog{border:1px solid #d9dfd0;border-radius:12px;background:var(--paper);padding:0;box-shadow:0 20px 80px #1e341f33;color:var(--ink);max-height:90dvh}dialog::backdrop{background:#26372b55;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawing-dialog{width:min(720px,90vw)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.dialog-header h3{font-size:15px;font-weight:500;margin:0}.dialog-header p{font-size:10px;color:#8b9880;margin:7px 0 0}.dialog-header button{height:30px;width:30px;border-radius:50%;color:#829475}.drawing-scroll{overflow:auto;max-height:calc(90dvh - 150px);padding:15px}.drawing-scroll img{display:block;width:100%;height:auto}.drawing-note{font-size:10px;color:#8d9881;text-align:center;margin:16px 20px 20px;line-height:1.7}.help-dialog{width:min(470px,90vw)}.help-dialog dl{margin:20px 24px 30px}.help-dialog dt{font-size:12px;font-weight:550;color:#5d7550;margin:20px 0 7px}.help-dialog dd{font-size:11px;color:#8c9880;margin:0;line-height:1.9}.walk-pad{position:absolute;left:25px;bottom:115px;z-index:15;display:flex;flex-direction:column;align-items:center;gap:4px}.walk-pad>div{display:flex;gap:4px}.walk-pad button{width:37px;height:37px;background:#f8faf0df;border:1px solid #fff;border-radius:6px;color:#687f56;touch-action:none}.walk-pad button:active{background:#cbdabc}@keyframes breathe{50%{opacity:.5;transform:translateY(-3px)}}@media(min-width:1600px){.sidebar{width:300px}.panel-closed .sidebar{margin-left:-300px}.furniture-preview{height:100px}.sidebar-tabs{gap:28px}.brand{min-width:260px}.scene-caption{top:120px}.scene-caption h2{font-size:27px}}@media(max-width:1150px){.app-header{padding:0 20px;gap:16px}.brand{min-width:210px}.project-heading{font-size:11px;gap:8px}.save-state{display:none}.header-actions{gap:3px}.header-actions button{padding:0 10px}.header-actions .primary-button{padding:0 12px}.sidebar{width:246px}.panel-closed .sidebar{margin-left:-246px}.sidebar-tabs{padding-left:14px;padding-right:14px;gap:12px}.library-content{padding-left:14px;padding-right:14px}.search-box{margin-left:14px;margin-right:14px}.categories{padding-left:14px;padding-right:14px;gap:4px}.categories button{padding-left:9px;padding-right:9px;min-width:46px}.scene-caption h2{font-size:21px}.canvas-topbar{left:20px;right:20px}.view-switch button,.scheme-switch button{padding:8px 10px}.viewport-tools{right:20px}.inspector{right:68px}}@media(max-width:850px){.project-heading{display:none}.brand{margin-right:auto}.app-header{height:74px}.workspace{height:calc(100% - 104px)}.scene-caption{top:103px;left:23px}.scene-caption h2{font-size:19px;letter-spacing:1px}.scene-caption p{font-size:9px}.eyebrow{font-size:7px;letter-spacing:1.5px}.sidebar{width:232px}.panel-closed .sidebar{margin-left:-232px}.search-box kbd{display:none}.furniture-grid{gap:14px 8px}.furniture-preview{height:76px}.categories button{min-width:43px;padding:5px 8px}.view-switch button{font-size:10px;padding:7px 9px;gap:4px}.view-switch button svg{width:12px;height:12px}.scheme-switch button{font-size:9px;padding:7px 8px}.canvas-topbar{gap:7px;left:17px;right:17px;top:17px}.viewport-tools{right:17px;top:82px}.interaction-hint{font-size:8px;gap:6px;padding:9px 12px}.bottom-controls button{width:26px}.canvas-bottom{left:17px;right:17px}.inspector{right:62px;top:82px;width:216px;padding:12px}.bottom-info{left:23px;right:23px}.status-bar{padding:0 17px;font-size:8px}.status-bar>span:nth-child(2){display:none}}@media(max-width:600px){.app-header{height:66px;padding:0 14px}.brand{min-width:0;gap:8px}.brand img{height:31px;width:31px}.brand h1{font-size:18px;letter-spacing:1px;gap:5px}.brand h1 span{font-size:7px;letter-spacing:.8px}.brand p{font-size:8px;letter-spacing:.5px;margin-top:3px}.header-actions{gap:4px}.header-actions button{height:31px;width:31px;padding:0!important}.header-actions button span{display:none}.header-actions .primary-button{width:33px;border-radius:5px}.header-actions button svg{width:15px;height:15px}.workspace{height:calc(100% - 92px);display:block;position:relative}.sidebar{position:absolute;top:0;bottom:0;left:0;width:236px;transform:translate(0);transition:transform .25s;box-shadow:5px 0 25px #3e4b2d15;margin-left:0!important}.workspace.panel-closed .sidebar{transform:translate(-100%)}.canvas-area{height:100%;width:100%}.canvas-topbar{top:15px;left:14px;right:14px;gap:8px}.view-switch button{padding:8px 10px;font-size:10px}.scheme-switch button{padding:8px;font-size:9px}.scheme-switch .new-dot{display:none}.view-switch button svg{width:13px;height:13px}.scene-caption{top:94px;left:22px}.scene-caption h2{font-size:22px;letter-spacing:1.5px;margin-top:10px}.scene-caption p{font-size:10px}.scene-caption .eyebrow{font-size:7px;letter-spacing:1.6px}.viewport-tools{right:14px;top:90px}.viewport-tools button{width:29px;height:30px}.viewport-tools button svg{width:14px;height:14px}.canvas-bottom{bottom:19px;left:14px;right:14px}.interaction-hint{position:absolute;bottom:52px;left:50%;transform:translate(-50%);font-size:8px;padding:8px 12px;gap:6px;width:max-content;max-width:calc(100vw - 40px)}.bottom-info{bottom:124px;left:22px;right:21px}.plan-label{font-size:9px;gap:6px}.plan-label .subtle{font-size:8px}.bottom-controls{margin-left:auto}.bottom-controls button{width:29px}.status-bar{height:26px;padding:0 13px;font-size:7px}.status-bar button{font-size:8px}.status-bar .footer-dot{margin:0 4px}.inspector{right:58px;top:90px;width:215px;max-height:calc(100% - 220px)}.walk-pad{bottom:150px;left:18px}.walk-pad button{width:38px;height:38px}.toast{bottom:130px;font-size:10px}.drawing-note{font-size:9px}.dialog-header{padding:16px}.furniture-preview{height:81px}.sidebar-tabs{padding-top:12px}.sidebar-footer{height:43px}.north-mark{font-size:10px}.loading{z-index:20}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.furniture-preview>img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.furniture-card:hover .furniture-preview>img{transform:translateY(-3px) scale(1.04)}.sidebar-tabs .sidebar-close{display:none}@media(max-width:600px){.sidebar-tabs{position:relative;padding-right:30px;gap:10px}.sidebar-tabs .sidebar-close{position:absolute;display:flex;right:8px;top:13px;width:20px;height:25px;padding:0}.sidebar-close svg{width:14px;height:14px}}
