:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#141715;color:#eee9dd;--muted:#9b9e94;--line:#363a33;--accent:#e9aa70}*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button{cursor:pointer;background:transparent;color:inherit;border:1px solid var(--line);border-radius:5px;padding:10px 15px;font:inherit}button:hover{background:#ffffff0c;border-color:#9b9e94}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-underline-offset:4px}header{height:96px;border-bottom:1px solid var(--line);padding:0 5vw;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:900;letter-spacing:-1px;font-size:23px}.brand span{color:var(--accent)}.brand i{font-style:normal;font-weight:400;color:var(--muted);font-size:11px;letter-spacing:1px;margin-left:25px}main{max-width:1450px;padding:38px 5vw;margin:auto}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,56px);margin:8px 0}.eyebrow{letter-spacing:2px;font-size:10px;color:var(--accent)}#counts{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:60px}.image-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;margin-bottom:14px}.image-label button{font-size:11px;letter-spacing:0;padding:6px 10px}#stage{background:#0c0e0d;padding:24px;display:flex;justify-content:center;align-items:center;min-height:460px}#frame{width:min(100%,390px);aspect-ratio:3/4;position:relative;overflow:hidden;background:#252924}#photo{position:absolute;max-width:none;display:block}#box{position:absolute;border:2px solid #c8ef9a;pointer-events:none;display:none;box-shadow:0 0 0 1px #0007}.nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.nav button{font-size:22px;padding:4px 20px}#position{font-family:monospace;font-size:12px;color:var(--muted)}aside{padding-top:18px}h2{font:400 32px Georgia,serif;margin:20px 0 10px}#reason{color:var(--muted);line-height:1.6;font-size:13px;min-height:40px}.metadata{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:14px;font-size:12px;padding:20px 0;margin:24px 0}.metadata span{color:var(--muted)}h3{font-size:13px;font-weight:400;display:flex;justify-content:space-between}h3 span{color:var(--muted)}label{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:12px;margin:16px 0;color:var(--muted)}input{width:55%;accent-color:var(--accent)}.text-button{padding:0;border:0;text-decoration:underline;color:var(--muted);font-size:11px}#actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.primary{grid-column:1/-1;background:var(--accent);color:#1b2119;border-color:var(--accent)}.primary:hover{background:#f6c79e}.reject{color:#e7a59b}.hint,#message{font-size:11px;line-height:1.6;color:var(--muted)}#message{color:var(--accent);min-height:18px}#strip{display:flex;gap:9px;margin-top:38px;overflow-x:auto;padding:4px}#strip button{padding:0;border-radius:2px;flex:0 0 61px;height:80px;overflow:hidden;position:relative;opacity:.6}#strip button.active{border:2px solid var(--accent);opacity:1}#strip img{width:100%;height:100%;object-fit:cover}#strip span{position:absolute;bottom:0;left:0;right:0;background:#111c;font-size:9px;padding:3px}footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;letter-spacing:1px;border-top:1px solid var(--line);padding-top:23px;margin-top:35px}#state{letter-spacing:0;color:var(--muted);float:right}body.slideshow aside,body.slideshow .image-label,body.slideshow .heading{display:none}body.slideshow .workspace{display:block}body.slideshow .image-column{max-width:680px;margin:auto}body.slideshow #frame{width:min(100%,500px)}@media(max-width:760px){header{height:75px}.brand i{display:none}main{padding-top:22px}.heading{display:block}.workspace{grid-template-columns:1fr;gap:20px}#stage{min-height:0;padding:16px}#frame{width:min(100%,350px)}aside{padding-top:0}h2{margin-top:10px}footer{flex-direction:column}#counts{margin-bottom:0}}
.credit{font-size:11px;color:var(--muted);text-align:center;line-height:1.6;margin:14px 0 0}
kbd{font:11px monospace;border:1px solid currentColor;border-radius:3px;padding:1px 5px;opacity:.7}.primary kbd{margin-left:8px}#rejectOptions{margin-top:14px;padding:15px;border:1px solid #77514a;border-radius:5px;background:#e7a59b08}#rejectOptions p{font-size:12px;margin:0 0 12px}#rejectOptions button{font-size:12px;padding:8px 10px}
[hidden]{display:none!important}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:14px;flex-wrap:wrap}.tabs button{font-size:12px}.tabs button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#e9aa7009}.tabs span{margin-left:8px;font-size:10px;opacity:.65}#empty{padding:70px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line)}#decisionInfo{color:var(--accent)}header #publicLink{font-size:12px;margin-right:10px}#logout{font-size:11px;margin-left:6px}
.login{max-width:560px;padding-top:12vh}.login>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.login form{margin:30px 0}.login label{display:block}.login input{width:100%;padding:14px;background:#0c0e0d;border:1px solid var(--line);color:inherit;border-radius:5px;font:inherit}.login button{width:100%;margin-top:18px}.public main{max-width:800px}.public .public-frame{width:min(100%,500px);aspect-ratio:3/4;overflow:hidden;position:relative;margin:auto;background:#0c0e0d}.public #publicPhoto{position:absolute;max-width:none}.public nav{display:flex;justify-content:space-between;align-items:center;margin:20px auto;max-width:500px}.public .credit{margin-bottom:30px}
#frame.editable{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}#frame.editable.dragging{cursor:grabbing}#photo{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}.zoom-controls{display:flex;align-items:center;gap:9px;margin:0 0 12px}.zoom-controls button{font-size:20px;line-height:1;padding:6px 12px}.zoom-controls output{min-width:52px;text-align:center;font:11px monospace;color:var(--muted)}.zoom-controls span{font-size:11px;color:var(--muted);margin-left:auto}.gesture-hint{font-size:11px;text-align:center;color:var(--muted);line-height:1.5;margin:12px 0 0}@media(max-width:420px){.zoom-controls span{max-width:145px;text-align:right;font-size:10px}}
/* The photograph stays fixed in place when the surrounding interface fades. */
.public{min-height:100svh;background:#101310}.public header{position:fixed;inset:0 0 auto;height:72px;border:0;z-index:3;pointer-events:none}.public header a{pointer-events:auto}.public main{max-width:none;width:100%;min-height:100svh;padding:0;display:grid;place-items:center}.public-intro{position:fixed;top:84px;left:5vw;z-index:2;pointer-events:none}.public-intro h1{font-size:clamp(28px,3vw,42px)}.public-intro .eyebrow{font-size:9px}.public #publicGallery{width:100%;min-height:100svh;display:grid;place-items:center}.public .public-frame{width:min(calc(75svh - 105px),calc(100vw - 32px),720px);margin:0;aspect-ratio:3/4;touch-action:pan-y;user-select:none;-webkit-user-select:none}.public #publicPhoto{display:block;pointer-events:none;-webkit-user-drag:none}.public .photo-hit{position:absolute;top:0;bottom:0;width:50%;padding:0;border:0;border-radius:0;background:transparent;z-index:1;cursor:pointer}.public .photo-hit-prev{left:0}.public .photo-hit-next{right:0}.public .photo-hit:hover{background:transparent}.public .photo-hit:focus-visible{outline:1px solid #eee9dd;outline-offset:-5px}.public nav{position:fixed;bottom:46px;left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 40px));margin:0;z-index:3;gap:15px}.public nav button{font-size:11px;background:#101310dd;border-color:#eee9dd22}.public #publicPosition{font:10px monospace;color:var(--muted);white-space:nowrap}.public .credit{position:fixed;bottom:10px;left:15px;right:15px;margin:0;font-size:10px;z-index:3;line-height:1.5}.public-hint{position:fixed;bottom:85px;left:20px;right:20px;text-align:center;font-size:9px;color:var(--muted);margin:0;z-index:3;pointer-events:none}.chrome{transition:opacity 650ms ease}.public.chrome-hidden .chrome{opacity:0;pointer-events:none}.public.chrome-hidden .chrome *{pointer-events:none}.public #publicEmpty{max-width:80%;font:18px Georgia,serif;color:var(--muted)}@media(max-width:760px){.public-intro{top:70px;left:24px}.public header{padding:0 24px}.public-intro h1{font-size:28px}.public .public-frame{width:min(calc(75svh - 105px),calc(100vw - 32px))}.public .public-hint{font-size:8px}}@media(prefers-reduced-motion:reduce){.chrome{transition:none}}
/* Crop editing: reveal a dimmed margin of the actual source photograph. */
#stage{overflow:hidden;isolation:isolate}#stage.is-cropping{padding:56px 44px;touch-action:none;cursor:grab;background:#080b09}#stage.is-cropping.dragging{cursor:grabbing}#stage.is-cropping #frame{overflow:visible;background:transparent}#stage.is-cropping #frame.editable{cursor:inherit}#cropGuide{position:absolute;inset:0;z-index:2;pointer-events:none;outline:1px solid #fff9;box-shadow:0 0 0 2000px #080b0980;background:linear-gradient(to right,transparent calc(33.333% - .5px),#ffffff25 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff25 66.666%,transparent calc(66.666% + .5px)),linear-gradient(to bottom,transparent calc(33.333% - .5px),#ffffff25 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff25 66.666%,transparent calc(66.666% + .5px))}.crop-label{position:absolute;top:-27px;left:0;white-space:nowrap;font-size:9px;letter-spacing:1.5px;color:#fff;background:#101310d9;padding:5px 7px;border-radius:2px}.corner{position:absolute;width:18px;height:18px;border-color:#fff;border-style:solid;border-width:0}.corner.tl{left:-2px;top:-2px;border-top-width:3px;border-left-width:3px}.corner.tr{right:-2px;top:-2px;border-top-width:3px;border-right-width:3px}.corner.bl{left:-2px;bottom:-2px;border-bottom-width:3px;border-left-width:3px}.corner.br{right:-2px;bottom:-2px;border-bottom-width:3px;border-right-width:3px}#box{z-index:3}@media(max-width:760px){#stage.is-cropping{padding:48px 30px}}@media(max-width:380px){#stage.is-cropping{padding:42px 24px}}
/* Admin is a working surface, sized to the viewport rather than a landing page. */
.studio{height:100dvh;overflow:hidden}.studio>header{height:50px;padding:0 20px}.studio .brand{font-size:19px}.studio .brand i{font-size:9px;margin-left:14px}.studio>header button{padding:6px 9px;font-size:11px}.studio>main{height:calc(100dvh - 50px);width:100%;max-width:1600px;padding:10px 20px;display:grid;grid-template-areas:'status' 'tabs' 'queue' 'workspace' 'strip' 'footer';grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:7px}.studio .heading{grid-area:status;margin:0;display:block}.studio #counts{margin:0;font-size:10px}.studio #tabs{grid-area:tabs;margin:0;padding-bottom:7px;gap:6px}.studio #tabs button{padding:6px 10px;font-size:11px}.studio #queueInfo{grid-area:queue;margin:0;font-size:10px}.studio #empty{grid-area:workspace}.studio .workspace{grid-area:workspace;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.studio .image-column{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:5px}.studio .image-label{margin:0;font-size:9px}.studio .image-label button{padding:4px 8px;font-size:10px}.studio .zoom-controls{margin:0}.studio .zoom-controls button{padding:3px 10px;font-size:18px}.studio .zoom-controls span{font-size:10px}.studio #stage,.studio #stage.is-cropping{min-height:0;height:100%;container-type:size;padding:30px 28px}.studio #frame{width:min(100%,390px,calc(100cqh * var(--photo-ratio,.75)));max-height:100%;flex:none}.studio .nav{margin:0}.studio .nav button{font-size:18px;padding:1px 16px}.studio .gesture-hint,.studio .credit{margin:0;font-size:9px;line-height:1.4}.studio aside{padding:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.studio aside>.eyebrow{margin:0;font-size:9px}.studio h2{font-size:24px;margin:5px 0}.studio #decisionInfo{font-size:10px;margin:5px 0 12px}.studio #editor{padding-top:10px;border-top:1px solid var(--line)}.studio #editor h3{margin:0 0 8px;font-size:12px}.studio #editor label{font-size:11px;margin:10px 0;gap:10px}.studio #editor input{width:57%}.studio #actions{gap:7px;margin-top:18px}.studio #actions button{padding:8px 9px;font-size:11px}.studio #rejectOptions{margin-top:8px;padding:10px}.studio #message{margin:6px 0;min-height:14px;font-size:10px}.studio aside>.hint{font-size:9px;line-height:1.45;margin:8px 0}.studio .photo-details{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:11px;color:var(--muted)}.studio .photo-details summary{cursor:pointer}.studio #reason{min-height:0;font-size:11px;line-height:1.45;margin:10px 0}.studio .metadata{padding:10px 0;margin:10px 0;gap:10px;font-size:10px}.studio #strip{grid-area:strip;margin:0;padding:2px;gap:7px;min-width:0}.studio #strip button{height:44px;flex-basis:34px}.studio #strip span{font-size:7px;padding:1px}.studio footer{grid-area:footer;padding-top:5px;margin:0;flex-direction:row;font-size:8px;gap:12px}.studio.slideshow .workspace{grid-template-columns:1fr}.studio.slideshow .image-column{width:100%;height:100%;margin:auto}.studio.slideshow #frame{width:min(100%,500px,75cqh)}
@media(min-width:640px) and (max-height:700px){.studio>main{gap:5px;padding-top:7px;padding-bottom:7px}.studio #strip button{height:34px;flex-basis:26px}.studio #queueInfo{display:none}.studio #editor label{margin:7px 0}.studio #actions{margin-top:12px}.studio #actions button{padding:7px}.studio #decisionInfo{margin-bottom:8px}}
@media(max-width:639px){.studio>header{height:46px;padding:0 12px}.studio .brand{font-size:17px}.studio .brand i,.studio #publicLink{display:none}.studio>header button{font-size:10px;padding:5px 7px}.studio>main{height:calc(100dvh - 46px);padding:8px 12px;gap:6px;grid-template-areas:'status' 'tabs' 'workspace';grid-template-rows:auto auto minmax(0,1fr)}.studio #counts{font-size:9px}.studio #tabs{padding-bottom:6px;flex-wrap:nowrap}.studio #tabs button{padding:5px 8px;font-size:10px}.studio #tabs span{margin-left:4px;font-size:9px}.studio #queueInfo,.studio #strip,.studio footer{display:none}.studio .workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:9px}.studio .image-column{grid-template-rows:auto auto minmax(0,1fr) auto auto}.studio #gestureHint{display:none}.studio #stage,.studio #stage.is-cropping{padding:26px 24px}.studio #frame{width:min(100%,350px,calc(100cqh * var(--photo-ratio,.75)))}.studio .zoom-controls span{font-size:9px}.studio .image-label button{padding:3px 7px}.studio .nav button{padding:1px 18px}.studio aside{max-height:44dvh;padding:0;display:grid;grid-template-columns:1fr;gap:0}.studio aside>.eyebrow,.studio #decisionInfo,.studio aside>.hint,.studio aside>h2{display:none}.studio #editor{padding-top:7px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px}.studio #editor h3{display:none}.studio #editor label{display:flex;flex-direction:column;gap:3px;margin:0 0 6px;font-size:10px}.studio #editor input{width:100%;margin:4px 0}.studio #reset{grid-column:1/-1;font-size:10px;justify-self:start;margin:0 0 4px;min-height:20px}.studio #actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;margin-top:4px;gap:6px}.studio #actions .primary{grid-column:auto}.studio #actions button{min-height:38px;padding:5px;font-size:10px}.studio #message{min-height:0;margin:3px 0;font-size:9px}.studio .photo-details{margin-top:4px;padding-top:5px;font-size:10px}.studio #rejectOptions{padding:7px;margin-top:5px}.studio #rejectOptions p{font-size:10px;margin-bottom:7px}.studio #rejectOptions button{padding:6px 9px}.studio.slideshow .workspace{grid-template-rows:minmax(0,1fr)}.studio.slideshow #frame{width:min(100%,500px,75cqh)}}
.touch-help,.mobile-adjust,.approve-mobile{display:none}.studio .image-column{grid-template-areas:'image-label' 'zoom' 'stage' 'navigation' 'hint' 'credit'}.studio .image-label{grid-area:image-label}.studio #zoomControls{grid-area:zoom}.studio #stage{grid-area:stage}.studio .nav{grid-area:navigation}.studio #gestureHint{grid-area:hint}.studio #credit{grid-area:credit}
@media(max-width:639px){.studio>main{padding-bottom:max(8px,env(safe-area-inset-bottom));gap:5px}.studio .workspace{gap:7px}.studio .image-column{grid-template-areas:'image-label' 'stage' 'navigation' 'credit';grid-template-rows:auto minmax(0,1fr) auto auto;gap:5px}.studio #zoomControls{display:none}.studio .image-label .touch-help{display:inline;font-size:9px;letter-spacing:0;color:var(--muted);text-align:center}.studio #stage,.studio #stage.is-cropping{padding:27px 24px}.studio .nav button{min-height:30px}.studio aside{max-height:42dvh;overflow-y:auto;gap:0}.studio #editor,.studio #save{display:none}.studio #actions{grid-template-columns:1fr 1fr;margin:0;gap:7px}.studio #actions #approve{order:0}.studio #actions #reject{order:1}.studio #actions #restore{order:3}.studio #actions #undo{order:4}.studio #actions button{min-height:48px;font-size:14px;padding:8px 10px}.studio #actions #save{order:2;grid-column:1/-1;min-height:40px;font-size:12px}.approve-desktop{display:none}.approve-mobile{display:inline}.studio .mobile-adjust{display:block;justify-self:center;min-height:30px;padding:5px 8px;font-size:10px;margin-top:2px}.studio.mobile-finetune #editor{display:grid;margin-bottom:7px}.studio.mobile-finetune #save{display:block}.studio #rejectOptions p{font-size:12px}.studio #rejectOptions button{min-height:42px;font-size:12px}.studio .photo-details{display:none}.studio #message:empty{display:none}.studio #message{margin:3px 0;font-size:10px}.studio.slideshow #mobileAdjust{display:none}}
.studio #stage{position:relative}.studio #stage.photo-loading::after{content:'Loading photo…';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;z-index:4;pointer-events:none}
.public .public-frame.photo-error::after{content:'Photo could not load. Tap to continue.';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;pointer-events:none;z-index:2}
/* Photo navigation stays visually quiet for touch and mouse input. */
.public .photo-hit{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;box-shadow:none}.public .photo-hit:active{background:transparent;box-shadow:none}.public .photo-hit:focus:not(:focus-visible){outline:none}
/* Public gallery: just the photograph, its credit, and a brief opening logo. */
.public header{transition:opacity 650ms ease,visibility 0s linear 650ms}.public.logo-hidden header{opacity:0;visibility:hidden;pointer-events:none}.public.logo-hidden header *{pointer-events:none}.public #publicGallery{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:24px 16px;min-height:100svh}.public .public-frame{width:min(calc((100svh - 80px)*.75),calc(100vw - 32px),720px);flex:none}.public .credit{position:static;inset:auto;margin:0;font-size:9px;line-height:1.4;letter-spacing:.15px}.public .credit a{text-decoration:none}.public .credit a:hover,.public .credit a:focus-visible{text-decoration:underline}@media(prefers-reduced-motion:reduce){.public header{transition:none}}
.public header{transition:opacity 650ms ease,visibility 0s}.public.logo-hidden header{transition:opacity 650ms ease,visibility 0s linear 650ms}@media(prefers-reduced-motion:reduce){.public header,.public.logo-hidden header{transition:none}}
