:root{font-family:Inter,"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;color:#2c342b;background:#f5f2e8;font-synthesis:none;--yellow:#f2c318;--line:#deded2;--muted:#79816f;--ink:#2c342b;--paper:#fffdf7}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b7940f;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.97)}a{color:inherit;text-decoration:none}svg.icon{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button svg{flex-shrink:0}[hidden]{display:none!important}
.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 max(28px,calc((100vw - 1580px)/2));background:#faf8ef}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800;letter-spacing:1.2px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:500;color:var(--muted);margin-top:5px}.brand-mark{width:41px;height:43px;border-radius:9px;background:var(--yellow);font-size:28px;line-height:43px;text-align:center;position:relative;letter-spacing:0}.brand-mark span{position:absolute;width:5px;height:5px;background:#fff9de;right:6px;top:6px;border-radius:50%}.local-tag{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;border-left:1px solid var(--line);padding-left:22px}.local-tag i{width:5px;height:5px;background:#8d9c75;border-radius:50%}.top-actions{margin-left:auto;display:flex;gap:9px}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;border:1px solid transparent;padding:9px 14px;font-weight:600;font-size:12px;white-space:nowrap}.secondary{background:var(--paper);border-color:var(--line)}.dark{background:var(--ink);color:#fffdf5}.yellow{background:var(--yellow);color:#303125}.apply{width:100%;border-color:var(--line);background:#f3f2e9;justify-content:space-between;margin-top:15px}.apply span{color:#838970;font-size:17px}main{max-width:1640px;padding:33px 28px 0;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:700;color:#92977e;letter-spacing:2.5px;margin-bottom:10px}h1{font-size:30px;letter-spacing:-1.5px;margin:0;font-weight:800}.intro h1 span{color:#c7a318;margin-left:3px}.intro p{font-size:13px;color:var(--muted);margin:10px 0 0}.concept-label{display:flex;gap:12px;align-items:center;font-size:12px;color:#737b68;padding-right:4px}.concept-label>span:first-child{width:39px;height:39px;background:#e9eadc;border-radius:50%;display:grid;place-items:center}.concept-label small{font-size:10px;display:block;margin-top:6px;color:#8c937e}.demo-banner{background:#f4efd7;border:1px solid #e7dfb9;padding:11px 16px;border-radius:8px;display:flex;align-items:center;gap:11px;margin-bottom:21px;font-size:11px;color:#77724d}.demo-banner>span{flex-shrink:0}.demo-banner p{margin:0;line-height:1.65}.demo-banner strong{font-weight:600;color:#565c3e}.text-button{border:0;background:none;font-size:11px;font-weight:700;white-space:nowrap;margin-left:auto;padding:8px;color:#5f6043}.text-button span{margin-left:6px}.workspace{display:grid;grid-template-columns:242px minmax(300px,1fr) 254px;align-items:start;gap:16px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-section{padding:21px 18px;border-bottom:1px solid #e8e8de}.panel-section:last-child{border:0}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:20px}.section-title h2{font-size:13px;margin:0;font-weight:700;letter-spacing:-.3px}.section-title>span[data-icon]{color:#838b77}.step{font-size:10px;color:#989e89;font-weight:600;width:22px;height:22px;border:1px solid #e0e3d5;border-radius:6px;display:grid;place-items:center}.unit-tag{margin-left:auto;color:#8b9479;font-size:10px;font-weight:700;border:1px solid #e2e5d7;border-radius:4px;padding:2px 5px}.count{margin-left:auto;background:#eef0e5;color:#737d60;border-radius:5px;min-width:20px;padding:3px 6px;font-size:10px}label{display:block;font-size:11px;font-weight:500;color:#6d7661;margin:13px 0 7px}input,select{width:100%;min-width:0;background:#fffef9;border:1px solid #dfe1d3;border-radius:6px;padding:10px;font-size:12px;color:#35402f;height:38px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unit-input{position:relative}.unit-input input{padding-right:24px}.unit-input span{position:absolute;right:10px;top:12px;font-size:10px;color:#929982}.helper{font-size:10px;color:#8b927d;line-height:1.8;margin:11px 0 0}.add-tools{display:grid;gap:9px}.add-tools button{display:flex;align-items:center;gap:11px;text-align:left;background:#fffef9;border:1px solid #e1e3d6;border-radius:7px;padding:11px;font-size:12px}.add-tools button small{display:block;font-size:9px;color:#8b927d;margin-top:5px}.add-tools b{font-size:19px;font-weight:400;color:#90997e;margin-left:auto}.tool-icon{display:grid;place-items:center;border-radius:5px;width:34px;height:34px;flex-shrink:0}.rack-icon{color:#9a7a16;background:#f6efd5}.bench-icon{color:#557462;background:#e9f0e9}.zone-icon{color:#817095;background:#f0ecf6}.inventory-section{padding-top:18px}.item-list{display:grid;gap:4px;max-height:350px;overflow-y:auto}.item-list button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;border-radius:5px;padding:9px 7px;text-align:left;font-size:11px}.item-list button.active{background:#f4f1df;border-color:#e4d99d}.item-list .list-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-list .list-number{font-size:9px;color:#8c947e;width:14px;flex-shrink:0}.item-list .list-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.list-issue{margin-left:auto;color:#b54f37;font-weight:800}.canvas-toolbar{height:57px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.canvas-toolbar>div{display:flex;gap:9px;align-items:center}.canvas-toolbar strong{font-size:12px}.canvas-dot{width:6px;height:6px;background:#7a8867;border-radius:50%}.area-label{font-size:10px;color:#919882;margin-left:3px}.canvas-controls{gap:5px!important}.icon-button{display:grid;place-items:center;background:none;border:0;border-radius:4px;width:29px;height:29px;padding:5px}.toolbar-divider{height:15px;width:1px;background:var(--line);margin:0 5px}.grid-toggle{display:flex;align-items:center;gap:5px;font-size:10px;color:#7a836d;white-space:nowrap;margin:0 5px}.grid-toggle input{width:12px;height:12px;accent-color:#68745a}.canvas-stage{background:#efefe5;padding:23px 22px 18px;min-height:454px;display:flex;flex-direction:column}.sheet-heading,.sheet-footer{display:flex;align-items:center;justify-content:space-between;color:#8f9782;font-size:9px;gap:10px}.sheet-heading{padding:0 2px 12px}.sheet-heading>span:first-child{font-size:11px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-label{letter-spacing:1.6px;font-size:8px}.drawing{background:#fffdf6;border:1px solid #e0e2d2;box-shadow:0 9px 20px #5c63340c;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden;touch-action:pan-y}.drawing>svg{width:100%;height:100%;max-height:510px;min-height:340px;display:block}.plan-item{cursor:grab;touch-action:none;outline:none}.plan-item:active{cursor:grabbing}.plan-item:focus-visible>rect:first-of-type{stroke:#333b2d;stroke-width:.07}.sheet-footer{padding-top:15px;flex-wrap:wrap}.legend{display:flex;gap:13px}.legend span{display:flex;gap:5px;align-items:center;font-size:9px}.legend i{width:6px;height:6px;border-radius:1px}.rack-dot{background:#d9bb59}.bench-dot{background:#a2bfab}.zone-dot{background:#bcabd2}.canvas-hint{display:flex;align-items:center;padding:13px 17px;font-size:9px;gap:7px;color:#879077}.canvas-hint>span[data-icon] svg{width:13px;height:13px}.hint-key{margin-left:auto;white-space:nowrap;color:#9ba08e;border:1px solid #e2e4d7;border-radius:4px;padding:3px 5px;font-size:8px}.hint-key span{margin-left:3px}.review-strip{border-top:1px solid #e4e6d9;padding:12px 17px;font-size:10px;line-height:1.7;color:#717e60;background:#f5f7ee}.review-strip.has-issues{background:#fbefdf;color:#9c6438}.review-strip b{font-weight:600}.review-details{margin:5px 0 0;font-size:9px;max-height:100px;overflow:auto}.selected-type{font-size:10px;color:#899377;border:1px solid #e3e7d8;border-radius:4px;padding:5px 8px;display:inline-block;margin-bottom:2px}.group-label{font-size:11px;margin-top:20px;font-weight:600;color:#687359}.group-label span{display:block;font-size:9px;font-weight:400;color:#989f8a;margin-top:5px}.group-label+.input-pair label{margin-top:5px;font-size:10px}.delete-button{background:none;border:0;width:100%;padding:13px 0 0;color:#a18173;font-size:10px;display:flex;align-items:center;justify-content:center;gap:6px}.delete-button svg{width:13px;height:13px}.empty-selection{padding:18px 0 27px;text-align:center;color:#949d85}.empty-selection>span{display:flex;justify-content:center;margin-bottom:12px}.empty-selection strong{font-size:12px;font-weight:500}.empty-selection p{font-size:10px;line-height:1.9;margin:10px 0 0}.export-section .button{width:100%;min-height:41px}.export-pair{display:grid;grid-template-columns:.85fr 1.15fr;gap:7px;margin-top:8px}.export-pair .button{font-size:10px;padding:8px 5px}.export-pair svg{width:14px;height:14px}.local-note{padding:18px;display:flex;align-items:start;gap:8px;color:#929b85;font-size:10px;background:#fafbf5}.local-note>span{flex-shrink:0;margin-top:2px}.local-note svg{width:14px;height:14px}.local-note p{margin:0;line-height:1.8}.local-note strong{font-size:10px;display:block;font-weight:500;color:#758167;margin-bottom:4px}.page-footer{display:flex;justify-content:space-between;padding:19px 2px 20px;font-size:9px;color:#9b9f8e;gap:18px}.page-footer p:first-child{letter-spacing:1px}.page-footer span{margin:0 9px;color:#c0c4b2}.notice{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#30392b;color:#fffdf5;border-radius:8px;padding:12px 20px;max-width:calc(100vw - 24px);font-size:12px;box-shadow:0 5px 20px #30392b30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20;line-height:1.6}.notice.visible{opacity:1;transform:translate(-50%,0)}.notice.error{background:#8f432d}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;max-width:500px;width:calc(100vw - 30px);background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #28342220}dialog::backdrop{background:#26302060}dialog h2{font-size:19px;margin:18px 0 14px}dialog p{font-size:12px;color:#788268;line-height:1.8}.dialog-icon{color:#838d70}.dialog-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:end;margin-top:20px}#print-output{display:none}
@media(min-width:1600px){.workspace{grid-template-columns:258px minmax(300px,1fr) 278px;gap:20px}.canvas-stage{min-height:560px}.drawing>svg{min-height:435px}.panel-section{padding:24px}}
@media(max-width:1170px){main{padding:26px 20px 0}.workspace{grid-template-columns:211px minmax(280px,1fr) 222px;gap:11px}.panel-section{padding:18px 14px}.canvas-stage{padding:19px 14px;min-height:440px}.canvas-toolbar{padding:0 12px}.area-label{display:none}.hint-key{display:none}.export-pair{grid-template-columns:1fr}.drawing>svg{min-height:320px}.local-note{padding:15px 13px}}
@media(max-width:950px){.workspace{grid-template-columns:220px minmax(0,1fr)}.right-panel{grid-column:2;display:grid;grid-template-columns:1fr 1fr;grid-row:2;align-self:start}.left-panel{grid-row:1 / 3}.right-panel .panel-section{border-bottom:0}.right-panel .panel-section:first-child{border-right:1px solid var(--line);grid-row:1 / 3}.local-note{border-top:1px solid var(--line)}.concept-label{display:none}.canvas-stage{min-height:400px}.canvas-hint{font-size:9px}.export-pair{grid-template-columns:1fr}.page-footer{font-size:8px}}
@media(max-width:640px){.topbar{height:72px;padding:0 15px;gap:8px}.brand{font-size:12px;gap:8px;letter-spacing:.8px}.brand-mark{width:31px;height:33px;line-height:33px;font-size:23px;border-radius:7px}.brand small{font-size:8px;letter-spacing:0}.local-tag{display:none}.top-actions{gap:5px}.top-actions .button{font-size:10px;padding:8px;min-height:35px;gap:4px}.top-actions svg{width:14px;height:14px}main{padding:24px 12px 0}.intro{margin-bottom:19px}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:25px;letter-spacing:-1px}.intro p{font-size:11px;margin-top:8px}.demo-banner{padding:10px;gap:8px;font-size:10px;align-items:start;flex-wrap:wrap;margin-bottom:14px}.demo-banner>span{padding-top:2px}.demo-banner p{flex:1;min-width:220px}.demo-banner .text-button{padding:3px 0 0;width:100%;text-align:right;font-size:10px}.workspace{grid-template-columns:1fr;gap:14px}.left-panel{grid-row:auto;display:grid;grid-template-columns:1fr}.left-panel .panel-section{padding:17px}.left-panel .section-title{margin-bottom:14px}.left-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.left-panel form>label:first-child,.left-panel form>#title,.left-panel form>.input-pair{grid-column:1 / 3}.left-panel form>.apply{align-self:end;margin-top:0}.left-panel form>label[for=grid]{grid-column:1 / 3;margin-bottom:7px}.left-panel form>select{grid-column:1}.left-panel .add-tools{grid-template-columns:1fr 1fr 1fr;gap:6px}.add-tools button{flex-direction:column;align-items:start;gap:7px;padding:10px;position:relative;font-size:11px}.add-tools button b{position:absolute;top:10px;right:9px;font-size:15px}.add-tools button small{font-size:8px}.tool-icon{width:27px;height:27px}.tool-icon svg{width:16px;height:16px}.inventory-section{padding-bottom:13px!important}.item-list{max-height:145px;grid-template-columns:1fr 1fr;gap:3px}.item-list button{padding:9px 6px;min-width:0;font-size:10px}.canvas-panel{grid-row:2}.canvas-toolbar{height:49px}.canvas-stage{padding:15px 10px;min-height:300px}.drawing{min-height:210px}.drawing>svg{min-height:230px;max-height:350px}.sheet-heading{font-size:8px;padding-bottom:9px}.sheet-heading>span:first-child{font-size:9px}.sheet-label{font-size:7px}.sheet-footer{padding-top:12px;font-size:8px;gap:5px}.legend{gap:9px}.legend span{font-size:8px}.canvas-hint{font-size:8px;padding:11px 12px}.review-strip{padding:10px 12px}.right-panel{grid-column:auto;grid-row:3;grid-template-columns:1fr}.right-panel .panel-section:first-child{border-right:0;border-bottom:1px solid var(--line);grid-row:auto}.right-panel .panel-section{padding:18px}.right-panel .section-title{margin-bottom:15px}.right-panel form .input-pair{gap:12px}.right-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.right-panel form>*{grid-column:1 / 3}.right-panel form>.selected-type{justify-self:start}.right-panel form>label[for=item-rotation]{grid-column:1}.right-panel form>#item-rotation{grid-column:1;grid-row:auto}.right-panel form>.helper{grid-column:2;align-self:center;margin-top:0;font-size:9px}.right-panel form>.apply{grid-column:1}.right-panel form>.delete-button{grid-column:2;align-self:center;padding-top:14px}.export-pair{grid-template-columns:1fr 1fr}.export-pair .button{font-size:11px}.empty-selection{padding:8px 0 13px}.page-footer{flex-direction:column;gap:0;padding:15px 2px;font-size:8px}.page-footer p{margin:4px 0}.notice{bottom:14px;font-size:11px;width:max-content}.dialog-buttons .button{font-size:11px}}
@page{size:A4 landscape;margin:10mm}
.view-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);background:#fbfaf1}.view-switch{display:flex;background:#eeeee3;padding:3px;border-radius:7px;gap:3px}.view-switch button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:5px;background:none;min-height:32px;padding:6px 12px;font-size:11px;color:#7b846e}.view-switch button[aria-pressed=true]{background:#fffdf7;border-color:#dfe2d3;color:#384333;box-shadow:0 1px 4px #5c633410}.view-switch svg{width:14px;height:14px}#view-status{font-size:9px;color:#969b88}.view-note{padding:10px 17px;font-size:10px;color:#828869;line-height:1.7;background:#f6f1dc;border-bottom:1px solid #e6dfbf}.isometric-stage{background:#eef0e6}.iso-item,.iso-badge{cursor:pointer;outline:none}.iso-badge:focus-visible circle{stroke:#222;stroke-width:.08}.selection-summary{padding:11px 17px;font-size:10px;color:#6e795e;border-bottom:1px solid #e4e6d9;background:#fcfaf0;overflow-wrap:anywhere;line-height:1.6}.pallet-icon{color:#957348;background:#f5ecde}.door-icon{color:#537583;background:#e8f0f3}.pallet-dot{background:#c19c6f}.door-dot{background:#83acba}.height-field{margin-top:7px}.height-field .helper{margin-top:6px}.isometric-stage .drawing>svg{min-height:410px}
@media(max-width:640px){.view-bar{padding:9px 10px;gap:7px}.view-switch button{font-size:10px;padding:6px 9px}.view-switch svg{width:12px;height:12px}#view-status{font-size:8px}.view-note{font-size:9px;padding:9px 11px}.selection-summary{padding:10px 12px;font-size:9px}.left-panel form>.height-field{grid-column:1/3}.isometric-stage .drawing>svg{min-height:290px;max-height:350px}.item-list button{min-height:36px}}
@media print{:root{background:#fff}.print-plan h1{overflow-wrap:anywhere;letter-spacing:0}}
@media print{html,body{margin:0;background:white;color:#202020;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-shell,.notice,dialog{display:none!important}#print-output{display:block;font-family:"Malgun Gothic",Arial,sans-serif}.print-plan{break-after:page;height:186mm;display:flex;flex-direction:column}.print-plan header{display:flex;justify-content:space-between;font-size:10px}.print-plan header span{font-size:9px;color:#66705f}.print-plan h1{margin:5mm 0 0;font-size:19px}.print-plan p{font-size:10px;margin:3mm 0}.print-map{height:132mm;display:flex;align-items:center;justify-content:center}.print-map svg{flex-shrink:0}.print-plan footer{font-size:9px;margin-top:auto;border-top:1px solid #bbb;padding-top:3mm}.print-inventory h2{font-size:17px;margin:0 0 4mm}.print-inventory p{font-size:10px;margin-bottom:5mm}.print-inventory table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.print-inventory thead{display:table-header-group}.print-inventory tr{break-inside:avoid}.print-inventory td,.print-inventory th{padding:3mm 2mm;border-bottom:1px solid #d5d7ca;text-align:left;overflow-wrap:anywhere;vertical-align:top}.print-inventory th{background:#f2f3e9}.print-inventory th:nth-child(1){width:7%}.print-inventory th:nth-child(2){width:32%}.print-inventory th:nth-child(3){width:23%}.print-inventory th:nth-child(4){width:8%}.print-inventory th:nth-child(5){width:20%}.print-inventory th:nth-child(6){width:10%}}

/* Compact editing workspace. Camera state affects only the editor. */
main{max-width:none;padding:20px 16px 0}.topbar{height:68px;padding:0 20px}.intro{margin-bottom:16px}h1{font-size:25px}.eyebrow{margin-bottom:6px}.demo-banner{margin-bottom:12px}.workspace{grid-template-columns:204px minmax(0,1fr) 220px;gap:12px}.panel-section{padding:15px 12px}.section-title{margin-bottom:12px}.section-title h2,.floor-section h2{font-size:13px;margin:0}.canvas-stage{min-height:520px;padding:16px}.drawing{height:clamp(380px,58vh,760px);min-height:380px;flex:none;touch-action:none}.drawing>svg,.isometric-stage .drawing>svg{width:100%;height:100%;min-height:0;max-height:none}.iso-item,.iso-badge{cursor:grab}.pan-mode,.pan-mode .iso-item,.pan-mode .iso-badge,.pan-mode .plan-item{cursor:grab}.drawing:active{cursor:grabbing}.drawing:focus-visible{outline:3px solid #b7940f;outline-offset:3px}label{font-size:12px}input,select{font-size:13px;height:36px}.helper{font-size:11px}.add-tools{max-height:265px;overflow-y:auto;margin-top:10px;gap:5px}.add-tools button{padding:8px;gap:7px;font-size:12px}.add-tools button small{font-size:10px}.type-mark{height:24px;width:24px;flex-shrink:0;display:grid;place-items:center;border-radius:4px;font-size:11px;color:#29382e}.item-list button{font-size:12px;min-height:36px}.workspace-actions{display:flex;gap:10px;align-items:center;margin-bottom:10px}.workspace-actions span{font-size:12px;color:#79816f;margin:auto}.workspace-actions .button{min-height:34px;font-size:12px;padding:6px 10px}.workspace.left-closed{grid-template-columns:minmax(0,1fr) 220px}.workspace.right-closed{grid-template-columns:204px minmax(0,1fr)}.workspace.left-closed.right-closed{grid-template-columns:1fr}.navigation-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:#faf9f1}.navigation-bar button{min-height:34px;border:1px solid #deded2;border-radius:5px;background:#fffdf7;padding:5px 9px;font-size:12px}.navigation-bar button[aria-pressed=true]{background:#f2e7ac;border-color:#d4b951}.nav-divider{height:19px;width:1px;background:#deded2;margin:0 3px}#zoom-level{font-size:12px;min-width:47px;text-align:center}.color-field{display:flex;align-items:center;gap:10px}.color-field input{width:56px;height:36px;padding:3px;cursor:pointer}.color-field span{font-size:12px;color:#65725e}.floor-section h2{font-weight:700}.legend{flex-wrap:wrap}.print-swatch{display:inline-block;width:3mm;height:3mm;border:1px solid #888;margin-right:1mm}
@media(min-width:1600px){.workspace{grid-template-columns:214px minmax(0,1fr) 230px}.workspace.left-closed{grid-template-columns:minmax(0,1fr) 230px}.workspace.right-closed{grid-template-columns:214px minmax(0,1fr)}}
@media(min-width:641px) and (max-width:950px){.workspace,.workspace.left-closed,.workspace.right-closed{grid-template-columns:180px minmax(0,1fr)}.right-panel{grid-column:2;grid-row:2;display:block}.left-panel{grid-row:1/3}.workspace.left-closed{grid-template-columns:1fr}.workspace.left-closed .right-panel{grid-column:1}.workspace.left-closed.right-closed{grid-template-columns:1fr}.panel-section{padding:13px 10px}.workspace-actions span{display:none}}
@media(max-width:640px){main{padding:16px 10px 0}.topbar{height:64px;padding:0 12px}.intro h1{font-size:23px}.workspace,.workspace.left-closed,.workspace.right-closed,.workspace.left-closed.right-closed{grid-template-columns:minmax(0,1fr)}.workspace-actions{flex-wrap:wrap;gap:6px}.workspace-actions span{display:none}.workspace-actions .button{flex:1;font-size:12px;padding:6px 4px;white-space:normal}.canvas-panel{grid-row:auto}.left-panel{grid-row:auto}.right-panel{grid-column:1;grid-row:auto;display:block}.canvas-stage{min-height:355px;padding:11px}.drawing{height:310px;min-height:310px}.drawing>svg,.isometric-stage .drawing>svg{min-height:0;max-height:none}.canvas-toolbar{padding:0 9px}.navigation-bar{gap:5px;padding:8px}.navigation-bar button{font-size:12px;padding:5px 7px;min-height:36px}.add-tools{max-height:240px;grid-template-columns:1fr 1fr!important}.add-tools button{flex-direction:row;align-items:center;font-size:12px;padding:9px}.add-tools button b{display:none}.add-tools button small{font-size:10px}.item-list{grid-template-columns:1fr;max-height:160px}.item-list button{font-size:12px}.right-panel form>.color-field{grid-column:1/3}.right-panel .floor-section form{display:block}.right-panel form{gap:0 10px}.view-note,.selection-summary,.canvas-hint,.review-strip{font-size:11px}.helper{font-size:11px}.canvas-hint{flex-wrap:wrap}}
@media print{.print-swatch{display:inline-block}}

/* Warehouse upgrade: visible area, touch alternatives and explicit downloads. */
.area-bar{display:flex;justify-content:flex-end;gap:10px;align-items:baseline;padding:10px 16px;background:#f4f0dc;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}.area-bar .area-label{display:block!important;font-size:16px;color:#30382c;margin:0}.unit-choice{display:flex;align-items:center;gap:5px;margin-left:auto}.unit-choice select{width:63px}.rotation-buttons{display:flex;gap:6px;margin:7px 0}.rotation-buttons button,.download-results a{border:1px solid #d4ccb1;border-radius:5px;padding:7px 12px;background:#fffdf7;color:#384333;font-size:12px}.download-results{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.download-results a{text-decoration:underline}.rotation-handle{cursor:crosshair}.rotation-handle:focus-visible circle{stroke:#111}.view-bar{flex-wrap:wrap}.export-section select{width:100%;margin-bottom:9px}.left-panel form>.unit-choice{grid-column:1/-1}@media(max-width:640px){.area-bar{padding:9px 10px;font-size:11px}.area-bar .area-label{font-size:14px}.rotation-buttons{grid-column:1/-1!important}.right-panel form>#item-rotation{grid-column:1/-1}.left-panel form #grid{grid-column:1/-1}.canvas-toolbar{flex-wrap:wrap;height:auto;min-height:49px;gap:6px;padding-top:7px;padding-bottom:7px}}

.floor-marking{cursor:grab;touch-action:none}.floor-marking:focus-visible{outline:none}.floor-marking:focus-visible>polygon{stroke:#30485d;stroke-width:.025}.marking-section .export-pair{grid-template-columns:1fr}.marking-section .helper{margin-top:10px}

.selection-actions{display:flex;gap:8px;flex-wrap:wrap}.selection-actions button{background:#f5f2e6;border:1px solid #dddccf;border-radius:5px;padding:8px;font-size:11px}.inventory-section .helper{margin-bottom:9px}

/* Introduction and viewport workspace are specific to this studio. */
.landing{max-width:1320px;margin:auto;padding:30px 40px 0}.landing-brand{display:flex;gap:12px;align-items:center;padding-bottom:36px}.landing-brand strong{letter-spacing:1px;font-size:14px}.landing-brand strong>span{display:block;color:var(--muted);font-size:9px;margin-top:5px}.landing-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:54px;align-items:center}.landing h1{font-size:44px;line-height:1.2;letter-spacing:-2px}.landing-lead{font-size:15px;line-height:1.9;color:#65715e;max-width:470px;margin:22px 0}.landing-actions{display:flex;gap:8px;flex-wrap:wrap}.landing-actions .button{font-size:14px;min-height:49px;padding:12px 20px}.landing-local{font-size:12px;line-height:1.8;color:var(--muted);max-width:430px}.landing-preview{margin:0;border:1px solid #deded0;border-radius:20px;background:#fffdf7;overflow:hidden;padding:24px}.landing-preview svg{width:100%;height:340px;display:block}.landing-preview figcaption{border-top:1px solid #e5e3d5;padding-top:16px;font-size:12px;line-height:1.7}.landing-preview figcaption span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.landing-details{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}.landing-details h2{font-size:19px;letter-spacing:-.5px;margin:12px 0}.landing-details p,.landing-details li{font-size:13px;line-height:1.85;color:#65715e}.landing-details ul,.landing-details ol{padding-left:18px}.landing-number{color:#939779;font-size:10px;letter-spacing:1.2px}.landing-footer{font-size:11px;color:#8a927d;padding:35px 0 25px}.editor-storage{font-size:11px;color:#747e68;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:var(--paper);font-size:12px}.drawer-header button{border:0;border-radius:5px;background:#f1efe3;font-size:22px;width:32px;height:32px}.workspace-rail{display:none}
body.editor-active{height:100dvh;overflow:hidden}.editor-active #editor-header{height:54px;padding:0 16px;gap:14px;position:fixed;inset:0 0 auto;z-index:10}.editor-active .brand{font-size:13px}.editor-active .brand small{display:none}.editor-active .brand-mark{width:30px;height:32px;font-size:21px;line-height:32px;border-radius:6px}.editor-active .top-actions .button,.editor-active #leave-editor{min-height:34px;padding:6px 10px}.editor-active #editor-main{position:fixed;inset:54px 0 0;max-width:none;padding:0;display:flex;flex-direction:column;margin:0;overflow:hidden}.editor-active #editor-main>.intro,.editor-active #demo-banner,.editor-active .page-footer{display:none}.editor-active .workspace-actions{height:43px;min-height:43px;margin:0;padding:4px 12px 4px 80px;border-bottom:1px solid var(--line);background:#faf8ef;flex-wrap:nowrap;gap:8px}.editor-active .workspace-actions>span{margin:0 auto 0 0;font-size:11px;display:block}.editor-active .workspace,.editor-active .workspace.left-closed,.editor-active .workspace.right-closed,.editor-active .workspace.left-closed.right-closed{position:relative;flex:1;min-height:0;display:block;gap:0}.editor-active .workspace-rail{position:absolute;left:0;top:0;bottom:0;width:66px;z-index:4;display:flex;flex-direction:column;gap:7px;padding:10px 6px;background:#faf8ef;border-right:1px solid var(--line)}.workspace-rail button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid transparent;border-radius:7px;min-height:58px;font-size:11px;padding:7px 3px}.workspace-rail button[aria-pressed=true]{border-color:#ddc462;background:#f4e9ba}.workspace-rail svg{width:19px;height:19px}.editor-active .canvas-panel{position:absolute;inset:0 0 0 66px;display:flex;flex-direction:column;border:0;border-radius:0;min-width:0;overflow:hidden}.editor-active .left-panel,.editor-active .right-panel{position:absolute;top:8px;bottom:8px;z-index:6;width:278px;overflow:auto;overscroll-behavior:contain;box-shadow:0 8px 32px #3b432324;scrollbar-gutter:stable;max-height:none;display:block}.editor-active .left-panel{left:74px}.editor-active .right-panel{right:8px}.editor-active .left-panel .panel-section,.editor-active .right-panel .panel-section{padding:14px 16px}.editor-active .left-panel .add-tools{max-height:none;display:grid;grid-template-columns:1fr}.editor-active .left-panel .item-list{max-height:none}.editor-active .area-bar{position:absolute;top:10px;left:15px;background:transparent;border:0;padding:0;font-size:11px;z-index:1}.editor-active .area-bar .area-label{font-size:13px}.editor-active .canvas-toolbar{height:43px;min-height:43px;padding:0 13px;justify-content:flex-end}.editor-active .canvas-toolbar>div:first-child{display:none}.editor-active .view-bar{padding:7px 13px;min-height:43px;gap:10px}.editor-active .view-bar #view-status{margin-left:auto}.editor-active .navigation-bar{padding:6px 13px;gap:6px;min-height:43px}.editor-active .navigation-bar button{min-height:30px;font-size:11px}.editor-active .canvas-stage{min-height:0;flex:1;padding:10px 13px;overflow:hidden}.editor-active .drawing{min-height:0!important;height:auto;flex:1;touch-action:none;box-shadow:none;border:0;background:#fffdf7}.editor-active .drawing>svg,.editor-active .isometric-stage .drawing>svg{width:100%;height:100%;min-height:0;max-height:none}.editor-active .sheet-heading{padding-bottom:6px}.editor-active .sheet-footer{padding-top:6px;font-size:10px}.editor-active .canvas-hint{padding:7px 13px;font-size:10px;min-height:28px;flex-wrap:nowrap}.editor-active .hint-key{display:none}.editor-active .selection-summary{padding:6px 13px;font-size:10px;min-height:25px}.editor-active .review-strip{padding:5px 13px;font-size:10px;max-height:70px;overflow:auto}.editor-active .review-details{display:none}.editor-active .legend{gap:8px}.editor-active .legend span{font-size:9px}.editor-active #view-note{font-size:10px;padding:5px 13px;line-height:1.4}.editor-active .add-tools button{flex-direction:row;font-size:12px}.editor-active .right-panel form{display:block}.editor-active .right-panel .input-pair{display:grid;grid-template-columns:1fr 1fr}.editor-active .right-panel .height-field,.editor-active .right-panel .color-field{display:flex}.editor-active .right-panel .height-field{display:block}.editor-active .right-panel form>.color-field{display:flex}
@media(max-width:700px){.landing{padding:20px 20px 0}.landing-brand{padding-bottom:25px}.landing-hero{grid-template-columns:1fr;gap:22px}.landing h1{font-size:34px}.landing-preview{padding:15px;border-radius:14px}.landing-preview svg{height:250px}.landing-details{grid-template-columns:1fr;gap:14px;margin-top:28px}.landing-footer{padding-top:22px}.editor-active #editor-header{padding:0 8px;gap:7px;height:50px}.editor-active .brand>span:last-child,.editor-active .editor-storage{display:none}.editor-active #editor-main{top:50px}.editor-active #leave-editor{font-size:11px;padding:6px}.editor-active .top-actions{gap:5px}.editor-active .top-actions .button{font-size:11px;padding:6px}.editor-active .workspace-actions{padding-left:60px;height:40px;min-height:40px}.editor-active .workspace-actions>span{display:none}.editor-active .workspace-actions .button{flex:none;font-size:11px;padding:5px 9px;white-space:nowrap}.editor-active .workspace-rail{width:52px;padding:8px 3px;gap:4px}.workspace-rail button{font-size:10px;min-height:53px}.editor-active .canvas-panel{left:52px}.editor-active .left-panel{left:58px;width:min(278px,calc(100vw - 66px))}.editor-active .right-panel{right:6px;width:min(278px,calc(100vw - 66px))}.editor-active .area-bar{left:8px;top:6px;max-width:100%;font-size:9px;gap:4px}.editor-active .area-bar .area-label{font-size:11px}.editor-active .canvas-toolbar{height:36px;min-height:36px;padding:0 5px;flex-wrap:nowrap;align-items:flex-end}.editor-active .canvas-toolbar .grid-toggle{font-size:9px}.editor-active .canvas-toolbar .toolbar-divider{display:none}.editor-active .canvas-toolbar .icon-button{width:25px;height:27px}.editor-active .view-bar{padding:5px 7px;min-height:41px;gap:4px}.editor-active .view-bar .view-switch button{font-size:10px;padding:5px 7px}.editor-active #view-status,.editor-active .view-bar>.grid-toggle{display:none}.editor-active .navigation-bar{padding:5px 7px;gap:4px}.editor-active .navigation-bar button{font-size:10px;padding:4px 6px;min-height:28px}.editor-active .navigation-bar #fit-selected{display:inline-flex}.editor-active .nav-divider{display:none}.editor-active #zoom-level{font-size:10px;min-width:34px}.editor-active .canvas-stage{padding:7px}.editor-active .sheet-heading{font-size:8px}.editor-active .sheet-label{display:none}.editor-active .sheet-footer .legend{display:none}.editor-active .sheet-footer{font-size:9px}.editor-active .canvas-hint{font-size:9px;padding:5px 7px;min-height:25px;line-height:1.4}.editor-active .selection-summary{font-size:9px;padding:5px 7px}.editor-active .review-strip{font-size:9px;padding:5px 7px;max-height:43px}.editor-active #view-note{font-size:9px;padding:4px 7px}.editor-active .notice{font-size:11px}.editor-active #exit-dialog .dialog-buttons{flex-wrap:wrap}}
.editor-active .editor-controls{flex-shrink:0}.editor-active .editor-controls .area-bar{position:static;padding:0;margin-right:auto;max-width:none}.editor-active .canvas-toolbar>.area-bar{display:flex!important}.editor-active .canvas-toolbar>.area-bar span{display:block}.editor-active .editor-controls .area-bar .area-label{margin:0}.editor-active .editor-controls .canvas-toolbar{align-items:center}
@media print{.landing,.workspace-rail,#exit-dialog{display:none!important}.editor-active #editor-header,.editor-active #editor-main{display:none!important}body.editor-active{height:auto;overflow:visible}}

/* Compact editor controls; explicit touch-friendly numeric fine adjustment. */
.editor-active .editor-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;position:relative;z-index:5}
.editor-active .editor-controls .canvas-toolbar,.editor-active .editor-controls .view-bar{padding:0;min-height:34px;border:0;background:transparent;gap:6px;flex:0 1 auto}
.editor-active .editor-controls .area-bar{font-size:11px;padding:0 8px 0 0;min-height:0}
.editor-active .editor-controls #view-status,.editor-active .workspace-actions>span{display:none}
.more-tools{margin-left:auto}.more-tools summary{cursor:pointer;font-size:12px;padding:8px;border:1px solid #d5d9cc;border-radius:6px;list-style:none;background:#fffdf6}
.more-tools[open]>.navigation-bar,.more-tools[open]>#view-note{position:absolute;top:100%;right:8px;max-width:calc(100vw - 20px);z-index:30;background:#fffdf6;border:1px solid #b8c1ae;box-shadow:0 4px 10px #0002;padding:8px}.more-tools[open]>#view-note{top:calc(100% + 64px);width:300px}
#camera-controls{display:inline-flex;align-items:center;gap:4px;font-size:11px}#camera-controls[hidden]{display:none}#iso-direction{width:76px;min-height:32px;padding:3px}
.number-stepper{display:flex;flex:1;min-width:0;position:relative}.number-stepper>input{width:100%;min-width:0;padding-right:4px!important}.stepper-buttons{display:flex;flex-direction:column;flex:0 0 28px}.stepper-buttons button{height:21px;min-height:0;width:28px;border:1px solid #bec7b8;background:#fffdf6;border-radius:0;font-size:10px;padding:0;line-height:18px;touch-action:manipulation}.stepper-buttons button:focus-visible{outline:2px solid #a07800}
.editor-active .editor-controls .canvas-toolbar{height:auto;min-height:34px}
@media(max-width:699px){.editor-active .canvas-toolbar>.area-bar{display:none!important}.editor-active .editor-controls .canvas-toolbar{align-items:center}.editor-active .editor-controls .view-bar{height:auto}}
@media print{.print-inventory td{overflow-wrap:anywhere;word-break:break-word}}
.editor-active .workspace-actions[hidden]{display:none}
.editor-active .left-panel,.editor-active .right-panel{height:calc(100% - 16px);max-height:calc(100% - 16px);min-height:0;align-self:stretch}
.editor-controls>#open-output,.editor-controls>#toggle-right{min-height:32px;padding:5px 8px;font-size:11px}
.unit-input>.number-stepper{position:relative;right:auto;top:auto;font-size:inherit;color:inherit;margin-right:24px}
.unit-input .stepper-buttons{position:static;right:auto;top:auto;font-size:inherit;color:inherit}
.editor-active .editor-controls{z-index:8}
#item-text{box-sizing:border-box;width:100%;min-height:84px;resize:vertical;border:1px solid #bec7b8;border-radius:6px;padding:8px;font:inherit}#aspect-lock{width:auto}.extra-tools{margin:10px 0}.extra-tools .export-pair{flex-wrap:wrap;display:flex}.extra-tools button{min-height:36px;padding:6px;background:#fffdf6;border:1px solid #bec7b8;border-radius:6px}
@media(max-width:699px){.editor-active .editor-controls{gap:3px;padding:3px 5px}.editor-active .editor-controls .area-bar{display:none}.editor-active .editor-controls .canvas-toolbar strong{display:none}.more-tools summary{padding:6px;font-size:11px}.editor-active .editor-controls .canvas-toolbar{gap:2px}.editor-active .editor-controls .view-bar button{padding:5px 7px;font-size:11px}.stepper-buttons{flex-basis:32px}.stepper-buttons button{width:32px;height:24px;line-height:22px}}
