.photo-workspace{display:grid;grid-template-columns:auto var(--left-panel-width, 260px) auto 1fr auto var(--right-panel-width, 360px);grid-template-rows:1fr;flex:1 1 auto;min-height:0;overflow:hidden}.right-pane>.tab-panel{overflow:hidden}.tool-rail{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) 4px;background:var(--bg);border-right:1px solid var(--border)}.tool-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer}.tool-btn:hover{background:var(--hover-subtle);color:var(--text)}.tool-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.canvas-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;background:var(--bg-deep);touch-action:none}.canvas-wrap{position:relative;line-height:0;will-change:transform}.canvas-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#2a2f3a 25%,transparent 25%),linear-gradient(-45deg,#2a2f3a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2f3a 75%),linear-gradient(-45deg,transparent 75%,#2a2f3a 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:#22262f}.photo-canvas,.overlay-canvas{position:relative;display:block;image-rendering:pixelated}.overlay-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.layer-list{flex:1;min-height:0;overflow-y:auto}.layer-row{display:grid;grid-template-columns:28px 20px 1fr auto 28px;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none}.layer-row:hover{background:var(--hover-subtle)}.layer-row.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.layer-row.is-hidden .layer-name,.layer-row.is-hidden .layer-kind{opacity:.4}.layer-row.is-dragging{opacity:.5}.layer-row.is-rejected{animation:layer-reject .4s ease}@keyframes layer-reject{0%,to{background:transparent}50%{background:color-mix(in srgb,var(--error) 30%,transparent)}}.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.layer-meta{font-size:10px;color:var(--text-muted);white-space:nowrap}.layer-kind{display:grid;place-items:center;color:var(--text-muted)}.layer-rename{width:100%;padding:2px 4px;font:inherit;font-size:13px;color:var(--text);background:var(--bg-deep);border:1px solid var(--accent)}.inspector{padding:var(--space-5);overflow-y:auto}.inspector-section{margin-bottom:var(--space-7)}.inspector-heading{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.field{display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:8px;margin-bottom:8px}.field-range{grid-template-columns:84px 1fr 44px}.field-compact{grid-template-columns:20px 1fr}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-label{font-size:11px;color:var(--text-muted)}.field-value{font-size:11px;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.field-note{margin:0;font-size:11px;color:var(--text-muted)}.empty-state{padding:var(--space-7);font-size:12px;color:var(--text-muted);text-align:center}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:8px}.chat-bubble{padding:8px 10px;font-size:13px;line-height:1.45;white-space:pre-wrap;border:1px solid var(--border);background:var(--bg)}.chat-bubble--user{align-self:flex-end;max-width:88%;background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.chat-bubble--error{border-color:var(--error);color:var(--error)}.chat-bubble--thinking{font-size:12px;font-style:italic;color:var(--text-muted);background:transparent;border-style:dashed}.chat-tool{font-size:11px;color:var(--text-muted);padding-left:4px}.chat-tool--error{color:var(--error)}.chat-form{display:flex;flex-direction:column;gap:6px;padding:var(--space-5);border-top:1px solid var(--border)}.chat-input{width:100%;resize:vertical;font:inherit;font-size:13px;padding:8px;color:var(--text);background:var(--bg-deep);border:1px solid var(--border)}.chat-actions{display:flex;gap:8px;justify-content:flex-end}.tool-options{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:var(--space-7);padding:6px 12px;background:color-mix(in srgb,var(--bg-section) 92%,transparent);border-bottom:1px solid var(--border)}.tool-options[hidden]{display:none}.tool-option{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.tool-option-range{display:flex;align-items:center;gap:6px}.tool-option-range input[type=range]{width:110px}.tool-option-value{min-width:26px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tool-option-color{width:28px;height:22px;padding:0;border:1px solid var(--border);background:transparent;cursor:pointer}.effect-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.effect-card{margin-bottom:8px;padding:8px;border:1px solid var(--border);background:var(--bg)}.effect-card.is-off{opacity:.55}.effect-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;margin-bottom:6px}.effect-name{font-size:12px;color:var(--text)}.photo-canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.photo-pen-overlay .pen-curve{fill:none;stroke:var(--accent)}.photo-pen-overlay .pen-other{fill:none;stroke:color-mix(in srgb,var(--accent) 45%,transparent)}.photo-pen-overlay .pen-tangent{stroke:color-mix(in srgb,var(--accent) 70%,transparent)}.photo-pen-overlay .pen-handle{fill:var(--bg-deep);stroke:var(--accent)}.photo-pen-overlay .pen-anchor{fill:#fff;stroke:#101319}.photo-pen-overlay .pen-anchor.is-selected{fill:var(--accent);stroke:#fff}.photo-ruler{position:absolute;z-index:3;color:var(--text-muted);background:var(--bg);border-color:var(--border)}.photo-ruler-x{top:0;left:0;cursor:ns-resize;border-bottom:1px solid var(--border)}.photo-ruler-y{top:0;left:0;cursor:ew-resize;border-right:1px solid var(--border)}.canvas-stage.has-rulers .tool-options{margin-top:18px}.photo-guides-overlay .grid-line{fill:none;stroke:color-mix(in srgb,var(--text-muted) 35%,transparent)}.photo-guides-overlay .guide-line{stroke:#22d3ee}.photo-guides-overlay .guide-line.is-dragging{stroke:#67e8f9}.photo-guides-overlay .snap-line{stroke:var(--accent);stroke-dasharray:6 4}.photo-text-input{position:absolute;display:none;width:1px;height:1px;padding:0;border:0;opacity:0;resize:none;overflow:hidden;white-space:pre;caret-color:transparent}.photo-text-overlay .text-box{fill:none;stroke:color-mix(in srgb,var(--accent) 60%,transparent);stroke-dasharray:4 4}.photo-text-overlay .text-selection{fill:color-mix(in srgb,var(--accent) 35%,transparent)}.photo-text-overlay .text-caret{stroke:var(--accent);animation:photo-caret-blink 1.06s step-end infinite}@keyframes photo-caret-blink{50%{opacity:0}}.field-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.field-button{display:inline-flex;align-items:center;gap:6px;font-size:12px}.photo-mesh-overlay .mesh-line{fill:none;stroke:color-mix(in srgb,var(--accent) 70%,transparent)}.photo-mesh-overlay .mesh-handle{fill:#fff;stroke:#101319}.palette-strip{display:inline-flex;align-items:center;gap:3px;margin-left:8px}.palette-select{max-width:120px;margin-right:4px}.palette-swatch{width:16px;height:16px;padding:0;border:1px solid var(--border);cursor:pointer}.palette-swatch:hover{border-color:var(--accent)}.palette-add{display:grid;place-items:center;font-size:12px;line-height:1;color:var(--text-muted);background:var(--hover-subtle)}.curve-editor{display:flex;flex-direction:column;gap:6px;margin-top:6px}.curve-channels{display:flex;gap:2px}.curve-channel{flex:1;padding:4px 2px;font-size:11px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);cursor:pointer}.curve-channel:hover{color:var(--text)}.curve-channel.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}.curve-channel.is-set:after{content:" •"}.curve-canvas{display:block;background:var(--bg-deep);border:1px solid var(--border);touch-action:none;cursor:crosshair}.gradient-map-editor{display:flex;flex-direction:column;gap:6px;margin-top:6px}.gradient-map-ramp{height:18px;border:1px solid var(--border)}.gradient-map-stops{display:flex;flex-direction:column;gap:4px}.gradient-map-stop{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px}.subpath-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;padding:2px 0}.subpath-pick{text-align:left;font-size:12px;color:var(--text-muted);background:transparent;border:none;cursor:pointer}.subpath-row.is-editing .subpath-pick{color:var(--accent);font-weight:600}.version-heading{margin:var(--space-5) 0 var(--space-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.version-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);background:var(--bg-section)}.version-row+.version-row{border-top:none}.version-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.version-title,.version-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-title{font-size:13px;color:var(--text)}.version-meta{font-size:11px;color:var(--text-muted)}.ai-guide-cursor{position:fixed;top:0;left:0;z-index:58;border:1px solid rgb(255 255 255 / 90%);border-radius:50%;box-shadow:0 0 0 1px #0000008c;pointer-events:none}.ai-guide-panel{position:fixed;right:24px;bottom:24px;z-index:60;width:320px;max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-section);border:1px solid var(--border);box-shadow:0 12px 40px #00000073}.ai-guide-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-guide-head h3{margin:0;font-size:14px}.ai-guide-desc,.ai-guide-hint{margin:0;font-size:12px;color:var(--text-muted);line-height:1.45}.ai-guide-hint{min-height:2.9em}.ai-guide-channels{display:flex;flex-direction:column;gap:4px}.ai-guide-channel{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:12px;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer}.ai-guide-channel.is-active{border-color:var(--accent);border-left-width:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text)}.ai-guide-channel:not(.is-active){opacity:.65}.ai-guide-swatch{width:14px;height:14px;flex:0 0 auto;border:1px solid}.ai-guide-tools{display:flex;align-items:center;gap:6px}.ai-guide-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer}.ai-guide-tool.is-active{border-color:var(--accent);background:var(--hover-subtle)}.ai-guide-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.ai-guide-range{display:flex;align-items:center;gap:6px}.ai-guide-range input[type=range]{flex:1;min-width:0}.ai-guide-range output{min-width:32px;font-variant-numeric:tabular-nums;text-align:right}.ai-guide-size{flex:1}.ai-guide-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.ai-routing-summary{cursor:pointer;font-size:13px;padding:4px 0}.ai-routing-rows{display:flex;flex-direction:column;gap:12px;margin-top:10px}.ai-routing-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:var(--bg);border:1px solid var(--border)}.ai-routing-head{grid-column:1 / -1;font-size:12px;color:var(--text)}.ai-routing-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted)}.ai-routing-fallbacks{display:flex;flex-wrap:wrap;gap:10px}.ai-context-body{display:flex;flex-direction:column;gap:18px}.ai-context-scope-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.ai-context-scope-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.ai-context-empty{padding:10px 0}.ai-context-entry{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:8px 0;border-top:1px solid var(--border-subtle)}.ai-context-entry.is-off{opacity:.5}.ai-context-entry-main{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-context-text{width:100%;min-height:2.2em;resize:vertical;font:inherit;color:var(--text);background:transparent;border:1px solid transparent;padding:2px 4px}.ai-context-text:hover{border-color:var(--border)}.ai-context-text:focus{border-color:var(--accent);outline:none}.ai-context-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-muted)}.ai-context-kind{padding:0 5px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border)}.ai-context-kind--rule{color:var(--text);border-color:var(--accent)}.ai-context-actions{display:flex;gap:2px}.ai-context-add{display:grid;grid-template-columns:auto 1fr auto;gap:6px;margin-top:8px}.ai-context-violations{padding:10px;border:1px solid var(--border);border-left:2px solid var(--accent)}.ai-context-violations h3{margin:0 0 6px;font-size:12px}.ai-context-violation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.ai-context-violation-text{display:flex;flex-direction:column;min-width:0}.ai-guide-lights-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.ai-guide-lights{gap:8px}.ai-guide-light-controls{display:flex;flex-direction:column;gap:6px}.ai-guide-light-actions{display:flex;gap:6px}.chat-offer{display:flex;gap:6px;margin-top:8px}
