#signs-trigger[aria-pressed=true]{background:#dce8d8;color:#1c3026}
.sign-glyph{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:.08!important;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sign-editor button,.sign-panel-footer button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:9px;background:#ffffff08;color:inherit}
.sign-editor button:hover:not(:disabled),.sign-panel-footer button:hover:not(:disabled){background:#ffffff15}
.sign-editor button:disabled{opacity:.3;cursor:default}
.sign-editor button:focus-visible,.sign-panel-footer button:focus-visible{outline:2px solid #c6e1b9;outline-offset:2px}
.sign-editor button[aria-pressed=true]{background:#c6e1b920;box-shadow:inset 0 0 0 1px #c6e1b966}
.sign-tree-row,.sign-order,.sign-layer-actions,.sign-panel-footer{display:flex;align-items:center;gap:6px}
.sign-tree-row>span,.sign-order>span{flex:1;font-size:12px;color:#b9cbbb}
.sign-tree-row button,.sign-order button,.sign-layer-actions button:not(:first-child){width:36px;min-width:36px;padding:7px}
.sign-editor button>svg:not(.sign-glyph),.sign-panel-footer svg{width:19px;height:19px}
.sign-order{margin:6px 0 12px}
.sign-layer-list{display:grid;gap:5px}
.sign-layer-list button{justify-content:flex-start;padding:7px 10px;text-align:left;font-size:13px}
.sign-layer-list .sign-glyph{color:var(--sign-color);margin:0 5px}
.sign-layer-number{color:#a4b7a7;font-variant-numeric:tabular-nums}
.sign-layer-list small{margin-left:auto;font-size:10px;color:#c6e1b9}
.sign-layer-actions{margin:8px 0 20px}
.sign-layer-actions button:first-child{flex:1;font-size:12px;padding:5px}
.sign-shape-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 12px}
.sign-shape-grid button{flex-direction:column;gap:6px;padding:10px 3px;font-size:10px;min-height:70px}
.sign-shape-grid .sign-glyph{width:28px;height:28px}
.sign-wide{width:100%;padding:8px;margin:10px 0;font-size:12px}
.sign-mount{margin-top:16px;font-size:12px;color:#b9cbbb}
.sign-mount summary{cursor:pointer;padding:8px 0}
.sign-mount label{display:grid;gap:12px;margin-top:12px}
.sign-mount input{width:100%}
.sign-panel-footer{padding:10px 14px;border-top:1px solid #ffffff10;flex:none}
.sign-panel-footer button:first-child{flex:1;font-size:12px}
.sign-panel-footer button:last-child{width:42px}
[data-sign-object]{cursor:pointer}
[data-sign-object]:hover circle,[data-sign-object]:focus circle{stroke:#fff}
.placing-sign #plan,.placing-sign #scene-overlay{cursor:crosshair}

.inspector[data-view=signs] .sign-panel-footer{order:3}
.inspector[data-view=signs] .inspector-tabbar{order:4}
.sign-placement-options{position:fixed;z-index:25;left:50%;top:16px;transform:translateX(-50%);display:flex;gap:4px;padding:5px;background:#222b25;border:1px solid #536357;border-radius:12px;box-shadow:0 4px 16px #0004}
.sign-placement-options[hidden]{display:none}
.sign-placement-options button,.sign-scope button{min-height:36px;padding:7px 12px;font-size:12px;border-radius:8px;color:#c4cec5;background:transparent}
.sign-placement-options button[aria-pressed=true],.sign-scope button[aria-pressed=true]{background:#d7dfcb;color:#263026}
.sign-setting{display:grid;gap:7px;font-size:12px;color:#bac6bc;margin:12px 0}
.sign-setting select{width:100%;padding:8px}
.sign-scope{display:flex;gap:4px;margin:14px 0}
.sign-scope button{flex:1;padding-inline:5px}
.sign-layer-list{max-height:190px;overflow:auto}
.sign-span{fill:none;stroke:#91a492;stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
/* Environment is the quiet background; selection has one restrained accent. */
#plan .generated-nature{opacity:1;stroke:none;fill:none;cursor:pointer}
#plan .nature-symbol{fill:#35443b;stroke:#5a6d5e;stroke-width:.8;stroke-opacity:.7;pointer-events:all}
#plan .nature-symbol.tree{fill:#2c3c32;stroke:#526c58}
#plan .nature-symbol.rock{fill:#454b46;stroke:#6b736b;stroke-opacity:.55}
#plan .object.selected .nature-symbol{fill:#3c5141;stroke:#a4b799;stroke-width:1.5;stroke-opacity:1}
.object-focus #plan .object.dimmed,.object-focus #plan .generated-nature,.object-focus #plan [data-sign-object]:not(.selected){opacity:.25}
.object-focus #plan .object.selected .nature-symbol{fill:#47634b;stroke:#dceccf;stroke-width:2.2}
.object-focus #plan [data-sign-object].selected circle{stroke:#efffdf;stroke-width:2.5}
#plan .generated-nature:hover .nature-symbol,#plan .generated-nature:focus-visible .nature-symbol,#plan .object:hover .nature-symbol{stroke:#a4b799;stroke-opacity:1;stroke-width:1.5}
#plan .generated-nature-hit{fill:transparent;stroke:none}
#plan .object:not([data-nature-kind])>.surface-hit{pointer-events:none}
#plan .direction-handle{stroke:#aebda7;stroke-width:1.5;filter:none}
#plan .selection-outline{stroke:#90a48b;stroke-opacity:.65}
#plan .object[data-nature-kind]{cursor:pointer}
#plan.manipulating .object{cursor:grabbing}
.placing-sign #plan [data-nature-kind=rock]{pointer-events:none;opacity:.5}
.placing-sign #plan [data-nature-kind=tree]{cursor:copy}
.placing-sign #plan .object:not([data-nature-kind=tree]){pointer-events:none}
.placing-sign #plan [data-sign-object]{pointer-events:none}
.sign-placement-options{left:auto;right:20px;top:auto;bottom:90px;transform:none;display:grid;min-width:216px;padding:6px;border-color:#687f6c;background:#28372d}
.sign-placement-options button{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;text-align:left;font-size:13px}
.sign-placement-options button:hover,.sign-placement-options button:focus-visible{background:#405345;color:#f0f8ec}
.sign-placement-options svg{width:22px;height:22px;color:#a7e3b4}
.sign-placement-preview{fill:none;stroke:#d5e9c9;stroke-width:2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #bde9bf)}
.sign-placement-end{fill:#b9e5bd;stroke:#20362a;stroke-width:2;vector-effect:non-scaling-stroke}
