:root{color-scheme:light;--paper:#f1f2f4;--ink:#252832;--muted:#777b84;--blue:#346bfa;--blue-soft:#e8eeff;--glass:rgba(255,255,255,.68);--line:rgba(70,75,90,.1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:0;cursor:pointer;border-radius:12px;padding:10px;white-space:nowrap;transition:background .12s,color .12s}button:hover{background:rgba(100,110,130,.07)}button:active{background:rgba(100,110,130,.13)}button:disabled{opacity:.34;cursor:default}button:disabled:hover{background:transparent}button[aria-pressed=true],button.active{color:var(--blue);background:var(--blue-soft)}button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.icon{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.glass{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.49));border:1px solid rgba(255,255,255,.94);box-shadow:0 9px 24px rgba(25,30,45,.09),inset 0 0 0 1px rgba(30,35,45,.015);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}[hidden]{display:none!important}#workspace,#canvas{position:absolute;inset:0;width:100%;height:100%}#canvas{outline:none;touch-action:none;user-select:none}#canvas[data-tool=hand]{cursor:grab}#canvas[data-tool=hand]:active{cursor:grabbing}#canvas[data-tool=wall],#canvas[data-tool=room],#canvas[data-tool=measure],#canvas[data-tool=insert],#canvas[data-tool=led]{cursor:crosshair}#scene [data-object]{pointer-events:bounding-box}#selection{pointer-events:none}#selection [data-handle]{pointer-events:all;cursor:crosshair}
.plan-capsule{position:absolute;top:42px;left:46px;height:70px;min-width:264px;border-radius:20px;padding:14px 18px;gap:17px;text-align:left}.wordmark{font-size:28px;letter-spacing:-1.7px;font-weight:500;color:#10141c}.plan-divider{height:39px;width:1px;background:var(--line)}.plan-info{display:grid;gap:6px;min-width:98px;max-width:190px}.plan-info>span{overflow:hidden;text-overflow:ellipsis}.plan-info small{font-size:12px;color:var(--muted);font-weight:400}.plan-info small:before{content:"";display:inline-block;margin-right:5px;width:6px;height:6px;background:#a0a4ac;border-radius:50%}.plan-info small[data-status=dirty]:before{background:#c3933a}.plan-info small[data-status=error]:before{background:#c3564b}.chevron{width:16px;color:var(--muted)}.top-actions{position:absolute;top:44px;right:44px;display:flex;align-items:flex-end;flex-direction:column;gap:20px}.top-actions button{height:56px;border-radius:18px;padding:0 21px}.top-actions button[data-action=layers]{height:49px;min-width:146px}.print-scale{padding:9px 19px;border-radius:16px;font-variant-numeric:tabular-nums;color:#555a65;font-size:13px;margin-top:-4px}.zoom-capsule{position:absolute;left:54px;top:39%;width:56px;padding:8px 4px;border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:3px}.zoom-capsule button{width:44px;height:45px}.zoom-capsule span{font-size:12px;height:34px;display:grid;place-items:center;font-variant-numeric:tabular-nums}.history-capsule{position:absolute;bottom:158px;left:50px;padding:3px 6px;border-radius:17px;display:flex;gap:2px}.history-capsule button{width:47px;height:45px}.history-capsule .icon{width:21px}.tool-capsule{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);padding:12px 25px;display:flex;gap:10px;border-radius:26px;min-height:98px}.tool-capsule button{flex-direction:column;gap:10px;width:76px;padding:8px 6px;font-size:13px;color:#626773;border-radius:16px}.tool-capsule .icon{width:27px;height:27px;stroke-width:1.45;color:var(--ink)}.tool-capsule button.active{color:var(--blue);background:transparent}.tool-capsule button.active .icon{color:var(--blue)}.tool-capsule button:hover{background:rgba(100,110,130,.055)}.demo-label{position:absolute;left:54px;bottom:45px;color:var(--muted);font-size:12px;pointer-events:none}.scale-bar{position:absolute;bottom:65px;right:105px;text-align:center;font-size:12px;pointer-events:none}.scale-bar i{display:block;border-bottom:1px solid var(--ink);height:12px;position:relative}.scale-bar i:before,.scale-bar i:after{content:"";position:absolute;height:8px;width:1px;background:var(--ink);bottom:-4px}.scale-bar i:before{left:0}.scale-bar i:after{right:0}
.context-panel{position:absolute;width:258px;right:58px;top:30.5%;border-radius:21px;max-height:calc(100% - 350px);overflow:auto;scrollbar-width:thin;padding:17px 15px}.context-panel.wide{width:305px;right:42px;top:255px;max-height:calc(100% - 390px)}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:8px}.panel-title h1{font-size:15px;margin:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-title button{padding:3px;color:var(--muted)}.panel-title .icon{width:17px;height:17px}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.36);border-radius:11px;padding:6px 7px;margin-bottom:5px;min-height:43px;font-size:12px}.field>span{flex:1}.field input,.field select,.field textarea{min-width:0;width:101px;border:1px solid rgba(45,50,65,.13);border-radius:8px;background:rgba(255,255,255,.48);box-shadow:0 1px 3px #25283204;padding:8px;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #346bfa14}.field input[type=number]{appearance:textfield;-moz-appearance:textfield}.field input::-webkit-inner-spin-button{appearance:none}.field select{padding:8px 4px;text-align:left}.field input[type=color]{height:33px;width:44px;padding:3px}.field.block{display:block}.field.block>span{display:block;margin:3px 0 9px}.field.block textarea,.field.block input{width:100%;text-align:left}.field textarea{resize:vertical;min-height:74px}.field input[type=checkbox]{width:16px;box-shadow:none;accent-color:var(--blue)}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset:disabled{opacity:.5}.panel-actions{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.panel-actions button{flex:1;border:1px solid var(--line);background:#fff5;min-height:43px}.panel-actions button .icon{width:21px;height:21px}.icon-only span{display:none}button.primary{background:var(--blue);color:white;border:1px solid transparent}button.primary:hover{background:#285ade}.primary.full,.full{width:100%;margin-top:7px}button.danger{color:#b34c46}.subtle{color:var(--muted);font-size:12px;line-height:1.5;margin:8px 2px}.subtle strong{color:var(--ink);font-weight:500}details{margin-top:8px;border-top:1px solid var(--line);padding-top:7px}summary{cursor:pointer;font-size:12px;color:#636977;padding:2px 0 7px}h3{font-size:12px;font-weight:600;margin:18px 3px 7px;color:#686d79}.tool-hint{position:absolute;bottom:168px;left:50%;transform:translateX(-50%);font-size:12px;color:#777c87;max-width:65%;text-align:center;pointer-events:none}.tool-hint:empty{display:none}.notice{position:absolute;top:130px;left:46px;width:min(490px,calc(100% - 92px));padding:14px 17px;border-radius:17px;font-size:12px;line-height:1.5;border-color:#e5c6aa}.notice button{padding:8px;margin:8px 4px 0 0;background:#fff7}.toast{position:absolute;bottom:176px;left:50%;transform:translateX(-50%);border-radius:15px;padding:12px 18px;max-width:560px;font-size:13px;text-align:center;box-shadow:0 6px 20px #25283212;z-index:30}.context-panel ul{list-style:none;margin:0;padding:0}.layer-row{display:flex;align-items:center;gap:3px;min-height:44px;border-radius:10px;padding:3px;margin-bottom:3px}.layer-row.active{background:#e5ebff70}.layer-row .layer-name{flex:1;min-width:0;justify-content:flex-start;gap:8px;text-align:left;padding:8px 4px;font-size:12px}.layer-row .layer-name span{overflow:hidden;text-overflow:ellipsis}.layer-dot{width:7px;height:7px;border-radius:50%;flex:none}.layer-row button.icon-only{padding:7px}.layer-row .icon{width:17px;height:17px}.layer-row .area{font-size:10px;color:var(--muted);margin-left:2px}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.catalog-item{flex-direction:column;border:1px solid var(--line);background:#fff4;font-size:11px;gap:8px;min-height:77px}.catalog-item svg.preview-object{width:65px;height:40px;overflow:visible}.catalog-item .icon{width:27px;height:27px}.panel-search{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff6;padding:9px 11px;outline:none;font-size:12px}.plan-menu{position:absolute;left:46px;top:124px;width:300px;max-height:calc(100% - 270px);overflow:auto;border-radius:20px;padding:18px;z-index:5}.plan-menu h2{font-size:15px;margin:0 0 13px}.plan-menu>button{width:100%;justify-content:flex-start;font-size:13px;margin:2px 0}.plan-menu .icon{width:19px}.checkpoint{display:flex;gap:8px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.checkpoint strong{font-size:12px;display:block;font-weight:500}.checkpoint small{font-size:10px;color:var(--muted)}.checkpoint button{padding:7px}
dialog{color:var(--ink);border-radius:24px;padding:25px;border:1px solid white;max-height:90vh;max-width:calc(100vw - 35px);overflow:auto}dialog::backdrop{background:rgba(30,35,48,.2);backdrop-filter:blur(3px)}.small-dialog{width:410px;background:#f5f6f9ed}.small-dialog h2{font-size:20px;letter-spacing:-.35px;margin:0 0 15px}.small-dialog p{font-size:13px;line-height:1.6;color:#6c717c}.small-dialog .field input{width:185px}.small-dialog footer{display:flex;justify-content:flex-end;gap:7px;margin-top:21px}.small-dialog textarea{width:100%;height:180px;border:1px solid var(--line);border-radius:12px;background:#fff8;padding:12px;font-family:monospace;line-height:1.7}.object-editor{width:1000px;height:700px;background:#f3f4f7f2;padding:20px;display:flex;flex-direction:column}.editor-heading{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-bottom:15px}.editor-heading h2{font-size:18px;margin:0}.editor-layout{display:grid;grid-template-columns:1fr 225px;gap:18px;flex:1;min-height:0}.editor-stage{border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden;background:#f0f1f4}.editor-stage svg{width:100%;height:100%;touch-action:none;outline:none}.editor-tools{display:flex;gap:3px;align-items:center;margin-bottom:10px}.editor-tools button{padding:8px}.editor-tools .icon{width:21px;height:21px}.editor-side{overflow:auto}.editor-footer{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:15px}.editor-footer .subtle{flex:1}.shape-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:5px 8px;border-radius:8px}.shape-row.active{background:var(--blue-soft)}.shape-row button{padding:5px 3px;font-size:12px}.editor-error{font-size:12px;color:#b34c46;margin:8px 0;min-height:16px}.empty-state{font-size:12px;color:var(--muted);padding:10px 0;line-height:1.5}
@media(max-width:1000px){.plan-capsule{top:22px;left:24px}.top-actions{top:24px;right:24px;gap:12px}.context-panel{right:24px;width:246px;top:260px;max-height:calc(100% - 405px)}.context-panel.wide{right:24px;top:245px;width:280px;max-height:calc(100% - 380px)}.zoom-capsule{left:24px}.history-capsule{left:24px;bottom:135px}.tool-capsule{bottom:28px;min-height:85px;padding:10px 16px;gap:5px}.tool-capsule button{width:66px}.demo-label{bottom:24px;left:24px}.scale-bar{right:35px;bottom:40px}.tool-hint{bottom:130px}.toast{bottom:136px}.plan-menu{left:24px;top:103px}}
@media(max-width:700px){.plan-capsule{top:16px;left:16px;min-width:212px;height:61px;padding:11px 14px;gap:12px}.wordmark{font-size:26px}.plan-divider{height:32px}.plan-info{min-width:80px;max-width:110px}.plan-info>span{font-size:12px}.plan-info small{font-size:10px}.top-actions{top:17px;right:16px;gap:10px}.top-actions button{height:44px;padding:10px}.top-actions button span{display:none}.top-actions button[data-action=layers]{min-width:0;height:44px}.print-scale{font-size:11px;padding:7px 9px}.zoom-capsule{left:15px;width:45px;border-radius:18px;top:36%;padding:4px 0}.zoom-capsule button{width:40px;height:37px}.zoom-capsule span{height:26px;font-size:10px}.history-capsule{left:16px;bottom:119px}.history-capsule button{width:37px;height:35px}.tool-capsule{bottom:25px;padding:9px 8px;gap:0;border-radius:21px;min-height:77px;max-width:calc(100% - 22px)}.tool-capsule button{width:55px;font-size:10px;gap:7px}.tool-capsule .icon{width:23px;height:23px}.demo-label{bottom:7px;left:16px;font-size:10px}.scale-bar{right:21px;bottom:124px;font-size:10px}.context-panel,.context-panel.wide{right:16px;top:185px;width:230px;max-height:calc(100% - 310px);padding:13px}.tool-hint{bottom:163px;max-width:70%;font-size:10px}.toast{bottom:170px;max-width:85%;width:max-content}.notice{left:16px;top:91px;width:calc(100% - 85px)}.plan-menu{left:16px;top:86px;width:280px}.editor-layout{grid-template-columns:1fr;grid-template-rows:minmax(210px,1fr) 200px;gap:10px}.editor-side{display:block}.editor-side>div{min-width:0}.object-editor{height:90vh;padding:15px}.editor-heading h2{font-size:15px}.editor-tools{flex-wrap:wrap}.editor-footer .subtle{display:none}.editor-footer{margin-top:8px;flex-wrap:wrap}.editor-footer>button:first-of-type{flex-basis:100%;font-size:12px;padding:6px}.small-dialog .field input{width:150px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.editable-title{font:inherit;font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:7px;padding:3px;min-width:0;width:100%;outline:none}.editable-title:hover:not(:disabled){border-color:#c8cdd6}.editable-title:focus{border-color:var(--blue);background:#ffffff70}.editable-title:disabled{opacity:.75}.draft-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:12px 0}.draft-tools button{display:flex;flex-direction:column;gap:5px;align-items:center;padding:8px 2px;font-size:10px}.draft-library{display:flex;align-items:center;gap:8px;font-size:12px;margin:14px 0}.draft-library input{accent-color:var(--blue)}
.floor-options{display:grid;gap:4px}.floor-options button{justify-content:flex-start;font-size:13px;margin:0}.floor-options button[aria-pressed=true]{background:#346bfa12;color:#285ade}.plan-menu h3{overflow-wrap:anywhere}
