@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--paper:#f7f5ef;--ink:#28382f;--muted:#92958b;--line:#e7e6df;--clay:#be7355;--green:#314d3e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:10px 14px;transition:background .18s,transform .18s}button:hover{background:#f0eee6}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}header{height:84px;padding:0 3.5%;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:36px}.brand{text-decoration:none;color:var(--ink);font-size:24px;letter-spacing:-1px;font-weight:600;display:flex;align-items:center;gap:5px}.brand>span:last-child{font-weight:400;color:#7c877d}.brand-icon{font-size:34px;color:var(--clay);margin-right:8px}.header-note{font-size:12px;color:#879084}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-actions>span{font-size:10px;color:#8b9489;margin-right:14px}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#203c2e}main{max-width:1760px;padding:38px 3.5% 20px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a16c54;font-weight:700}h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:44px;letter-spacing:-1.5px;margin:10px 0}p{line-height:1.6}.intro p{color:#85897e;margin:0;font-size:13px}.reference-link{background:transparent;text-align:left;padding:12px 20px;font-size:12px}.reference-link span{display:block;font-size:10px;color:#989b90;margin-top:5px}.workspace{display:grid;grid-template-columns:230px minmax(360px,1fr) 260px;gap:18px;align-items:start}.panel{background:#fffefb;border:1px solid var(--line);border-radius:10px}.library,.settings{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:14px;font-weight:600;margin:0}.panel-heading>span{font-size:10px;color:var(--muted)}.muted{color:#92968c}.small{font-size:11px;margin-top:9px}.block-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.block-card{padding:6px 5px 7px;background:#f7f5f0;border:1px solid transparent;min-width:0}.block-card.selected{border-color:#b66c4d;background:#f7eade}.block-card svg{width:100%;display:block;aspect-ratio:1}.block-card span{font-size:8px;display:block;margin-top:5px;white-space:nowrap}.brush-setting{display:flex;align-items:center;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:14px}.brush-setting button{padding:7px 10px;font-size:12px}.brush-setting b{font-weight:400;margin-left:5px}.section-label{font-size:9px;letter-spacing:1.4px;color:#8c9388;margin:25px 0 12px}.swatches{display:flex;gap:10px}.swatches button{width:25px;height:25px;border-radius:50%;padding:0;border:3px solid #fff;outline:1px solid #e5e5dd}.swatches button.active{outline:2px solid var(--green)}.library-foot{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:flex;gap:10px;color:#a5a598}.library-foot>span{color:#b5805e}.library-foot p{font-size:9px;margin:0;line-height:1.7}.stage{overflow:hidden}.stage-toolbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:8px}.segmented{display:flex;padding:3px;background:#f1f1eb;border-radius:7px}.segmented button{padding:7px 10px;border:none;background:transparent;font-size:11px}.segmented button.active{background:white;box-shadow:0 1px 4px #24372c15}.history{display:flex;gap:3px}.history button{border:0;background:none;padding:7px;font-size:16px}.history button:last-child{font-size:11px}.wall-scene{position:relative;background:radial-gradient(ellipse at 50% 25%,#edf0e6,#e0e4d7);min-height:500px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:58px 35px 60px}.scene-tag{position:absolute;top:22px;left:24px;font-size:8px;letter-spacing:1.4px;color:#7c8a78;display:flex;align-items:center;gap:7px}.scene-tag i{width:4px;height:4px;border-radius:50%;background:#889a7d}.wall-drawing{width:100%;max-height:580px;filter:drop-shadow(10px 15px 9px #59604530);transition:transform .5s;transform-origin:center;touch-action:none;user-select:none}.wall-drawing svg{display:block;width:100%;max-height:570px}.wall-scene.angled .wall-drawing{transform:perspective(1000px) rotateY(-18deg) rotateX(4deg) scale(.95)}.scene-bottom{position:absolute;bottom:18px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#84907e}.scene-bottom button{padding:7px 9px;background:#ffffff50;border-color:#cbd2c2;font-size:9px}.stage-footer{display:flex;justify-content:space-between;gap:10px;padding:15px 18px;font-size:9px;color:#8b9386}.stage-footer>span:last-child{display:flex;align-items:center;gap:5px}.clay-dot{background:#be7355;width:6px;height:6px;border-radius:50%}.tiny-tag{border:1px solid var(--line);border-radius:4px;padding:3px 5px}.settings label{display:flex;justify-content:space-between;font-size:11px;margin:22px 0 10px}.settings label>span{color:#9b9d91;font-size:10px}.input-pair{display:flex;align-items:center;gap:10px}.input-pair>div{border:1px solid var(--line);padding:8px 10px;border-radius:5px;width:calc(50% - 12px)}.input-pair small{font-size:8px;color:#a0a294;letter-spacing:1px}.input-pair input{display:block;width:100%;border:0;background:none;margin-top:6px;outline:none}.input-pair>span{color:#b1b2a8}select{border:1px solid var(--line);border-radius:5px;background:transparent;width:100%;padding:10px;font-size:11px;color:#586350}input[type=range]{width:100%;accent-color:var(--green);height:4px}.fit-note{font-size:9px;color:#8b9584;line-height:1.6;min-height:29px}.divider{border-top:1px solid var(--line);margin:20px 0}.presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.presets button{font-size:10px;text-align:left;padding:10px 8px}.presets button.active{background:#edf0e8;border-color:#adbca4}.preset-mark{font-size:16px;color:#b7795e;display:block;margin-bottom:5px;letter-spacing:3px}.quantities{display:flex;gap:26px;margin:10px 0 20px}.quantities span{font-family:Georgia,serif;font-size:29px}.quantities small{display:block;font-size:8px;color:#969c8d;letter-spacing:1px;margin-top:5px}.full-button{width:100%;font-size:11px;background:#f4f4ed}.micro{font-size:9px;margin-bottom:0}.below{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.below .eyebrow{font-size:8px;letter-spacing:1.5px;color:#969e8d}.below p{font-family:Georgia,serif;font-size:20px;margin-top:9px}.below>span{font-size:10px;color:#a0a496}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;max-width:800px;width:90%;max-height:85vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1b302566;backdrop-filter:blur(3px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-top button{border:0;background:none}.modal-top h2{font-family:Georgia,serif;font-size:25px;font-weight:400}.ref-grid{display:grid;gap:20px}.ref-grid img{width:100%;border-radius:8px}.export-options{display:grid;gap:10px}.export-options button{text-align:left;padding:17px}.export-options small{display:block;color:#87907e;margin-top:5px}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:12px 4px;border-bottom:1px solid var(--line)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 22px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px}#toast.show{opacity:1}.cell{cursor:crosshair}.cell:hover{filter:brightness(1.12)}button:disabled{opacity:.3;cursor:default}@media(min-width:1500px){.workspace{grid-template-columns:250px minmax(360px,1fr) 280px}.wall-scene{min-height:600px}.block-card span{font-size:9px}}@media(max-width:1100px){header{gap:15px}.header-note{display:none}.workspace{grid-template-columns:190px minmax(300px,1fr)}.settings{grid-column:1/-1;display:block}.library{padding:15px}.settings .presets{grid-template-columns:repeat(4,1fr)}.settings .input-pair{max-width:350px}.settings select{max-width:350px}.settings input[type=range]{max-width:350px}.wall-scene{min-height:470px}.header-actions>span{display:none}}@media(max-width:650px){header{height:66px;padding:0 17px}.brand{font-size:20px}.brand-icon{font-size:27px;margin-right:3px}.header-actions button{font-size:10px;padding:8px}.header-actions #load{display:none}main{padding:25px 16px}.intro{align-items:flex-start;gap:10px;margin-bottom:23px}h1{font-size:33px}.intro p{font-size:11px}.eyebrow{font-size:8px}.reference-link{font-size:10px;padding:8px;max-width:110px}.reference-link span{font-size:8px}.workspace{display:flex;flex-direction:column;gap:14px}.library{width:100%;padding:14px}.block-grid{grid-template-columns:repeat(9,62px);overflow:auto;margin:12px 0;padding-bottom:7px}.library .small{margin:7px 0}.brush-setting{float:left;gap:15px;border:0;padding-top:0}.section-label{display:none}.swatches{justify-content:flex-end;padding-top:3px}.library-foot{display:none}.stage{width:100%}.wall-scene{padding:55px 17px 60px;min-height:350px}.stage-toolbar{padding:0 10px;height:57px}.history button{padding:5px}.segmented button{font-size:10px;padding:7px}.stage-footer{font-size:8px;padding:12px}.stage-footer>span:last-child{display:none}.scene-bottom{left:12px;right:12px;font-size:8px}.settings{width:100%}.below>span{display:none}.settings .presets{grid-template-columns:repeat(4,1fr)}.below p{font-size:18px}.panel-heading h2{font-size:13px}}
/* Spatial workshop */
.workspace{grid-template-columns:210px minmax(440px,1fr) 255px;gap:16px}.view-tabs{display:flex;align-items:center;justify-content:space-between;padding:0 16px 13px}.view-tabs .segmented{background:#ebece5}.view-tabs>button{border:0;font-size:10px;background:transparent}.wall-scene{padding:0;min-height:0;height:530px;background:#e8e9e0}.wall-scene.elevation-view{padding:60px 30px;display:flex;justify-content:center;align-items:center}.wall-drawing{max-height:420px;width:100%;filter:drop-shadow(6px 8px 5px #59604520)}.wall-drawing svg{max-height:420px}.wall-drawing[hidden],#threeScene[hidden],[hidden]{display:none!important}#threeScene{position:absolute;inset:0;touch-action:none}#threeScene canvas{display:block;width:100%;height:100%}.scene-tag{z-index:2;pointer-events:none;top:18px;left:20px;color:#60705b;background:#f6f7eea6;padding:6px 8px;border-radius:4px}.scene-bottom{z-index:2;pointer-events:none;color:#5c6853;background:#f8f8f0b3;padding:6px 8px;border-radius:5px;left:15px;right:15px;bottom:12px}.scene-bottom button{pointer-events:auto;background:#f7f8efbd}.selection-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-top:1px solid var(--line);background:#f7f7f1}.selection-bar strong{font-size:11px;font-weight:500}.selection-bar small{display:block;margin-top:4px;font-size:9px;color:#8b9384}.selection-actions{display:flex;gap:4px}.selection-actions button{font-size:10px;padding:7px 8px;white-space:nowrap}.selection-actions button:nth-child(-n+2){background:#e5ebdf;border-color:#d2dcc9}.cell.selected-cell{filter:brightness(1.15);outline:3px solid #d3b84f;outline-offset:-2px}.sun-panel{padding:18px 18px 12px;border-top:1px solid var(--line)}.sun-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sun-heading>div{display:flex;align-items:center;gap:9px}.sun-heading strong{font-size:12px;font-weight:500}.sun-heading .small{font-size:9px}.sun-icon{color:#b48643;font-size:20px}.sun-heading>button{font-size:10px;padding:7px 9px}.sun-presets{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.sun-presets button{padding:6px 9px;font-size:9px;border-radius:30px;background:#f6f5ed}.light-sliders{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:18px 0 10px}.light-sliders label{font-size:10px;color:#7e8977}.light-sliders output{float:right;color:#a0734b}.light-sliders input{display:block;margin-top:13px}.sun-panel>p{font-size:8px;line-height:1.6;margin-top:16px}.scene-toggles{border-top:1px solid var(--line);margin-top:20px;padding-top:3px}.settings .scene-toggles label{justify-content:flex-start;align-items:center;gap:7px;font-size:10px;margin:12px 0}.scene-toggles input{accent-color:var(--green)}.settings label #units{width:auto;border:none;padding:0;font-size:10px;color:#89967e}.settings #customSize{border:1px solid var(--line);padding:9px;border-radius:5px;width:100%;background:none}.privacy-band{border-top:1px dashed var(--line);margin-top:17px}.privacy-band label{font-size:10px}.privacy-band .full-button{margin-top:12px;font-size:10px;background:#eaf0e3}.presets button{padding:8px 6px}.header-note{font-size:11px}#sceneLoading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;color:#76806e;background:#faf9ef;padding:14px 20px;border-radius:8px;z-index:3}.stage-toolbar{height:56px}.segmented button{padding:7px 9px;font-size:10px}.stage-footer{font-size:8px}.below{margin-top:24px}@media(min-width:1500px){.workspace{grid-template-columns:235px minmax(500px,1fr) 280px}.wall-scene{height:640px}}@media(max-width:1200px){.workspace{grid-template-columns:190px minmax(350px,1fr)}.settings{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.settings>.panel-heading:first-child,.settings>.divider,.settings>.fit-note,.settings>.scene-toggles,.settings>.presets,.settings>.privacy-band,.settings>.quantities,.settings>.full-button,.settings>.micro{grid-column:1/-1}.settings label{margin-top:15px}.settings .input-pair{max-width:100%;grid-column:1/-1}.settings>.input-pair>div{max-width:180px}.settings>label{grid-column:1/-1}.settings>select,.settings>input,.settings>#customSizeWrap{grid-column:1/-1;max-width:100%!important}.wall-scene{height:520px}.sun-heading .small{display:none}.header-note{display:none}}@media(max-width:700px){.workspace{display:flex}.library{width:100%}.wall-scene{height:440px}.selection-bar{flex-wrap:wrap;padding:12px}.selection-actions{width:100%}.selection-actions button{flex:1}.sun-panel{padding:14px 12px}.light-sliders{gap:12px}.sun-heading .small{display:none}.scene-bottom{font-size:8px;left:8px;right:8px}.scene-bottom button{font-size:8px;padding:6px}.settings{display:block}.stage-toolbar{padding:0 8px}.segmented button{padding:7px;font-size:9px}.history button{padding:5px}.view-tabs{padding:0 10px 10px}.view-tabs .segmented button{padding:8px 13px}.header-actions #load{display:block;font-size:9px;padding:7px}.header-actions{gap:5px}.header-actions #export{font-size:9px;padding:7px}.brand{font-size:18px}.brand-icon{font-size:23px}.wall-scene.elevation-view{padding:55px 20px}.stage-footer{font-size:8px}.scene-tag{font-size:7px;left:12px}.brush-setting{font-size:10px}.sun-presets button{font-size:8px}.header-actions>span{display:none}}
.block-card img{width:100%;height:auto;display:block;aspect-ratio:1;border-radius:2px}.block-card.selected img{mix-blend-mode:multiply}
#agentHelp{font-size:11px;background:#f0f2e9;border-color:#dbe3d2}#agentDot{color:#9a9f91;margin-right:4px}#agentHelp.agent-ready #agentDot{color:#6a9859}.agent-status{background:#eeece2;color:#8d7952;padding:10px 13px;border-radius:6px;font-size:12px}.agent-status.ready{background:#e6eddf;color:#446d37}.agent-help p{font-size:13px;line-height:1.7}.prompt-examples{display:grid;gap:8px;margin:20px 0}.prompt-examples blockquote{font-family:Georgia,serif;font-size:17px;line-height:1.5;background:#fffdf6;border-left:3px solid #c28862;margin:0;padding:15px 18px}.agent-help .small{font-size:11px}.agent-help details{margin-top:20px;font-size:11px;line-height:2}.agent-help code{font-size:10px}.agent-help ul{padding-left:18px}@media(max-width:700px){#agentHelp{font-size:0;padding:8px}#agentDot{font-size:14px;margin:0}.header-actions #load{font-size:8px}.header-actions #export{font-size:8px}.header-actions{gap:4px}}
#blockSearch{width:100%;border:1px solid var(--line);padding:9px 10px;border-radius:5px;background:#faf9f3;font-size:11px;margin-top:8px;color:var(--ink)}.block-filters{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0 0}.block-filters button{font-size:8px;padding:5px 6px;border-radius:20px;background:transparent}.block-filters button.active{color:#466140;background:#e8eedf;border-color:#cddabd}.block-grid{max-height:405px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d3d8c8 transparent;margin-top:13px;padding:2px}.block-card{position:relative}.new-mark{display:block;font-size:6px;letter-spacing:.7px;color:#8b9c75;margin-top:3px}.block-info{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:6px}.block-info strong{font-size:11px;font-weight:500}.block-info span{font-size:9px;color:#909984;line-height:1.5}.block-info button{justify-self:start;font-size:9px;padding:5px 8px;background:#f2f4e9}.catalog-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.catalog-detail img{width:100%;border-radius:9px;background:white}.catalog-detail a{display:block;color:#597549;font-size:12px;margin:20px 0}.catalog-detail .primary{font-size:11px}.no-blocks{grid-column:1/-1}.catalog-detail p{font-size:13px}.catalog-detail .small{font-size:11px}.catalog-detail .micro{font-size:9px}@media(max-width:700px){.block-grid{grid-template-columns:repeat(3,minmax(60px,1fr));max-height:230px;gap:8px;overflow:auto}.block-card{display:grid;grid-template-columns:40px 1fr;align-items:center;column-gap:5px;padding:5px}.block-card img,.block-card svg{width:40px;grid-row:1/3}.block-card span{font-size:9px;margin:0;white-space:normal;text-align:left}.block-card .new-mark{font-size:6px;text-align:left}.block-info{padding:9px 0;grid-template-columns:auto 1fr;align-items:center}.block-info span{font-size:8px}.block-info button{grid-column:1/-1}.block-filters button{font-size:9px;padding:6px 10px}.catalog-detail{grid-template-columns:1fr}.catalog-detail img{max-width:260px;margin:auto}}
.library-tabs{margin:13px 0;gap:3px}.library-tabs button{font-size:9px;flex:1;padding:8px 5px}.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:410px;overflow:auto;scrollbar-width:thin;padding:2px}.combo-grid button{padding:7px;background:#f7f5ef;border-color:transparent;min-width:0}.combo-grid button.selected{background:#f7eade;border-color:#b47a57}.combo-grid svg{width:100%;height:75px;display:block}.combo-grid span{display:block;font-size:9px;margin-top:8px}.combo-grid small{display:block;font-size:8px;color:#96a087;margin-top:4px}.combo-info{display:grid;gap:7px;margin:15px 0;padding-top:13px;border-top:1px solid var(--line)}.combo-info strong{font-weight:500;font-size:11px}.combo-info span,.combo-info small{font-size:9px;color:#8b9582;line-height:1.6}.combo-info button{justify-self:start;font-size:9px;padding:6px}.capture-combo{border-top:1px solid var(--line);margin-top:17px;padding:15px 0;font-size:10px}.capture-combo summary{cursor:pointer}.capture-combo input{width:100%;background:#faf9f3;border:1px solid var(--line);padding:9px;border-radius:5px;font-size:10px;color:var(--ink)}.capture-size{display:flex;gap:10px;margin:13px 0}.capture-size label{display:grid;gap:6px;width:50%;font-size:9px}.capture-size select{font-size:10px;padding:7px}.capture-combo .full-button{font-size:9px}.settings .presets{max-height:380px;overflow:auto;scrollbar-width:thin;padding:2px;gap:8px}.presets button svg{width:100%;height:65px;display:block;margin-bottom:8px}.presets button span{font-size:9px}.rhythm-source{font-size:10px;border:0;background:transparent;padding:9px 0;color:#8c7250}.source-anchor{display:block;color:#617b4f;font-size:12px;margin:15px 0}#modalContent>svg{width:100%;max-height:340px}.combo-hover rect,.combo-hover>g>rect{stroke:#d5b551!important;stroke-width:5!important}.combo-hover{filter:brightness(1.12)}@media(max-width:700px){.combo-grid{grid-template-columns:repeat(3,1fr);max-height:230px}.combo-grid svg{height:60px}.combo-grid span{font-size:8px}.combo-grid small{font-size:7px}.library-tabs button{font-size:10px;padding:9px}.settings .presets{grid-template-columns:repeat(2,1fr);max-height:360px}.presets button svg{height:75px}}
