.photo-studio{grid-template-columns:minmax(0,1fr) minmax(19rem,.36fr);gap:1.25rem;display:grid}.photo-workbench,.photo-controls-panel{border:1px solid color-mix(in srgb, var(--app-fg) 12%, transparent);background:color-mix(in srgb, var(--app-card) 84%, transparent);box-shadow:inset 0 1px 0 #ffffff14, var(--app-shadow);border-radius:2rem}.photo-workbench{isolation:isolate;background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--app-teal) 9%, var(--app-card)), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--app-card-raised) 92%, var(--app-card)), color-mix(in srgb, var(--app-card) 98%, var(--app-surface)));padding:clamp(1rem,2.2vw,1.45rem);position:relative;overflow:hidden}.photo-workbench:before{content:none}.photo-controls-panel{align-self:start;padding:clamp(1rem,2vw,1.3rem)}.photo-workbench__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.photo-workbench__kicker{color:var(--app-gold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;font-size:.74rem;font-weight:950}.photo-workbench__header h1{color:var(--app-fg);letter-spacing:0;margin:0;font-size:clamp(2.25rem,4.6vw,4.8rem);font-weight:950;line-height:.94}.photo-size-pill{border:1px solid color-mix(in srgb, var(--app-teal) 42%, transparent);background:color-mix(in srgb, var(--app-teal) 14%, var(--app-card));color:var(--app-fg);white-space:nowrap;border-radius:999px;padding:.55rem .78rem;font-size:.78rem;font-weight:950}.photo-upload-zone{cursor:pointer;border:1px dashed color-mix(in srgb, var(--app-teal) 42%, var(--app-border));background:color-mix(in srgb, var(--app-surface) 70%, transparent);min-height:5.4rem;color:var(--app-fg);border-radius:1.35rem;justify-content:center;align-items:center;gap:.65rem;font-size:.95rem;font-weight:850;transition:border-color .18s,background-color .18s,transform .18s;display:flex}.photo-upload-zone:hover{border-color:color-mix(in srgb, var(--app-teal) 70%, transparent);background:color-mix(in srgb, var(--app-teal) 12%, var(--app-surface));transform:translateY(-1px)}.photo-current-file,.photo-editor-toolbar,.photo-actions,.photo-file-list__header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.photo-current-file{border:1px solid color-mix(in srgb, var(--app-fg) 10%, transparent);background:color-mix(in srgb, var(--app-surface) 72%, transparent);border-radius:1.2rem;justify-content:space-between;padding:.85rem}.photo-icon-button,.photo-mini-button,.photo-mode-button,.photo-primary-button,.photo-secondary-button{border-radius:.95rem;justify-content:center;align-items:center;gap:.5rem;font-weight:850;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex}.photo-icon-button{border:1px solid color-mix(in srgb, var(--app-fg) 14%, transparent);background:color-mix(in srgb, var(--app-card) 72%, transparent);width:2.35rem;height:2.35rem;color:var(--app-fg)}.photo-mode-button,.photo-secondary-button,.photo-mini-button{border:1px solid color-mix(in srgb, var(--app-fg) 14%, transparent);background:color-mix(in srgb, var(--app-card) 66%, transparent);color:var(--app-fg)}.photo-mode-button{min-height:2.55rem;padding:0 .9rem;font-size:.86rem}.photo-mode-button--active,.photo-primary-button{background:linear-gradient(135deg, var(--app-teal), color-mix(in srgb, var(--app-gold) 35%, var(--app-teal)));color:var(--app-action-text);border-color:#0000}.photo-preview-stage{border:1px solid color-mix(in srgb, var(--app-fg) 12%, transparent);background:radial-gradient(circle at 50% 16%, color-mix(in srgb, var(--app-teal) 12%, transparent), transparent 36%), var(--app-canvas);border-radius:1.45rem;height:min(560px,64dvh);min-height:340px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.photo-work-progress{border:1px solid color-mix(in srgb, var(--app-teal) 28%, transparent);background:color-mix(in srgb, var(--app-teal) 9%, var(--app-surface));border-radius:1.1rem;gap:.55rem;padding:.85rem 1rem;display:grid}.photo-work-progress__head,.photo-work-progress__meta{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.photo-work-progress__head{color:var(--app-fg);font-size:.9rem;font-weight:900}.photo-work-progress__head strong{color:var(--app-teal)}.photo-work-progress__bar{background:color-mix(in srgb, var(--app-fg) 10%, transparent);border-radius:999px;height:.55rem;overflow:hidden}.photo-work-progress__bar span{border-radius:inherit;background:linear-gradient(90deg, var(--app-teal), var(--app-gold));height:100%;transition:width .22s;display:block}.photo-work-progress__meta{color:var(--app-muted);font-size:.78rem}.photo-work-progress__meta span:last-child{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;max-width:min(34rem,76%);overflow:hidden}.photo-preview-overlay{z-index:5;background:color-mix(in srgb, var(--app-canvas) 78%, transparent);color:var(--app-fg);text-align:center;place-content:center;justify-items:center;gap:.55rem;display:grid;position:absolute;inset:0}.photo-preview-overlay span{font-size:.95rem;font-weight:900}.photo-preview-overlay small{max-width:min(32rem,82vw);color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.photo-file-list{border:1px solid color-mix(in srgb, var(--app-fg) 10%, transparent);background:color-mix(in srgb, var(--app-canvas) 20%, transparent);border-radius:1.2rem;overflow:hidden}.photo-file-list__header{border-bottom:1px solid color-mix(in srgb, var(--app-fg) 9%, transparent);background:color-mix(in srgb, var(--app-surface) 62%, transparent);justify-content:space-between;padding:.85rem 1rem}.photo-mini-button{min-height:2rem;padding:0 .6rem;font-size:.75rem}.photo-file-row{border-bottom:1px solid color-mix(in srgb, var(--app-fg) 8%, transparent);width:100%;color:var(--app-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.photo-file-row:last-child{border-bottom:0}.photo-file-row:hover{background:color-mix(in srgb, var(--app-fg) 5%, transparent)}.photo-file-row--active{border-color:color-mix(in srgb, var(--app-teal) 52%, transparent);background:color-mix(in srgb, var(--app-teal) 16%, var(--app-card));color:var(--app-fg)}.photo-file-row__select{min-width:0;color:color-mix(in srgb, var(--app-fg) 95%, transparent);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:800;overflow:hidden}.photo-file-row--active .photo-file-row__select{color:var(--app-fg)}.photo-file-row__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}.photo-file-row__meta small{background:color-mix(in srgb, var(--app-teal) 22%, transparent);color:inherit;border-radius:999px;padding:.16rem .45rem;font-size:.68rem;font-weight:900}.photo-file-row__download{border:1px solid color-mix(in srgb, var(--app-fg) 14%, transparent);background:color-mix(in srgb, var(--app-surface) 74%, transparent);width:2rem;height:2rem;color:var(--app-fg);border-radius:.5rem;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.photo-file-row__download:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-teal) 58%, transparent);background:color-mix(in srgb, var(--app-teal) 14%, var(--app-card))}.photo-file-row__download:disabled{cursor:not-allowed;opacity:.6}.photo-primary-button,.photo-secondary-button{white-space:nowrap;min-height:2.85rem;padding:0 1rem}.photo-primary-button:hover,.photo-secondary-button:hover,.photo-mode-button:hover,.photo-icon-button:hover,.photo-mini-button:hover{transform:translateY(-1px)}.photo-primary-button:disabled,.photo-secondary-button:disabled,.photo-mode-button:disabled{opacity:.58;transform:none}.photo-controls-panel h2{color:var(--app-fg)}
@media (max-width:900px){.photo-studio{grid-template-columns:1fr}}@media (max-width:540px){.photo-workbench,.photo-controls-panel{border-radius:1.35rem}.photo-workbench__header h1{font-size:2.55rem}}