:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#253d39;background:#edf1ee;font-synthesis:none;color-scheme:light;--mint:#b7dfc9;--dark:#182c2a;--line:#dce4de;--muted:#70837d;--accent:#28725e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #cad8d0;border-radius:7px;padding:9px 13px;background:white;color:#28453c;font-size:12px;font-weight:550;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover,.button:hover{background:#edf5ef;border-color:#96b8a5}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #56ad88;outline-offset:2px}input,select{width:100%;padding:9px 10px;border:1px solid #d2ddd5;border-radius:6px;background:#fafcf9;color:#253f36;font-size:12px;min-width:0}input[type=color]{height:38px;padding:3px}label{display:block;font-size:11px;color:#677e71;line-height:1.5;margin-bottom:14px}label input,label select{display:block;margin-top:5px}h1,h2,h3,p{margin:0}h2{font-size:14px;font-weight:600}h3{font-size:13px;font-weight:600}p{font-size:12px;line-height:1.65}button.primary,.primary{background:#2b735c;color:#fff;border-color:#2b735c}button.primary:hover{background:#225e4a}button.quiet{border-color:transparent;background:transparent;color:#698078}.icon-button{font-size:20px;padding:5px 11px}.danger{color:#a24e49}.wide{width:100%}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.6;color:#84918a}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;color:#739082}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
.collection-view{padding:45px clamp(20px,6vw,100px);max-width:1500px;margin:auto}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:32px}.collection-heading .eyebrow{margin-bottom:10px}.collection-heading h1{font-size:30px;font-weight:500;letter-spacing:-1px;margin-bottom:9px}.collection-heading p{color:#7d9182;max-width:650px}.collection-tabs{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:26px}.collection-tabs button{background:transparent;border-color:transparent;color:#7c9182}.collection-tabs button.active{background:#dcebdc;color:#2c6148}.collection-tabs #refresh-templates{margin-left:auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.template-card,.room-card{background:#fafcf7;border:1px solid #d9e4d7;border-radius:11px;overflow:hidden;box-shadow:0 4px 15px #23492804}.card-plan{height:174px;background:#e3ebe2;width:100%;display:block;padding:12px}.card-body{padding:19px}.card-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}.card-title h3{font-size:15px;font-weight:550;overflow-wrap:anywhere}.card-title span{font-size:8px;color:#769073;background:#e8f0e3;border-radius:4px;padding:3px 6px;letter-spacing:.6px}.card-body p{font-size:10px;color:#8b9b89;margin-bottom:16px}.card-actions{display:flex;gap:7px;flex-wrap:wrap}.card-actions button,.card-actions a{font-size:10px;padding:7px 10px}.collection-empty{grid-column:1/-1;padding:55px 30px;text-align:center;border:1px dashed #bfcfbd;border-radius:10px;color:#879d85}.collection-empty p{margin:10px 0 20px}.room-guide{padding:24px;background:#e3ebdf;border-radius:10px;max-width:650px;margin-top:35px;font-size:12px;color:#55784e}.room-guide p{font-size:11px;color:#7b9475;margin-top:7px}.room-card{padding:22px}.room-card h3{font-size:17px;margin-bottom:7px}.room-card .room-address{font-size:11px;font-family:monospace;overflow-wrap:anywhere;color:#7d9276;margin-bottom:15px}.room-card p{font-size:10px;color:#7c9573;margin-bottom:15px}.room-door-list{border-top:1px solid var(--line);padding-top:11px;margin-bottom:18px;font-size:11px;color:#5f7b53;line-height:1.8}.room-door-list span{display:block}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);max-width:min(620px,90vw);background:#1e3b30;color:#e7f5e9;padding:13px 20px;border:1px solid #5f8c70;border-radius:9px;box-shadow:0 10px 30px #183c3422;font-size:12px;z-index:20;white-space:normal}dialog{width:min(510px,calc(100vw - 30px));max-height:90vh;border:1px solid #c9dcc6;border-radius:13px;padding:24px;background:#f9fcf5;color:#345138;box-shadow:0 25px 80px #102c3044}dialog::backdrop{background:#1027208a;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;gap:12px}.dialog-heading h2{font-size:19px;font-weight:500;letter-spacing:-.5px}.dialog-heading button{font-size:22px;padding:0 5px;line-height:1;border:0;background:none;color:#94a58a}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}dialog>p,dialog form>p{margin-bottom:18px;font-size:11px}dialog details{margin-top:22px;border-top:1px solid var(--line);padding-top:17px;font-size:12px}dialog details p{margin:11px 0}summary{cursor:pointer}.large-swatch{height:80px;border-radius:8px;border:1px solid #cadcc7}.server-fields{grid-template-columns:1fr 80px}.door-connections{border-top:1px solid var(--line);padding-top:16px}.door-connections h3{margin-bottom:12px}.door-connections label{margin-bottom:10px}#script-dialog{width:min(720px,calc(100vw - 30px))}#script-dialog pre{font-family:Consolas,monospace;font-size:10px;white-space:pre-wrap;overflow:auto;padding:17px;background:#e9f0e4;border:1px solid #d9e4d2;max-height:42vh;border-radius:8px;margin:0}#workspace-dialog .tiny{margin-top:15px}
:root{color:#36533f;background:#e9eee5;--muted:#899b7f;--line:#dce5d4;--accent:#437f52;--shadow:0 5px 25px #2e4d3510,0 1px 3px #2e4d3510;--tray-height:216px}button,.button{border-color:#d6e2cf;border-radius:8px;font-size:11px;color:#5c804c}button:hover,.button:hover{background:#edf5e6;border-color:#9cbea0}input,select,textarea{background:#f8faf4;border-color:#d6e0d1;color:#47673a;font-size:11px;border-radius:7px}textarea{width:100%;font:inherit;padding:9px 10px;border:1px solid #d6e0d1;resize:vertical}label{font-size:10px;color:#879b7b;margin-bottom:13px}button.primary,.primary{background:#4c8157;border-color:#4c8157;box-shadow:0 2px 4px #34755e15}button.primary:hover{background:#3b7046}.quiet{color:#8c9e7e}.tiny{font-size:10px;color:#98a78b}.eyebrow{font-size:8px;color:#9caf8d}.danger{color:#ac7467}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #8db57d;outline-offset:3px}.tool-button svg,.view-switch svg,.selection-actions svg,.inspector-title svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fbfcf8;color:#647e68;border-bottom:1px solid #dbe5d5;position:relative;z-index:8}.brand{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.8px;font-weight:650;color:#3b614e;text-decoration:none}.brand>span{color:#72ab83;font-size:29px;line-height:1}.brand small{font-size:8px;letter-spacing:1.5px;color:#91a08b;border-left:1px solid #d9e4d4;margin-left:5px;padding-left:12px}.topbar nav{display:flex;align-items:center;gap:5px;height:100%}.topbar .nav-button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#899783;height:100%;font-size:11px;padding:0 16px}.topbar .nav-button:hover{color:#3d7155;background:#f1f6eb}.topbar .nav-button.active{color:#4a7c4e;border-bottom-color:#84ad78}.topbar #workspace-button{font-size:10px;border-color:#dbe4d6;color:#7c9076;background:#f6f9f1;padding:7px 11px}
#design-view{position:relative;height:calc(100dvh - 58px);min-height:560px;overflow:hidden}.designer{position:relative;height:100%;width:100%;min-width:0}.document-bar{position:absolute;z-index:6;top:16px;left:22px;right:22px;height:63px;border:1px solid #d8e2d3;border-radius:13px;padding:10px 14px 10px 18px;background:#fbfdf8f5;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:18px;backdrop-filter:blur(12px)}.document-heading{min-width:120px;flex:1;display:flex;flex-direction:column;gap:3px}.document-heading input{background:transparent;border:0;border-radius:0;padding:0;font-size:18px;font-weight:500;letter-spacing:-.55px;max-width:360px;color:#527547;line-height:1.2}.document-heading>span{font-size:8px;color:#9cac8e;display:flex;align-items:center;gap:5px}.document-heading>span:before{content:"";width:4px;height:4px;border-radius:50%;background:#adc59d}.document-actions,.file-actions,.history-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.document-actions button{font-size:10px;white-space:nowrap;padding:8px 12px}.document-actions .history-actions{gap:1px;padding:0 9px;margin:0 3px;border-right:1px solid #dce6d5;border-left:1px solid #dce6d5}.document-actions .icon-button{border:0;background:transparent;color:#7a986c;font-size:22px;width:30px;padding:3px}.document-actions #install-room{background:#eff5e8;border-color:#d7e5cb;color:#678b55}.document-actions #install-room:hover{background:#e5efd9}.document-actions #new-design{color:#7a976b}
.canvas-area{position:absolute;inset:0;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 46% 44%,#eff2e7,#dfe7d6)}.preview-wrap,.plan-wrap{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.preview-wrap{background:radial-gradient(ellipse at 48% 40%,#eef3e7,#dce7d8)}.preview-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:default;outline:none}.preview-wrap.placing canvas,body.placing .preview-wrap canvas{cursor:crosshair}.preview-wrap.dragging canvas{cursor:grabbing}.preview-wrap #preview-error{position:absolute;inset:130px 290px 270px 100px;background:#f4f8edf5;border:1px solid #cddfc4;border-radius:15px;display:flex;align-items:center;justify-content:center;padding:25px;text-align:center;color:#6d8662;font-size:12px}.canvas-toolbar{position:absolute;z-index:4;top:104px;left:23px;display:flex;align-items:flex-start;gap:12px;pointer-events:none}.tool-rail{display:flex;flex-direction:column;gap:5px;padding:5px;background:#fafdf5ef;border:1px solid #d6e2ce;border-radius:12px;box-shadow:var(--shadow);pointer-events:auto}.tool-button{border-color:transparent;background:transparent;flex-direction:column;border-radius:8px;gap:3px;font-size:8px;padding:9px 6px;width:49px;height:56px;color:#879d7c}.tool-button svg{width:21px;height:21px}.tool-button.active,.tool-button[aria-pressed=true]{background:#dcebd5;border-color:#cbdfc2;color:#548447}.tool-button:hover{background:#e8f2df}.tool-state{margin-top:4px;background:#f8fbf0c9;border:1px solid #e0e9d7;backdrop-filter:blur(6px);border-radius:9px;padding:9px 12px;max-width:230px;box-shadow:0 2px 10px #25432105}.tool-state strong{display:block;font-size:10px;font-weight:600;color:#638052}.tool-state span{display:block;margin-top:4px;font-size:9px;line-height:1.5;color:#8d9f81}.view-switch{position:absolute;z-index:4;top:105px;left:50%;transform:translateX(-50%);display:flex;align-items:center;padding:4px;gap:3px;border:1px solid #d7e2ce;background:#fbfdf6ec;backdrop-filter:blur(8px);border-radius:10px;box-shadow:var(--shadow)}.view-switch button{font-size:9px;border-color:transparent;background:transparent;color:#92a184;padding:6px 11px;border-radius:7px}.view-switch button.active{color:#64864b;background:#e3eed9;border-color:#d1e0c5}.view-switch svg{width:15px;height:15px}.preview-heading{position:absolute;z-index:3;left:24px;bottom:calc(var(--tray-height) + 64px);display:flex;align-items:center;gap:12px;color:#819274;font-size:8px;letter-spacing:1.2px;pointer-events:none}.preview-heading>span{font-weight:550}.preview-heading>div{display:flex;gap:2px;pointer-events:auto}.preview-heading button{font-size:9px;padding:5px 8px;letter-spacing:0;background:#f7faf0c9;border:1px solid #dce5d3}.preview-heading button[aria-pressed=true]{color:#5b8e45;background:#dfefd8}.color-dot{display:inline-block;width:5px;height:5px;background:#7ca36d;border-radius:50%;margin-right:5px;vertical-align:middle}.color-dot.mint{background:#89b37c}.build-help{position:absolute;z-index:3;left:25px;right:25px;bottom:calc(var(--tray-height) + 30px);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#819576;pointer-events:none}.build-help #build-status{background:#f5f9ecb3;border-radius:6px;padding:5px 8px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyboard-help{display:flex;align-items:center;gap:6px;opacity:.85;font-size:8px;white-space:nowrap}.keyboard-help>span{margin:0 2px;color:#a2b095}kbd{font:inherit;font-size:8px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;background:#f7faef;border:1px solid #d4dfc9;border-radius:3px;height:17px;padding:0 3px;color:#6b895e}.selection-actions{position:absolute;z-index:5;left:50%;bottom:calc(var(--tray-height) + 82px);transform:translateX(-50%);background:#fbfdf6f5;border:1px solid #cfdec7;box-shadow:var(--shadow);backdrop-filter:blur(10px);padding:6px;border-radius:11px;display:flex;gap:3px;align-items:center}.selection-actions button{background:transparent;border-color:transparent;padding:7px 10px;font-size:10px;white-space:nowrap;color:#658356}.selection-actions button:hover{background:#eaf3e1}.selection-actions button.danger{color:#af7a65}.selection-actions svg{width:15px;height:15px}.selection-dot{width:6px;height:6px;background:#90bb7c;border-radius:50%;margin:0 7px}.plan-wrap{display:none;background:#edf3e6}.plan-wrap>svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:default}.plan-wrap.placing>svg{cursor:crosshair}.plan-wrap.panning>svg{cursor:grabbing!important}.plan-piece{cursor:grab}.plan-piece:active{cursor:grabbing}.plan-piece.selected .piece-outline{stroke:#579a4d;stroke-width:.085;stroke-dasharray:.18 .1}.piece-label{font-family:inherit;font-size:.25px;fill:#617d54;pointer-events:none;text-anchor:middle;dominant-baseline:middle}.canvas-empty{position:absolute;inset:150px 290px 285px 100px;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;text-align:center;color:#97ab89}.canvas-empty>span{font-size:44px;color:#a4b995;margin-bottom:11px}.canvas-empty h3{font-size:17px;letter-spacing:-.4px;color:#789665;font-weight:500;margin-bottom:8px}.canvas-empty p{font-size:11px;line-height:1.8}.plan-caption{position:absolute;bottom:calc(var(--tray-height) + 66px);left:25px;right:290px;display:flex;gap:20px;justify-content:space-between;pointer-events:none;font-size:8px;letter-spacing:1px;color:#91a682}.plan-controls{display:none;position:absolute;z-index:4;top:160px;left:50%;transform:translateX(-50%);align-items:center;gap:4px;padding:5px 8px;background:#f9fcf2ee;border:1px solid #d8e4cd;border-radius:9px;box-shadow:var(--shadow)}.plan-controls label{display:flex;align-items:center;gap:6px;font-size:9px;margin:0;padding-right:8px}.plan-controls select{width:66px;margin:0;padding:5px 3px;font-size:9px}.plan-controls .icon-button{width:26px;height:26px;font-size:17px;padding:1px;border-color:transparent;background:transparent}.plan-controls #fit-plan{font-size:9px;padding:5px}.plan-mode .plan-wrap{display:block}.plan-mode .preview-wrap{display:none}.plan-mode .plan-controls{display:flex}.plan-mode .preview-heading{display:none}.plan-mode .keyboard-help{visibility:hidden}
.panel{background:#fbfdf6f5;box-shadow:var(--shadow);border:1px solid #d7e2ce;backdrop-filter:blur(12px)}.inspector{position:absolute;z-index:4;right:23px;top:104px;width:226px;border-radius:12px;max-height:calc(100% - var(--tray-height) - 165px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c8d7ba transparent}.inspector-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;cursor:pointer;font-size:11px;font-weight:600;color:#6b8858}.inspector-panel>summary::-webkit-details-marker{display:none}.inspector-title svg{width:15px;height:15px;transition:transform .15s}.inspector-panel:not([open]) .inspector-title svg{transform:rotate(-90deg)}.inspector-panel[open]>.inspector-title{border-bottom:1px solid #e1e9d9}.inspector-content{padding:16px}.room-settings .eyebrow{font-size:7px;letter-spacing:1.2px;color:#a3b48f;margin-bottom:9px}.room-settings h3{font-size:13px;letter-spacing:-.1px;color:#6c8955;margin-bottom:8px}.inspector .muted{font-size:10px;line-height:1.8;color:#93a184;margin-bottom:18px}.room-settings label{position:relative}.room-settings .unit{position:absolute;right:12px;bottom:8px;font-size:10px;color:#9aad8e}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspector .field-pair{gap:8px}.inspector label{font-size:9px;color:#849a75}.inspector input,.inspector select{font-size:10px;padding:8px;background:#f2f7eb;border-color:#dce6d1;color:#638052}.selection-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#678b4d;font-weight:600;margin-bottom:12px}.selection-heading span+span{font-size:7px;font-weight:400;max-width:65px;text-overflow:ellipsis;overflow:hidden;color:#a1b190;white-space:nowrap}.more-options{font-size:10px;border-top:1px solid #e1e8d7;padding-top:10px;margin-top:2px}.more-options>summary{color:#91a57f;font-size:9px;cursor:pointer;margin-bottom:12px}.property-actions{display:flex;gap:6px;margin-top:8px}.property-actions button{flex:1;font-size:9px;padding:7px 5px}#rotate-piece{font-size:9px;padding:7px}#apply-piece{font-size:9px;padding:8px;margin-top:10px}.small-callout{font-size:9px;line-height:1.7;color:#91a07f;background:#f0f5e7;border:1px solid #dfe9d2;border-radius:7px;padding:10px;margin:5px 0 14px}.piece-outline-list{border-top:1px solid #e0e8d6;padding-top:13px;margin-top:17px;font-size:9px;color:#8a9e78}.piece-outline-list summary{cursor:pointer}.piece-outline-list #all-pieces{display:flex;flex-direction:column;gap:4px;max-height:165px;overflow:auto;margin-top:10px}.piece-outline-list button{padding:6px;border-color:transparent;justify-content:space-between;background:#f0f5e7;text-align:left;font-size:9px;border-radius:5px}.piece-outline-list button small{font-size:7px;color:#9fad91;font-weight:400}.piece-outline-list button[aria-pressed=true]{background:#deecd1;border-color:#a7c68d;color:#52743b}#piece-swatches{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 14px}#piece-swatches:empty{display:none}#piece-swatches button{width:23px;height:23px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #dce6d4}#piece-swatches button[aria-pressed=true]{box-shadow:0 0 0 2px #8fb676}
.library{position:absolute;z-index:5;left:22px;right:22px;bottom:16px;height:var(--tray-height);border-radius:14px;padding:14px 17px 12px;overflow:hidden}.catalog-heading{display:flex;align-items:center;gap:26px;margin-bottom:7px;height:24px}.catalog-title{display:flex;align-items:center;gap:13px;flex-shrink:0}.catalog-title h2{font-size:15px;font-weight:550;letter-spacing:-.35px;color:#6a8b54}.catalog-title>span{font-size:8px;color:#a6b694;white-space:nowrap;background:#eff5e7;border:1px solid #e1e9d6;border-radius:5px;padding:3px 5px}.tab-strip{display:flex;align-items:center;gap:17px;height:28px;margin-right:auto}.tab-strip button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:5px 0;font-size:10px;color:#a0b08e;min-height:26px}.tab-strip button.active{color:#6b914f;border-bottom-color:#91b77b}.library-intro{color:#a1b08f;font-size:9px;margin-left:auto;white-space:nowrap}.catalog-categories{display:flex;gap:4px;align-items:center;min-height:31px;margin-bottom:9px;overflow:auto;scrollbar-width:none}.catalog-categories::-webkit-scrollbar{display:none}.catalog-categories button{font-size:9px;border-color:transparent;background:transparent;color:#93a67f;white-space:nowrap;padding:5px 11px;min-height:26px;border-radius:6px}.catalog-categories button.active{background:#e2edd5;border-color:#d7e4c8;color:#6f924f}.piece-tools{display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 7px;scrollbar-width:thin;scrollbar-color:#c8d9b9 transparent;scroll-snap-type:x proximity}.piece-tools button{flex:0 0 89px;height:103px;gap:4px;border-color:#dfe8d4;background:#f2f7e9;flex-direction:column;border-radius:9px;padding:6px 5px;position:relative;color:#789763;scroll-snap-align:start}.piece-tools button:hover{border-color:#a0c086;background:#eaf4de;box-shadow:0 2px 6px #4c7a3010}.piece-tools button.active{border-color:#88b270;box-shadow:0 0 0 1px #88b270;background:#e4efd6;color:#638c46}.piece-tools button.active:after{content:"";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:#70a34f}.piece-tools button>span:not(.tool-caption):not(.piece-thumbnail):not(.piece-caption){font-size:28px;height:49px;line-height:49px;color:#8eac74}.piece-tools .piece-thumbnail{display:flex;align-items:center;justify-content:center;width:65px;height:60px;flex:0 0 60px;line-height:1}.piece-thumbnail svg,.piece-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.piece-tools button .tool-caption,.piece-tools button .piece-caption{font-size:9px;line-height:1.2;font-weight:500;text-align:center;max-width:100%;color:inherit;min-height:21px;display:flex;align-items:center;justify-content:center}.material-list{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:5px 1px 8px;scrollbar-width:thin;scrollbar-color:#c8d9b9 transparent}.material-card{flex:0 0 120px;min-height:74px;padding:8px;display:flex;align-items:center;justify-content:flex-start;gap:9px;text-align:left;background:#f5f8ed;border-color:#dce7ce}.swatch{display:inline-block;width:33px;height:40px;flex-shrink:0;border-radius:5px;border:1px solid #0001}.material-card span:nth-child(2){font-size:9px;font-weight:500}.material-card small{display:block;font-size:8px;color:#a5b392;margin-top:4px;max-width:70px}.material-card.active{border-color:#98b77f;box-shadow:0 0 0 1px #98b77f;background:#e9f2dd}.surface-actions{display:flex;gap:8px;padding-top:7px}.surface-actions button{font-size:9px;padding:7px 11px}#keep-material:disabled{opacity:.65;color:#a7b294}
dialog{background:#fafdf5;border-radius:15px;color:#5d784e}dialog::backdrop{background:#243d2c70;backdrop-filter:blur(6px)}.card-actions button.danger{color:#a24e49}.door-connections details{margin:0 0 17px;border:0;padding:0;font-size:10px;color:#809276}.door-connections details label{margin-top:10px}.door-connections details p{margin-bottom:10px}#workspace-name-form{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.starter-dialog{width:min(720px,calc(100vw - 30px));padding:28px}.starter-dialog .dialog-heading{margin-bottom:12px}.starter-dialog .dialog-heading .eyebrow{margin-bottom:8px}.starter-dialog .dialog-heading h2{font-size:27px;letter-spacing:-.8px}.starter-dialog>p{color:#96a589;margin-bottom:24px}.starter-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.starter-options>button{background:#f1f6e9;border-color:#dce7d0;border-radius:11px;flex-direction:column;align-items:flex-start;padding:11px;gap:8px;text-align:left}.starter-options>button:hover{background:#eaf2de;border-color:#a2c58b}.starter-options strong{font-size:12px;color:#738e5b;padding:0 2px}.starter-options small{font-size:9px;line-height:1.6;color:#9aaa8a;font-weight:400;padding:0 2px;min-height:30px}.starter-art{position:relative;width:100%;height:108px;overflow:hidden;border-radius:6px;background:#e3ecd8;display:block}.starter-art:before{content:"";position:absolute;width:90px;height:61px;left:50%;top:31px;transform:translateX(-50%) skewY(-12deg);background:#d1d8ba;border:1px solid #c5cda8;box-shadow:5px 6px 0 #c5ceb1}.starter-cozy:after{content:"";position:absolute;width:90px;height:36px;left:50%;top:18px;transform:translateX(-50%) skewY(-12deg);background:#c6d2b2;border:1px solid #b2c398;border-bottom:0}.starter-cozy i{position:absolute;width:36px;height:23px;background:#7c9e75;border:5px solid #8baa83;border-radius:5px;z-index:1;left:calc(50% - 26px);top:60px;transform:skewY(-12deg);box-shadow:2px 3px 0 #6e8e65}.starter-cozy b{position:absolute;z-index:2;width:21px;height:13px;border-radius:4px;background:#b49a6e;border:1px solid #a8936a;left:calc(50% + 14px);top:66px;transform:skewY(-12deg);box-shadow:1px 4px 0 #a5936e}.starter-empty{background:#ebf0e2}.starter-empty:before{background:repeating-linear-gradient(90deg,transparent 0 14px,#c4d0b3 14px 15px),repeating-linear-gradient(0deg,#e0e8d0 0 14px,#c4d0b3 14px 15px);border:1px dashed #a7ba90;box-shadow:none}.starter-empty i:before,.starter-empty i:after{content:"";position:absolute;background:#9db98a;left:50%;top:52%;height:2px;width:17px;transform:translateX(-50%)}.starter-empty i:after{transform:translateX(-50%) rotate(90deg)}.starter-beach{background:#c4dcd3}.starter-beach:before{width:170px;height:96px;background:#e9dbaa;border-color:#dfd19b;left:64%;top:18px;transform:rotate(-16deg);box-shadow:-7px 0 0 #d7e8de}.starter-beach:after{content:"";position:absolute;left:calc(50% - 23px);top:23px;width:47px;height:52px;background:#d6c49a;border:3px solid #c2ad7f;transform:skewY(-9deg);box-shadow:4px 5px 0 #b1a17b}.starter-beach i{position:absolute;z-index:2;left:calc(50% - 25px);top:20px;width:53px;height:15px;background:#a9b296;transform:skewY(-9deg);border:1px solid #9da78a}.starter-beach b{position:absolute;width:22px;height:10px;left:calc(50% + 27px);top:79px;border-radius:10px 10px 2px 2px;background:#93b7a0;border:1px solid #7ea48d;box-shadow:0 8px 0 -4px #7f8e65}.starter-simple{font-size:9px;color:#9bae8b}.starter-simple .empty-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.empty-actions button{font-size:9px}#build-empty{z-index:2;inset:160px 280px 300px 80px}#build-empty button{pointer-events:auto;font-size:10px;margin-top:17px;border-color:#b9cfaa;background:#eef6e5;color:#688e4e}.plan-mode #build-empty{display:none}
@media(min-width:1500px){:root{--tray-height:230px}.document-bar,.library{left:28px;right:28px}.library{padding:17px 22px}.catalog-heading{margin-bottom:9px}.piece-tools button{flex-basis:99px;height:108px}.piece-tools .piece-thumbnail{width:72px;height:64px;flex-basis:64px}.canvas-toolbar{left:29px}.inspector{right:29px;width:244px}.preview-heading{left:30px}.build-help{left:30px;right:30px}}
@media(max-width:1100px){.brand small{display:none}.topbar{padding:0 20px}.document-bar{left:17px;right:17px;gap:9px;padding-left:15px}.document-actions{gap:4px}.document-actions button{padding:8px 10px}.document-actions .file-actions{display:none}.document-actions .history-actions{margin:0;padding:0 6px}.document-heading input{font-size:17px;max-width:250px}.library{left:17px;right:17px;padding-left:14px;padding-right:14px}.library-intro{display:none}.catalog-heading{gap:24px}.catalog-title h2{font-size:14px}.catalog-title>span{font-size:7px}.inspector{right:18px;width:208px}.canvas-toolbar{left:18px}.tool-state{max-width:180px}.tool-state span{font-size:8px}.preview-wrap #preview-error{right:250px}.build-help{left:20px;right:20px}.keyboard-help{font-size:7px;gap:4px}.selection-actions{left:48%}.view-switch{left:47%}.plan-controls{left:47%}.canvas-empty{right:250px}.preview-heading{left:20px}.preview-heading>span{display:none}}
@media(max-width:800px){.topbar{padding:0 16px}.brand{font-size:9px;gap:7px;letter-spacing:1.2px}.topbar nav{gap:0}.topbar .nav-button{font-size:10px;padding:0 11px}.topbar #workspace-button{font-size:9px;padding:7px}.document-actions #install-room{font-size:9px}.document-actions .history-actions{display:none}.document-heading input{max-width:200px}.tool-state{display:none}.inspector{width:185px}.inspector-content{padding:12px}.inspector-panel>summary{padding:13px;font-size:10px}.view-switch{left:44%}.plan-controls{left:44%}.library{padding-top:12px}.catalog-title>span{display:none}.keyboard-help{font-size:7px}.keyboard-help span{display:none}.preview-wrap #preview-error{right:220px}.canvas-empty{right:220px}.canvas-empty h3{font-size:15px}.canvas-empty p{font-size:10px}.selection-actions{left:46%}.selection-actions button{font-size:8px;padding:7px}.selection-actions svg{width:13px;height:13px}.selection-dot{display:none}.plan-caption{right:220px}.plan-caption>span:nth-child(2){display:none}}
@media(max-width:600px){:root{--tray-height:201px}.topbar{height:52px;padding:0 11px;gap:8px}.brand{font-size:8px;letter-spacing:1px;gap:5px}.brand>span{font-size:24px}.topbar .nav-button{font-size:9px;padding:0 8px}.topbar #workspace-button{font-size:0;width:29px;height:28px;padding:0;position:relative;flex-shrink:0}.topbar #workspace-button:after{content:"◈";font-size:17px;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}#design-view{height:calc(100dvh - 52px);min-height:560px}.document-bar{top:10px;left:11px;right:11px;height:66px;padding:10px 11px;border-radius:10px;gap:7px;align-items:center}.document-heading{min-width:0}.document-heading input{font-size:15px;max-width:100%;letter-spacing:-.4px}.document-heading>span{font-size:7px;margin-top:2px;white-space:nowrap}.document-actions{gap:5px}.document-actions #new-design{display:none}.document-actions #save-template{font-size:9px;padding:8px 9px}.document-actions #install-room{font-size:0;width:32px;height:31px;padding:0;position:relative;background:#eef5e4}.document-actions #install-room>span{font-size:17px}.canvas-toolbar{left:12px;top:91px}.tool-rail{padding:4px;gap:3px;border-radius:10px}.tool-button{width:40px;height:48px;font-size:7px;padding:7px 4px;gap:2px}.tool-button svg{width:18px;height:18px}.view-switch{top:91px;left:50%;padding:3px;gap:2px;transform:translateX(-50%);border-radius:9px}.view-switch button{font-size:8px;padding:5px 8px}.view-switch svg{width:13px;height:13px}.plan-controls{top:138px;left:50%;padding:4px 5px;gap:2px;transform:translateX(-50%)}.plan-controls label{font-size:8px;gap:3px;padding-right:3px}.plan-controls select{width:52px;font-size:8px;padding:4px 2px}.plan-controls .icon-button{width:21px;height:22px;font-size:15px}.plan-controls #fit-plan{font-size:8px;padding:4px}.inspector{right:12px;top:142px;width:148px;max-height:calc(100% - var(--tray-height) - 218px);border-radius:10px;background:#fbfdf5ec}.inspector-panel>summary{font-size:9px;padding:10px 11px}.inspector-title svg{width:13px;height:13px}.inspector-content{padding:11px}.room-settings .eyebrow{font-size:6px;letter-spacing:.8px;margin-bottom:6px}.room-settings h3{font-size:11px;margin-bottom:6px}.inspector .muted{font-size:8px;line-height:1.65;margin-bottom:12px}.inspector label{font-size:8px;margin-bottom:9px}.inspector input,.inspector select{padding:6px;font-size:9px;margin-top:3px;border-radius:5px}.room-settings .unit{right:8px;bottom:5px;font-size:8px}.inspector .field-pair{gap:5px}.selection-heading{font-size:10px;margin-bottom:11px}.selection-heading span+span{display:none}.more-options{font-size:8px}.more-options>summary{font-size:8px;margin-bottom:10px}.piece-outline-list{font-size:8px;padding-top:10px;margin-top:12px}.piece-outline-list button{font-size:8px;padding:5px}.piece-outline-list small{display:none}.property-actions{flex-direction:column}.property-actions button{font-size:8px}.selection-actions{left:12px;bottom:calc(var(--tray-height) + 69px);transform:none;border-radius:9px;padding:4px;gap:1px}.selection-actions button{font-size:8px;padding:6px}.selection-actions svg{width:12px;height:12px}.preview-heading{left:13px;bottom:calc(var(--tray-height) + 72px);font-size:7px}.preview-heading button{font-size:8px;padding:5px 7px}.canvas-area:has(#selection-actions:not([hidden])) .preview-heading{display:none}.build-help{bottom:calc(var(--tray-height) + 25px);left:13px;right:13px;display:block;font-size:8px}.build-help #build-status{display:block;max-width:100%;padding:5px 7px}.keyboard-help{font-size:7px;margin-top:5px;justify-content:center;gap:5px;opacity:.75}.keyboard-help span{display:inline}.keyboard-help kbd{font-size:7px;height:13px;min-width:13px}.library{left:11px;right:11px;bottom:10px;padding:11px 11px 7px;border-radius:11px}.catalog-heading{gap:14px;height:24px;margin-bottom:7px}.catalog-title h2{font-size:13px;letter-spacing:-.35px;white-space:nowrap}.tab-strip{gap:11px;margin:0 0 0 auto;height:25px}.tab-strip button{font-size:9px;padding:5px 0}.catalog-categories{gap:1px;min-height:25px;margin-bottom:8px}.catalog-categories button{font-size:8px;padding:5px 8px;min-height:24px}.piece-tools{gap:7px;padding:1px 1px 6px}.piece-tools button{flex-basis:76px;height:99px;padding:6px 4px;border-radius:7px;gap:2px}.piece-tools .piece-thumbnail{width:60px;height:58px;flex-basis:58px}.piece-tools button .tool-caption,.piece-tools button .piece-caption{font-size:8px;min-height:22px}.material-card{flex-basis:111px;min-height:75px}.material-card .swatch{width:29px;height:36px}.material-list{gap:7px;padding-top:8px}.surface-actions{gap:6px}.surface-actions button{font-size:8px;padding:7px 8px}.plan-caption{left:13px;right:auto;bottom:calc(var(--tray-height) + 76px);font-size:7px}.canvas-empty,#build-empty{inset:155px 30px 270px 50px}.canvas-empty h3{font-size:14px;max-width:200px}.canvas-empty p{font-size:9px;max-width:220px}.canvas-empty>span{font-size:33px;margin-bottom:8px}.preview-wrap #preview-error{inset:195px 15px 270px 15px;font-size:11px;padding:16px}.collection-view{padding:28px 17px}.collection-heading{align-items:flex-start;gap:14px;margin-bottom:25px}.collection-heading h1{font-size:24px}.collection-heading p{font-size:10px}.collection-heading>button{font-size:9px;white-space:nowrap;padding:8px}.collection-tabs{gap:3px}.collection-tabs button{font-size:10px;padding:8px}.card-grid{gap:16px;grid-template-columns:1fr}.starter-dialog{padding:20px}.starter-dialog .dialog-heading h2{font-size:24px}.starter-options{grid-template-columns:1fr;gap:9px}.starter-options>button{display:grid;grid-template-columns:91px 1fr;gap:5px 12px;padding:8px}.starter-art{grid-row:1/3;width:91px;height:79px}.starter-options strong{font-size:12px;align-self:end}.starter-options small{font-size:9px;min-height:0;align-self:start}.starter-art:before{top:20px;width:66px;height:43px}.starter-cozy:after{top:14px;width:66px;height:27px}.starter-cozy i{top:42px;left:calc(50% - 21px);width:28px;height:18px;border-width:4px}.starter-cozy b{top:50px;left:calc(50% + 8px);width:18px;height:10px}.starter-beach:before{width:115px;height:80px;left:77%;top:12px}.starter-beach:after{width:34px;height:39px;top:19px;left:calc(50% - 19px)}.starter-beach i{width:40px;top:15px;left:calc(50% - 21px);height:12px}.starter-beach b{left:calc(50% + 18px);top:61px;width:18px;height:9px}.starter-simple{margin-top:17px;padding-top:13px}.starter-simple .empty-actions{gap:5px}.starter-simple .empty-actions button{font-size:8px;padding:7px}.starter-dialog>p{font-size:10px;margin-bottom:17px}.dialog-heading h2{font-size:19px}dialog{padding:21px}.server-fields{grid-template-columns:1fr 70px}}
@media(max-width:370px){.topbar .nav-button{font-size:8px;padding:0 6px}.brand{font-size:7px;letter-spacing:.8px}.catalog-title h2{font-size:12px}.tab-strip{gap:9px}.catalog-heading{gap:7px}.inspector{width:139px}.document-actions #save-template{font-size:8px;padding:8px}.document-heading input{font-size:14px}}
@media(max-height:700px) and (min-width:601px){:root{--tray-height:190px}.library{padding-top:10px;padding-bottom:7px}.catalog-heading{height:21px;margin-bottom:3px}.catalog-categories{margin-bottom:6px;min-height:26px}.piece-tools button{height:89px}.piece-tools .piece-thumbnail{height:49px;flex-basis:49px}.inspector{max-height:calc(100% - var(--tray-height) - 149px)}.preview-heading{bottom:calc(var(--tray-height) + 60px)}.build-help{bottom:calc(var(--tray-height) + 27px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
/* Keep the small game controls crisp against the pale workspace. */
.document-heading>span{color:#7c9271}.tool-state strong{color:#557647}.tool-state span{color:#7b906e}.catalog-categories button{color:#748b61;font-size:10px}.catalog-categories button.active{color:#557b3f}.tab-strip button{color:#7e956c}.tab-strip button.active{color:#547c3e}.library-intro{color:#81966f}.piece-tools button .tool-caption,.piece-tools button .piece-caption{font-size:10px;color:#63814f}.inspector label{color:#6f875e}.inspector .muted{color:#7d916c}.inspector-panel>summary{color:#5f7e4d}.room-settings h3{color:#5c7e47}.document-actions button.quiet{color:#799365}.more-options>summary,.piece-outline-list{color:#788f65}.build-help{color:#748c62}#build-empty h3{color:#66884f}#build-empty p{color:#8ca17a}
@media(max-width:600px){.catalog-categories button{font-size:9px}.piece-tools button .tool-caption,.piece-tools button .piece-caption{font-size:9px}.inspector label{font-size:8px}.tool-state span{font-size:8px}}
/* Touch layout: readable type, a scrollable catalogue, and a collapsible inspector. */
@media(max-width:600px){:root{--tray-height:227px}.topbar{height:56px}.brand{font-size:9px;letter-spacing:.6px;gap:4px}.brand>span{font-size:25px}.topbar .nav-button{font-size:11px;padding:0 7px}.topbar #workspace-button{width:30px;height:30px}#design-view{height:calc(100dvh - 56px);min-height:590px}.document-bar{height:65px;padding:10px 11px;gap:8px}.document-heading input{font-size:17px}.document-heading>span{font-size:10px}.document-actions #save-template{font-size:12px;padding:9px 10px}.document-actions #install-room{width:35px;height:35px}.document-actions #install-room>span{font-size:19px}.canvas-toolbar{top:91px;left:12px}.tool-rail{gap:4px;padding:4px}.tool-button{width:47px;height:55px;font-size:11px;padding:6px 4px;gap:4px}.tool-button svg{width:21px;height:21px}.view-switch{top:91px;padding:4px}.view-switch button{font-size:12px;padding:6px 9px;gap:5px}.view-switch svg{width:15px;height:15px}.plan-controls{top:145px;padding:5px 6px}.plan-controls label{font-size:11px;padding-right:4px}.plan-controls select{width:59px;font-size:12px;padding:4px 2px}.plan-controls .icon-button{width:25px;height:26px;font-size:18px}.plan-controls #fit-plan{font-size:11px}.inspector{top:148px;right:12px;width:177px;max-height:calc(100% - var(--tray-height) - 221px)}.inspector-panel>summary{font-size:12px;padding:12px}.inspector-title svg{width:16px;height:16px}.inspector-content{padding:12px}.room-settings .eyebrow{font-size:9px;letter-spacing:.4px;margin-bottom:8px}.room-settings h3{font-size:14px}.inspector .muted{font-size:11px;line-height:1.6;margin-bottom:13px}.inspector label{font-size:11px;margin-bottom:12px}.inspector input,.inspector select{padding:7px;font-size:16px;margin-top:5px;border-radius:6px;min-height:36px}.room-settings .unit{font-size:12px;right:10px;bottom:8px}.selection-heading{font-size:14px;margin-bottom:12px}.more-options>summary{font-size:11px;margin-bottom:12px}.more-options .field-pair{grid-template-columns:1fr}.property-actions button,#rotate-piece,#apply-piece{font-size:11px;padding:8px}.piece-outline-list{font-size:11px;padding-top:13px;margin-top:13px}.piece-outline-list button{font-size:11px;padding:7px}.selection-actions{bottom:calc(var(--tray-height) + 70px);padding:5px;border-radius:10px}.selection-actions button{font-size:11px;padding:8px 7px;gap:5px}.selection-actions svg{width:15px;height:15px}.preview-heading{bottom:calc(var(--tray-height) + 71px)}.preview-heading button{font-size:11px;padding:6px 8px}.build-help{bottom:calc(var(--tray-height) + 23px);font-size:11px}.build-help #build-status{font-size:11px;padding:6px 8px}.keyboard-help{display:none}.library{padding:12px 11px 9px}.catalog-heading{height:28px;margin-bottom:8px;gap:10px}.catalog-title h2{font-size:15px;letter-spacing:-.5px}.tab-strip{height:28px;gap:12px}.tab-strip button{font-size:12px;padding:5px 0;min-height:28px}.catalog-categories{min-height:33px;margin-bottom:9px;gap:2px}.catalog-categories button{font-size:12px;min-height:32px;padding:6px 10px}.piece-tools{gap:8px;padding-bottom:7px}.piece-tools button{flex-basis:89px;height:112px;padding:6px 5px;gap:4px}.piece-tools .piece-thumbnail{width:67px;height:65px;flex-basis:65px}.piece-tools button .tool-caption,.piece-tools button .piece-caption{font-size:11px;line-height:1.2;min-height:27px}.material-card{flex-basis:130px;min-height:99px;padding:10px}.material-card .swatch{width:33px;height:45px}.material-card span:nth-child(2){font-size:11px}.material-card small{font-size:10px}.surface-actions{gap:7px;padding-top:9px}.surface-actions button{font-size:11px;padding:8px}.plan-caption{font-size:10px;bottom:calc(var(--tray-height) + 76px)}.canvas-empty,#build-empty{inset:165px 22px 302px 60px}.canvas-empty h3{font-size:18px;max-width:240px}.canvas-empty p{font-size:12px;max-width:245px}.canvas-empty>span{font-size:39px}#build-empty button{font-size:13px;padding:11px 16px}.preview-wrap #preview-error{inset:200px 15px 300px;font-size:12px}.collection-heading h1{font-size:25px}.collection-heading p{font-size:12px}.collection-heading>button{font-size:12px}.collection-tabs button{font-size:12px}.card-actions button,.card-actions a{font-size:12px}.card-body p,.room-card p{font-size:12px}dialog{padding:21px}dialog label{font-size:12px}dialog input,dialog select,dialog textarea{font-size:16px}dialog button,dialog .button{font-size:13px}dialog>p,dialog form>p{font-size:12px}.starter-dialog .dialog-heading h2{font-size:25px}.starter-dialog>p{font-size:12px}.starter-options>button{grid-template-columns:94px 1fr;padding:9px;gap:6px 12px}.starter-options strong{font-size:14px}.starter-options small{font-size:11px}.starter-art{width:94px;height:86px}.starter-simple{font-size:12px}.starter-simple .empty-actions button{font-size:11px;padding:8px}.toast{font-size:12px}.tiny{font-size:11px}}
@media(max-width:370px){.brand{font-size:8px}.topbar .nav-button{font-size:10px;padding:0 6px}.catalog-title h2{font-size:14px}.tab-strip{gap:10px}.document-actions #save-template{font-size:11px;padding:9px 8px}.document-heading input{font-size:16px}.inspector{width:165px}}
/* Everyday decorating comes first; measurements stay behind disclosures. */
@media(min-width:601px){.selection-actions{left:auto;right:23px;bottom:calc(var(--tray-height) + 17px);transform:none}.inspector{max-height:calc(100% - var(--tray-height) - 208px)}}
.inspector .selection-heading{font-size:14px;margin-bottom:14px}.inspector .room-settings h3{font-size:13px;line-height:1.4;margin-bottom:8px}.inspector .room-settings>.muted{margin-bottom:12px}.plot-options{border-top:1px solid #e0e8d6;padding-top:13px;margin-top:13px;font-size:11px;color:#788f65}.plot-options>summary{margin-bottom:13px}.plot-options:not([open])>summary{margin-bottom:0}.more-options{padding-top:13px;margin-top:16px}.more-options>summary{font-size:11px}.more-options:not([open])>summary{margin-bottom:0}.piece-outline-list{margin-top:13px}#piece-swatches{gap:7px;margin-bottom:8px}#piece-swatches button{width:31px;height:31px;min-width:31px;min-height:31px;border-width:3px;transition:transform .15s,box-shadow .15s}#piece-swatches button:hover{transform:scale(1.08)}#piece-name-field{margin-top:16px}#piece-name-field input{font-size:12px}.selection-actions button{font-size:11px;padding:9px 11px}.selection-actions svg{width:17px;height:17px}
@media(max-width:600px){.document-actions #new-design{display:inline-flex;font-size:0;padding:8px 9px;min-height:35px;min-width:51px;color:#6f8d59;background:#f0f6e7;border:1px solid #dce8d0}.document-actions #new-design:after{content:"+ New";font-size:12px}.document-actions{gap:5px}.document-heading input{font-size:16px}.inspector .room-settings h3{font-size:14px}.inspector .selection-heading{font-size:15px}.plot-options,.more-options>summary{font-size:12px}.plot-options>summary{margin-bottom:14px}#piece-swatches{gap:9px;margin-bottom:11px}#piece-swatches button{width:35px;height:35px;min-width:35px;min-height:35px}#piece-name-field input{font-size:16px}.selection-actions button{font-size:11px;padding:8px 7px}.selection-actions svg{width:16px;height:16px}}
@media(max-width:370px){.document-actions #new-design{padding:8px 6px;min-width:45px}.document-actions #new-design:after{font-size:11px}.document-actions #save-template{padding:9px 7px}.document-heading input{font-size:15px}}
/* Accounts stay as approachable as decorating a room. */
.topbar #workspace-button{font-size:13px;white-space:nowrap}.account-dialog{width:min(470px,calc(100vw - 30px));padding:28px;color:#3c5734;overflow:auto;overscroll-behavior:contain}.account-dialog .dialog-heading{align-items:flex-start;margin-bottom:17px;gap:12px}.account-dialog .dialog-heading .eyebrow{font-size:11px;letter-spacing:1.4px;color:#718364;margin-bottom:9px}.account-dialog .dialog-heading h2{font-size:26px;font-weight:550;line-height:1.2;letter-spacing:-.7px;color:#3b5933}.account-dialog .dialog-heading>button{width:36px;height:36px;min-width:36px;flex-shrink:0;font-size:28px;border-radius:8px;color:#728268;transform:translate(6px,-7px)}.account-dialog .dialog-heading>button:hover{background:#edf3e5}.account-art{background:linear-gradient(135deg,#eff4e6,#e5edda);border:1px solid #dce6ce;border-radius:11px;overflow:hidden;margin-bottom:19px}.account-art svg{display:block;width:100%;height:auto;max-height:170px}.account-dialog p{font-size:14px;line-height:1.6}.account-dialog .account-intro{color:#596d50;margin-bottom:21px;max-width:340px}.account-dialog button{font-size:14px;min-height:44px;padding:11px 15px;line-height:1.35}.account-dialog #account-google{min-height:48px;font-size:15px;background:#4c8157;border-color:#4c8157;box-shadow:0 3px 7px #3d6f4514}.account-dialog #account-google:hover{background:#3b7046}.account-dialog #account-google:disabled{opacity:.55}.account-dialog .account-private{font-size:13px;color:#718168;margin:12px 0 0;text-align:center}.account-dialog .account-note{margin:17px 0 0;padding:12px 14px;background:#edf3e4;border:1px solid #d9e5cc;border-radius:9px;color:#536d45;font-size:13px;overflow-wrap:anywhere}.account-dialog #account-status:empty{display:none}.account-dialog .account-keep-building{margin-top:18px;color:#5c784f}.account-profile{display:flex;align-items:center;gap:14px;background:#edf3e4;border:1px solid #dde7d2;border-radius:11px;padding:17px;margin-top:5px}.account-profile>div{min-width:0}.account-profile-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:50%;background:#dce8d0;color:#6d8b60}.account-profile-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.account-dialog #account-name{font-size:19px;line-height:1.3;font-weight:600;color:#416239;overflow-wrap:anywhere}.account-dialog #account-email{font-size:13px;color:#637857;margin-top:4px;overflow-wrap:anywhere}.account-dialog #account-member>.account-private{text-align:left;margin:11px 1px 22px}.account-dialog #account-link-existing{margin-top:10px;background:#f1f6e9}.account-signout-actions{border-top:1px solid #dce5d4;margin-top:22px;padding-top:18px;display:grid;gap:5px}.account-signout-actions #account-signout{background:#f7faf2}.account-signout-actions #account-signout-all{font-size:13px}.account-dialog:has(#account-member:not([hidden])) .account-keep-building{margin-top:8px}#workspace-dialog{font-size:13px}#workspace-dialog p,#workspace-dialog label,#workspace-dialog button,#workspace-dialog summary{font-size:13px}#workspace-dialog input,#workspace-dialog textarea{font-size:16px}#workspace-dialog #workspace-account-note{font-size:14px;color:#586f4c;padding:13px 15px;border:1px solid #dce7d1;border-radius:9px;background:#eef4e6}#legacy-workspace-access>p{margin-bottom:17px}#legacy-workspace-access>p.tiny{font-size:12px;line-height:1.6}#legacy-workspace-access>button{min-height:43px}
@media(max-width:600px){.topbar .brand{font-size:0;gap:0;letter-spacing:0}.topbar .brand>span{font-size:27px}.topbar #workspace-button{width:auto;min-width:61px;min-height:36px;height:auto;font-size:12px;padding:8px;flex-shrink:0;border:1px solid #d9e4d1;background:#f2f7eb;border-radius:8px}.topbar #workspace-button:after{content:none}.account-dialog{width:min(470px,calc(100vw - 24px));padding:23px;max-height:calc(100dvh - 30px)}.account-dialog .dialog-heading h2{font-size:24px}.account-dialog .dialog-heading .eyebrow{font-size:10px;letter-spacing:1.1px}.account-dialog .dialog-heading>button{min-height:36px;padding:0;font-size:28px}.account-art{margin-bottom:18px}.account-dialog .account-intro{font-size:15px;margin-bottom:21px}.account-dialog button{font-size:15px;min-height:46px}.account-dialog .account-private{font-size:13px}.account-dialog #account-email{font-size:14px}.account-profile{padding:15px;gap:12px}.account-profile-icon{width:43px;height:43px;min-width:43px}.account-dialog #account-name{font-size:18px}.account-dialog .account-note{font-size:13px}#workspace-dialog input,#workspace-dialog textarea{font-size:16px}}
@media(max-width:370px){.topbar{gap:6px;padding-left:9px;padding-right:9px}.topbar #workspace-button{font-size:11px;min-width:57px;padding:8px 7px}.account-dialog{padding:21px}.account-dialog .dialog-heading h2{font-size:22px}}
.account-dialog .dialog-heading>button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}
.account-dialog label{font-size:13px;color:#637857}.account-dialog textarea{font-size:16px;line-height:1.5;margin-top:7px;min-height:130px}.account-dialog #account-claim-status:empty{display:none}
.account-art svg{max-height:120px}.account-dialog #account-setup{margin-top:13px}.account-dialog .account-keep-building{margin-top:12px}
.builder-access-gate{min-height:calc(100dvh - 70px);display:grid;place-items:center;padding:40px 22px;background:radial-gradient(ellipse at 50% 25%,#f6faef,#eaf0e2)}.builder-access-card{width:min(470px,100%);padding:34px;border:1px solid #dce6ce;border-radius:18px;background:#fcfdf8;box-shadow:0 16px 50px #536c3c0a;text-align:center;color:#3b5933}.builder-access-mark{display:block;font-size:62px;color:#78966a;line-height:1;margin-bottom:20px}.builder-access-card .eyebrow{font-size:11px;letter-spacing:1.4px;color:#718364;margin-bottom:12px}.builder-access-card h1{font-size:29px;font-weight:550;letter-spacing:-.8px;line-height:1.2;margin:0 0 18px}.builder-access-card p{font-size:15px;line-height:1.7;color:#637857}.builder-access-card button{font-size:15px;min-height:48px;width:100%;margin-top:10px;background:#4c8157;border-color:#4c8157;color:white}.builder-access-card button:hover{background:#3b7046}.builder-access-card .builder-access-private{font-size:12px;color:#7b8e70;margin:18px 0 0}.account-locked .topbar{justify-content:space-between}.account-locked .account-keep-building{display:none}
@media(max-width:600px){.builder-access-gate{min-height:calc(100dvh - 56px);padding:25px 16px}.builder-access-card{padding:29px 23px}.builder-access-card h1{font-size:27px}.account-locked .topbar .brand{font-size:10px;gap:5px;letter-spacing:.6px}}
.palace-dialog{width:min(530px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:26px;overflow:auto;overscroll-behavior:contain;color:#3c5734}.palace-dialog h2{font-size:24px;letter-spacing:-.5px}.palace-dialog p{font-size:14px;line-height:1.6}.palace-dialog label,.palace-dialog summary{font-size:14px}.palace-dialog input,.palace-dialog select{font-size:16px;min-height:44px}.palace-dialog label{margin-top:18px}.palace-dialog .tiny{font-size:12px;color:#65785c}.palace-dialog button,.palace-dialog .button{font-size:14px;min-height:44px}.palace-dialog .dialog-heading .close-dialog{width:44px;min-width:44px;padding:0;font-size:28px}.palace-dialog .connection-note{padding:12px 14px;margin:18px 0;background:#eef4e6;border:1px solid #dce7d1;border-radius:9px;font-size:13px}.palace-dialog .connection-note a{color:#416d47;text-decoration:underline}.palace-dialog .connection-options{margin-top:20px;padding-top:15px;border-top:1px solid #dce5d4}.palace-dialog .connection-options>summary{cursor:pointer;color:#637857}.palace-dialog .connection-error{padding:11px 13px;background:#fff0eb;color:#873f32;border-radius:8px}.palace-dialog .dialog-actions{margin-top:22px;flex-wrap:wrap}.palace-dialog pre{font-size:12px;line-height:1.6;max-height:220px;overflow:auto}.palace-dialog .door-connections{margin-top:20px}.palace-dialog .door-connections h3{font-size:15px}
@media(max-width:600px){.topbar .nav-button{padding-left:7px;padding-right:7px;font-size:10px}.palace-dialog{padding:21px}.palace-dialog h2{font-size:23px}.palace-dialog .dialog-actions{gap:8px}.palace-dialog .dialog-actions>button,.palace-dialog .dialog-actions>.button{flex:1;white-space:nowrap}}

/* Public Square and room directory controls. */
.hub-builder-link{color:#4d7054;text-decoration:none;white-space:nowrap;font-size:12px}.hub-listing-toggle{display:flex!important;align-items:center;gap:10px;padding:13px 14px;border:1px solid #c9d9bd;border-radius:10px;background:#f1f6e9;cursor:pointer;font-size:12px!important}.hub-listing-toggle input[type=checkbox]{width:19px!important;min-height:19px!important;height:19px!important;flex:0 0 19px;margin:0;accent-color:#527b57}.hub-listing-toggle span{line-height:1.45}.room-card .hub-listing-toggle{margin:16px 0}.starter-hub{background:radial-gradient(ellipse at 50% 60%,#f5efd7 0 48%,#aac7ae 49% 58%,#dbe6ce 59%)}.starter-hub i{position:absolute;width:58px;height:19px;border-radius:50%;background:#93bdac;border:4px solid #c6b98f;left:calc(50% - 29px);top:61%}.starter-hub b{position:absolute;left:calc(50% - 14px);top:25%;font-size:41px;line-height:1;color:#aa945c;font-weight:400}.door-connections select{width:100%}@media(max-width:700px){.hub-builder-link{font-size:10px}}

/* Library management keeps saved references intact while unused assets are reclaimed. */
.asset-library-dialog{width:min(900px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;color:#3c5734;overscroll-behavior:contain}.asset-library-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.asset-library-dialog .dialog-heading h2{font-size:24px;line-height:1.25}.asset-library-dialog .dialog-heading button{font-size:28px;width:44px;height:44px;flex-shrink:0;padding:0}.asset-library-dialog>p{font-size:14px;line-height:1.6;margin-bottom:15px;color:#52694a}.asset-library-dialog .asset-capacity{font-size:14px;font-weight:600;background:#eaf2df;border:1px solid #cedebd;padding:12px 15px;border-radius:9px;color:#375d32}.asset-library-dialog #asset-status:empty{display:none}.asset-library-dialog #asset-status{padding:11px 14px;border-radius:8px;background:#f1f5e8;color:#47633e;overflow-wrap:anywhere}.asset-library-dialog section{margin-top:24px}.asset-library-dialog section>h3{font-size:17px;margin-bottom:8px}.asset-library-dialog .tiny{font-size:12px;color:#5d7153;margin-bottom:13px}.asset-surface-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-surface{display:flex;gap:13px;align-items:flex-start;padding:14px;background:#f1f6e8;border:1px solid #d9e4cd;border-radius:10px;min-width:0}.asset-surface>.swatch{width:40px;height:48px}.asset-surface>div{min-width:0}.asset-surface h3,.asset-image h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.asset-surface p,.asset-image p{font-size:12px;line-height:1.6;color:#546d49;margin:5px 0 10px}.asset-actions{display:flex;flex-wrap:wrap;gap:7px}.asset-actions button{min-height:36px;font-size:12px;padding:7px 10px}.asset-actions button:disabled{opacity:.65}.asset-image-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.asset-image{min-width:0;background:#f1f6e8;border:1px solid #d9e4cd;border-radius:10px;padding:12px}.asset-image>img{display:block;width:100%;height:140px;object-fit:contain;background:#e3eadb;border-radius:6px;margin-bottom:11px}.asset-image .asset-usage{font-size:12px}.asset-library-dialog>.dialog-actions{margin-top:24px}.surface-actions{flex-wrap:wrap}.asset-library-dialog .dialog-actions button{min-height:40px;font-size:13px}
@media(max-width:700px){.asset-image-list{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-surface-list{grid-template-columns:1fr}.asset-library-dialog{padding:22px;width:calc(100vw - 24px)}}
@media(max-width:430px){.asset-image-list{grid-template-columns:1fr}.asset-image>img{height:165px}.asset-library-dialog .dialog-heading h2{font-size:21px}}


#piece-actions{margin:12px 0;padding:8px;border:1px solid #b7b4a655;border-radius:10px;min-width:0}#piece-actions legend{padding:0 6px;font-size:12px;font-weight:600}#piece-actions p{font-size:11px;line-height:1.5;margin:0 0 10px;opacity:.8}#piece-actions label{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:4px 0;padding:6px;border-radius:7px;background:#858a7410;cursor:pointer}#piece-actions input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:#628369}#piece-actions label span{font-size:12px}#piece-actions small{display:block;font-size:10px;font-weight:400;line-height:1.5;opacity:.75;margin-top:3px}#piece-actions .piece-actions-save{font-size:10px;margin-top:8px}
#piece-physics,#piece-display{margin:12px 0;padding:8px;border:1px solid #b7b4a655;border-radius:10px;min-width:0}#piece-physics legend,#piece-display legend{padding:0 6px;font-size:12px;font-weight:600}#piece-physics>label,#piece-display>label{display:flex;align-items:center;gap:10px;margin:4px 0;padding:6px;border-radius:7px;background:#858a7410;cursor:pointer;font-size:12px}#piece-physics input[type=checkbox],#piece-display input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:#628369}#piece-physics p,#piece-display p{font-size:11px;line-height:1.5;margin:8px 0 10px;opacity:.8}#piece-physics-settings,#piece-display-settings{min-width:0}#piece-physics .field-pair{min-width:0;gap:8px}#piece-physics .field-pair label{min-width:0;margin-bottom:10px}#piece-physics input:disabled,#piece-display input:disabled{opacity:.5}#piece-actions input:disabled+span{opacity:.55}
.room-lighting,.room-surroundings{border-top:1px solid #e0e8d6;padding-top:12px;margin:14px 0;font-size:11px;color:#6b8858}.room-lighting>summary,.room-surroundings>summary{font-weight:600;margin-bottom:12px}.room-lighting output{float:right;color:#4e7050;font-variant-numeric:tabular-nums}.room-lighting input[type=range]{padding:0;height:22px;accent-color:#628369;cursor:pointer}.room-lighting input:disabled{opacity:.5;cursor:default}.time-presets{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:-5px 0 15px}.time-presets button{padding:6px 3px;font-size:9px}.time-presets button[aria-pressed=true]{background:#deecd1;border-color:#a7c68d}.room-lighting .quiet{font-size:9px;padding:5px 0}.room-lighting .tiny,.room-surroundings .tiny{display:block;font-size:9px;line-height:1.6;margin:6px 0 10px}.room-surroundings button{font-size:10px;padding:8px 5px}
#arrangements-panel{border-top:1px solid #e0e8d6;padding-top:12px;margin:14px 0;font-size:11px}#arrangements-panel>summary{font-weight:600;color:#628369}#arrangements-panel p{font-size:11px;line-height:1.5}#arrangement-selection{max-height:160px;overflow:auto;margin:10px 0}#arrangement-selection label{display:flex;align-items:center;gap:8px;margin:5px 0}#arrangement-selection input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#628369}#arrangements-panel button{font-size:10px;padding:6px;margin:3px 0}#publish-state{font-size:11px;line-height:1.5;color:#4e7050}#update-current-room{font-size:11px;margin-bottom:10px}

/* Uploaded model costs stay visible before a room reaches its placement limits. */
#inspector .room-model-budget{border-top:1px solid #dce5d4;margin-top:18px;padding-top:1px;min-width:0}
#inspector .room-model-budget p{font-size:11px;line-height:1.55;margin:0 0 10px;color:#647958}
#inspector .room-model-budget .model-budget-status{color:#48673f}
#inspector .room-model-budget[data-state=incomplete] .model-budget-status,#inspector .room-model-budget[data-state=near] .model-budget-status{color:#865a1f}
#inspector .room-model-budget[data-state=full] .model-budget-status{color:#963f32}
#inspector .model-budget-metrics{display:grid;gap:9px}
#inspector .model-budget-metric{display:grid;grid-template-columns:auto 1fr;gap:4px 5px;font-size:11px;min-width:0;color:#526e46}
#inspector .model-budget-value{text-align:right;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#inspector .model-budget-metric meter{width:100%;height:9px;grid-column:1/-1;accent-color:#6e925c}
#inspector .model-budget-metric meter::-webkit-meter-bar{border:0;border-radius:4px;background:#e1e9d9}
#inspector .model-budget-metric meter::-webkit-meter-optimum-value{background:#6e925c;border-radius:4px}
#inspector .model-budget-metric[data-state=near] meter,#inspector .model-budget-metric[data-state=incomplete] meter{accent-color:#b08343}
#inspector .model-budget-metric[data-state=near] meter::-webkit-meter-optimum-value,#inspector .model-budget-metric[data-state=incomplete] meter::-webkit-meter-optimum-value{background:#b08343}
#inspector .model-budget-metric[data-state=full] meter{accent-color:#ae5b49}
#inspector .model-budget-metric[data-state=full] meter::-webkit-meter-optimum-value{background:#ae5b49}
#inspector .model-budget-metric meter::-moz-meter-bar{background:#6e925c;border-radius:4px}
#inspector .model-budget-metric[data-state=near] meter::-moz-meter-bar,#inspector .model-budget-metric[data-state=incomplete] meter::-moz-meter-bar{background:#b08343}
#inspector .model-budget-metric[data-state=full] meter::-moz-meter-bar{background:#ae5b49}
#inspector .model-budget-details{margin-top:7px}
#inspector .room-model-budget .model-budget-details>summary{font-size:12px;margin:0;padding:9px 0}
#inspector .model-budget-models{list-style:none;margin:0 0 12px;padding:0}
#inspector .model-budget-models>li{border-top:1px solid #e0e8d8;padding:10px 0;overflow-wrap:anywhere}
#inspector .model-budget-name{display:block;font-size:12px;font-weight:600;margin-bottom:4px}
#inspector .room-model-budget .model-budget-cost{margin:0 0 7px}
#inspector .model-budget-select{padding:6px 9px;font-size:11px;min-height:36px}
#inspector .room-model-budget .model-budget-help{font-size:11px}

.model-colour-choices{border:0;margin:10px 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.model-colour-choices[hidden]{display:none}.model-colour-choices legend{font-weight:600;margin-bottom:6px}.model-colour-choice{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #6b8b91;border-radius:7px}.model-colour-choice[aria-pressed=true]{outline:2px solid #a7d4c6;outline-offset:1px}.model-colour-dot{display:inline-block;width:18px;height:18px;border-radius:50%;background:#777;border:1px solid #ffffff70;flex-shrink:0}
#piece-walk-through{margin:12px 0;padding:8px;border:1px solid #b7b4a655;border-radius:10px;min-width:0}#piece-walk-through legend{padding:0 6px;font-size:12px;font-weight:600}#piece-walk-through>label{display:flex;align-items:center;gap:10px;margin:4px 0;padding:6px;border-radius:7px;background:#858a7410;cursor:pointer;font-size:12px}#piece-walk-through input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:#628369}#piece-walk-through input:disabled{opacity:.5}#piece-walk-through p{font-size:11px;line-height:1.5;margin:8px 0 10px;opacity:.8}

.starter-snow { background: linear-gradient(#a9c6da 0 55%, #edf5f8 55%); color: #fff; font-size: 48px; }

/* Browser uploads hand public avatar codes back to the PalaceGrid character gallery. */
.topbar #builder-avatars{font-size:12px;white-space:nowrap;padding:8px 10px;color:#4d7054}.avatar-uploads-dialog{width:min(610px,calc(100vw - 30px));max-height:calc(100dvh - 36px);padding:28px;overflow:auto;overscroll-behavior:contain;color:#3c5734}.avatar-uploads-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.avatar-uploads-dialog h2{font-size:25px;line-height:1.25}.avatar-uploads-dialog h3{font-size:17px}.avatar-uploads-dialog .dialog-heading .close-dialog{width:44px;height:44px;padding:0;font-size:28px;flex-shrink:0}.avatar-uploads-dialog p{font-size:14px;line-height:1.6;margin:10px 0 15px}.avatar-uploads-dialog label{font-size:14px;margin-top:15px}.avatar-uploads-dialog input{font-size:16px;min-height:44px;margin-top:7px}.avatar-uploads-dialog button{font-size:14px;min-height:44px}.avatar-uploads-dialog .avatar-upload-note{font-size:12px;color:#607454;overflow-wrap:anywhere}.avatar-uploads-dialog section{margin-top:22px}.avatar-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.avatar-upload-list{display:grid;gap:8px}.avatar-upload-row{display:flex;gap:8px;align-items:stretch}.avatar-upload-row>button:first-child{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}.avatar-upload-row>button[aria-pressed=true]{background:#deecd4;border-color:#7da66b;color:#3c6234}.avatar-upload-row>button:last-child{font-size:12px;color:#8a5445;flex-shrink:0}.avatar-transfer{border-top:1px solid #dce5d4;padding-top:20px}.avatar-uploads-dialog #avatar-transfer-code{font-family:monospace;font-size:13px;cursor:text}.avatar-uploads-dialog #avatar-transfer-copy,.avatar-uploads-dialog #avatar-upload{margin-top:13px}.avatar-uploads-dialog .dialog-actions{margin-top:20px}#account-avatars{margin-bottom:10px}.avatar-uploads-dialog #avatar-upload-account:empty,.avatar-uploads-dialog #avatar-upload-status:empty{display:none}
@media(max-width:600px){.topbar #builder-avatars{font-size:10px;padding:8px 6px}.avatar-uploads-dialog{padding:22px;width:calc(100vw - 24px)}.avatar-uploads-dialog h2{font-size:23px}.avatar-upload-row>button:last-child{font-size:11px;padding:8px}.avatar-uploads-dialog #avatar-transfer-code{font-size:12px}}
