.art-page{padding-block:var(--s5) var(--s6)}
.art-page h1{margin:0 0 var(--s3);font:800 clamp(2.6rem,8vw,5.5rem)/1 var(--display);letter-spacing:-.03em}
.art-intro{max-width:42rem;margin:0 0 var(--s5)}
.art-intro p{margin:0 0 var(--s2);font-size:1.2rem}
.art-intro p:last-child{color:var(--muted);font-size:1.05rem}
.art-status{margin:0;padding-block:var(--s4);border-top:1px solid var(--rule);color:var(--muted)}
.art-grid{columns:17rem;column-gap:var(--s3)}
.art{margin:0 0 var(--s4);break-inside:avoid}
.art-open{display:block;width:100%;padding:0;border:0;background:var(--surface);cursor:zoom-in;line-height:0}
.art-open img{width:100%;height:auto;background:var(--surface)}   /* natural ratio: never cropped or stretched */
.art-open:hover img{opacity:.92}
.art figcaption{display:flex;flex-direction:column;gap:.15rem;padding-top:.6rem;line-height:1.3}
.art-by{font:800 1rem/1.2 var(--display)}
.art-none{color:var(--muted);font-weight:400;font-style:italic;font-family:var(--serif)}
.art-sub{color:var(--muted);font-size:.95rem}
@media(max-width:40rem){.art-grid{columns:2;column-gap:var(--s2)}}

.lb[open]{display:flex;flex-direction:column;position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#05080c;color:var(--text)}
html:has(dialog.lb[open]){overflow:hidden}
.lb-top{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem .25rem 1rem;padding-top:calc(.25rem + env(safe-area-inset-top,0px));font:800 .95rem/1 var(--display);color:var(--muted)}
.lb-x,.lb-nav{display:grid;place-items:center;width:3rem;height:3rem;border:0;color:var(--text);background:none;cursor:pointer}
.lb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 .25rem}
.lb-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(5,8,12,.55);border-radius:50%}
.lb-prev{left:.5rem}.lb-next{right:.5rem}
.lb-nav:hover,.lb-x:hover{color:var(--accent)}
.lb-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule)}
.lb-meta{display:flex;flex-direction:column;min-width:0}
.lb-artist{font:800 1.1rem/1.2 var(--display)}.lb-sub{color:var(--muted);font-size:.95rem}
.lb-dl{display:inline-flex;align-items:center;min-height:3rem;padding:0 1.5rem;background:var(--accent);color:#0f1620;font:800 1rem/1 var(--display);text-decoration:none}
.lb-dl:hover{background:#33b6ee}
@media(max-width:40rem){.lb-info{flex-wrap:nowrap}.lb-nav{width:2.75rem;height:2.75rem}}
