/* Viewer-only terminal chrome; original image pixels and native 2× panning stay intact. */
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){padding:0;width:min(95vw,1600px);border:1px solid var(--line);border-radius:0;background:var(--black);color:var(--ink);box-shadow:0 24px 90px #000a;gap:0}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{min-height:60px;padding:8px 12px 8px 20px;border-bottom:1px solid var(--line);gap:16px;background:#151811}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"]){display:block;font:20px/1.1 'VT323',Mono,monospace;color:var(--yellow);overflow-wrap:anywhere}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(.viewer-close,.viewer-nav){display:grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:0;background:#151811;color:var(--yellow);cursor:pointer}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(.viewer-close,.viewer-nav) svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(.viewer-close,.viewer-nav,#mobile-zoom-toggle,[data-source-id="mobile-zoom-toggle"]):hover:not(:disabled){border-color:var(--yellow);background:var(--yellow);color:var(--black)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(button,.zoom-scroll):focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-nav:disabled{opacity:.3;cursor:default}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px;padding:16px 12px;flex:1;min-height:0;min-width:0}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-stage .zoom-scroll{width:100%;height:100%;min-height:0;min-width:0;margin:0;align-self:stretch;scrollbar-width:thin;scrollbar-color:var(--yellow) var(--black)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{height:auto;min-height:60px;margin:0;padding:8px 20px;gap:16px;border-top:1px solid var(--line);font:18px/1.1 'VT323',Mono,monospace;background:#151811}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#mobile-zoom-toggle,[data-source-id="mobile-zoom-toggle"]){font:inherit;white-space:nowrap;padding:8px 12px;background:transparent}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-key-hint{margin-left:auto;color:var(--muted);white-space:nowrap}
@media(max-width:700px){
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){width:calc(100vw - 16px);height:94svh;height:94dvh}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{padding:8px;gap:8px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"]){font-size:18px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-stage{gap:4px;padding:10px 4px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{padding:8px;gap:10px;font-size:16px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-key-hint{display:none}
}

/* Shared close control: index and viewer use the exact same terminal key. */
:is(#index-dialog,#zoom-dialog,.glass-copy) .dialog-close{display:grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--yellow);border-radius:0;background:var(--black);color:var(--yellow);cursor:pointer}
:is(#index-dialog,#zoom-dialog,.glass-copy) .dialog-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
:is(#index-dialog,#zoom-dialog,.glass-copy) .dialog-close:hover{background:var(--yellow);color:var(--black)}
:is(#index-dialog,#zoom-dialog,.glass-copy) .dialog-close:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
/* The image itself remains the accessible hit target. No duplicate icon button. */
.rental-image.zoom-button{position:relative}
.zoom-indicator{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:44px;height:44px;box-sizing:border-box;border:1px solid var(--yellow);border-radius:0;background:rgb(8 9 8 / 78%);color:var(--yellow);pointer-events:none}
.zoom-indicator svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square}
.zoom-button:is(:hover,:focus-visible) .zoom-indicator{background:var(--yellow);color:var(--black)}
/* File-window hierarchy: terminal label, editorial title, quiet reading/status text. */
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){border-color:var(--yellow);background:var(--black)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{padding:16px 16px 16px 24px;border-color:var(--yellow);background:var(--black)}
.viewer-heading{min-width:0}
.viewer-eyebrow{margin:0 0 6px;font:400 18px/1 'VT323',monospace;letter-spacing:.06em;color:var(--yellow)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#zoom-label,[data-source-id="zoom-label"]){margin:0;font:400 clamp(18px,2vw,28px)/1.15 'Space Grotesk',sans-serif;letter-spacing:-.03em;color:var(--yellow)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-stage{background:var(--black);gap:16px;padding:16px}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-nav{border-color:var(--yellow);background:var(--black)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{border-color:var(--yellow);padding:12px 16px;background:var(--black)}
:is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) :is(#mobile-zoom-toggle,[data-source-id="mobile-zoom-toggle"]){font:400 20px/1 'VT323',monospace;border-color:var(--yellow);border-radius:0}
:is(#mobile-zoom-hint,[data-source-id="mobile-zoom-hint"]){font:400 14px/1.35 Liberation,Arial,sans-serif;text-shadow:none}
/* Emission belongs to the yellow window chrome, never to the artwork or prose. */
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]){box-shadow:0 0 3px #e2ca6570,0 0 16px #e2ca6528,0 24px 90px #000a}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) :is(.dialog-close,.viewer-nav,#mobile-zoom-toggle,.zoom-indicator){box-shadow:0 0 3px #e2ca6570,0 0 10px #e2ca6525}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) :is(#zoom-label,.viewer-eyebrow,#index-title){text-shadow:0 0 3px #e2ca6580,0 0 12px #e2ca6540}
html.crt-fulgor-on:not(.intro-active):not(.intro-entering) :is(.dialog-close,.viewer-nav,.zoom-indicator) svg{filter:drop-shadow(0 0 3px #e2ca6560)}
@media(max-width:700px){
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .zoom-top{padding:12px;gap:12px}
 .viewer-eyebrow{font-size:16px;margin-bottom:4px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .viewer-stage{gap:4px;padding:10px 4px}
 :is(#zoom-dialog,.glass-copy[data-source-id="zoom-dialog"]) .mobile-zoom-tools{padding:10px;gap:12px}
 .zoom-indicator{right:10px;bottom:10px}
}
