:root{font-family:DM Sans,system-ui,sans-serif;color:#303c34;background:#eeece6;font-synthesis:none;font-weight:400;--pine:#344f40;--pine-dark:#253e30;--accent:#a36a50;--muted:#858a7f;--line:#dedfd5;--panel:#fafaf5;--subtle:#f1f2eb;--serif:Georgia,"Times New Roman",serif}*{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;background:none;border:0}button:disabled{opacity:.33;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,.viewport:focus-visible{outline:2px solid #6a8c73;outline-offset:3px}button{transition:background .15s,color .15s,box-shadow .15s}input{min-width:0}button:hover:not(:disabled){color:var(--pine-dark)}button svg{flex-shrink:0}button:disabled:hover{color:inherit}button.primary-button:hover:not(:disabled){background:#42644f;color:#fff}.app-shell{max-width:2000px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.app-header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 34px;background:#f8f8f2}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.brand>span:last-child{font-family:Manrope,system-ui,sans-serif;font-size:22px;font-weight:800;letter-spacing:-1.1px;line-height:1.05}.brand>span:last-child>span{font-weight:500}.brand small{font-family:DM Sans,sans-serif;font-size:7px;letter-spacing:2.15px;font-weight:500;display:block;margin-top:7px;color:#7a8479}.brand-mark{display:grid;width:32px;height:32px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:3px;transform:rotate(-2deg)}.brand-mark i{background:var(--pine)}.brand-mark i:nth-child(2){border-radius:0 8px 0 0}.brand-mark i:nth-child(3){border-radius:0 0 0 8px}.brand-mark i:last-child{background:#af7c5c}.project-heading{display:flex;align-items:center;gap:15px;flex:1}.project-divider{height:30px;background:var(--line);width:1px;margin:0 2px}.project-heading input{background:none;border:none;color:#465247;font-size:13px;font-weight:600;max-width:185px;width:155px;padding:8px 2px}.project-heading input:hover{background:#eeefe7;border-radius:3px}.project-state{font-size:10px;color:#96998f;display:flex;align-items:center;gap:6px;white-space:nowrap}.unsaved-dot,.saved-dot{width:5px;height:5px;border-radius:100%;background:#a9a38d}.saved-dot{background:#758b6d}.header-actions{display:flex;align-items:center;gap:10px}.icon-button{height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#758073}.icon-button:hover:not(:disabled){background:#e8ebe1}.header-file-button{display:flex;align-items:center;gap:7px;font-size:11px;padding:9px 7px;color:#697362}.header-file-button:hover{background:#ecefe5;border-radius:4px}.action-divider{height:22px;width:1px;background:var(--line);margin:0 7px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--pine);color:#fff;border-radius:5px;padding:12px 18px;font-size:11px;font-weight:500}.editor-heading{display:flex;justify-content:space-between;align-items:center;padding:29px 35px 25px;gap:20px}.eyebrow{font-size:8px;letter-spacing:1.65px;font-weight:600;color:#93998a}.editor-heading h1{font-family:var(--serif);font-size:29px;font-weight:400;margin:7px 0 0;letter-spacing:-.75px}.editor-heading h1 em{font-weight:400;color:#6f7b67}.editor-top-actions{display:flex;align-items:center;gap:16px;padding-top:12px}.phase-label{font-size:8px;letter-spacing:1.3px;color:#909987;display:flex;align-items:center;gap:9px}.phase-label b{font-size:10px;letter-spacing:0;color:#6a7a5e;font-weight:500;background:#e0e5d7;padding:5px 7px;border-radius:3px}.history-actions{display:flex;align-items:center;border:1px solid #daddd0;background:#f6f6ef;border-radius:5px;padding:1px}.history-actions .icon-button{height:29px;min-width:33px}.help-button{border:1px solid #daddd0;background:#f6f6ef}.editor-layout{display:grid;grid-template-columns:281px minmax(0,1fr) 231px;gap:17px;padding:0 26px;flex:1;min-height:660px;height:calc(100vh - 240px);max-height:1100px}.control-panel{background:var(--panel);border:1px solid #dcdfd1;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-tabs{display:flex;border-bottom:1px solid var(--line);height:56px;flex-shrink:0;padding:0 13px;gap:6px}.panel-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#8d9484;flex:1;position:relative}.panel-tabs button.active{color:var(--pine);font-weight:600}.panel-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:8px;right:8px;background:var(--pine);height:2px}.panel-tabs button:hover{background:#f2f3ec}.panel-scroll{padding:22px 20px 15px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d8c9 transparent;flex:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2,.section-heading h3{font-size:11px;font-weight:600;margin:0}.section-heading>span{font-size:8px;color:#a4ac99;font-variant-numeric:tabular-nums;letter-spacing:.5px}.section-intro{font-size:9px;color:#8b9383;line-height:1.65;margin:8px 0 17px}.pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pattern-card{border:1px solid #e0e3d7;border-radius:5px;padding:9px 8px 10px;background:#f8f9f3;text-align:left;min-width:0;position:relative}.pattern-card.active{border-color:#5b775d;background:#edf1e7;box-shadow:inset 0 0 0 .5px #5b775d}.pattern-card:hover{background:#eff2e9}.pattern-graphic{height:48px;position:relative;overflow:hidden;margin-bottom:10px;border-radius:2px}.pattern-graphic svg{height:100%;width:100%;fill:#c5cdbc}.pattern-card.active .pattern-graphic svg{fill:#9cae8c}.card-check{position:absolute;right:0;top:0;color:#fff;background:var(--pine);width:14px;height:14px;border-radius:100%;display:grid;place-items:center}.pattern-card strong{display:block;font-size:10px;font-weight:550}.pattern-card small{display:block;color:#97a18d;font-size:6px;letter-spacing:1.2px;margin-top:4px}.separated{border-top:1px solid var(--line);padding-top:19px;margin-top:20px;margin-bottom:13px}.section-heading select{border:1px solid #dce0d1;border-radius:3px;background:#f4f5ed;color:#6b795f;font-size:9px;padding:3px 7px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.number-field{display:block;min-width:0}.number-field>span,.field-label{display:block;font-size:9px;color:#828d78;margin-bottom:6px}.number-field>div{display:flex;align-items:center;background:#f1f3ea;border:1px solid #e0e4d5;border-radius:4px;min-height:36px}.number-field input{width:100%;border:0;padding:8px 9px;background:none;font-size:11px;color:#42533a;font-variant-numeric:tabular-nums;outline-offset:-2px;-moz-appearance:textfield}.number-field input::-webkit-inner-spin-button{opacity:0;width:8px}.number-field input:hover::-webkit-inner-spin-button{opacity:1}.number-field small{font-size:8px;color:#a4ad97;padding:0 9px 0 0}.offset-label{margin-top:15px}.segmented{display:flex;background:#eff1e7;border:1px solid #dce2d0;border-radius:4px;padding:3px;gap:3px}.segmented button{flex:1;font-size:9px;padding:6px 3px;color:#8d997e;border-radius:2px}.segmented button.active{color:#47633a;background:#fcfdf8;box-shadow:0 1px 3px #233f3012;font-weight:600}.fraction-fields{display:flex;align-items:end;gap:8px;margin-top:10px}.fraction-fields .number-field{flex:1}.fraction-fields .number-field>span{font-size:8px}.fraction-fields .number-field>div{min-height:30px}.fraction-fields .number-field input{padding:6px 9px}.fraction-fields>span{padding-bottom:7px;font-size:11px;color:#b0b9a4}.seed-field{display:flex;align-items:end;gap:8px}.seed-field .number-field{flex:1}.seed-field .number-field>span{display:none}.seed-field>button{height:36px;min-width:36px;border-radius:4px;border:1px solid #dce2d0;background:#e9eddf;color:#6c805a;display:grid;place-items:center}.inline-note{font-size:8px;line-height:1.7;color:#9aa38e;margin:8px 0 0}.reset-button{padding:13px 20px;border-top:1px solid var(--line);font-size:9px;display:flex;align-items:center;gap:8px;color:#8a957e;flex-shrink:0;text-align:left;background:#f5f6ee}.reset-button:hover{background:#e9eedf}.workspace-column{min-width:0;display:flex;flex-direction:column;min-height:0}.workspace{position:relative;border:1px solid #d7dbce;border-radius:8px;background:#f6f6f0;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.workspace-toolbar{height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 18px;flex-shrink:0;gap:8px;background:#f8f9f2;z-index:2}.view-switch{display:flex;gap:10px}.view-switch button{display:flex;align-items:center;gap:6px;font-size:10px;color:#a2aa97;padding:8px 2px}.view-switch button.active{color:#41583a}.repeat-switch{display:flex;border:1px solid #e0e3d7;border-radius:4px;background:#f0f2e9;padding:2px;gap:1px}.repeat-switch button{font-size:9px;padding:5px 9px;color:#98a28c;border-radius:3px;font-variant-numeric:tabular-nums}.repeat-switch button.active{color:#4a663e;background:#fff;box-shadow:0 1px 3px #233f3012}.boundary-button{display:flex;align-items:center;gap:5px;font-size:9px;color:#a0a994;padding:8px 0}.boundary-button.active{color:#55754a}.viewport{position:relative;flex:1;min-height:400px;background-color:#e9ebe2;background-image:radial-gradient(#c6cbbb70 .7px,transparent .7px);background-size:16px 16px;overflow:hidden;touch-action:none;cursor:grab;outline-offset:-3px}.viewport:active{cursor:grabbing}.viewport-caption{position:absolute;top:24px;left:25px;display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:1.4px;color:#919d83;pointer-events:none;z-index:1}.live-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#7b9667;box-shadow:0 0 0 3px #7b966710;flex-shrink:0}.warning-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#b88b55}.canvas-stage{position:absolute;top:50%;left:50%;box-shadow:0 9px 30px #53452c15;transform-origin:center;pointer-events:none}.canvas-stage canvas{width:100%;height:100%;display:block}.cell-grid{position:absolute;inset:0;display:grid;border-left:1px dashed #395e4c;border-top:1px dashed #395e4c}.cell-grid>div{border-right:1px dashed #395e4c;border-bottom:1px dashed #395e4c}.cell-grid .center-cell{box-shadow:inset 0 0 0 2px #2b573d7a}.dimension{position:absolute;display:flex;align-items:center;justify-content:center;font-size:8px;color:#8d9b81;letter-spacing:.5px}.dimension span{background:#e9ebe2;padding:0 10px;white-space:nowrap}.dimension small{font-size:7px;margin-left:2px;opacity:.6}.dimension-top{left:0;right:0;top:-23px;border-top:1px solid #cbd2c0;height:10px}.dimension-top span{position:relative;top:-5px}.dimension-top:before,.dimension-top:after{content:"";height:6px;width:1px;background:#cbd2c0;position:absolute;top:-3px}.dimension-top:before{left:0}.dimension-top:after{right:0}.dimension-left{height:100%;left:-25px;top:0;border-left:1px solid #cbd2c0;width:10px}.dimension-left span{writing-mode:vertical-rl;transform:rotate(180deg);padding:9px 0;position:relative;left:-5px}.dimension-left small{margin-left:0}.canvas-corner{position:absolute;width:9px;height:9px;border-color:#76886a}.corner-tl{left:-5px;top:-5px;border-left:1px solid;border-top:1px solid}.corner-br{bottom:-5px;right:-5px;border-bottom:1px solid;border-right:1px solid}.canvas-bottom-caption{position:absolute;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;gap:10px;font-size:7px;color:#98a28c;pointer-events:none}.canvas-bottom-caption span{display:flex;align-items:center;gap:5px}.canvas-bottom-caption span:last-child{letter-spacing:1px;font-size:6px}.zoom-bar{position:absolute;bottom:56px;left:50%;transform:translate(-50%);display:flex;align-items:center;border:1px solid #d6dccb;background:#fafbf6eb;box-shadow:0 3px 10px #40543309;border-radius:5px;height:33px;padding:0 5px;z-index:2}.zoom-bar button{display:grid;place-items:center;width:28px;height:27px;border-radius:3px;color:#778b65}.zoom-bar button:hover{background:#e5ecda}.zoom-bar span{font-size:9px;width:42px;text-align:center;color:#66795a;font-variant-numeric:tabular-nums}.zoom-bar i{width:1px;height:16px;background:#dce2d2;margin:0 4px}.workspace-status{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#8d9981;padding:11px 3px 0;min-height:29px}.workspace-status>span{display:flex;align-items:center;gap:7px}.status-divider{margin:0 3px;color:#bcc4b1}.inspector{padding:4px 3px 0 1px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd3bf transparent}.inspector-title{display:flex;align-items:center;gap:7px;padding:14px 0 19px;border-bottom:1px solid #d9ddcf;color:#818f74}.inspector-title h2{font-size:10px;font-weight:500;margin:0}.material-summary{padding:20px 0 21px;display:flex;align-items:center;gap:11px}.summary-swatch{width:42px;height:48px;border-radius:3px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(#fff3 1px,transparent .7px),radial-gradient(#361b1022 .7px,transparent .7px);background-size:5px 7px,3px 4px}.summary-swatch span{font-family:var(--serif);color:#ffffff80;font-size:21px;font-style:italic}.material-summary .eyebrow{font-size:6px;letter-spacing:1px}.material-summary h3{font-size:11px;font-weight:500;margin:6px 0}.material-summary div:last-child>span:last-child{font-size:7px;color:#969f8b}.repeat-info{border:1px solid #d9dfcd;background:#f2f4eb;border-radius:6px;padding:18px 16px 13px}.repeat-info .eyebrow{font-size:7px;letter-spacing:1.2px}.repeat-dimensions{display:flex;align-items:baseline;gap:8px;font-family:var(--serif);font-size:24px;letter-spacing:-1px;margin:11px 0 19px;color:#4a5b40;font-variant-numeric:tabular-nums;flex-wrap:wrap}.repeat-dimensions>span{font-family:DM Sans,sans-serif;font-size:14px;opacity:.4}.repeat-dimensions small{font-family:DM Sans,sans-serif;font-size:8px;letter-spacing:0;color:#a4ae96;margin-left:1px}.repeat-diagram{width:100%;height:65px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px}.repeat-diagram>*{display:block;border:1px solid #d0d9c1;border-radius:1px;background:repeating-linear-gradient(0deg,transparent,transparent 7px,#dce3d1 7px,#dce3d1 8px)}.repeat-diagram>b{border:1px solid #779367;background-color:#dce6d2;box-shadow:0 0 0 2px #b6c9a375}.repeat-info p{font-size:8px;line-height:1.7;color:#9aa68b;margin:12px 0 0}.seam-info{margin-top:22px;padding-bottom:19px;border-bottom:1px solid #d9ddcf}.seam-info h3{font-size:10px}.seam-info p{font-size:8px;color:#9da790;margin:8px 0 15px}.section-heading .quality-badge{color:#809769;background:#dfe8d4;padding:4px 5px;border-radius:3px;font-size:6px;letter-spacing:.7px}.section-heading .neutral-badge{color:#b09269;font-size:6px;letter-spacing:.7px}.seam-info dl{font-size:9px;margin:0}.seam-info dl>div{display:flex;justify-content:space-between;line-height:2.3}.seam-info dt{color:#879679}.seam-info dd{margin:0;color:#61764e;font-variant-numeric:tabular-nums}.text-button{display:flex;align-items:center;gap:5px;font-size:8px;color:#5d7e4a;padding:0}.seam-info .text-button{margin-top:14px}.text-button:hover{text-decoration:underline}.demo-section{padding-top:21px}.demo-section>.eyebrow{font-size:7px}.demo-button{display:flex;align-items:center;width:100%;padding:12px 0;gap:11px;border-bottom:1px solid #dce1d2;text-align:left}.demo-button>svg{margin-left:auto;color:#b0baa3}.demo-glyph{width:36px;height:34px;border-radius:3px;overflow:hidden;display:block;background:#e2d9c9;padding:2px}.demo-glyph svg{width:100%;height:100%;fill:#bc8d71}.demo-1{background:#e0dcca}.demo-1 svg{fill:#c4bca0}.demo-2{background:#c8d0c3}.demo-2 svg{fill:#7f9081}.demo-button b{display:block;font-size:10px;font-weight:500;color:#677d54}.demo-button small{display:block;font-size:7px;margin-top:4px;color:#a2ad95}.demo-button:hover{background:#e3e9d8}.inspector-footnote{display:flex;align-items:center;gap:10px;margin:24px 0 15px;color:#aab49e}.version-mark{font-family:var(--serif);font-size:30px;font-style:italic;font-weight:400;opacity:.7}.inspector-footnote p{font-size:7px;line-height:1.8;letter-spacing:.3px}.app-footer{padding:20px 29px 17px;display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#9ba58f;letter-spacing:.3px;gap:10px}.app-footer b{margin:0 8px;font-weight:400}.app-footer button{display:flex;align-items:center;gap:6px;font-size:7px;color:#8f9e80}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.palette-grid button{font-size:8px;text-align:left;border:1px solid #dfe4d5;border-radius:4px;padding:7px;position:relative;color:#7e8c71}.palette-grid button.active{border-color:#7e966a;background:#f0f4e9}.palette-grid button>svg{position:absolute;bottom:6px;right:6px}.material-swatch{height:65px;display:block;width:100%;border-radius:2px;margin-bottom:8px;background-image:radial-gradient(#fff4 .8px,transparent .8px),radial-gradient(#3c291324 .8px,transparent .8px);background-size:5px 6px,3px 4px}.swatch-slate{background-image:repeating-linear-gradient(7deg,#ffffff08 0px,#1c2c2220 1px,transparent 2px,transparent 7px)}.swatch-sand{background-image:radial-gradient(#58432225 1px,transparent 1px);background-size:5px 5px}.swatch-chalk{background-image:repeating-linear-gradient(-11deg,transparent 0px,#9084731a 1px,transparent 2px,transparent 10px)}.color-field{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a987b;margin:16px 0 22px}.color-field>div{display:flex;gap:7px;align-items:center;padding:5px;border:1px solid #dee5d3;background:#f4f7ee;border-radius:4px;font-size:9px;color:#8b9c78}.color-field input{padding:0;border:0;cursor:pointer;width:22px;height:22px;background:none}.color-field input::-webkit-color-swatch-wrapper{padding:0}.color-field input::-webkit-color-swatch{border:0;border-radius:2px}.color-field>div span{padding-right:4px}.slider-field{display:block;margin:22px 0}.slider-field>span{display:flex;justify-content:space-between;font-size:10px;color:#899979}.slider-field b{font-size:10px;font-weight:500;color:#6c8755}.slider-field small{font-size:7px;margin-left:2px}.slider-field input{appearance:none;width:100%;height:3px;margin:15px 0;background:linear-gradient(to right,#789262 var(--progress),#dfe7d5 var(--progress));border-radius:10px;cursor:pointer;display:block}.slider-field input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;background:#64824f;border:2px solid #f3f6ed;border-radius:100%;box-shadow:0 0 0 1px #748f5c}.slider-field input::-moz-range-thumb{width:8px;height:8px;background:#64824f;border:2px solid #f3f6ed;border-radius:100%;box-shadow:0 0 0 1px #748f5c}.info-note{display:flex;align-items:flex-start;gap:9px;background:#edf2e4;border:1px solid #e2e8d7;border-radius:4px;padding:13px 10px;color:#8fa079;margin-top:25px}.info-note>svg{flex-shrink:0;margin-top:2px}.info-note p{font-size:8px;line-height:1.8;margin:0}.info-note b{display:block;color:#7f9568;font-weight:600;margin-bottom:4px}.joint-diagram{padding:19px 12px;border:1px solid #e0e6d5;border-radius:5px;background:#d8cfc0;margin:23px 0}.joint-diagram svg{width:100%;display:block}.link-toggle{font-size:9px;display:flex;align-items:center;gap:7px;color:#9bab88;margin-top:13px}.link-toggle.active{color:#749057}.joint-swatches{display:flex;gap:12px;margin:0 0 28px}.joint-swatches button{width:25px;height:25px;border-radius:100%;box-shadow:0 0 0 1px #ced7c0}.joint-swatches button.active{outline:1px solid #718b5b;outline-offset:3px}.validation-box{padding:12px;border:1px solid #d3bca0;background:#f8eee2;color:#946b43;border-radius:4px;margin-top:20px}.validation-box strong{font-size:10px;font-weight:600}.validation-box p{font-size:9px;line-height:1.7;margin:8px 0 0}.canvas-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#9eaa8e;gap:13px}.canvas-empty h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:0}.canvas-empty p{font-size:10px;margin:0;line-height:1.6}.canvas-empty.error{color:#a97b52}.render-indicator{position:absolute;top:18px;right:20px;display:flex;gap:6px;align-items:center;background:#f9fbf3db;padding:7px 9px;border-radius:4px;font-size:8px;color:#82986b;z-index:3}.spinner{display:inline-block;width:11px;height:11px;border:1px solid currentColor;border-right-color:transparent;border-radius:100%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);max-width:calc(100vw - 28px);background:#344f40;color:#f0f5e9;box-shadow:0 4px 20px #1b312330;border-radius:6px;font-size:11px;line-height:1.6;padding:13px 15px;display:flex;align-items:center;gap:24px;z-index:20}.toast button{display:grid;place-items:center;color:#c7d8bc;padding:2px}.dialog{border:1px solid #d8e0cc;border-radius:11px;padding:37px 38px 27px;background:#f9fbf4;width:min(490px,calc(100vw - 30px));color:#5d7050;box-shadow:0 20px 80px #20342138;max-height:calc(100vh - 40px)}.dialog::backdrop{background:#28362866;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:12px;right:13px}.dialog h2{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.8px;color:#415b34;margin:15px 0}.dialog p{font-size:11px;line-height:1.9;color:#8e9d80}.dialog .field-label{margin-top:26px}.resolution-options{display:flex;gap:9px;margin-top:11px}.resolution-options button{flex:1;border:1px solid #d7e1ca;border-radius:4px;background:#f1f5e9;padding:13px 7px;font-size:13px;color:#8a9f77;font-variant-numeric:tabular-nums}.resolution-options button.active{border-color:#73965b;background:#e7efdd;color:#577841}.resolution-options small{font-size:9px;padding-left:4px}.export-summary{border-top:1px solid #e1e7d8;border-bottom:1px solid #e1e7d8;padding:15px 0;margin:22px 0;display:flex;flex-direction:column;gap:13px;font-size:10px}.export-summary span{display:flex;justify-content:space-between;color:#8da17b;gap:10px}.export-summary b{font-weight:500;color:#6c8a55;font-variant-numeric:tabular-nums}.export-main{width:100%;padding:13px;font-size:11px}.export-main+.text-button{margin:15px auto}.dialog-footnote{font-size:8px;color:#a0ae92;line-height:1.8;display:block;margin-top:20px}.export-success{margin-top:19px;background:#eaf2df;padding:13px;border:1px solid #d6e6c5;border-radius:4px}.export-success>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#7d9e61}.secondary-button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#62814c;padding:9px 12px;border:1px solid #c4d5b2;background:#f8fbf2;border-radius:3px}.export-success .secondary-button{width:100%;margin-top:13px}.help-dialog{width:min(550px,calc(100vw - 30px));padding-top:35px}.help-dialog ul{padding-left:17px;color:#8b9e7a;font-size:11px;line-height:1.9}.help-dialog li{margin:7px 0}.help-dialog .help-next{border:1px solid #dce7d0;border-radius:4px;background:#eff5e6;padding:14px}.help-next b{display:block;color:#6f8b57}.error-message{color:#ac7a4b!important}.mobile-panel-toggle{display:none}@media(min-width:1650px){.editor-layout{grid-template-columns:310px minmax(0,1fr) 255px;padding:0 35px;gap:22px}.panel-scroll{padding:25px}.pattern-graphic{height:65px}.pattern-card strong{font-size:12px}.section-heading h2{font-size:13px}.number-field>span,.field-label{font-size:11px}.section-intro,.inline-note{font-size:10px}.number-field input{font-size:13px}.editor-heading{padding-top:35px;padding-bottom:30px}.editor-heading h1{font-size:34px}.inspector{padding-right:5px}.app-header{height:88px}.brand>span:last-child{font-size:25px}}@media(max-width:1280px){.editor-layout{grid-template-columns:265px minmax(0,1fr) 195px;gap:13px;padding:0 20px}.app-header{padding:0 25px;gap:20px}.project-state{display:none}.editor-heading{padding-left:27px;padding-right:24px}.workspace-toolbar{padding:0 12px}.boundary-button span{display:none}.repeat-dimensions{font-size:21px;gap:6px}.repeat-info{padding:15px 12px}.material-summary{gap:8px}.summary-swatch{width:32px;height:40px}.material-summary h3{font-size:10px}.material-summary div:last-child>span:last-child{font-size:6px}.inspector-footnote{margin-top:20px}.app-header .primary-button{padding:11px 14px}.header-actions{gap:4px}.header-file-button{padding:9px 6px}}@media(max-width:1100px){.editor-layout{grid-template-columns:260px minmax(0,1fr)}.inspector{display:none}.editor-heading h1{font-size:27px}.workspace-toolbar{padding:0 17px}.boundary-button span{display:inline}.project-heading input{width:130px}.brand>span:last-child{font-size:20px}.app-header{gap:15px}.project-divider{margin:0}.header-actions .action-divider{margin:0 3px}}@media(max-width:800px){.app-header{height:68px;padding:0 18px;gap:14px}.brand small{font-size:5px;letter-spacing:1.5px}.brand>span:last-child{font-size:18px}.brand-mark{width:27px;height:27px;gap:2px}.project-heading{display:none}.header-actions{margin-left:auto}.header-actions>.icon-button{display:none}.header-file-button span{display:none}.header-file-button{padding:7px}.action-divider{display:none}.primary-button{font-size:10px;padding:10px}.editor-heading{padding:22px 20px}.editor-heading h1{font-size:25px}.editor-top-actions{gap:9px;padding-top:7px}.phase-label{display:none}.eyebrow{font-size:7px}.mobile-panel-toggle{display:flex}.editor-layout{padding:0 13px;grid-template-columns:235px minmax(0,1fr);gap:10px;min-height:620px;height:calc(100vh - 207px)}.panel-scroll{padding:18px 15px}.panel-tabs{padding:0 6px;gap:0}.panel-tabs button{font-size:10px}.panel-tabs button svg{width:13px}.pattern-graphic{height:42px}.workspace-toolbar{padding:0 10px}.view-switch{gap:6px}.view-switch button{font-size:9px;gap:4px}.repeat-switch button{padding:5px 6px}.boundary-button span{display:none}.viewport{min-height:350px}.viewport-caption{left:15px;top:18px;font-size:6px}.canvas-bottom-caption{left:15px;right:15px;bottom:20px}.canvas-bottom-caption span:first-child{display:none}.workspace-status{font-size:7px}.workspace-status .status-divider{margin:0}.workspace-status>span{gap:4px}.app-footer{padding:16px;font-size:6px}.app-footer button{font-size:6px}.panel-collapsed{grid-template-columns:minmax(0,1fr)}.panel-collapsed .control-panel{display:none}}@media(max-width:580px){.app-header{padding:0 14px}.brand-mark{width:24px;height:24px}.brand>span:last-child{font-size:17px}.brand small{font-size:4.5px}.header-file-button svg{width:15px}.header-actions{gap:3px}.app-header .primary-button{padding:10px;gap:6px;font-size:9px}.header-actions>.icon-button{display:none}.editor-heading{padding:20px 16px 19px;gap:5px}.editor-heading h1{font-size:24px}.editor-top-actions{gap:4px}.history-actions .icon-button{min-width:27px;height:28px}.help-button{display:none}.editor-layout{display:flex;flex-direction:column;height:auto;min-height:0;gap:14px;padding:0 12px}.control-panel{max-height:455px;min-height:0;order:2}.panel-tabs{height:47px;padding:0 23px}.panel-tabs button{font-size:11px}.panel-scroll{padding:20px}.pattern-grid{grid-template-columns:repeat(4,1fr);gap:7px}.pattern-card{padding:7px}.pattern-card strong{font-size:8px}.pattern-card small{font-size:5px;letter-spacing:.6px}.pattern-graphic{height:37px}.field-pair{gap:13px}.section-heading h2{font-size:12px}.section-intro{font-size:10px}.number-field input{font-size:13px;padding:9px}.number-field>span,.field-label{font-size:10px}.fraction-fields .number-field>span{font-size:9px}.segmented button{font-size:11px}.workspace-column{height:460px;flex-shrink:0;order:1}.workspace-toolbar{height:48px;padding:0 13px}.view-switch{gap:12px}.boundary-button span{display:inline;font-size:8px}.repeat-switch button{padding:5px 9px}.viewport{min-height:0}.viewport-caption{font-size:6px}.workspace-status{font-size:7px;padding-top:9px;min-height:25px}.zoom-bar{bottom:40px}.canvas-bottom-caption{bottom:15px}.canvas-bottom-caption span:first-child{display:none}.canvas-bottom-caption span:last-child{font-size:5px}.app-footer{margin-top:4px;align-items:flex-start}.app-footer>span{font-size:5px;max-width:130px;line-height:1.8}.app-footer>button{font-size:6px;max-width:150px}.dialog{padding:32px 23px 24px}.dialog h2{font-size:27px}.dialog p,.dialog .field-label{font-size:10px}.export-summary{font-size:9px}.resolution-options button{font-size:12px}.canvas-empty h3{font-size:21px}.canvas-empty p{font-size:9px}.palette-grid{grid-template-columns:repeat(4,1fr)}.palette-grid button{font-size:7px}.material-swatch{height:45px}.palette-grid button>svg{width:10px;bottom:4px;right:3px}.joint-diagram{max-width:260px;margin:15px auto}.info-note{margin-top:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:581px){.app-shell{height:100dvh;min-height:760px}.editor-layout{height:auto;min-height:450px;max-height:none}.app-header,.editor-heading,.app-footer{flex-shrink:0}.panel-scroll{min-height:0}.number-field input{font-size:13px}.number-field>span,.field-label{font-size:11px}.section-heading h2,.section-heading h3{font-size:12px}.section-intro{font-size:11px}.inline-note{font-size:10px}.panel-tabs button{font-size:12px}.pattern-card strong{font-size:11px}.pattern-card small{font-size:7px}.segmented button{font-size:11px}.fraction-fields .number-field>span{font-size:10px}.reset-button,.workspace-toolbar button{font-size:11px}.workspace-status{font-size:10px}.canvas-bottom-caption{font-size:9px}.canvas-bottom-caption span:last-child{font-size:8px}.viewport-caption{font-size:8px}.zoom-bar span{font-size:11px}.eyebrow{font-size:9px}.material-summary h3{font-size:13px}.material-summary div:last-child>span:last-child{font-size:9px}.material-summary .eyebrow{font-size:8px}.inspector-title h2{font-size:12px}.repeat-info .eyebrow{font-size:8px}.repeat-info p,.seam-info p{font-size:10px}.seam-info dl{font-size:11px}.text-button{font-size:10px}.demo-section>.eyebrow{font-size:8px}.demo-button b{font-size:12px}.demo-button small{font-size:10px}.inspector-footnote p{font-size:9px}.header-file-button,.primary-button{font-size:12px}.project-heading input{font-size:14px}.palette-grid button{font-size:10px}.color-field,.slider-field>span{font-size:12px}.info-note p{font-size:10px}.joint-swatches button{width:28px;height:28px}.validation-box p{font-size:11px}.validation-box strong{font-size:12px}.view-switch{gap:12px}}@media(min-width:581px)and (max-width:800px){.editor-layout{grid-template-columns:235px minmax(0,1fr)}.panel-collapsed{grid-template-columns:minmax(0,1fr)}.workspace-toolbar button{font-size:9px}.workspace-status{font-size:8px}.canvas-bottom-caption span:last-child{font-size:6px}.section-intro{font-size:10px}}@media(max-width:580px){.app-shell{height:auto;min-height:100vh}.number-field input{width:100%}.viewport-caption{font-size:7px}.workspace-toolbar button{font-size:10px}.boundary-button span{display:none}.canvas-bottom-caption span:last-child{font-size:7px}.workspace-status{font-size:8px}.pattern-card strong{font-size:9px}.pattern-card small{font-size:6px}.inline-note{font-size:10px}}.material-list{display:flex;flex-direction:column;gap:6px;margin:15px 0 11px}.material-row{display:flex;align-items:center;gap:1px;border:1px solid #dfe5d6;border-radius:5px;background:#f3f6ec;padding:5px}.material-row.active{border-color:#829976;background:#e9efdf}.material-row.hidden-material{opacity:.5}.material-select{display:flex;gap:9px;align-items:center;flex:1;min-width:0;text-align:left;padding:0}.material-select>span:last-child{min-width:0}.material-select b{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.material-select small{display:block;font-size:8px;color:#8c9e7e;margin-top:5px}.material-thumb{display:flex;width:35px;height:36px;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:3px;font:italic 18px Georgia;color:#ffffff91}.material-thumb img{width:100%;height:100%;object-fit:cover}.material-row>.icon-button{min-width:23px;height:25px;padding:0}.material-actions{display:flex;align-items:center;gap:8px}.material-actions>.secondary-button{flex:1;font-size:11px}.material-actions>.icon-button{border:1px solid #d6e0c9;background:#eef3e5}.text-field,.select-field{display:block;font-size:10px;color:#829575;margin:16px 0}.text-field input,.select-field select{display:block;width:100%;border:1px solid #d9e2cc;background:#f1f5e9;padding:9px;border-radius:4px;font-size:12px;color:#4e6840;margin-top:7px}.text-field input:focus,.select-field select:focus{border-color:#799767}.source-preview{border:1px solid #d9e4cd;background:#e8eddf;border-radius:5px;overflow:hidden;margin:18px 0}.source-preview>img{display:block;width:100%;height:135px;object-fit:contain;background:#e1e6d7}.source-preview>span{display:block;font-size:9px;color:#8ca077;padding:8px 10px}.source-preview button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;background:#dfe9d3;font-size:11px;color:#5c7947;border-top:1px solid #d0dfc0}.check-field{display:flex;align-items:center;gap:8px;font-size:10px;line-height:1.5;color:#7a9166;margin:16px 0}.check-field input{accent-color:#577b42;flex-shrink:0;width:13px;height:13px}.source-warning{padding:10px;border:1px solid #ded0b3;background:#f8f0df;border-radius:4px;font-size:10px;line-height:1.8;color:#a28454}.defined-fields{border-left:2px solid #d6e2ca;padding-left:10px}.manual-card{padding:15px 12px;border-radius:5px;background:#e9f0df;border:1px solid #d7e4c9;display:flex;flex-direction:column;gap:13px;margin-top:24px}.manual-card>b{font-size:11px;font-weight:500;color:#6b8953}.manual-card>small{font-size:9px;line-height:1.8;color:#94a780}.manual-card .primary-button{font-size:11px;padding:10px}.manual-card .text-button{line-height:1.6;text-align:left}.interaction-tools{position:absolute;top:75px;right:17px;z-index:3;display:flex;flex-direction:column;gap:3px;padding:4px;border:1px solid #d2ddc6;background:#f7faf0ed;border-radius:5px;box-shadow:0 2px 10px #40543310}.interaction-tools button{height:30px;width:30px;color:#97a889;display:grid;place-items:center;border-radius:3px}.interaction-tools button.active{color:#4e7339;background:#dfead2}.interaction-tools button:hover{background:#e5eeda}.crop-dialog{width:min(920px,calc(100vw - 30px))}.crop-tools{display:flex;gap:9px;margin:20px 0;flex-wrap:wrap}.crop-tools button{display:flex;gap:6px;align-items:center;border:1px solid #d4e1c5;background:#edf4e3;padding:9px 12px;border-radius:4px;font-size:11px;color:#8ca475}.crop-tools button.active{color:#486d30;background:#dcebcf;border-color:#93b37b}.crop-stage{position:relative;width:100%;margin:auto;border:1px solid #a7bc96;background:#e6ecd9;touch-action:none;user-select:none;overflow:hidden}.crop-stage.drawing{cursor:crosshair}.crop-stage>img{width:100%;height:100%;display:block;pointer-events:none}.crop-stage svg{position:absolute;inset:0;width:100%;height:100%}.crop-stage svg rect{stroke:#e9f9da;fill:#dff4c522;stroke-width:1.5px;vector-effect:non-scaling-stroke}.crop-stage svg .selected-crop{stroke:#f6d76f;fill:#f6d76f16;stroke-width:2px}.crop-stage svg .draft-crop{stroke:#fff;stroke-dasharray:5 3;fill:#fff2}.crop-stage svg text{fill:#fff;font:600 28px sans-serif;paint-order:stroke;stroke:#35482b;stroke-width:3px;pointer-events:none}.crop-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.crop-list>div{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #dde6d1;border-radius:4px;background:#f0f6e7}.crop-list>div.active{border-color:#99b67e}.crop-pick{display:flex;align-items:center;gap:8px;text-align:left;flex:1;padding:0}.crop-pick b{width:21px;height:24px;background:#dceacb;display:grid;place-items:center;color:#708d57;font-size:11px}.crop-pick>span{font-size:9px;color:#94a780}.crop-list .number-field{width:78px}.crop-list .number-field>span{font-size:8px}.crop-list .number-field input{font-size:11px;padding:6px}.crop-list .icon-button{min-width:22px;height:25px}.crop-list .number-field>div{min-height:28px}@media(min-width:1101px){.editor-layout{grid-template-columns:310px minmax(0,1fr) 231px}}@media(min-width:1101px)and (max-width:1280px){.editor-layout{grid-template-columns:285px minmax(0,1fr) 195px}.workspace-toolbar{padding:0 10px}.workspace-toolbar button{font-size:10px}}@media(max-width:580px){.crop-dialog{padding:30px 17px 20px}.crop-list{grid-template-columns:1fr}.crop-tools{gap:5px}.crop-tools button{font-size:9px;padding:7px}.material-select b{font-size:12px;max-width:180px}.material-select small{font-size:9px}.text-field,.select-field,.check-field{font-size:11px}.source-preview>img{height:140px}.interaction-tools{top:65px;right:9px}.interaction-tools button{width:25px;height:25px}.manual-card .text-button{font-size:10px}}.viewport{user-select:none}.material-list{max-height:220px;overflow-y:auto}.render-indicator{right:60px}.panel-tabs{padding:0 5px;gap:0}.panel-tabs button{font-size:10px;gap:4px}.view-dimension{display:flex;border:1px solid #d5dfca;border-radius:4px;padding:3px;gap:3px}.view-dimension button{padding:6px 10px;font-size:11px;color:#89977d}.view-dimension button[aria-pressed=true]{background:#344f40;color:#fff;border-radius:3px}.three-host{flex:1;min-height:260px;position:relative}.three-host canvas{display:block;width:100%;height:100%;touch-action:none}.three-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:10px 20px;background:#f6f8f0;border-top:1px solid #dce4d2}.three-controls .slider-field{margin:8px 0}.three-caption{font-size:9px;line-height:1.7;color:#899a79;padding:7px 20px 12px}.three-error{position:absolute;top:70px;left:30px;background:#fff7e7;padding:15px;color:#9b7148}.three-workspace select{background:#edf2e4;border:1px solid #d1dfc4;padding:7px;color:#57713f}.three-workspace .workspace-toolbar strong{font-size:12px}@media(max-width:580px){.three-controls{padding:8px 12px;gap:0 10px}.three-controls .slider-field>span{font-size:9px}.three-host{min-height:220px}.view-dimension button{padding:5px;font-size:10px}.three-caption{font-size:8px}.three-workspace .workspace-toolbar{padding:0 8px}}.three-controls,.three-caption{flex-shrink:0}.three-caption{background:#f6f8f0}.pbr-fieldset{border:0;padding:0;margin:0;min-width:0}.pbr-fieldset:disabled{opacity:.45}.map-chips{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.map-chips button{border:1px solid #cfdec1;border-radius:3px;padding:6px 8px;background:#edf5e4;font-size:9px;color:#65814f}.map-select{max-width:95px;background:#f1f5e9;border:1px solid #d4dfc9;border-radius:4px;padding:5px;font-size:9px;color:#789366}.workspace-toolbar,.workspace-toolbar .view-switch{gap:5px}@media(max-width:580px){.map-select{max-width:75px;font-size:8px}.panel-tabs{padding:0 3px}.panel-tabs button{font-size:9px;gap:3px}.workspace-toolbar .view-switch svg{display:none}}.zip-map-options{padding:15px 0}.zip-map-options .map-chips label{display:flex;gap:5px;align-items:center;font-size:10px;color:#80956c}.zip-map-options input{accent-color:#52763b}.export-progress{display:flex;gap:7px;align-items:center;font-size:11px;color:#819e67}.export-dialog .export-main{margin:5px 0}.project-loading{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;background:#eeece6ed;color:#344f40;font-size:18px}.advanced-glyph{height:90px;background:#e4e9dd;overflow:hidden;border:1px solid #c4d3b7;border-radius:4px}.advanced-glyph svg{width:100%;height:100%;fill:#9aac8c;stroke:#e4e9dd;stroke-width:1}.vector-options{margin-top:15px;padding-top:5px;border-top:1px solid #d4dfca}.vector-options .field-pair button{padding:10px}.export-dialog{max-height:90vh;overflow-y:auto}.cloud-dialog{width:min(960px,94vw);max-height:90vh;overflow-y:auto}.cloud-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:25px 0;border-bottom:1px solid #d8e2ce;padding-bottom:10px}.cloud-tabs button{padding:9px 11px;font-size:11px;border-radius:4px;background:#edf3e5}.cloud-tabs button[aria-pressed=true]{background:#344f40;color:#fff}.cloud-content{min-height:230px}.cloud-content h3{font:24px Georgia;color:#344f40}.cloud-content h4{font-size:14px;color:#344f40;margin:20px 0 12px}.cloud-content p{font-size:12px;line-height:1.8}.cloud-content fieldset{padding:0;border:0;min-width:0}.cloud-content .check-field{line-height:1.7;align-items:flex-start}.cloud-content .check-field input{margin-top:4px;flex-shrink:0}.cloud-row-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.cloud-project-list{display:flex;flex-direction:column;gap:9px;margin:16px 0}.cloud-project-list article{padding:14px;border:1px solid #d6e2cb;border-radius:5px;background:#f5f8ef;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center}.cloud-project-list strong,.cloud-gallery-grid strong{font-size:13px;display:block;overflow-wrap:anywhere}.cloud-project-list small,.cloud-gallery-grid small{display:block;font-size:10px;line-height:1.8;color:#819574;margin-top:6px;overflow-wrap:anywhere}.cloud-inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px}.cloud-inline-actions button,.cloud-project-list button{font-size:11px}.cloud-form{max-width:430px}.cloud-form .primary-button{margin:10px 0}.cloud-save-card{border:1px solid #ccdaba;border-radius:5px;background:#eef4e5;padding:18px;margin:20px 0}.cloud-save-card>strong{font-size:13px}.cloud-inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:20px 0}.cloud-inline-form input,.cloud-inline-form select{flex:1;min-width:120px;border:1px solid #ccdaba;background:#f1f5e9;padding:10px;border-radius:4px;color:#4e6840;font-size:12px}.cloud-inline-form button{font-size:11px}.cloud-detail{border-top:2px solid #bbccb1;margin-top:25px;padding-top:8px}.cloud-detail details{padding:15px 0;border-bottom:1px solid #d8e2ce;font-size:12px}.cloud-detail summary{cursor:pointer;color:#49643c}.cloud-history{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:8px 0;font-size:11px}.cloud-share-section,.cloud-publish-section{padding:5px 0 20px;border-bottom:1px solid #d8e2ce}.cloud-share-section .text-field{max-width:550px}.cloud-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.cloud-gallery-grid article{background:#f2f7e9;border:1px solid #d6e2cb;border-radius:5px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.cloud-gallery-grid img{width:100%;height:125px;object-fit:contain;background:#e5ebdd;border-radius:3px}.cloud-gallery-grid button{font-size:11px;overflow-wrap:anywhere}.cloud-snapshot-image{display:block;max-width:100%;max-height:330px;object-fit:contain;background:#e5ebdd;border:1px solid #c6d7b5;padding:10px;margin:15px auto}.cloud-snapshot-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;background:#eff4e6}.cloud-snapshot-facts dt{font-size:10px;color:#829574}.cloud-snapshot-facts dd{font-size:12px;margin:6px 0 0;overflow-wrap:anywhere}.cloud-task{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;background:#e5edd9;border:1px solid #bdcda9;padding:12px;margin-top:15px;font-size:12px;flex-wrap:wrap}.cloud-notice{padding:12px;background:#e6efdc;border:1px solid #c9dbb8;font-size:12px;line-height:1.8}.cloud-offline{padding:15px;background:#eff3e7;border:1px solid #d1ddc4}.cloud-admin{background:#e9efe1;padding:10px}.danger{color:#a15540!important}@media(max-width:650px){.cloud-dialog{padding:30px 16px 20px}.cloud-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-tabs button{font-size:10px;padding:8px}.cloud-history{align-items:flex-start;flex-wrap:wrap}.cloud-project-list article{padding:10px}.cloud-inline-actions{gap:8px}.cloud-snapshot-facts{grid-template-columns:1fr}.header-actions .library-button{width:27px;min-width:27px;padding:4px}}@media(max-width:420px){.cloud-gallery-grid{grid-template-columns:1fr}.cloud-inline-form input,.cloud-inline-form select{min-width:100px}.cloud-tabs{gap:4px}.cloud-tabs button{font-size:9px;padding:8px 6px}}.header-actions .library-button,.header-actions .source-button{display:inline-flex}.source-dialog{width:min(620px,calc(100vw - 24px))}.source-dialog p{line-height:1.7;overflow-wrap:anywhere}.source-dialog .text-field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px}.source-dialog input{max-width:100%;min-width:0;box-sizing:border-box}.source-dialog input[type=file]{font-size:12px}.source-dialog .dialog-footnote{display:block;margin-top:22px;line-height:1.7}@media(max-width:650px){.source-dialog{padding:32px 18px 24px}.header-actions .source-button{width:25px;min-width:25px;padding:4px}}.device-library-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:24px 0 12px}.device-library-filters .text-field{flex:1;min-width:140px;display:flex;flex-direction:column;gap:8px;font-size:12px}.device-library-filters .select-field{margin:0;min-width:130px}.device-library-filters .check-field{padding-bottom:9px}.device-library-count{font-size:12px;color:#687a5a}.device-preset-heading{display:flex;align-items:center;gap:12px}.device-preset-swatch{width:40px;height:40px;border-radius:5px;border:1px solid #bac9ab;flex-shrink:0}.device-presets .cloud-project-list article{display:block}.device-presets .cloud-inline-actions{margin-top:15px}.device-presets .cloud-inline-form input{min-width:120px}@media(max-width:650px){.device-library-filters{align-items:stretch;gap:10px}.device-library-filters .check-field{width:100%}.device-presets .cloud-inline-form{flex-direction:column;align-items:stretch}.device-presets .cloud-inline-form input{width:100%;min-width:0}.device-presets .cloud-inline-form select{width:100%}}.technical-legend{position:absolute;z-index:4;left:18px;bottom:65px;width:235px;max-width:calc(100% - 85px);max-height:40%;overflow:auto;background:#f9fbf4f5;border:1px solid #b9c9ad;border-radius:6px;padding:11px;color:#405c35;font-size:11px;box-shadow:0 3px 12px #233b251a}.technical-legend summary{cursor:pointer;font-weight:600}.technical-legend p{font-size:10px;line-height:1.5;margin:9px 0 0}.technical-legend ul{list-style:none;padding:0;margin:10px 0}.technical-legend li{display:flex;gap:7px;align-items:center;margin:7px 0}.technical-legend li>span:first-child{width:14px;height:14px;border:1px solid #60705b;border-radius:2px;flex-shrink:0}.technical-legend li b{font-weight:500;overflow-wrap:anywhere;flex:1;min-width:0}.technical-legend li>span:last-child{white-space:nowrap}@media(max-width:580px){.technical-legend{left:10px;bottom:60px;width:180px;max-height:30%}}.catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.catalog-filters label{font-size:11px;min-width:0}.catalog-filters select{display:block;width:100%;padding:8px;margin-top:6px;background:#f3f6ed;border:1px solid #cad7c1;border-radius:4px;color:#405d36;min-width:0}.catalog-card{border:1px solid #cad6bf;border-radius:6px;padding:15px;margin:14px 0;overflow-wrap:anywhere}.catalog-card h3{margin:0;font-size:15px}.catalog-card p{font-size:11px;line-height:1.7}.catalog-card a{text-decoration:underline;color:#376b46}.catalog-card small{display:block;font-size:10px;line-height:1.6;margin-top:10px}.catalog-image{width:160px;max-height:110px;object-fit:contain}.catalog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.catalog-actions button,.catalog-panel>button{padding:8px 10px;background:#e8f0dd;border:1px solid #b4c6a4;border-radius:4px;font-size:11px}.catalog-actions button:disabled{opacity:.45}@media(max-width:580px){.catalog-filters{grid-template-columns:1fr}.catalog-card{padding:11px}}:root{--pine:#304d40;--pine-dark:#203b2e;--line:#e0e4dc}.app-shell{height:100dvh;min-height:600px;background:#eef0eb;overflow:hidden}.app-header{height:56px;min-height:56px;padding:0 20px;gap:24px;background:#fff;border-bottom:1px solid #dce1d8;z-index:8}.brand>span:last-child{font-size:21px}.brand-mark{width:28px;height:28px}.brand small{display:none}.project-heading input{font-size:13px}.project-state{font-size:10px}.header-actions{gap:8px}.header-file-button{font-size:12px}.app-header .primary-button{padding:10px 16px;font-size:12px}.editor-heading{position:absolute;right:18px;top:65px;z-index:6;padding:0;height:36px;gap:0}.editor-heading>div:first-child,.phase-label{display:none}.editor-top-actions{gap:10px}.view-dimension{height:34px;background:#fff;border:1px solid #d6ded2;border-radius:6px}.view-dimension button{font-size:12px}.history-actions{background:#fff;border-radius:6px;border:1px solid #d6ded2}.history-actions .icon-button{height:33px;min-width:32px;border:0;background:transparent}.help-button{display:none}.editor-layout{position:relative;display:block;flex:1;padding:0;min-height:0;height:auto;max-height:none}.control-panel{position:absolute;left:18px;top:10px;bottom:18px;width:300px;z-index:5;min-height:0;background:#fff;border:1px solid #d6ded2;border-radius:10px;box-shadow:0 8px 24px #263b2912;overflow:hidden;display:flex;flex-direction:column}.panel-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:53px;padding:0 8px;background:#fff;flex-shrink:0;gap:1px}.panel-tabs button{display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:10px;padding:6px 1px;min-width:0;color:#788171}.panel-tabs button svg{width:15px;height:15px}.panel-tabs button.active{color:#304d40;background:#f0f4ed}.panel-tabs button.active:after{left:8px;right:8px}.panel-scroll{padding:16px;scroll-padding:16px}.section-heading h2,.section-heading h3{font-size:13px;color:#344734}.section-intro{font-size:11px}.section-heading>span{display:none}.quick-source{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}.quick-source-current{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:0}.quick-source-current>span:nth-child(2){min-width:0;flex:1}.quick-source-current small{font-size:8px;letter-spacing:1px;color:#7d8777;display:block;margin-bottom:5px}.quick-source-current b{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#354735}.quick-source-image{width:44px;height:44px;flex-shrink:0;overflow:hidden;border-radius:5px;display:grid;place-items:center;color:#fff9}.quick-source-image img{width:100%;height:100%;object-fit:cover}.quick-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.quick-source-actions button{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 5px;border:1px solid #d5ddce;border-radius:5px;background:#f5f7f2;color:#3b5635;font-size:11px;white-space:nowrap}.source-hint{font-size:10px;line-height:1.6;color:#7b8474;margin:9px 0 0}.quick-heading{margin:0 0 9px}.pattern-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pattern-card{padding:5px 3px 6px;text-align:center;border-radius:5px}.pattern-graphic{height:23px;margin-bottom:4px}.pattern-card strong{font-size:8px;font-weight:500}.pattern-card small{display:none}.card-check{width:11px;height:11px}.pattern-chooser{margin:10px 0 0;font-size:10px}.pattern-chooser select{font-size:13px;background:#f3f5ee;padding:10px;margin-top:5px}.advanced-glyph{height:70px}.advanced-glyph+p{font-size:10px}.separated{padding-top:13px;margin-top:16px;margin-bottom:9px}.field-pair{gap:10px;margin-top:10px}.number-field>span,.field-label{font-size:11px;color:#6b7861;margin-bottom:5px}.number-field input{font-size:15px;padding:9px 10px;color:#344b30}.number-field>div{min-height:40px;background:#f2f5ed;border:1px solid #dce3d5;border-radius:5px}.number-field small{font-size:10px;color:#88917e}.inline-note{font-size:10px;line-height:1.6}.quick-joints .text-button{font-size:10px}.segmented button{font-size:11px}.seed-field .number-field input{font-size:13px}.reset-button{font-size:11px;padding:12px 16px;background:#fafbf7;min-height:40px}.workspace-column{position:absolute;inset:0;height:100%;min-height:0}.workspace{border:0;border-radius:0;background:#e9ede5}.workspace-toolbar{height:54px;padding:0 246px 0 342px;border:0;justify-content:flex-start;gap:12px;background:#eef0eb;z-index:2}.workspace-toolbar button{font-size:10px}.view-switch{gap:8px;flex-shrink:0}.view-switch button svg{display:none}.map-select{width:122px;font-size:11px;background:#fff;border:1px solid #d5ddce;padding:7px;border-radius:5px;min-width:0}.repeat-switch{flex-shrink:0;background:#fff}.repeat-switch button{padding:6px 7px}.boundary-button{flex-shrink:0}.boundary-button span{display:none}.backdrop-button{padding:6px;border:1px solid #d5ddce;border-radius:4px;background:#fff;color:#6a7e60;flex-shrink:0}.backdrop-button.active{background:#dce7d4;color:#314f2b}.viewport{margin-left:328px;min-height:0;background:#e9ede5;background-image:none}.texture-backdrop{position:absolute;inset:0;background-repeat:repeat;opacity:.52;pointer-events:none}.viewport-caption{top:18px;left:20px;color:#4a5c43;font-size:8px;background:#f7faf1d9;border-radius:4px;padding:6px 8px;letter-spacing:.8px}.canvas-stage{box-shadow:0 5px 28px #24332719;outline:1px dashed #4d624b80;outline-offset:6px}.dimension span{background:#f4f7eedb;color:#43563b}.canvas-corner{display:none}.canvas-bottom-caption{color:#455d3c;background:#f7faf1dc;padding:7px;border-radius:4px;font-size:9px;left:20px;right:20px;bottom:14px}.canvas-bottom-caption span:last-child{font-size:8px;letter-spacing:.4px}.zoom-bar{bottom:60px;background:#fff}.zoom-bar span{font-size:11px}.interaction-tools{top:72px;right:18px;background:#fff}.render-indicator{top:62px;right:65px;background:#fff;font-size:11px}.workspace-status{font-size:10px;min-height:30px;padding:7px 20px 7px 342px;background:#eef0eb}.workspace-status span{white-space:nowrap}.technical-legend{left:348px;bottom:85px}.surface-info{position:absolute;z-index:6;right:18px;bottom:44px;width:235px;background:#fff;border:1px solid #cfdbc4;border-radius:6px;box-shadow:0 4px 20px #25352816;font-size:11px;color:#46613c}.surface-info>summary{cursor:pointer;padding:10px 12px;list-style-position:inside}.surface-info[open]{max-height:calc(100% - 110px);overflow:auto}.surface-info .inspector{display:block!important;padding:0 14px 14px;max-height:100%;overflow:visible}.surface-info .inspector-title{padding:6px 0 12px}.surface-info .repeat-dimensions{font-size:24px}.surface-info .demo-section{padding-top:14px}.inspector-footnote,.app-footer,.panel-collapsed .control-panel{display:none}.panel-collapsed .viewport{margin-left:0}.panel-collapsed .workspace-toolbar,.panel-collapsed .workspace-status{padding-left:20px}.panel-collapsed .technical-legend{left:20px}.three-host,.three-controls,.three-caption{margin-left:328px}.three-host{min-height:120px}.three-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 20px}.three-caption{font-size:10px}.panel-collapsed .three-host,.panel-collapsed .three-controls,.panel-collapsed .three-caption{margin-left:0}.dialog{background:#fff;color:#405438}.dialog p{color:#65765b;font-size:12px}.dialog h2{font-size:27px}.cloud-tabs button{font-size:11px}.dialog-close{position:sticky;top:0;float:right;background:#fff;border-radius:4px;z-index:2}.catalog-card p{color:#62745a}.text-field,.select-field,.check-field{font-size:11px}.text-field input,.select-field select{font-size:13px}.material-select b{font-size:12px}.material-select small{font-size:9px}.slider-field>span,.color-field{font-size:12px}.slider-field b{font-size:12px}@media(max-width:1050px)and (min-width:761px){.control-panel{left:12px;width:280px}.viewport{margin-left:300px}.workspace-toolbar{padding-left:312px;padding-right:235px;gap:7px}.map-select{width:100px}.workspace-status{padding-left:312px;font-size:9px}.technical-legend{left:316px}.view-switch{display:none}}@media(max-width:1050px)and (min-width:761px){.three-host,.three-controls,.three-caption{margin-left:300px}.three-controls{grid-template-columns:1fr 1fr}}@media(max-width:760px){.three-host,.three-controls,.three-caption{margin-left:0}.three-controls{grid-template-columns:1fr 1fr;padding:8px 12px}.three-controls .slider-field{margin:4px 0}.three-controls .number-field input{font-size:13px}.three-caption{font-size:9px;padding:7px 12px}.three-workspace .workspace-toolbar strong{font-size:10px}.three-workspace .workspace-toolbar select{max-width:110px;font-size:11px}}@media(max-width:760px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.app-header{padding:0 12px;gap:12px;height:54px;min-height:54px}.brand>span:last-child{font-size:18px}.project-heading{display:none}.header-actions{margin-left:auto;gap:3px}.header-actions .header-file-button{padding:7px 4px}.header-file-button span{display:none}.app-header .primary-button{padding:9px 11px;font-size:11px}.header-actions>.icon-button{display:grid;min-width:25px}.header-actions>.source-button{display:none}.editor-heading{position:static;justify-content:flex-end;height:42px;padding:4px 12px;background:#fff}.editor-top-actions{gap:7px}.mobile-panel-toggle{display:grid;min-width:30px;height:32px}.editor-layout{display:flex;flex-direction:column;min-height:0;flex:none;height:auto;gap:12px;padding:0 12px 16px}.workspace-column{position:relative;inset:auto;order:1;height:430px;flex:none;width:100%}.workspace{border-radius:7px;border:1px solid #d7dfd0}.workspace-toolbar{height:46px;padding:0 8px;gap:7px;justify-content:space-between;background:#f6f8f2}.workspace-toolbar button{font-size:9px}.map-select{font-size:10px;width:104px;padding:6px}.view-switch{display:none}.repeat-switch button{padding:5px 6px}.backdrop-button{padding:5px}.viewport{margin-left:0;min-height:0}.control-panel{position:relative;inset:auto;order:2;width:100%;max-height:530px;min-height:0;flex:none}.panel-tabs{height:49px;padding:0 10px}.panel-tabs button{font-size:11px;flex-direction:row;gap:3px}.panel-tabs button svg{width:13px}.panel-scroll{padding:17px}.pattern-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pattern-card strong{font-size:10px}.pattern-graphic{height:30px}.workspace-status{padding:7px 2px;font-size:8px;min-height:28px}.workspace-status>span{gap:3px}.workspace-status .status-divider{margin:0 2px}.viewport-caption{top:12px;left:12px;font-size:7px}.canvas-bottom-caption{left:10px;right:10px;bottom:10px;padding:5px}.canvas-bottom-caption span:first-child{display:none}.canvas-bottom-caption span:last-child{font-size:7px}.zoom-bar{bottom:48px}.interaction-tools{top:61px;right:10px}.technical-legend{left:10px;bottom:74px;width:175px;max-height:40%}.surface-info{position:relative;inset:auto;order:3;width:100%;max-height:none}.surface-info[open]{max-height:420px}.surface-info .inspector{padding:0 15px 15px}.surface-info .material-summary{padding:12px 0}.panel-collapsed .control-panel{display:none}.cloud-dialog{padding:24px 16px}.quick-source-actions button{font-size:12px}.section-heading h2{font-size:14px}.number-field input{font-size:16px}.number-field>span{font-size:12px}.source-hint{font-size:11px}.toast{font-size:11px;bottom:12px}.render-indicator{font-size:10px;right:50px;top:55px}}@media(max-width:760px){.app-header .project-heading{position:absolute;display:flex;top:64px;left:12px;width:135px;z-index:7;max-width:135px}.app-header .project-divider,.app-header .project-state{display:none}.app-header .project-heading input{width:135px;font-size:12px;padding:0;height:24px}}@media(max-width:760px){.app-header .header-actions>.source-button{display:grid;position:absolute;left:158px;top:64px;width:28px;height:28px;z-index:7;background:#fff;border:1px solid #d6ded2;border-radius:4px}}@media(max-width:360px){.editor-heading{height:76px;align-items:flex-end}}.quick-open-textures{display:flex;align-items:center;gap:7px;width:100%;padding:10px;margin-top:8px;border:1px solid #b5c8a8;border-radius:5px;color:#304f28;background:#edf4e4;font-size:12px}.quick-open-textures span{margin-left:auto;font-size:9px;color:#718864}.open-texture-dialog{width:min(940px,calc(100vw - 30px));overflow:auto}.open-texture-dialog h2{margin-top:10px}.open-texture-filters{display:grid;grid-template-columns:2fr 1fr;gap:16px}.open-texture-filters label{margin:8px 0}.open-texture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.open-texture-card{border:1px solid #d3ddca;border-radius:7px;overflow:hidden;background:#fbfcf8;min-width:0}.open-texture-card>img{display:block;width:100%;height:140px;object-fit:cover;background:#e4e9dd}.open-texture-card>div{padding:12px}.open-texture-card h3{font-size:14px;margin:0 0 8px;color:#354e2f}.open-texture-card p{font-size:11px;line-height:1.6;margin:8px 0}.open-texture-card small{display:block;line-height:1.5;color:#78866c;font-size:9px}.open-texture-card a,.open-texture-credit a{text-decoration:underline}.open-texture-card .primary-button{width:100%;justify-content:center;font-size:12px;padding:10px;margin-top:5px}.open-texture-card .text-button{margin-top:10px;font-size:11px}.open-cache-status{font-size:10px;color:#648051}.open-texture-credit{font-size:11px!important;border-top:1px solid #dce5d3;padding-top:13px}.open-texture-dialog .cloud-task,.open-texture-dialog>.error-message{position:sticky;bottom:0;background:#fff;padding:12px;border:1px solid #cadabf;border-radius:4px;z-index:2}.open-surface-option{font-size:12px;line-height:1.6}@media(max-width:650px){.open-texture-grid{grid-template-columns:1fr 1fr;gap:10px}.open-texture-dialog{padding:22px 14px}.open-texture-card>img{height:115px}.open-texture-card>div{padding:10px}.open-texture-card h3{font-size:13px}.open-texture-filters{grid-template-columns:1fr;gap:0}.open-texture-card .primary-button{font-size:10px}.open-texture-credit{line-height:1.7!important}}.validation-area{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:48px 24px 64px;overflow:auto;z-index:2}.validation-notice{width:100%;max-width:460px;max-height:100%;overflow:auto;background:#fffdf8;border:1px solid #d3b98b;border-radius:9px;padding:24px;box-shadow:0 6px 25px #54452d14;color:#5d4b2c;text-align:left}.validation-notice>svg{color:#a77b33}.validation-notice h3{font-size:18px;line-height:1.4;font-weight:600;margin:12px 0}.validation-summary{font-size:12px;color:#7d6d4c;margin:0 0 15px}.validation-notice ul{padding-left:19px;font-size:13px;line-height:1.8;margin:12px 0 20px}.validation-actions{display:flex;flex-wrap:wrap;gap:9px}.validation-actions button{padding:11px 13px;font-size:12px}.validation-footnote{font-size:11px;color:#847558;line-height:1.6;margin:14px 0 0}.validation-3d-area{position:relative;flex:1;min-height:0;margin-left:328px}@media(min-width:761px)and (max-width:1050px){.validation-3d-area{margin-left:300px}}@media(max-width:760px){.validation-area{padding:12px 14px 42px}.validation-notice{padding:16px}.validation-notice h3{font-size:15px;margin:8px 0}.validation-notice ul{font-size:12px;margin:8px 0 14px}.validation-actions button{padding:9px 10px;font-size:11px}.validation-summary{font-size:11px;margin-bottom:8px}.validation-3d-area{margin-left:0}}.studio-shell{--studio-left:clamp(24px,6vw,80px);--studio-top:clamp(24px,7.8vh,70px);--studio-width:302px;--studio-ink:#242724;--studio-fill:#edede9;--line:#ededeb;height:100dvh;max-width:none;overflow:hidden;color:var(--studio-ink);background:#e6e6e1;font-family:Arial,system-ui,sans-serif}.studio-shell .editor-layout{position:absolute;inset:0;display:block;padding:0;min-height:0;height:100%;max-height:none}.studio-shell .workspace-column{position:absolute;inset:0;height:100%;width:100%;order:0}.studio-shell .workspace{border:0;border-radius:0;background:#e6e6e1}.studio-shell .viewport{margin-left:0;min-height:0;background:#e6e6e1}.studio-shell .texture-backdrop{opacity:1}.studio-shell .canvas-stage{box-shadow:none;outline:3px dotted #252925;outline-offset:5px}.studio-shell .dimension,.studio-shell .viewport-caption,.studio-shell .canvas-bottom-caption,.studio-shell .workspace-status{display:none}.studio-shell .workspace-toolbar{position:absolute;bottom:24px;right:24px;top:auto;height:36px;padding:4px;background:#ffffffed;border:1px solid #deded8;border-radius:7px;z-index:5;gap:5px}.studio-shell .repeat-switch{background:transparent}.studio-shell .repeat-switch button{padding:7px 9px;font-size:11px}.studio-shell .boundary-button,.studio-shell .backdrop-button{padding:6px;border:0;border-radius:4px}.studio-shell .backdrop-button.active{background:#e2e5df;color:#242724}.studio-shell .zoom-bar{bottom:24px;left:calc(50% + 100px);height:36px;box-shadow:0 2px 12px #0001;border-radius:7px;color:#454a42}.studio-shell .interaction-tools{top:84px;right:24px;background:#ffffffed;z-index:5}.studio-shell .technical-legend{left:auto;right:24px;bottom:75px;background:#fffffff2}.studio-shell .control-panel{position:absolute;z-index:7;left:var(--studio-left);top:var(--studio-top);bottom:var(--studio-top);width:var(--studio-width);max-height:none;min-height:0;background:#fff;border:0;border-radius:13px;box-shadow:0 5px 28px #0002;overflow:hidden}.studio-shell .app-header{position:relative;flex:none;height:52px;min-height:52px;background:#fff;border-bottom:1px solid #f0f0ed;padding:0 15px;gap:12px;width:100%;z-index:1}.studio-shell .brand{gap:0}.studio-shell .brand>span:last-child{display:none}.studio-shell .brand-mark{width:24px;height:26px;gap:2px;transform:none}.studio-shell .brand-mark i{border-radius:1px;background:#343c35}.studio-shell .brand-mark i:last-child{background:#8e9a89}.studio-shell .app-header .project-heading{position:static;display:flex;min-width:0;flex:1;max-width:none;width:auto;align-items:center}.studio-shell .project-heading input{width:100%;max-width:100%;height:28px;font-size:13px;font-weight:500;color:#343933;padding:3px 0}.studio-shell .project-divider{display:none}.studio-shell .project-state{position:absolute;top:40px;left:52px;width:230px;height:0;overflow:hidden;display:block}.studio-shell .studio-settings-button{height:28px;min-width:28px;flex:none;color:#81897b}.studio-save-status{display:flex;flex-direction:column;gap:5px;padding:13px;margin-top:20px;border-radius:8px;background:#f2f5ec;font-size:12px}.studio-save-status b{font-weight:500}.studio-shortcuts{font-size:11px;color:#777e6f;margin-top:20px}.studio-shortcuts>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0e6}.studio-shortcuts dd{margin:0;text-align:right;font-family:ui-monospace,Consolas,monospace}.studio-source-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 12px}.studio-source-tabs button{padding:9px 12px;border:1px solid #e0e5d7;border-radius:7px;font-size:12px;background:#f5f7f0;color:#526148}.studio-source-tabs button[aria-pressed=true]{background:#30392a;color:#fff;border-color:#30392a}.device-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#77826c;font-size:12px}.device-picker-save{display:flex;align-items:end;gap:12px;margin-bottom:16px;padding:12px;background:#f5f7f0;border-radius:8px}.device-picker-save label{flex:1;min-width:0}.device-picker-save button{margin-bottom:10px;font-size:12px;flex:none}.device-picker-grid,.studio-solid-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.device-picker-card{border:1px solid #e0e6d6;border-radius:10px;text-align:left;overflow:hidden;background:#f9fbf5}.device-picker-thumb{height:110px;position:relative;display:grid;place-items:center}.device-picker-thumb img{width:100%;height:100%;object-fit:cover}.device-picker-thumb>span{font-size:11px;color:#444;background:#fff9;padding:5px}.device-picker-card>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:10px}.device-picker-card b{font-size:12px;font-weight:500;word-break:break-word}.device-picker-card small{font-size:10px;width:100%;color:#7a8570}.studio-solid-grid button{border:1px solid #e0e6d6;border-radius:9px;overflow:hidden;text-align:left}.studio-solid-grid button>span{display:block;height:100px}.studio-solid-grid b{display:block;padding:12px;font-size:12px;font-weight:400}@media(max-width:760px){.device-picker-grid,.studio-solid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-picker-save{display:block}.device-picker-save button{margin:0}.studio-source-tabs button{flex:1;font-size:11px;padding:9px 6px}}.studio-shell .studio-view-tabs{display:flex;height:40px;flex:none;margin:14px 15px 0;border-radius:7px;overflow:hidden;background:var(--studio-fill)}.studio-view-tabs>button{flex:1;text-transform:uppercase;font-size:10px;padding:0 8px;color:#424740;border-right:1px solid #d8d9d3}.studio-view-tabs>button.active{background:#242724;color:#fff}.studio-view-tabs select{border:0;background:transparent;color:#424740;width:102px;min-width:0;font-size:10px;padding:0 5px;cursor:pointer;outline-offset:-3px}.studio-shell .panel-scroll{padding:0 15px 18px;scroll-padding:16px;scrollbar-width:thin;scrollbar-color:#dddeda transparent}.studio-shell .studio-section{padding:15px 0 13px;border-bottom:1px solid #efefeb}.studio-section h2{font-size:16px;font-weight:400;margin:0 0 10px;color:#282d27}.studio-section-heading{display:flex;align-items:center;justify-content:space-between}.studio-section-heading>button{padding:2px;color:#93988f;margin-bottom:8px}.studio-pattern-row{display:flex;gap:9px}.studio-pattern-select{display:flex;align-items:center;flex:1;min-width:0;background:var(--studio-fill);border-radius:10px;overflow:hidden}.studio-pattern-select select{border:0;appearance:none;min-width:0;flex:1;width:120px;background:transparent;padding:14px 12px;font:15px ui-monospace,Consolas,monospace;color:#292e28;cursor:pointer}.studio-pattern-select>button{padding:8px 10px;display:grid;place-items:center;flex:none}.studio-pattern-select svg{width:27px;height:27px;fill:#727a6c}.studio-reset{display:grid;place-items:center;background:var(--studio-fill);border-radius:10px;flex:none;width:47px;color:#3e463c}.studio-shell .field-pair{gap:10px;margin-top:13px}.studio-shell .number-field>span{font:10px ui-monospace,Consolas,monospace;letter-spacing:.4px;text-transform:uppercase;color:#858b80;margin-bottom:5px}.studio-shell .number-field>div{height:48px;min-height:48px;border:1px solid transparent;background:var(--studio-fill);border-radius:10px;overflow:hidden}.studio-shell .number-field:focus-within>div{border-color:#89917e;box-shadow:0 0 0 2px #89917e16}.studio-shell .number-field input{font:15px ui-monospace,Consolas,monospace;color:#252b24;text-align:right;background:transparent;padding:12px 8px;width:100%;outline:none;min-width:0}.studio-shell .number-field small{font-size:12px;padding-right:10px;color:#81867b}.studio-shell .number-field .field-error{display:block;padding:5px 0 0;color:#a35b32;font-size:10px}.studio-extent{font:11px ui-monospace,Consolas,monospace;color:#7f8779;text-transform:uppercase;margin:11px 0 0}.studio-pattern-note{font-size:11px;line-height:1.6;color:#68715f;background:#f3f5ed;border-radius:5px;padding:8px;margin:9px 0 0}.studio-shell .quick-source{border:0;margin:0;padding:0}.studio-shell .quick-source-current{background:var(--studio-fill);border-radius:10px;padding:9px 12px;height:48px;gap:8px}.studio-shell .quick-source-current>span:nth-child(2){order:0}.studio-shell .quick-source-current b{font:15px ui-monospace,Consolas,monospace;color:#292e28;font-weight:400}.studio-shell .quick-source-current small,.studio-shell .quick-source-current>svg{display:none}.studio-shell .quick-source-image{width:28px;height:28px;order:1;border-radius:50%}.studio-shell .quick-source-current>span:nth-child(2){flex:1}.studio-shell .quick-source-image img{width:100%;height:100%}.studio-shell .quick-source-actions{display:flex;gap:12px;margin:9px 0 0}.studio-shell .quick-source-actions button{border:0;background:none;padding:1px 0;font-size:10px;color:#727b6a;border-radius:0;gap:4px}.studio-shell .quick-source-actions svg{width:12px;height:12px}.studio-shell .source-hint{display:none}.studio-label{font:10px ui-monospace,Consolas,monospace;display:block;color:#858b80;letter-spacing:.4px;margin:14px 0 5px}.studio-source-row{display:flex;gap:9px;align-items:flex-start}.studio-source-row .quick-source{flex:1;min-width:0}.studio-source-row>.studio-reset{height:48px}.studio-shell .studio-source-row .quick-source-current{width:100%}.studio-source-row .quick-source-actions{width:272px}.studio-shell .studio-active-material{font-size:10px;color:#71776c;display:flex;align-items:center;gap:8px;margin-top:10px}.studio-active-material select{flex:1;min-width:0;border:0;background:#f3f3ee;padding:6px;border-radius:5px;font-size:11px}.studio-surface-options{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:8px;margin-top:3px}.studio-surface-options>div{min-width:0}.studio-surface-options .studio-label{font-size:9px;white-space:nowrap;letter-spacing:0}.studio-surface-options button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:48px;background:var(--studio-fill);border-radius:10px;color:#30352e}.studio-surface-options button span{font:11px ui-monospace,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-surface-options>div:not(:first-child) button span{display:none}.studio-map-options{display:flex;gap:9px}.studio-map-options button{height:48px;flex:1;background:var(--studio-fill);border-radius:10px;display:grid;place-items:center;color:#30352e}.studio-map-options button:hover,.studio-surface-options button:hover{background:#dedfd8}.studio-material-footer{margin-top:19px;display:flex;flex-direction:column;gap:10px}.studio-material-footer button{display:flex;align-items:center;gap:6px;color:#74796f;font-size:12px}.studio-material-footer button:disabled{opacity:.45}.studio-material-footer button:last-child{font-size:10px;color:#7d8474}.studio-color>div{display:flex;align-items:center;gap:8px;background:var(--studio-fill,#edede9);border-radius:10px;height:48px;padding:6px 12px}.studio-color input.studio-color-code{flex:1;min-width:0;width:100%;border:0;background:transparent;font:14px ui-monospace,Consolas,monospace;padding:4px 0;color:#30352e}.studio-color input[type=color]{border:0;border-radius:50%;width:29px;height:29px;padding:0;overflow:hidden;cursor:pointer;flex:none}.studio-color input[type=color]::-webkit-color-swatch-wrapper{padding:3px}.studio-color input[type=color]::-webkit-color-swatch{border:1px solid #0002;border-radius:50%}.studio-joint-profiles{margin-top:12px}.studio-shell .studio-joint-profiles .check-field{font-size:13px;color:#40463c;margin:8px 0}.studio-joint-profiles input{accent-color:#292e26}.studio-shell .studio-detail-dialog{width:min(390px,calc(100vw - 24px));max-width:390px;max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:14px;box-shadow:0 16px 65px #0003;overflow:auto;color:#30372b;background:#fff}.studio-detail-dialog::backdrop{background:#171c1740;backdrop-filter:blur(2px)}.studio-detail-dialog>header{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #eceee6;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}.studio-shell .studio-detail-dialog h2{font-size:18px;margin:0;outline:none}.studio-detail-dialog>header button{height:28px;min-width:28px}.studio-detail-content{padding:4px 20px 20px}.studio-detail-content>p{font-size:12px;line-height:1.6;color:#7b8373}.studio-detail-content .number-field{margin-top:16px}.studio-detail-content .field-pair .number-field{margin-top:0}.studio-detail-content .secondary-button{margin-top:14px;font-size:12px}.studio-detail-dialog>footer{position:sticky;bottom:0;padding:12px 18px;background:#fff;border-top:1px solid #eceee6}.studio-detail-dialog>footer button{height:40px;border:1px solid #353c30;border-radius:8px;width:100%;justify-content:center;background:#fff;color:#30372b}.studio-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.studio-choice-grid button{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #e7e9df;border-radius:9px;background:#f6f7f2;font-size:12px}.studio-choice-grid button[aria-pressed=true]{background:#e8ede1;border-color:#8c9c7d}.studio-setting-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px;background:var(--studio-fill);border-radius:10px;color:#323b2d;font:14px ui-monospace,Consolas,monospace;text-align:left}.studio-shell .slider-field{margin:15px 0 10px}.studio-shell .slider-field>span{font-size:11px;color:#7c8473}.studio-shell .slider-field input{margin:11px 0;background:#dedfd8!important}.studio-shell .slider-field input::-webkit-slider-thumb{background:#606a58}.studio-detail-links{display:flex;justify-content:space-between;gap:7px;margin-top:14px}.studio-detail-links>button{display:flex;align-items:center;gap:4px;font-size:10px;color:#78826d;text-align:left}.studio-shell .studio-joint-tint{display:block;font-size:10px;text-transform:uppercase;color:#858b80;margin:5px 0 10px}.studio-shell .studio-joint-tint>div{display:flex;justify-content:space-between;border:0;border-radius:10px;background:var(--studio-fill);padding:11px 12px;font:14px ui-monospace,Consolas,monospace;margin-top:6px;color:#31392c}.studio-shell .link-toggle{font-size:10px;color:#77816d;margin-top:10px}.studio-pattern-details{padding:14px 0;font-size:12px;color:#626c58}.studio-pattern-details>summary{cursor:pointer;list-style-position:inside}.studio-pattern-details[open]>summary{margin-bottom:17px}.studio-shell .studio-save{padding:10px 15px 7px;border-top:1px solid #f0f0ed;background:#fff;flex:none}.studio-shell .studio-save>.primary-button{width:100%;height:44px;border:1px solid #292e27;border-radius:10px;background:#fff;color:#252b23;justify-content:center;text-transform:uppercase;font-size:13px;letter-spacing:.5px}.studio-shell .studio-save>.primary-button:hover:not(:disabled){background:#272d23;color:#fff}.studio-shell .studio-save .header-actions{display:flex;justify-content:space-between;padding-top:6px;gap:0;width:100%;margin:0}.studio-shell .studio-save .header-actions button{display:flex;align-items:center;justify-content:center;min-width:28px;width:auto;height:26px;padding:3px;color:#8a9281;position:static;border:0;background:none}.studio-shell .studio-save .header-actions .header-file-button span{display:none}.studio-shell .studio-save .header-actions svg{width:14px;height:14px}.studio-shell .studio-save .header-actions .source-button{display:flex;position:static}.studio-shell .editor-heading{position:absolute;top:24px;right:24px;left:auto;z-index:9;padding:0;height:36px;background:#ffffffed;border-radius:7px;box-shadow:0 2px 12px #0001;width:auto;gap:0}.studio-shell .editor-heading>div:first-child,.studio-shell .phase-label{display:none}.studio-shell .editor-top-actions{gap:6px;padding:3px 5px}.studio-shell .view-dimension,.studio-shell .history-actions{border:0;height:28px}.studio-shell .view-dimension button{padding:5px 10px;border-radius:4px;font-size:11px}.studio-shell .view-dimension button[aria-pressed=true]{background:#292f25;color:#fff}.studio-shell .mobile-panel-toggle,.studio-shell .help-button{display:flex}.studio-shell .editor-top-actions .icon-button{height:28px;min-width:27px;color:#6c765f}.studio-shell .panel-tabs{flex:none;height:42px;padding:0 10px;background:#f8f9f5}.studio-shell .panel-tabs button{font-size:10px;flex-direction:row;gap:3px}.studio-shell .panel-tabs svg{display:none}.studio-shell .surface-info{bottom:76px;right:24px;width:220px;border-color:#dadcd2;background:#fffffff0;color:#616d53}.studio-shell .surface-info>summary{font-size:10px;padding:8px 12px}.studio-shell .surface-info[open]{max-height:calc(100% - 160px)}.studio-shell .surface-info>summary{position:sticky;top:0;z-index:2;background:#fff}.studio-shell .render-indicator{right:25px;top:131px;z-index:6;background:#ffffffed;color:#68725d}.studio-shell .input-pending{position:fixed;top:131px;right:25px}.studio-shell .validation-area{padding-left:calc(var(--studio-left) + var(--studio-width) + 36px)}.studio-shell .validation-3d-area{margin-left:0}.studio-shell .panel-collapsed .validation-area{padding-left:24px}.studio-shell .three-host,.studio-shell .three-controls,.studio-shell .three-caption{margin-left:calc(var(--studio-left) + var(--studio-width) + 25px)}.studio-shell .panel-collapsed .three-host,.studio-shell .panel-collapsed .three-controls,.studio-shell .panel-collapsed .three-caption{margin-left:0}.studio-shell .three-workspace .workspace-toolbar{top:24px;right:auto;left:calc(var(--studio-left) + var(--studio-width) + 25px);bottom:auto;background:#fffffff0}.studio-shell .dialog{background:#fff;color:#4d5843}.studio-shell .dialog h2{font:25px Arial,system-ui,sans-serif;color:#313a2a;letter-spacing:0}.studio-shell .toast{background:#333d2c}.pattern-picker{width:min(680px,calc(100vw - 30px));overflow:auto}.pattern-search{display:flex;gap:10px;align-items:center;background:#f0f1eb;border-radius:8px;padding:10px 12px;margin:20px 0}.pattern-search input{border:0;background:none;outline:none;font-size:14px;flex:1;width:100%;color:#424e37}.pattern-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pattern-picker-grid .pattern-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:9px;border:1px solid #dfe3d6;background:#f8f9f4}.pattern-picker-grid .pattern-card[aria-pressed=true]{border-color:#6c7b5b;background:#edf1e5}.pattern-picker-grid .pattern-card>span{display:block;height:70px;width:100%}.pattern-picker-grid svg{width:100%;height:100%;fill:#89977a}.pattern-picker-grid strong{font-size:12px;font-weight:400}@media(max-width:1050px)and (min-width:761px){.studio-shell{--studio-left:24px;--studio-top:30px;--studio-width:290px}.studio-shell .control-panel{width:var(--studio-width)}}@media(max-width:760px){.studio-shell{height:auto;min-height:100dvh;overflow:visible;--studio-left:12px;--studio-top:0px;--studio-width:100%}.studio-shell .editor-layout{position:relative;inset:auto;display:flex;flex-direction:column;gap:0;padding:0 0 16px;height:auto;overflow:visible}.studio-shell .workspace-column{position:relative;inset:auto;order:0;height:400px;width:100%;flex:none}.studio-shell .editor-heading{position:absolute;top:12px;right:12px;z-index:10}.studio-shell .control-panel{position:relative;order:1;inset:auto;width:calc(100% - 24px);margin:0 12px;max-height:570px;min-height:450px;border-radius:13px;flex:none}.studio-shell .studio-save .header-actions .source-button{display:flex}.studio-shell .app-header .project-heading{position:static;max-width:none;flex:1}.studio-shell .app-header .project-heading input{width:100%;height:28px;font-size:14px}.studio-shell .workspace-toolbar{bottom:12px;right:12px;height:33px}.studio-shell .zoom-bar{left:12px;transform:none;bottom:12px;height:33px}.studio-shell .interaction-tools{top:59px;right:12px}.studio-shell .surface-info{position:relative;order:2;inset:auto;margin:12px;width:calc(100% - 24px);flex:none}.studio-shell .surface-info[open]{max-height:420px}.studio-shell .studio-section h2{font-size:16px}.studio-shell .number-field>div{height:48px}.studio-shell .number-field input{font-size:16px}.studio-shell .validation-area{padding:56px 55px 50px 12px}.studio-shell .validation-notice{max-height:100%;padding:15px}.studio-shell .validation-notice h3{font-size:14px}.studio-shell .technical-legend{right:60px;left:12px;bottom:55px;max-height:38%}.studio-shell .render-indicator,.studio-shell .input-pending{top:65px;right:58px;font-size:10px}.studio-shell .three-host,.studio-shell .three-controls,.studio-shell .three-caption{margin-left:0}.studio-shell .three-controls{padding:6px 12px;gap:6px}.studio-shell .three-caption{display:none}.studio-shell .three-workspace .workspace-toolbar{left:12px;top:55px;right:auto;height:30px}.studio-shell .three-workspace .workspace-toolbar strong{display:none}.pattern-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-picker-grid .pattern-card>span{height:60px}}.device-picker-card{display:flex;flex-direction:column;padding:0}.device-picker-thumb{width:100%;overflow:hidden;flex:none}.device-picker-thumb img{min-height:0;min-width:0;display:block}.device-picker-card>span{width:100%;min-height:54px;align-content:flex-start}.studio-file-drop{position:fixed;inset:16px;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center;pointer-events:none;border:2px dashed #586b48;border-radius:16px;background:#f8faf0ed;color:#38492e;box-shadow:0 0 0 30px #34462b35}.studio-file-drop strong{font-size:23px;font-weight:500}.studio-file-drop span{max-width:430px;font-size:14px;line-height:1.8}.device-picker-card{position:relative}.device-picker-apply{display:block;padding:0;width:100%;text-align:left}.device-picker-apply>span{display:flex;flex-direction:column;gap:5px;width:100%;min-height:54px;padding:10px}.device-picker-card:focus-within{outline:2px solid #657f53;outline-offset:3px}.device-picker-favorite{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffffff2;color:#6d775e;box-shadow:0 1px 6px #0002}.device-picker-favorite[aria-pressed=true]{color:#82691f}.device-picker-favorite[aria-pressed=true] svg{fill:#cdb55f}.device-picker-view{margin:0 0 16px}.device-picker-view button[aria-pressed=true]{background:#e0e8d7;color:#384e2a}.device-picker-toolbar{flex-wrap:wrap}@media(max-width:760px){.device-picker-favorite{width:44px;height:44px}.device-picker-view button{min-height:38px}}.seam-controls{display:grid;gap:14px;margin:14px 0}.seam-controls .inline-note{margin:0;line-height:1.5}.seam-controls .check-field{align-items:flex-start;line-height:1.45}.studio-seam-setting{margin-top:8px}.studio-seam-setting>span{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.studio-seam-setting small{font-size:11px;color:#72796d}.studio-shell .seam-compare-button{position:absolute;right:264px;top:24px;bottom:auto;z-index:6;min-height:40px;padding:9px 13px;border:1px solid #d4d8cf;border-radius:7px;background:#fffffff2;color:#303d2a;font-size:12px;max-width:calc(100% - 24px)}.studio-shell .seam-compare-button[aria-pressed=true]{background:#304530;color:#fff}.studio-shell .seam-compare-button:disabled{opacity:.6}.studio-shell .seam-compare-button:focus-visible{outline:2px solid #304530;outline-offset:3px}@media(max-width:760px){.studio-shell .seam-compare-button{right:12px;top:auto;bottom:58px;min-height:44px}}.crop-precision{margin-top:18px;padding:14px;border:1px solid #d6ddcf;border-radius:5px;min-width:0}.crop-precision legend{font-size:12px;color:#48613c;padding:0 6px}.crop-precision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.crop-precision-grid .number-field{min-width:0}.crop-stage:focus-visible{outline:3px solid #526e3f;outline-offset:3px}.crop-precision .inline-note{line-height:1.6}.crop-stage.transforming svg g{cursor:move}.crop-handle{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:2;touch-action:none;cursor:nwse-resize}.crop-handle[data-handle=ne],.crop-handle[data-handle=sw]{cursor:nesw-resize}.crop-handle>i{display:block;width:11px;height:11px;border:2px solid #fff;background:#52733d;box-shadow:0 0 2px #18320a}@media(pointer:coarse){.crop-handle{width:44px;height:44px}.crop-handle>i{width:14px;height:14px}}.source-sampling{margin:14px 0;font-size:11px;line-height:1.55}.source-sampling ul{padding:0;margin:0 0 8px;display:grid;gap:8px;list-style:none}.source-sampling li{padding:10px;border:1px solid #d7ddcf;border-radius:4px;background:#f1f5ed;overflow-wrap:anywhere}.source-sampling li[data-status=upsampled],.source-sampling li[data-status=unknown]{background:#f8f0df;border-color:#ded0b3}.source-sampling strong{display:block;font-size:11px}.dialog .source-sampling p,.source-sampling p{margin:4px 0;font-size:11px;line-height:1.55}.source-sampling small{font-size:10px;color:#68785c;line-height:1.6}.source-sampling details summary,.export-vector-details>summary{cursor:pointer;padding:12px 4px;font-size:12px;font-weight:600;overflow-wrap:anywhere}.source-sampling details summary:focus-visible,.export-vector-details>summary:focus-visible{outline:2px solid #52763b;outline-offset:2px}.source-sampling details[open]>summary{margin-bottom:6px}.source-sampling .source-sampling-summary{font-weight:600}.export-vector-details{margin-top:14px;border-top:1px solid #d4dfca}.export-vector-details .vector-options{margin-top:0;border-top:0}.source-image-dialog{width:min(660px,calc(100vw - 30px));max-height:90vh;overflow:auto}.source-image-dialog>p{overflow-wrap:anywhere}.source-image-stage{height:300px;max-height:35vh;display:grid;place-items:center;background:repeating-conic-gradient(#e0e3dc 0% 25%,#f4f5f1 0% 50%) 0/20px 20px;border:1px solid #d7ddcf;border-radius:5px;overflow:hidden}.source-image-stage svg{display:block;width:100%;height:100%}.source-image-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:14px 0;flex-wrap:wrap}.source-image-tools output{font-size:13px;font-variant-numeric:tabular-nums}.source-image-tools button{padding:12px;font-size:12px}.studio-shell .quick-source-actions{flex-wrap:wrap}.studio-shell .quick-source-actions .quick-source-edit{flex-basis:100%;text-align:left;justify-content:flex-start;color:#365745;font-weight:600;padding:8px 0}.source-image-mirrors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 8px}.source-image-mirrors button{font-size:12px;padding:12px 6px}.source-image-mirrors button[aria-pressed=true]{background:#dcebcf;border-color:#93b37b;color:#365745}.source-image-crop-outline{fill:none;stroke:#f6d76f;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.source-image-crop-action{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}.source-image-crop-action>span{font-size:11px;color:#68785c}.source-image-crop-action>button{font-size:12px;padding:12px}.source-image-inspection-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px}.source-image-inspection-tools>.secondary-button{padding:10px;font-size:11px}.source-image-inspection-tools>.secondary-button[aria-pressed=true]{background:#dcebcf;border-color:#93b37b}.source-image-inspection-tools>span{font-size:10px;color:#68785c}.source-image-zoom-tools{display:flex;align-items:center;gap:4px;margin-left:auto}.source-image-zoom-tools output{font-size:11px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.source-image-stage svg{transform-origin:center;pointer-events:none;user-select:none}.source-image-stage.zoomed{cursor:grab}.source-image-stage.zoomed:active{cursor:grabbing}.source-image-stage:focus-visible{outline:2px solid #52763b;outline-offset:2px}.source-image-outlines{margin:10px 0}.crop-presets{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px}.crop-presets .select-field{flex:1;min-width:140px;margin:0}.crop-presets .secondary-button{padding:12px;font-size:12px}
