
:root{color-scheme:dark;--bg:#12101b;--panel:#201b2d;--text:#f2eadf;--muted:#b7acbd;--line:#3d3448;--gold:#d4b780;--violet:#b9a0dc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}header{max-width:1440px;margin:auto;padding:52px 30px 28px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:11px;letter-spacing:.25em;margin:0 0 12px}h1{font:normal clamp(36px,6vw,72px)/1.1 Georgia,serif;margin:0 0 16px}header p{max-width:750px;color:var(--muted);margin:0}header .meta{margin-top:18px;color:var(--gold);font-size:13px}.toolbar{position:sticky;top:0;z-index:2;background:#12101bf5;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.controls{max-width:1440px;margin:auto;padding:16px 30px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.filter{border:1px solid var(--line);color:var(--muted);background:transparent;border-radius:999px;padding:8px 15px;font-size:13px}.filter[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#221928}.filter:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--violet);outline-offset:3px}input{margin-left:auto;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:10px 14px;border-radius:8px;min-width:200px;width:240px;font-size:14px}main{max-width:1440px;margin:auto;padding:22px 30px 54px}.result{color:var(--muted);font-size:13px;margin:0 0 20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}.card{margin:0;min-width:0}.art{border:1px solid var(--line);padding:0;width:100%;height:260px;background:#0b0911;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;transition:border-color .2s,transform .2s}.art:hover{border-color:var(--gold);transform:translateY(-2px)}.art img{max-width:100%;max-height:100%;object-fit:contain;display:block}figcaption{padding:12px 2px 0}.title{font:normal 19px/1.3 Georgia,serif;margin:0 0 6px}.caption{font-size:12px;color:var(--muted)}.tag{color:var(--gold)}.empty{padding:70px 20px;text-align:center;color:var(--muted);grid-column:1/-1}footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:24px 30px 48px;color:var(--muted);font-size:12px}footer p{max-width:950px;margin:0 0 10px}dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;margin:0;padding:18px;background:#0b0912;color:var(--text)}dialog::backdrop{background:#000d}.viewer{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.viewer-head,.viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer-head p{margin:0;color:var(--muted);font-size:12px}.viewer button{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px 16px;min-width:48px}.picture{min-height:0;display:flex;align-items:center;justify-content:center}.picture img{width:100%;height:100%;object-fit:contain}.viewer-foot h2{font:normal 24px/1.2 Georgia,serif;margin:0 0 7px}.viewer-foot p{font-size:12px;color:var(--muted);margin:0}.navigation{display:flex;gap:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.art{height:250px}input{margin-left:0;flex:1}}@media(max-width:580px){header{padding:32px 18px 24px}.controls{padding:12px 18px;gap:8px}.filter{padding:7px 10px;font-size:12px}input{flex-basis:100%;width:100%;min-width:0}.grid{grid-template-columns:1fr;gap:26px}.art{height:270px}main{padding:20px 18px 38px}footer{padding:20px 18px 32px}.viewer-foot h2{font-size:19px}.viewer-foot{align-items:flex-start}.viewer button{padding:9px 12px}dialog{padding:12px}.viewer-foot p{max-width:220px}}

html{scroll-behavior:smooth}a{color:var(--gold)}.new-note{color:var(--violet)}.edition{float:right;font:11px/1.3 system-ui,sans-serif;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:9px 12px;text-transform:uppercase}.filter.new-filter[aria-pressed=true]{background:var(--violet);border-color:var(--violet)}.controls{gap:9px}.result{display:flex;align-items:center;justify-content:space-between;gap:10px}.art{height:300px}.card[data-era="New arrivals"] .art{border-color:#655371}.viewer{gap:10px;grid-template-rows:auto minmax(0,1fr) auto auto}.viewer-head{min-height:42px}.viewer-head p{font-size:13px}.viewer-head-right{display:flex;gap:8px}.viewer-foot{min-height:58px}.viewer-foot h2{font-size:22px}.viewer-foot p{line-height:1.35}.picture{position:relative;overflow:hidden;touch-action:none;user-select:none;border-radius:5px}.picture img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none;user-select:none}.picture.zoomed{cursor:grab}.picture.zoomed:active{cursor:grabbing}.viewer-tools{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}.viewer button{min-height:44px;min-width:44px;font-size:14px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px}.viewer button.primary{color:#1b1320;background:var(--gold);border-color:var(--gold)}.viewer svg{width:18px;height:18px;flex-shrink:0}.zoom-control{display:flex;gap:6px;align-items:center}.zoom-control span{font-size:12px;width:37px;text-align:center;color:var(--muted)}.viewer .icon-only{padding:10px;min-width:44px}.viewer .navigation{flex-shrink:0}.viewer .navigation button{font-size:21px}.viewer-tools .divider{height:25px;border-left:1px solid var(--line);margin:0 3px}.toast{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:30;background:#30283e;color:var(--text);border:1px solid #706080;padding:12px 17px;border-radius:12px;box-shadow:0 8px 35px #0006;max-width:min(520px,calc(100vw - 30px));width:max-content;font-size:13px;line-height:1.5;text-align:center;pointer-events:none}.toast[hidden]{display:none}.help{max-width:900px;margin-top:14px}.help summary{cursor:pointer;color:var(--gold);padding:8px 0}.help p{margin-top:10px}.light-edition .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px}.light-edition .card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:30px}.light-edition .card:first-child .art{height:auto;aspect-ratio:16/9}.light-edition .card:first-child figcaption{padding:0 24px 0 0}.light-edition .card:first-child .title{font-size:clamp(25px,3.5vw,42px)}.light-edition .card:not(:first-child) .art{height:auto;aspect-ratio:4/5}.light-edition header{padding-bottom:32px}.light-edition .card:not(:first-child) .title{font-size:24px}.light-edition .caption{margin-top:8px}.edition-sub{font-size:12px;color:var(--muted)}.light-edition main{max-width:1160px}.light-edition header,.light-edition .controls,.light-edition footer{max-width:1160px}.screenreader-status{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}dialog{height:100vh;height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.badge{color:var(--violet)}
@media(max-width:980px){.light-edition .card:first-child{grid-template-columns:1.5fr 1fr}.light-edition .card:first-child figcaption{padding-right:0}.art{height:270px}}
@media(max-width:580px){.edition{float:none;display:inline-block;margin:0 0 17px;font-size:10px}.eyebrow{font-size:10px;margin-bottom:10px}h1{font-size:44px}.light-edition header{padding:26px 18px 24px}.light-edition .grid{gap:26px 16px}.light-edition .card:first-child{display:block}.light-edition .card:first-child figcaption{padding:13px 0 0}.light-edition .card:first-child .title{font-size:26px}.light-edition .card:not(:first-child) .title{font-size:19px}.light-edition .card .caption{font-size:11px}.light-edition .controls input{flex-basis:auto;width:150px;min-width:100px}.viewer-foot h2{font-size:19px;margin-bottom:5px}.viewer-head-right{gap:6px}.viewer-head p{font-size:12px}.viewer-tools{gap:6px;justify-content:space-between}.viewer-tools button{padding:10px}.viewer .navigation{gap:6px}.viewer-tools .divider{display:none}.viewer-tools .zoom-control{gap:4px}.viewer-tools .zoom-control span{width:32px}.viewer-tools .primary{padding:11px 15px;flex:1 0 100%}.viewer-tools .save-label{display:none}.viewer{gap:7px}.viewer-foot{gap:10px}.viewer-foot p{max-width:235px;font-size:11px}.zoom-control button{min-width:40px}.viewer-head-right .fullscreen-label{display:none}}
@media(orientation:landscape) and (max-height:580px){dialog{padding:8px 15px}.viewer{gap:4px;grid-template-rows:38px minmax(0,1fr) 40px}.viewer-head{min-height:0}.viewer-head p{font-size:11px}.viewer-head button{min-height:34px;padding:7px 11px}.viewer-tools{position:absolute;bottom:9px;left:16px;right:175px;justify-content:flex-start;flex-wrap:nowrap;border:0;padding:0;gap:5px;min-height:36px}.viewer-tools button{min-height:34px;padding:7px 11px}.viewer-tools .zoom-control button{min-height:34px;min-width:34px;padding:6px}.viewer-tools .divider{height:20px}.viewer-foot{min-height:38px;justify-content:flex-end}.viewer-foot .view-copy{position:absolute;top:13px;left:95px;right:220px;text-align:center;pointer-events:none}.viewer-foot h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.viewer-foot .view-copy p{display:none}.viewer-foot .navigation button{min-height:34px;padding:5px 13px}.viewer-head-right .fullscreen-label{display:inline}.viewer-tools .save-label{display:inline}.viewer-tools .primary{flex:0 1 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art{transition:none}.picture img{will-change:auto}}
/* Management is local to this browser. The switch is not authentication. */
[hidden]{display:none!important}.manage-toggle{border-color:var(--violet);color:var(--text);min-height:44px}.manage-toggle[aria-pressed=true]{background:var(--violet);color:var(--bg)}
.filter[data-filter=trash]{color:#efb4bd;border-color:#866475}.filter[data-filter=trash][aria-pressed=true]{background:#f0bac4;color:#241724}
.management-panel{border:1px solid #685574;border-radius:12px;padding:20px 22px;margin:0 0 24px;background:linear-gradient(120deg,#241b32,#1b1725)}
.management-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.management-heading h2{font:normal 24px/1.2 Georgia,serif;margin:0}.management-heading span{font-size:12px;color:var(--gold)}
.management-panel p{max-width:840px;font-size:13px;color:var(--muted);line-height:1.55;margin:12px 0}.management-panel p strong{color:var(--text)}
.management-actions,.card-actions,.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap}.management-panel button,.card-actions button,.confirm-dialog button{min-height:44px;border:1px solid #705e80;color:var(--text);background:#30253f;border-radius:8px;padding:10px 15px;font-size:13px;font:inherit;line-height:1.3}
.management-panel button{font-size:13px}.management-panel button.primary{background:var(--gold);color:#201721;border-color:var(--gold)}
.card-actions{margin-top:12px}.card-actions button{font-size:13px;display:inline-flex;gap:7px;align-items:center}.card-actions svg{width:17px;height:17px}.card-actions .danger,.viewer .danger{color:#ffcad3;border-color:#87576c;background:#352331}
button:disabled{opacity:.48;cursor:not-allowed}.card[data-trashed=true] .art{opacity:.65;border-style:dashed}.trash-marker{display:inline-block;color:#efb4bd;font-size:12px;margin-top:7px}
.local-warning{border:1px solid #bc9771;background:#302526;border-radius:8px;padding:13px 17px;font-size:13px;margin:0 0 20px;color:#ffe1b8}
.management-panel #managementMessage{color:var(--text);margin-bottom:0}.management-panel #managementMessage:empty{display:none}.management-panel #exportStatus{color:var(--gold)}
.confirm-dialog{inset:0;margin:auto!important;width:min(530px,calc(100vw - 28px))!important;height:fit-content!important;max-height:calc(100dvh - 28px)!important;max-width:530px!important;padding:24px!important;border:1px solid #7c6686!important;border-radius:15px;background:#211a2c;color:var(--text);overflow:auto;box-shadow:0 20px 100px #000b}
.confirm-dialog::backdrop{background:#090510cf}.confirm-dialog h2{font:normal 29px/1.15 Georgia,serif;margin:0 0 19px}.confirm-dialog p{font-size:14px;line-height:1.6;color:var(--muted);margin:13px 0 22px}.confirmation-art{display:flex;gap:14px;align-items:center}.confirmation-art:has(img[hidden]){display:none}.confirmation-art img{width:95px;height:85px;object-fit:contain;border:1px solid var(--line);border-radius:7px;background:#110d18}.confirmation-art strong{font:normal 22px/1.25 Georgia,serif}
.confirmation-actions{justify-content:flex-end}.confirm-dialog .danger{background:#824052;border-color:#c88397;color:#fff}.confirm-dialog button{font-size:14px}.viewer-head-right{align-items:center}.viewer-head-right button{flex-shrink:0}.viewer-head #position{min-width:40px}.viewer-head-right #viewerDelete,.viewer-head-right #viewerRestore{min-width:44px}
@media(max-width:580px){.management-panel{padding:16px}.management-heading h2{font-size:23px}.management-heading{gap:8px}.management-actions button.primary{flex-basis:100%}.card-actions button{font-size:12px;padding:9px 11px}.manage-toggle{font-size:12px}.viewer-head-right{gap:5px}.viewer .delete-label{display:none}.viewer-head-right #viewerDelete,.viewer-head-right #viewerRestore{padding:10px}.confirm-dialog{padding:20px!important}.confirm-dialog h2{font-size:26px}.confirmation-actions button{flex:1}.confirmation-art strong{font-size:20px}}
@media(orientation:landscape) and (max-height:580px){.viewer-head-right .delete-label{display:none}.viewer-foot .view-copy{right:255px}.viewer-head-right #viewerDelete,.viewer-head-right #viewerRestore{min-height:34px;padding:7px 10px}.confirm-dialog{max-height:calc(100dvh - 16px)!important;padding:16px 22px!important}.confirm-dialog h2{font-size:23px;margin-bottom:12px}.confirmation-art img{height:55px;width:65px}.confirm-dialog p{margin:10px 0;font-size:13px}}

/* A deleted landscape cover must not force the next portrait into a wide frame. */
.light-edition .card:first-child{grid-column:auto;display:block}
.light-edition .card:first-child .art{height:auto;aspect-ratio:4/5}
.light-edition .card:first-child figcaption{padding:12px 2px 0}
.light-edition .card:first-child .title{font-size:24px}
.light-edition .card[data-landscape="true"]{grid-column:1/-1;display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:30px}
.light-edition .card[data-landscape="true"] .art{height:auto;aspect-ratio:16/9}
.light-edition .card[data-landscape="true"] figcaption{padding:0 24px 0 0}
.light-edition .card[data-landscape="true"] .title{font-size:clamp(25px,3.5vw,42px)}
@media(max-width:580px){.light-edition .grid{grid-template-columns:1fr}.light-edition .card[data-landscape="true"]{display:block}.light-edition .card[data-landscape="true"] figcaption{padding:13px 0 0}.light-edition .card:first-child .title,.light-edition .card:not(:first-child) .title,.light-edition .card[data-landscape="true"] .title{font-size:24px}}


/* Phone display v1: one entry point, a dedicated screen, tools only inside it. */
.card .phone-entry{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;margin-top:14px;padding:11px 14px;border:1px solid #665371;border-radius:9px;background:#251d32;color:var(--text);font:500 13px/1.3 system-ui,sans-serif}
.card .phone-entry:hover{border-color:var(--gold);background:#30253f}
.phone-entry svg,.display-phone svg{width:20px;height:20px;flex-shrink:0}
#lightbox{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}
#lightbox .viewer{position:relative;grid-template-rows:44px minmax(0,1fr) auto auto;gap:10px;min-height:0}
#lightbox .viewer-head{min-height:44px}
#lightbox .viewer-head-right{flex-wrap:nowrap}
#lightbox .viewer-head button,#lightbox .viewer-foot button{min-height:44px}
#lightbox .viewer-foot{position:static;min-height:44px;justify-content:space-between;align-items:center;gap:12px}
#lightbox .viewer-foot .view-copy{position:static;min-width:0;text-align:left;pointer-events:auto;flex:1}
#lightbox .viewer-foot h2{font-size:20px;white-space:normal;overflow-wrap:anywhere;margin:0 0 5px;line-height:1.2}
#lightbox .viewer-foot .view-copy p{display:block;max-width:none;font-size:11px;line-height:1.35}
#lightbox .preview-actions{position:static;display:flex;flex-wrap:nowrap;justify-content:center;border-top:1px solid var(--line);padding-top:10px;gap:10px;min-height:54px}
#lightbox .preview-actions #displayPhone{flex:1;max-width:460px;min-height:46px;font-size:14px;padding:12px}
#lightbox .preview-actions #share{min-height:46px;padding:12px 16px}
#lightbox .picture{min-height:0;min-width:0;background:#0b0912}
#lightbox .picture[aria-busy=true]::after{content:'Opening painting…';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--muted);font-size:13px;pointer-events:none}
#lightbox .picture[aria-busy=true] img{visibility:hidden}
#lightbox.phone-display{padding:0;background:#07060c}
#lightbox.phone-display .viewer{display:block;position:relative;height:100%;width:100%}
#lightbox.phone-display .viewer-head,#lightbox.phone-display .viewer-foot,#lightbox.phone-display .preview-actions{display:none}
#lightbox.phone-display #stage{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#07060c;outline-offset:-5px}
#lightbox .phone-bar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 22px max(14px,env(safe-area-inset-left));background:linear-gradient(#07060cd9,#07060c8c,transparent);pointer-events:none}
#lightbox .phone-bar button{pointer-events:auto;min-height:46px;background:#191421db;backdrop-filter:blur(8px);border-color:#6c5a78;padding:11px 15px;font-size:14px}
#lightbox .phone-bar-actions{display:flex;gap:8px}
#lightbox #phoneShare{color:#201627;background:var(--gold);border-color:var(--gold)}
#lightbox .phone-caption{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;align-items:center;gap:12px;padding:24px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:linear-gradient(transparent,#07060cbf,#07060ced);pointer-events:none}
#lightbox .phone-caption>div{flex:1;min-width:0;text-align:center}
#lightbox .phone-caption p{margin:0}
#lightbox #phoneTitle{font:normal clamp(16px,2vw,22px)/1.25 Georgia,serif;text-wrap:balance;max-height:2.6em;overflow:hidden}
#lightbox #phonePosition{font:12px/1.4 system-ui,sans-serif;color:var(--muted);padding-top:5px}
#lightbox .phone-caption button{pointer-events:auto;background:#191421db;border-color:#6c5a78;min-height:46px;min-width:46px;padding:10px;font-size:22px}
#lightbox .phone-panel{position:absolute;z-index:9;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:540px;max-height:calc(100% - 100px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;margin:0 auto;padding:18px;border:1px solid #7a6388;border-radius:16px;background:#1e172aef;box-shadow:0 20px 70px #0008;backdrop-filter:blur(18px)}
#lightbox .phone-panel-head{display:flex;gap:10px;align-items:center;justify-content:space-between}
#lightbox .phone-panel h2{font:normal 25px/1.2 Georgia,serif;margin:0}
#lightbox .phone-panel-head button{min-width:60px;min-height:44px}
#lightbox .phone-hint{font:13px/1.5 system-ui,sans-serif;color:var(--muted);margin:12px 0 15px}
#lightbox .phone-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#lightbox .phone-tool-grid>button{min-height:46px;min-width:0;padding:11px 8px;font-size:13px}
#lightbox .phone-zoom-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #554660;padding-bottom:12px;margin-bottom:3px;font-size:14px}
#lightbox .phone-zoom-row .zoom-control{display:flex;gap:10px}
#lightbox .phone-zoom-row .zoom-control button{min-width:48px;min-height:46px;font-size:23px;padding:7px}
#lightbox .phone-zoom-row #zoomLabel{font-size:13px;width:43px;align-self:center}
#lightbox .phone-hide-controls{grid-column:1/-1}
#lightbox .phone-tools-note{font:11px/1.5 system-ui,sans-serif;color:var(--muted);margin:12px 0 0}
#lightbox .phone-reveal{position:absolute;z-index:6;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));border-radius:24px;background:#191421b8;border-color:#6c5a7880;backdrop-filter:blur(5px);font-size:12px;min-height:44px;opacity:.8}
#lightbox.phone-display #viewerToast{bottom:max(105px,calc(env(safe-area-inset-bottom) + 90px));z-index:12}
#lightbox.chrome-hidden #phoneBar,#lightbox.chrome-hidden #phoneCaption{visibility:hidden;pointer-events:none}
#lightbox.phone-tools-open #phoneCaption{visibility:hidden}
@media(max-width:580px){
 #lightbox .preview-actions #displayPhone{font-size:13px;padding:11px 9px;max-width:none}
 #lightbox .preview-actions #share{font-size:13px;padding:11px}
 #lightbox .viewer-foot h2{font-size:19px}
 #lightbox .viewer-tools .primary{flex:1 1 auto}
 #lightbox .phone-panel{padding:16px}
}
@media(orientation:landscape) and (max-height:580px){
 #lightbox{padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}
 #lightbox .viewer{grid-template-rows:44px minmax(0,1fr) 44px;gap:6px}
 #lightbox .viewer-foot{position:absolute;left:64px;right:160px;top:0;height:44px;min-height:44px;margin:0;pointer-events:none}
 #lightbox .viewer-foot .view-copy{text-align:center;pointer-events:none}
 #lightbox .viewer-foot .view-copy h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
 #lightbox .viewer-foot .view-copy p{display:none}
 #lightbox .viewer-foot .navigation{display:none}
 #lightbox .preview-actions{min-height:44px;padding-top:0;border:none}
 #lightbox .preview-actions #displayPhone,#lightbox .preview-actions #share{min-height:44px;padding:8px 13px}
 #lightbox .phone-bar{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:18px}
 #lightbox .phone-caption{padding-top:18px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 #lightbox .phone-panel{left:auto;right:max(12px,env(safe-area-inset-right));width:min(480px,calc(100% - 24px));max-height:calc(100% - 80px - env(safe-area-inset-top));padding:12px 16px}
 #lightbox .phone-panel h2{font-size:23px}
 #lightbox .phone-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #lightbox .phone-zoom-row{grid-column:1/-1;padding-bottom:8px;margin:0}
 #lightbox .phone-hide-controls{grid-column:auto}
 #lightbox .phone-hint{font-size:12px;margin:7px 0}
 #lightbox .phone-tools-note{font-size:10px;margin-top:8px}
}

/* Keep the underlying gallery out of the fullscreen compositing layer.
   Visibility preserves gallery layout and scroll position when returning. */
body:has(#lightbox[open].phone-display)>header,
body:has(#lightbox[open].phone-display)>.toolbar,
body:has(#lightbox[open].phone-display)>main,
body:has(#lightbox[open].phone-display)>footer,
body:has(#lightbox[open].phone-display)>#pageToast{visibility:hidden;pointer-events:none}
/* Gallery bio: authored text stays intact when saving a curated copy. */
header .gallery-bio{max-width:760px;margin:22px 0 10px}
header .bio-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 9px}
header .gallery-bio blockquote{margin:0;max-width:730px;font:normal clamp(21px,2.8vw,30px)/1.4 Georgia,serif;color:var(--text);text-wrap:balance}
header .bio-social{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:11px 0 0;color:var(--muted);font-size:13px}
header .bio-social a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--gold);text-decoration:underline;text-decoration-color:#796545;text-underline-offset:5px}
header .bio-social a:hover{text-decoration-color:currentColor}
header .bio-social a:focus-visible{outline:3px solid var(--violet);outline-offset:4px;border-radius:3px}
header .bio-link-arrow{font:15px/1 system-ui,sans-serif}
@media(max-width:580px){header .gallery-bio{margin-top:20px}header .gallery-bio blockquote{font-size:24px;max-width:430px}header .bio-social{margin-top:9px}}

/* Live owner controls */
.bio-handle{color:var(--gold);font-weight:600}.confirm-dialog label{display:block;font-size:14px;margin:12px 0 5px}
.confirm-dialog input{display:block;min-width:0;width:100%;margin:0;font-size:16px}
.title-thumb{width:100%;height:160px;object-fit:contain;background:#100c18;border-radius:8px}
#loginError,#titleStatus{min-height:1.5em;color:var(--gold)}
.card .title{overflow-wrap:anywhere}.owner-login{margin-left:auto}
@media(max-width:580px){.owner-login{margin-left:0}.confirm-dialog .title-thumb{height:120px}}

/* Shared desktop and phone viewing controls. */
a.filter{display:inline-flex;align-items:center;text-decoration:none;line-height:1.6}
@media (pointer:fine){#lightbox.phone-display .phone-panel{max-width:650px}#lightbox.phone-display .phone-hint{display:block}.phone-reveal{cursor:pointer}}
@media (orientation:landscape) and (max-height:580px) and (pointer:fine){#lightbox:not(.phone-display) .viewer-foot .navigation{display:flex!important}}
@media(min-width:900px) and (pointer:fine){.phone-entry{font-size:13px}.phone-hint{font-size:13px}}
