.upload-image-button{font-size:11px;gap:6px;padding:5px 0;color:#b2dfc1}.upload-image-button svg{width:16px;height:16px}.composer-bottom>.composer-hint{margin-left:auto;margin-right:12px}
.texture-modal{max-width:600px}.texture-modal .modal-inner{padding:29px}.texture-modal p{font-size:13px;line-height:1.8;color:#9ebaa8}.texture-modal textarea{display:block;width:100%;min-height:85px;resize:vertical;background:#0d1c15;border:1px solid #789f8240;color:#d9efe2;border-radius:7px;padding:12px;margin-top:9px;font:13px/1.8 inherit}.texture-modal .modal-bottom{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.texture-modal .modal-bottom button{font-size:12px}.texture-modal .field-label{font-size:13px;display:block;margin-top:15px}
.texture-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px 15px;border:1px dashed #95cba164;background:#8bcb9b08;border-radius:9px;cursor:pointer;position:relative}.texture-drop>svg{width:27px;height:27px;color:#a3e4bb}.texture-drop strong{font-size:14px;color:#cfe9d8}.texture-drop span{font-size:11px;color:#829e8e}.texture-drop input{width:100%;max-width:310px;font-size:12px;color:#a0b8a8;cursor:pointer}.texture-drop:focus-within{outline:2px solid #a3e4bb}.reference-preview{display:flex;align-items:center;gap:15px;margin:15px 0;padding:9px;background:#0c1811;border:1px solid #97c4a42e;border-radius:6px}.reference-preview[hidden]{display:none}.reference-preview img{width:72px;height:72px;object-fit:contain;background:repeating-conic-gradient(#1d3027 0 25%,#13241b 0 50%) 50%/12px 12px}.reference-preview span{font-size:12px;overflow-wrap:anywhere}
.texture-grid{position:relative;width:min(100%,256px);aspect-ratio:1;margin:14px auto;background:repeating-conic-gradient(#283c32 0 25%,#1a2d22 0 50%) 0 0/16px 16px;border:1px solid #9acba648;border-radius:4px;overflow:hidden}.texture-grid:after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b6e1c614 1px,transparent 1px),linear-gradient(90deg,#b6e1c614 1px,transparent 1px);background-size:3.125% 3.125%}.texture-sprite{display:block;width:100%;height:100%;image-rendering:pixelated}.texture-format-note{font-size:11px!important}.texture-upload-status{padding:10px 12px;background:#a3e4bb0b;border-radius:5px;min-height:43px}.texture-panel{padding:17px 18px;border-bottom:1px solid #98bba32c}.texture-panel h3{font-size:13px;margin:0}.texture-panel .section-title{margin:0}.texture-panel .section-title>span{font-size:10px;color:#9dc3a9}.texture-panel strong{font-size:14px}.texture-panel p{font-size:12px;line-height:1.8;color:#a8c2af;overflow-wrap:anywhere}.texture-panel small{font-size:10px;line-height:1.9;color:#809b89;display:block}.texture-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.texture-panel-actions .secondary{font-size:11px;padding:9px 12px}.texture-color-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:210px;overflow:auto}.texture-color-list label{display:flex;align-items:center;gap:5px;font-size:11px;color:#b1cbb9;background:#8eb79a0a;padding:6px;border:1px solid #a3e4bb20;border-radius:5px}.texture-color-list input[type=color]{width:30px;height:29px;padding:0;border:0;background:none;flex-shrink:0}.texture-color-list input[type=text]{min-width:0;width:75px;flex:1;background:#0d1c15;border:1px solid #88af9144;border-radius:4px;color:#cfe9d8;padding:5px;font:12px monospace}.texture-color-status{font-size:11px!important}
@media(max-width:680px){.texture-modal .modal-inner{padding:22px 17px}.texture-color-list{grid-template-columns:1fr}.texture-modal .modal-bottom>button{flex:1}.texture-panel .texture-grid{max-width:224px}.composer-bottom>.composer-hint{display:none}}

.texture-modal textarea{font-size:13px;line-height:1.8;font-family:inherit}
.texture-drop .texture-reference-input{position:absolute;width:1px;height:1px;max-width:1px;padding:0;border:0;opacity:0;clip-path:inset(50%);overflow:hidden}
:root[data-theme] body .texture-drop.is-dragging{border:2px dashed var(--theme-accent,#b5efc5);background:var(--theme-accent-bg,#345b43);box-shadow:inset 0 0 0 3px var(--theme-surface,#244432),0 0 0 3px var(--theme-line,#729f83)}
.texture-grid:has(svg[data-grid-size="64"]):after{background-size:1.5625% 1.5625%}
.texture-grid:has(svg[data-grid-size="128"]):after{background-size:.78125% .78125%}
.texture-resolution{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.texture-resolution label{display:grid;gap:7px;font-size:12px;color:var(--theme-muted,#9ebaa8)}
:root[data-theme] body .texture-resolution select{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid var(--theme-line,#789f8260);border-radius:6px;background:var(--theme-surface,#14261b);color:var(--theme-ink,#d9efe2);font:inherit}
.texture-resolution select:focus-visible{outline:2px solid var(--theme-accent,#a3e4bb);outline-offset:2px}
.texture-grid.texture-original:after{display:none}
.texture-model-label{display:flex;align-items:center;min-height:40px;padding:8px;color:var(--theme-ink,#d9efe2);border:1px solid var(--theme-line,#789f8260);border-radius:6px;background:var(--theme-surface,#14261b)}
.texture-usage-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.45fr);gap:12px;margin-top:16px}.texture-usage-controls label{display:grid;gap:7px;font-size:12px;color:var(--theme-muted,#9ebaa8)}.texture-usage-controls label[hidden]{display:none}.texture-usage-controls select,.texture-usage-controls input{min-width:0;width:100%;min-height:40px;padding:8px;border:1px solid var(--theme-line,#789f8260);border-radius:6px;background:var(--theme-surface,#14261b);color:var(--theme-ink,#d9efe2);font:inherit}.texture-usage-controls :is(select,input):focus-visible{outline:2px solid var(--theme-accent,#a3e4bb);outline-offset:2px}.texture-custom-draw{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--theme-muted,#9ebaa8)}.texture-profile-description{margin:9px 0!important}.texture-assessment{padding:10px 12px;border-left:2px solid var(--theme-accent,#a3e4bb);background:var(--theme-accent-bg,#a3e4bb0b);overflow-wrap:anywhere}.texture-profile-result{margin:9px 0 0;font-size:11px!important}.texture-modal .modal-inner{max-height:85vh;overflow-y:auto}.material-upload>p{overflow-wrap:anywhere}

.texture-panel[data-texture-panel]{padding:0;border:1px solid var(--theme-line,#98bba34d);border-radius:6px;overflow:hidden}
.texture-panel>summary.section-title{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;cursor:pointer;list-style:none;background:var(--theme-panel,#1e3a2d);color:var(--theme-ink,#d9efe2);border:0;user-select:none}
.texture-panel>summary::-webkit-details-marker{display:none}
.texture-panel>summary::marker{content:''}
.texture-panel>summary:hover{background:var(--theme-accent-bg,#2b4b39)}
.texture-panel>summary:focus-visible{outline:2px solid var(--theme-accent,#a3e4bb);outline-offset:-3px}
.texture-panel>summary h3{flex:1;min-width:0;font-size:13px}
.texture-panel>summary .texture-panel-meta{max-width:42%;font-size:10px;line-height:1.5;color:var(--theme-muted,#9dc3a9);text-align:right}
.texture-panel>summary .texture-panel-toggle{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:11px;color:var(--theme-ink,#d9efe2)}
.texture-panel-toggle:before{content:'展开'}
.texture-panel-toggle i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.texture-panel[open]>summary{border-bottom:1px solid var(--theme-line,#98bba32c)}
.texture-panel[open] .texture-panel-toggle:before{content:'收起'}
.texture-panel[open] .texture-panel-toggle i{transform:rotate(225deg) translate(-1px,-1px)}
.texture-panel-body{padding:0 14px 14px}
