.photo-editor{--photo-control:var(--control-height);min-height:0;color:var(--color-text);background:var(--color-bg);font:var(--text-sm)/1.45 var(--font-sans);letter-spacing:0;padding:0 var(--space-1) var(--space-1);flex-direction:column;flex:1;display:flex;position:relative}.photo-editor *{box-sizing:border-box;letter-spacing:0}.photo-editor button,.photo-editor input,.photo-editor select,.photo-editor textarea{font:inherit;color:inherit}.photo-editor button{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);min-height:var(--photo-control);padding:var(--space-1) var(--space-2);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease);background:0 0;border:1px solid #0000;display:inline-flex}.photo-editor .is-icon{width:var(--photo-control);height:var(--photo-control);flex:none;padding:0}.photo-editor button:hover:not(:disabled),.photo-editor summary:hover{background:var(--color-surface-raised);border-color:var(--color-border)}.photo-editor button:disabled{opacity:.35;cursor:default}.photo-editor button.is-active,.photo-editor button.is-active:hover:not(:disabled){color:var(--color-bg);background:var(--color-text);border-color:#0000}.photo-editor :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-editor .primary{background:var(--accent-strong);color:var(--color-on-accent);min-height:var(--control-height);padding-inline:var(--space-3)}.photo-editor .secondary{background:var(--color-surface-raised);border-color:var(--color-border-strong);min-height:var(--control-height)}.photo-editor .primary:hover:not(:disabled){background:var(--accent-hover)}.photo-icon{flex:none;width:20px;height:20px;display:inline-flex}.photo-icon svg{width:100%;height:100%}.photo-topbar{align-items:center;gap:var(--space-2);min-height:64px;padding:var(--space-1);flex-wrap:wrap;display:flex}.photo-brand{color:var(--color-text);white-space:nowrap;align-items:center;gap:8px;text-decoration:none;display:flex}.photo-brand>.photo-icon{color:var(--color-text);width:24px;height:24px}.photo-brand strong{font-size:var(--text-md);font-weight:var(--weight-bold)}.photo-brand strong span{color:var(--color-text-muted);font-weight:400}.photo-topbar nav{align-items:center;gap:0;display:flex}.photo-menu{position:relative}.photo-menu summary{cursor:pointer;padding:var(--space-1);border-radius:var(--radius-pill);font-weight:var(--weight-semibold);min-height:var(--photo-control);border:1px solid #0000;align-items:center;list-style:none;display:flex}.photo-menu[open]>summary{background:var(--color-text);color:var(--color-bg)}.photo-menu summary::-webkit-details-marker{display:none}.photo-menu>div{z-index:20;background:var(--color-surface-raised);border:1px solid var(--color-border);min-width:240px;padding:var(--space-1);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);position:absolute;top:100%;left:0}.photo-menu>div button{justify-content:flex-start;width:100%;display:flex}.top-actions{gap:var(--space-1);margin-left:auto;display:flex}.photo-options{align-items:center;gap:var(--space-1);height:64px;padding:var(--space-1) var(--space-2);background:var(--card-tint);border-radius:var(--radius-md);margin-bottom:var(--space-1);flex:none;display:flex}.photo-options>span:first-child{width:140px;font-weight:var(--weight-semibold)}.options-separator{border-left:1px solid var(--color-border);height:20px;margin:0 6px}.photo-editor input:not([type=checkbox]):not([type=range]):not([type=color]),.photo-editor select,.photo-editor textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);padding:var(--space-1) 12px;min-height:var(--photo-control);min-width:0;max-width:100%}.zoom-field{align-items:center;gap:var(--space-1);display:flex}.zoom-field input{width:72px}.local-indicator{gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);align-items:center;margin-left:auto;display:flex}.local-indicator .photo-icon{color:var(--color-text-muted)}.photo-main{gap:var(--space-1);flex:1;min-height:0;display:flex}.photo-tools{align-items:center;gap:var(--space-1);width:64px;padding:var(--space-1);background:var(--card-tint);border-radius:var(--radius-md);flex-direction:column;flex:none;display:flex;overflow-y:auto}.photo-tools button{width:var(--control-height);height:var(--control-height);flex:none;padding:0}.toolbar-color{margin-top:var(--space-1)}.photo-editor input[type=color]{width:var(--photo-control);height:var(--photo-control);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);cursor:pointer;padding:4px}.photo-editor input[type=checkbox]{accent-color:var(--color-text)}.document-area{flex-direction:column;flex:1;min-width:0;display:flex}.document-tabs{gap:var(--space-1);height:56px;padding-bottom:var(--space-1);flex:none;display:flex;overflow-x:auto}.document-tabs>div{border-radius:var(--radius-pill);background:var(--card-tint);max-width:230px;display:flex}.document-tabs>div.active{background:var(--color-text);color:var(--color-bg)}.document-tabs button[role=tab]{text-overflow:ellipsis;min-width:0;padding-inline:var(--space-2);justify-content:flex-start;overflow:hidden}.document-tabs button:not([role=tab]){width:var(--photo-control);flex:none;padding:0}.workspace{touch-action:none;user-select:none;background:var(--color-bg-subtle);border-radius:var(--radius-md);flex:1;min-height:0;position:relative;overflow:hidden}.workspace[data-tool=brush],.workspace[data-tool=eraser]{cursor:none}.workspace[data-tool=move]{cursor:default}.workspace[data-tool=text]{cursor:text}.workspace[data-tool=crop],.workspace[data-tool=rectangle],.workspace[data-tool=ellipse],.workspace[data-tool=lasso],.workspace[data-tool=shape]{cursor:crosshair}.document-canvas{transform-origin:0 0;box-shadow:0 0 0 1px var(--color-border), var(--shadow-lg);background-color:var(--color-bg);background-image:conic-gradient(var(--color-border) 25%, transparent 0 50%, var(--color-border) 0 75%, transparent 0);background-size:16px 16px;position:absolute;top:0;left:0}.overlay{color:var(--accent);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.empty-workspace{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex;position:absolute;inset:0}.empty-workspace h1{font-size:var(--text-3xl);line-height:var(--leading-heading);font-weight:var(--weight-bold);text-wrap:balance;text-align:center}.empty-workspace p{text-align:center;max-width:400px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-body)}.empty-mark{border-radius:var(--radius-md);background:var(--color-surface-raised);width:64px;height:64px;color:var(--color-text);justify-content:center;align-items:center;display:flex}.empty-mark .photo-icon{width:32px;height:32px}.empty-workspace .button-row{gap:var(--space-2);justify-content:center}.empty-workspace button{min-height:var(--control-height);padding-inline:var(--space-3)}.crop-toolbar{align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:var(--radius-md);display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.crop-toolbar label{flex-direction:column;gap:2px;display:flex}.crop-toolbar input{width:80px}.photo-panels{background:var(--card-tint);border-radius:var(--radius-md);flex-direction:column;flex:none;width:320px;min-height:0;display:flex}.panel-tabs{background:var(--color-surface-raised);border-radius:var(--radius-pill);min-height:56px;margin:var(--space-1);flex:none;padding:4px;display:flex}.panel-tabs button{color:var(--color-text-muted);flex:1}.panel-tabs [aria-selected=true],.photo-editor .panel-tabs [aria-selected=true]:hover:not(:disabled){color:var(--color-bg);background:var(--color-text)}.panel-scroll{flex:1;min-height:0;overflow:auto}.photo-panels section,.photo-panels details{padding:var(--space-2);border-bottom:1px solid var(--color-border)}.photo-panels h2{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-bold);margin:0 0 var(--space-2);line-height:1.4;display:flex}.photo-panels h2 span:not(.photo-icon){color:var(--color-text-muted);margin-left:auto;font-weight:400}.photo-panels label{margin-bottom:var(--space-1);color:var(--color-text-muted);flex-direction:column;gap:4px;display:flex}.photo-panels label:has(>[type=checkbox]){flex-direction:row;align-items:center}.photo-panels fieldset{border:0;min-width:0;margin:0;padding:0}.property-grid{gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.number-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.number-field input{width:100%}.range-field>span{justify-content:space-between;display:flex}.range-field output{font-variant-numeric:tabular-nums;color:var(--color-text)}.range-field input{width:100%;accent-color:var(--color-text);margin:3px 0}.button-row{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.type-properties,.shape-properties{margin-top:var(--space-2)}.adjustments summary{cursor:pointer;font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.adjustment-row{align-items:center;gap:var(--space-1);display:flex}.adjustment-row label{flex:1}.color-control{grid-template-columns:var(--photo-control) minmax(0, 1fr);gap:var(--space-1);align-items:center;display:grid!important}.color-panel p{font-size:var(--text-xs);color:var(--color-text-muted)}.layers-panel{flex-direction:column;flex:none;height:400px;display:flex;padding:var(--space-2)!important}.layers-panel>label:not(.range-field){justify-content:space-between;align-items:center;flex-direction:row!important}.layers-panel>label select{max-width:175px}.layer-list{flex:1;min-height:40px;overflow:auto}.layer-row{border-radius:var(--radius-md);min-height:56px;margin-bottom:var(--space-1);background:var(--color-surface-raised);border:1px solid #0000;align-items:center;gap:4px;display:flex}.layer-row.selected{background:var(--color-text);color:var(--color-bg);border-color:#0000}.layer-row.selected small,.layer-row.selected button{color:inherit}.layer-row.selected button:hover:not(:disabled),.document-tabs>div.active button:hover:not(:disabled){background:color-mix(in oklch, currentColor 12%, transparent);border-color:#0000}.layer-row>.layer-select{justify-content:flex-start;gap:var(--space-1);flex:1;min-width:0;padding:0}.layer-row>.layer-select>span{text-overflow:ellipsis;text-align:left;min-width:0;overflow:hidden}.layer-select small{color:var(--color-text-muted);font-size:var(--text-xs);display:block}.layer-row>button:not(.layer-select){width:var(--photo-control);min-width:var(--photo-control);height:var(--photo-control);padding:0}.thumbnail{object-fit:contain;border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-sm);flex:none;width:40px;height:32px}.layer-name{margin-top:var(--space-1)}.layer-name input{width:min(190px,75%)}.history-panel ol{margin:0;padding:0;list-style:none}.history-panel li button{white-space:normal;text-align:left;justify-content:flex-start;width:100%;display:flex}.photo-status{align-items:center;gap:var(--space-2);height:32px;padding:4px var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none;display:flex}.photo-status>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.photo-error{padding:var(--space-2);border:1px solid var(--accent);background:var(--color-bg);z-index:30;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:40px;left:88px;right:344px}.photo-dialog{background:var(--color-bg);width:480px;max-width:calc(100vw - 32px);max-height:90dvh;color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font:var(--text-sm)/var(--leading-body) var(--font-sans);margin:auto;overflow:auto}.photo-dialog::backdrop{background:color-mix(in oklch, var(--color-bg) 65%, transparent);backdrop-filter:blur(4px)}.photo-dialog header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.photo-dialog h2{font-size:var(--text-xl);line-height:var(--leading-heading);font-weight:var(--weight-bold)}.photo-dialog form{gap:var(--space-2);flex-direction:column;display:flex}.photo-dialog label{flex-direction:column;gap:4px;display:flex}.photo-dialog label:has(>[type=checkbox]){flex-direction:row;align-items:center}.photo-dialog button{font-weight:var(--weight-semibold)}.memory-note{color:var(--color-text-muted);font-size:var(--text-xs)}.export-preview{background:var(--color-bg-subtle);height:180px;margin-bottom:var(--space-2);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex}.export-preview img{object-fit:contain;max-width:100%;max-height:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.photo-panels{width:288px}.photo-topbar{gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.photo-topbar nav{grid-area:2/1/auto/-1;min-width:0}.photo-topbar .top-actions{grid-area:1/2}.photo-menu summary{padding-inline:var(--space-1)}.local-indicator{display:none}.photo-error{right:312px}}@media (height<=850px){.layers-panel{height:336px}}
