:root{color-scheme:light;--paper:#f5f4e9;--ink:#171717;--muted:#68685e;--line:#d8d8cc;--accent:#d9ec85;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}button,.button{cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:white;padding:.85rem 1.15rem;border-radius:3px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600}button:hover,.button:hover{background:#38382e}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--ink)}.secondary:hover{background:#e8e8db}.danger{color:#963428;background:transparent;border-color:#c9aaa4}.plain{border:0;padding:.45rem;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.plain:hover{background:#e8e8db}:focus-visible{outline:3px solid #62750c;outline-offset:4px}.top{display:flex;align-items:center;gap:1.6rem;padding:1.5rem 4vw;border-bottom:1px solid var(--ink);min-height:98px}.top img{object-fit:contain;display:block}.top span{border-left:1px solid var(--line);padding-left:1.6rem;font-size:.875rem}.studio-link{margin-left:auto;font-size:.875rem;text-decoration:none}main{max-width:1320px;margin:auto;padding:3.5rem 4vw 6rem;min-height:72vh}h1{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.045em;line-height:1.06;margin:.35rem 0 1rem;font-weight:700}h2{font-size:1.4rem;letter-spacing:-.02em}p{line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600}.muted{color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem}.heading p{margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.5rem 0 2rem}.stat{padding:1.3rem 0}.stat+.stat{padding-left:2rem;border-left:1px solid var(--line)}.stat strong{display:block;font-size:2rem;letter-spacing:-.04em;margin-bottom:.3rem}.stat span{color:var(--muted);font-size:.875rem}.toolbar{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.toolbar input{flex:1;max-width:25rem}.toolbar select{margin-left:auto}input,select{background:#fffef8;color:var(--ink);border:1px solid #b8b8aa;border-radius:3px;min-height:45px;padding:.7rem .9rem;max-width:100%}label{display:grid;gap:.6rem;font-size:.875rem;font-weight:600;margin-bottom:1.25rem}label input{width:100%;font-weight:400}.gallery-list{display:grid;gap:1rem}.gallery-row{display:grid;grid-template-columns:3rem 1fr auto;gap:1.4rem;align-items:center;padding:1.5rem;background:#fffef8;border:1px solid var(--line);border-radius:4px}.gallery-row h2{margin:0 0 .4rem}.gallery-row h2 a{text-decoration:none}.gallery-row h2 a:hover{text-decoration:underline}.gallery-row p{margin:0;font-size:.875rem;color:var(--muted)}.ordinal{font-size:1.4rem;color:#858578;font-weight:400}.row-end{display:flex;gap:1.2rem;align-items:center}.tag{display:inline-flex;background:#ecece3;font-size:.8rem;padding:.4rem .65rem;border-radius:3px;white-space:nowrap}.tag.active{background:var(--accent);color:#253300}.tag.expired{background:#f2ddcb;color:#674129}.empty{border:1px dashed #c1c1af;border-radius:5px;padding:4rem 1.5rem;text-align:center}.empty h2{font-size:1.8rem}.empty p{max-width:32rem;margin:0 auto 1.5rem;color:var(--muted)}.empty-mark{font-size:2.8rem;line-height:1;margin-bottom:1rem}.admin-tabs{display:flex;gap:1.75rem;margin:0 0 2.5rem;border-bottom:1px solid var(--line)}.admin-tabs a{padding:0 0 .9rem;text-decoration:none;color:var(--muted);font-size:.9rem}.admin-tabs a.current{border-bottom:2px solid var(--ink);color:var(--ink)}footer{border-top:1px solid var(--line);padding:1.6rem 4vw;display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.05em}footer span{color:var(--muted);letter-spacing:0}#local-notice{padding:.7rem 4vw;background:#e8e8dc;font-size:.875rem;color:#4a4a40}#toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:5px;padding:1rem 1.5rem;max-width:90vw;z-index:20;box-shadow:0 8px 40px #0002}.loading{text-align:center;padding:5rem}dialog{max-width:min(560px,92vw);width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:2rem;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#0006}dialog h2{font-size:1.8rem;margin-top:0}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.back{display:inline-block;font-size:.875rem;margin-bottom:1.4rem}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:2rem 0}.tabs button{background:transparent;color:var(--ink)}.tabs button[aria-selected=true]{background:var(--ink);color:white}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.photo-card{margin:0;background:#fffef8;border:1px solid var(--line)}.photo-card img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#eeeee7;display:block}.photo-card figcaption{padding:.75rem;font-size:.875rem;overflow-wrap:anywhere}.photo-card a{display:block;margin-top:.6rem}.photo-card button{margin-top:.5rem;font-size:.875rem}.detail-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}.panel{background:#fffef8;border:1px solid var(--line);padding:1.7rem;margin:1.5rem 0;border-radius:4px}.panel p:first-child{margin-top:0}.code{font-family:ui-monospace,monospace;overflow-wrap:anywhere;word-break:break-all;background:#e8e8dc;padding:1rem;border-radius:3px;font-size:.875rem}.client-title{text-align:center;padding:1rem 0 1.5rem}.client-title h1{font-size:clamp(2.2rem,5vw,4.5rem)}.client-title .muted{font-size:.95rem}.client-title+.tabs{justify-content:center}.banner{padding:1rem 1.2rem;border:1px solid #cbb99e;background:#efe4cc;margin:1.5rem 0}#download-parts{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.error{color:#963428}#modal-error{margin-top:1rem}.hint{font-size:.875rem;color:var(--muted)}.device{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;align-items:center}
@media(max-width:850px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-row{grid-template-columns:2rem 1fr}.row-end{grid-column:2;justify-content:space-between}.heading{align-items:flex-start}.heading>button{white-space:nowrap}}@media(max-width:580px){.top{padding:1.2rem 5vw;gap:1rem}.top img{width:115px;height:auto}.top span{padding-left:1rem;max-width:9rem;font-size:.8rem}.studio-link{display:none}main{padding:2.1rem 5vw 4rem}.heading{display:block}.heading>button,.heading>.actions{margin-top:1.3rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat+.stat{padding-left:.8rem}.stat strong{font-size:1.5rem}.stat span{font-size:.8rem}.toolbar{flex-wrap:wrap}.toolbar input{width:100%;flex:auto}.toolbar select{width:100%}.gallery-row{padding:1.2rem;gap:.8rem}.row-end{flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.actions>*{flex:1}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}.admin-tabs{gap:1.2rem}.empty{padding:2.5rem 1rem}.detail-meta{gap:.7rem}footer{font-size:.75rem}}

/* Client gallery: the photographs sit directly on the page. */
:root[data-client-theme="dark"]{color-scheme:dark;--paper:#1b1b19;--ink:#f4f2e9;--muted:#b6b5aa;--line:#45453e}
.client-page{background:var(--paper);color:var(--ink)}
.client-page main{max-width:1440px;padding-top:1.5rem}
.client-page .client-title{padding:1.25rem 0 1rem}
.client-preferences{display:flex;justify-content:flex-end;margin-bottom:1.1rem}
.theme-choice{display:flex;align-items:center;gap:.8rem;font-size:.85rem;color:var(--muted)}
.theme-options{display:flex;padding:4px;border:1px solid var(--line);border-radius:40px;gap:3px}
.theme-options button{border:0;border-radius:30px;background:transparent;color:var(--ink);font-weight:400;font-size:.85rem;padding:.55rem .9rem;min-height:40px}
.theme-options button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.theme-options svg{width:18px;height:18px}
.client-page .tabs button{border-radius:30px;padding:.8rem 1.3rem}
.client-page .tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.client-page .secondary:hover{background:var(--line)}
.client-page .tabs button:hover{border-color:var(--muted)}
.album-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:2.5rem 0 1.5rem}
.album-toolbar p{font-size:.85rem;color:var(--muted);margin:0}
.album-toolbar button{font-size:.85rem;white-space:nowrap}
.client-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem;align-items:start}
.client-photo{position:relative;margin:0;min-width:0;background:transparent}
.photo-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in;line-height:0}
.photo-open:hover{background:transparent}
.photo-open img{display:block;width:100%;height:auto;background:transparent;border:0;border-radius:0}
.photo-download{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:50%;color:#fff;background:#161616b8;text-decoration:none;backdrop-filter:blur(6px)}
.photo-download:hover{background:#161616;transform:translateY(-1px)}
.photo-download:focus-visible{outline-color:#fff;box-shadow:0 0 0 5px #171717}
:root[data-client-theme="dark"] .top img{filter:invert(1)}
:root[data-client-theme="dark"] :focus-visible{outline-color:#d9ec85}
:root[data-client-theme="dark"] #toast{background:#f4f2e9;color:#1b1b19}
.photo-viewer-open{overflow:hidden}
dialog.photo-viewer{color-scheme:dark;--paper:#1b1b19;--ink:#f4f2e9;--muted:#b6b5aa;--line:#45453e;width:100vw;height:100vh;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink);overflow:hidden}
dialog.photo-viewer[open]{display:flex;flex-direction:column}
dialog.photo-viewer::backdrop{background:rgb(20 20 18 / 84%);backdrop-filter:blur(2px)}
.viewer-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:12px 24px;flex:none}
.viewer-position{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}
.viewer-zoom{display:flex;gap:.3rem;align-items:center}
.viewer-control,.viewer-reset{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:var(--paper);color:var(--ink);border-radius:50%;width:44px;height:44px;font-weight:400}
.viewer-control:hover,.viewer-reset:hover{background:var(--line)}
.viewer-control:disabled{cursor:default;opacity:.3}
.viewer-reset{width:100px;border-radius:25px;font-size:.8rem}
.viewer-close{justify-self:end}
.viewer-stage{display:flex;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 70px;scrollbar-width:thin}
.viewer-frame{position:relative;flex:none;margin:auto;background:transparent;line-height:0}
.viewer-image{display:block;max-width:calc(100vw - 160px);max-height:calc(100vh - 160px);max-height:calc(100svh - 160px);width:auto;height:auto;object-fit:contain;background:transparent;cursor:zoom-in;user-select:none;opacity:0}
.is-loaded .viewer-image{opacity:1}
.viewer-download{display:none}
.is-loaded .viewer-download{display:flex}
.is-zoomed .viewer-image{max-width:none;max-height:none;cursor:grab}
.is-zoomed .viewer-image:active{cursor:grabbing}
.is-zoomed .viewer-stage{padding:12px 70px}
.viewer-previous,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:var(--paper)}
.viewer-previous{left:15px}.viewer-next{right:15px}
.viewer-hint{margin:0;padding:15px 12px 20px;text-align:center;font-size:.8rem;color:var(--muted);flex:none}
.viewer-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:var(--muted);max-width:80vw}
@media(min-width:1400px){.client-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.client-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
@media(max-width:580px){
 .client-page main{padding-top:1.3rem}.client-preferences{justify-content:center;margin-bottom:1.5rem}
 .theme-choice{gap:.6rem}.theme-options button{padding:.55rem .75rem}
 .album-toolbar{align-items:flex-start;flex-direction:column;gap:.8rem;margin-top:1.8rem}.album-toolbar button{width:100%}
 .client-photo-grid{gap:.7rem}.photo-download{width:38px;height:38px;right:7px;bottom:7px}.photo-download svg{width:20px;height:20px}
 .viewer-bar{padding:10px 10px;gap:.5rem}.viewer-reset{width:82px}.viewer-zoom{gap:0}
 .viewer-stage{padding:10px 0}.viewer-image{max-width:100vw;max-height:calc(100svh - 145px)}
 .is-zoomed .viewer-stage{padding:10px 0}.viewer-previous{left:8px}.viewer-next{right:8px}
 .viewer-previous,.viewer-next{top:auto;bottom:8px;transform:none}
 .viewer-hint{padding:15px 58px 22px;font-size:.72rem;min-height:60px}
 .viewer-download{width:44px;height:44px;right:12px;bottom:12px}
}
@media(prefers-reduced-motion:no-preference){.theme-options button,.photo-download{transition:background .15s,color .15s,transform .15s}}

/* Quick sorting keeps decisions separate from the delivered photographs. */
.sorting-panel{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid var(--line);padding:1.5rem 1.7rem;margin:2rem 0 1.3rem;border-radius:6px}
.sorting-panel h2{margin:0 0 .5rem;font-size:1.5rem}.sorting-panel p{margin:0;color:var(--muted);font-size:.85rem}
.sorting-panel>button,.selection-download{background:var(--ink);color:var(--paper);white-space:nowrap}
.sorting-panel>button:hover,.selection-download:hover{background:var(--muted);color:var(--paper)}
.client-page kbd,.photo-viewer kbd{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:.12rem .35rem;min-width:1.5rem;text-align:center;font:inherit;font-size:.8rem;color:var(--ink)}
.choice-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.choice-tabs button{border:0;border-radius:4px;background:transparent;color:var(--muted);font-weight:400;padding:.75rem .9rem}
.choice-tabs button[aria-pressed="true"]{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);font-weight:600}
.choice-tabs button span{font-size:.8rem;margin-left:.15rem}.selection-note{color:var(--muted);font-size:.8rem;margin:.8rem 0}
.album-downloads{display:flex;gap:.65rem;flex-wrap:wrap}.client-page .album-toolbar{margin-top:1.5rem}
.photo-pick{position:absolute;top:12px;left:12px;width:40px;height:40px;padding:0;border:1px solid #ffffff88;border-radius:50%;color:#fff;background:#161616a8;backdrop-filter:blur(6px)}
.photo-pick:hover{background:#161616}.photo-pick[aria-pressed="true"]{color:#253300;background:#d9ec85;border-color:#d9ec85}
.is-rejected .photo-pick{color:#fff;background:#693c38d9}
.viewer-review{flex:none;text-align:center;padding:6px 65px 16px;color:var(--ink)}
.review-status{font-size:.8rem;margin:0 0 .7rem;color:var(--muted)}
.review-actions{display:flex;gap:.75rem;justify-content:center}.review-actions button{min-width:145px;min-height:44px;padding:.6rem 1.1rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:30px}
.review-actions .review-keep[aria-pressed="true"]{background:#d9ec85;color:#253300;border-color:#d9ec85}
.review-actions .review-reject[aria-pressed="true"]{background:#6d3630;color:#fff;border-color:#6d3630}
.review-actions button:hover{border-color:var(--ink)}.review-keys{font-size:.75rem;color:var(--muted);margin:.8rem 0 0}
.touch-keys{display:none}.photo-viewer .viewer-image{max-height:calc(100vh - 235px);max-height:calc(100svh - 235px)}
.photo-viewer.is-zoomed .viewer-image{max-height:none}.viewer-previous,.viewer-next{top:44%}
.expired-gallery{max-width:750px;margin:9vh auto;text-align:center}.expired-gallery h1{font-size:clamp(2.2rem,5vw,3.8rem)}.expired-gallery p{max-width:530px;margin:1.6rem auto 2rem;color:var(--muted);font-size:1.05rem;line-height:1.7}
@media(hover:hover){.client-photo:hover{filter:brightness(1.035);transform:translateY(-3px)}.client-photo:focus-within{filter:brightness(1.035)}}
@media(prefers-reduced-motion:no-preference){.client-photo{transition:transform .18s ease,filter .18s ease}}
@media(max-width:850px){.sorting-panel{align-items:flex-start;flex-direction:column}.album-toolbar{align-items:flex-start}.album-downloads{justify-content:flex-end}}
@media(max-width:580px){
 .sorting-panel{padding:1.3rem;gap:1rem}.sorting-panel>button{width:100%}.sorting-panel h2{font-size:1.35rem}
 .choice-tabs{gap:.1rem;justify-content:space-between}.choice-tabs button{padding:.7rem .5rem;font-size:.8rem}
 .album-downloads{width:100%;flex-wrap:nowrap;gap:.4rem}.album-downloads button{min-width:0;font-size:.75rem;padding:.7rem .55rem;white-space:normal}.album-downloads svg{width:18px;flex:none}
 .photo-pick{width:36px;height:36px;left:7px;top:7px}.photo-pick svg{width:20px;height:20px}
 .viewer-review{padding:6px 10px 16px}.review-actions{gap:.5rem}.review-actions button{min-width:130px}
 .viewer-position{font-size:.75rem;max-width:74px}.viewer-bar{grid-template-columns:1fr auto 1fr}
 .viewer-review .review-keys{padding:0 45px;min-height:34px;line-height:1.4}.viewer-previous,.viewer-next{top:auto;bottom:11px}
 .photo-viewer .viewer-image{max-height:calc(100svh - 265px)}
.keyboard-keys{display:none}.touch-keys{display:inline}
}

/* The editor produces a separate download; the gallery continues to show the original. */
.viewer-edit{position:absolute;left:12px;bottom:12px;display:none;gap:.4rem;min-height:44px;padding:.45rem .8rem;border:1px solid #ffffff55;border-radius:25px;background:#161616b8;color:#fff;font-size:.8rem;font-weight:400;line-height:1;backdrop-filter:blur(6px)}
.is-loaded .viewer-edit{display:flex}.viewer-edit:hover{background:#161616}.viewer-edit:focus-visible{outline-color:#fff}
.photo-viewer.is-editing>*{visibility:hidden}
dialog.photo-editor{color-scheme:dark;--paper:#1b1b19;--ink:#f4f2e9;--muted:#b6b5aa;--line:#45453e;width:100vw;height:100vh;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#20201e;color:var(--ink);overflow:hidden}
dialog.photo-editor[open]{display:flex;flex-direction:column}dialog.photo-editor::backdrop{background:#141412f5}
.photo-editor [hidden]{display:none!important}.photo-editor :focus-visible{outline-color:#d9ec85}
.editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:20px 28px;border-bottom:1px solid #ffffff15;flex:none}
.editor-header p{font-size:.6rem;letter-spacing:.17em;color:var(--muted);margin:0 0 6px}.editor-header h2{font-size:1.4rem;letter-spacing:-.02em;margin:0;font-weight:500}
.editor-close{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;padding:0;background:transparent;color:var(--ink)}.editor-close:hover{background:#ffffff12}
.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;flex:1;min-height:0}
.editor-stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0;overflow:hidden;background:#171715}
.editor-picture{position:relative;flex:none;overflow:hidden;isolation:isolate}.editor-picture canvas{display:block;width:100%;height:100%}
.editor-crop{position:absolute;border:1px solid #fff;box-shadow:0 0 0 3000px #0009;cursor:move;touch-action:none;outline-offset:-4px}
.crop-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent calc(33.333% - .5px),#ffffff60 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff60 66.666%,transparent calc(66.666% + .5px)),linear-gradient(to bottom,transparent calc(33.333% - .5px),#ffffff60 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff60 66.666%,transparent calc(66.666% + .5px))}
.crop-handle{position:absolute;width:38px;height:38px;padding:0;border:0;background:transparent;border-radius:0;transform:translate(-50%,-50%);touch-action:none;z-index:1}
.crop-handle:after{content:'';display:block;width:9px;height:9px;background:#fff;border:1px solid #222;box-shadow:0 0 0 1px #fff}.crop-handle:hover{background:transparent}.crop-handle:focus-visible{outline-offset:-7px}
.handle-nw{left:0;top:0;cursor:nwse-resize}.handle-n{left:50%;top:0;cursor:ns-resize}.handle-ne{left:100%;top:0;cursor:nesw-resize}.handle-e{left:100%;top:50%;cursor:ew-resize}.handle-se{left:100%;top:100%;cursor:nwse-resize}.handle-s{left:50%;top:100%;cursor:ns-resize}.handle-sw{left:0;top:100%;cursor:nesw-resize}.handle-w{left:0;top:50%;cursor:ew-resize}
.editor-original-label{position:absolute;left:12px;top:12px;padding:6px 10px;font-size:.75rem;background:#171715cc;border-radius:4px;color:#fff}
.editor-loading{color:var(--muted);padding:20px;text-align:center}
.editor-panel{overflow-y:auto;padding:24px;background:#242422;border-left:1px solid #ffffff15}
.editor-panel fieldset{margin:0;padding:0;border:0;min-width:0}.editor-panel fieldset:disabled{opacity:.5}
.editor-compare-row{display:flex;align-items:center;gap:10px;margin-bottom:26px}.editor-compare-row span{font-size:.7rem;color:var(--muted)}
.editor-compare{background:transparent;border-color:var(--line);color:var(--ink);padding:.6rem .8rem;border-radius:30px;font-size:.75rem;font-weight:400;white-space:nowrap}.editor-compare:hover{background:#ffffff12}.editor-compare[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.editor-setting{margin-bottom:24px}.editor-setting label{display:block;font-size:.85rem;font-weight:500;margin:0 0 10px}.editor-setting select{width:100%;padding:.7rem;background:#1b1b19;color:var(--ink);border:1px solid var(--line);border-radius:4px;font-size:.85rem}
.editor-setting p{color:var(--muted);font-size:.7rem;line-height:1.5;margin:10px 0 0}
.editor-label{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.editor-label output{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.editor-setting input[type=range]{width:100%;height:28px;margin:0;padding:0;accent-color:#d9ec85;cursor:pointer;border:0;background:transparent}
.editor-range-ends{display:flex;justify-content:space-between;color:#99998f;font-size:.65rem;margin-top:2px}
.editor-reset{font-size:.75rem;font-weight:400;background:transparent;color:var(--ink);border:0;text-decoration:underline;text-underline-offset:4px;padding:.5rem 0}.editor-reset:hover{background:transparent;color:#d9ec85}.editor-reset:disabled{cursor:default}
.editor-note{font-size:.7rem;line-height:1.6;color:var(--muted);margin:22px 0 0;max-width:250px}
.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-top:1px solid #ffffff15;background:#20201e;flex:none}
.editor-dimensions{font-size:.8rem;color:var(--ink);margin:0}.editor-status{font-size:.7rem;color:var(--muted);margin:5px 0 0}.editor-error{font-size:.75rem;color:#ffb6aa;margin:5px 0 0}.editor-error:empty,.editor-status:empty{display:none}
.editor-save{font-size:.85rem;border-radius:30px;background:#d9ec85;color:#253300;border-color:#d9ec85;white-space:nowrap}.editor-save:hover{background:#e7f3b0}.editor-save:disabled{cursor:default}
@media(max-width:700px){
 .editor-header{padding:12px 16px}.editor-header h2{font-size:1.15rem}.editor-header p{font-size:.55rem}
 .editor-workspace{display:flex;flex-direction:column}.editor-stage{flex:1;min-height:145px}
 .editor-panel{flex:none;max-height:34svh;overflow-y:auto;border-left:0;border-top:1px solid #ffffff15;padding:16px 20px}
 .editor-panel fieldset{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.editor-compare-row{grid-column:1 / -1;margin-bottom:16px}.editor-setting{margin-bottom:16px}.editor-setting:first-of-type{grid-column:1 / -1}.editor-note{max-width:none;margin:4px 0 0}.editor-reset{justify-self:start}
 .editor-footer{gap:10px;padding:12px 16px}.editor-save{font-size:.75rem;padding:.75rem .85rem}.editor-dimensions{font-size:.7rem}.editor-status,.editor-error{font-size:.65rem}
 .viewer-edit{left:10px;bottom:12px}.viewer-edit svg{width:18px}
}
@media(max-width:370px){.editor-footer{flex-wrap:wrap}.editor-save{width:100%}.editor-panel{max-height:30svh}.editor-stage{min-height:120px}}
.review-summary{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}.review-summary .review-status{margin:0}.review-reset-choice{font-size:.75rem;color:var(--muted);background:transparent;border:0;padding:.25rem;text-decoration:underline;text-underline-offset:3px;font-weight:400}.review-reset-choice:hover{background:transparent;color:var(--ink)}.review-reset-choice:disabled{cursor:default;text-decoration:none;opacity:.4}
.editor-footer-actions{display:flex;align-items:center;gap:12px}.editor-save{background:transparent;color:var(--ink);border-color:var(--line);font-weight:400}.editor-save:hover{background:#ffffff12}.editor-apply{background:#d9ec85;color:#253300;border-color:#d9ec85;border-radius:30px;white-space:nowrap;font-size:.85rem}.editor-apply:hover{background:#e7f3b0}
.photo-edited{position:absolute;bottom:12px;left:12px;padding:7px 11px;background:#171715c9;color:#fff;border:1px solid #ffffff33;border-radius:20px;font-size:.7rem;pointer-events:none;backdrop-filter:blur(6px)}
.edits-note{font-size:.8rem;line-height:1.6;color:var(--muted);max-width:760px}.download-summary,.download-progress{flex-basis:100%;margin:0;font-size:.85rem}.download-progress{color:var(--muted)}#download-parts [hidden]{display:none}.download-cancel{font-size:.8rem}
@media(max-width:900px){.editor-footer{flex-wrap:wrap}.editor-footer-actions{margin-left:auto}}
@media(max-width:700px){.editor-footer{gap:8px}.editor-footer-actions{width:100%;gap:8px}.editor-footer-actions button{min-height:44px;flex:1;white-space:normal;font-size:.72rem;padding:.7rem .6rem}.editor-save svg{display:none}.editor-footer>div:first-child{width:100%}}
.personal-selection{padding:1.6rem;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1rem 0 2rem}.personal-selection h2{margin:.4rem 0 .6rem}.personal-selection p{margin:.35rem 0;max-width:640px}.personal-selection .hint{font-size:.75rem}.personal-actions{display:flex;flex-wrap:wrap;gap:.65rem;max-width:440px}.personal-actions label{width:100%;margin:0}.personal-actions select{width:100%;color:#171717}.personal-selection [hidden]{display:none!important}.selection-import{display:flex;align-items:center;font-weight:400}.selection-import input{width:20px;min-height:20px}
.selection-actions{margin:1rem 0}.selection-actions .plain:disabled{cursor:default}
.studio-selections .heading{margin-bottom:1rem}.studio-selections h2{margin-top:0}.studio-selections .heading p{font-size:.85rem}.client-selections-list{display:grid;gap:.65rem}.selection-row{display:grid;text-align:left;justify-content:start;gap:.4rem}.selection-row small{font-weight:400;color:var(--muted)}.selection-row span{font-size:.85rem;font-weight:400}.studio-selection-detail{margin-top:2rem}.studio-selection-detail:empty{display:none}.studio-selection-detail .tag{margin-top:.5rem;display:table}
@media(max-width:700px){.personal-selection{display:block;padding:1.2rem}.personal-actions{margin-top:1rem;max-width:none}.personal-selection>button{margin-top:1rem}.studio-selections .heading{flex-wrap:wrap}.selection-actions button{font-size:.8rem}}
