/* Space Viewer — Premium Minimal, dark, small touch targets, iPhone safe areas. Used by every image viewer on the site. */
.sv-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100vh;max-width:none;max-height:none;background:#0e0a10;color:#f6eef4;overflow:hidden;
	display:none;flex-direction:column;box-sizing:border-box;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:2147483000}
@supports (height:100dvh){.sv-dialog{width:100dvw;height:100dvh}}
.sv-dialog[open]{display:flex}
.sv-dialog::backdrop{background:#0e0a10}
.sv-dialog *{box-sizing:border-box}
.sv-top{flex:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:calc(env(safe-area-inset-top,0px) + 6px) calc(env(safe-area-inset-right,0px) + 10px) 6px calc(env(safe-area-inset-left,0px) + 10px);background:linear-gradient(#0e0a10,#0e0a10e6)}
.sv-count{flex:none;font-size:13px;font-weight:600;letter-spacing:.02em;color:#d9c5d4;font-variant-numeric:tabular-nums;min-width:44px;text-align:center;background:#ffffff14;border-radius:999px;padding:4px 10px}
.sv-title{flex:1 1 auto;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.35;color:#f6eef4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none;cursor:grab;outline:0;background:#0e0a10}
.sv-stage.sv-drag{cursor:grabbing}
.sv-img{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:0 0;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;image-rendering:auto;background:#fff;box-shadow:0 8px 40px #0008;-webkit-touch-callout:none}
.sv-img[hidden]{display:none}
.sv-img.sv-anim{transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.sv-img.sv-arrive-n{animation:sv-in-n .22s ease-out both}
.sv-img.sv-arrive-p{animation:sv-in-p .22s ease-out both}
@keyframes sv-in-n{from{opacity:0}to{opacity:1}}
@keyframes sv-in-p{from{opacity:0}to{opacity:1}}
.sv-spin{position:absolute;inset:50% auto auto 50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:3px solid #ffffff30;border-top-color:#fff;border-radius:50%;animation:sv-spin .8s linear infinite;opacity:0;pointer-events:none}
.sv-stage.sv-loading .sv-spin{opacity:1}
@keyframes sv-spin{to{transform:rotate(360deg)}}
.sv-msg{flex:none;margin:0;min-height:0;padding:0 14px;font-size:13px;line-height:1.5;text-align:center;color:#ffd9a8}
.sv-msg:not(:empty){padding:6px 14px}
.sv-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px calc(env(safe-area-inset-right,0px) + 10px) calc(env(safe-area-inset-bottom,0px) + 10px) calc(env(safe-area-inset-left,0px) + 10px);background:linear-gradient(#0e0a10e6,#0e0a10)}
.sv-zoomctl{display:flex;align-items:center;gap:4px;min-width:0;margin-inline:auto}
.sv-single .sv-bar{justify-content:center}
.sv-btn{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff26;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer;transition:background .15s}
.sv-btn:hover{background:#ffffff2b}
.sv-btn:focus-visible{outline:2px solid #e9a4d9;outline-offset:2px}
.sv-btn[hidden],.sv-count[hidden]{display:none}
.sv-btn svg{width:18px;height:18px}
.sv-pct{min-width:46px;text-align:center;font-size:12px;font-weight:600;color:#d9c5d4;font-variant-numeric:tabular-nums}
.sv-close{margin-inline-start:auto}
[dir=rtl] .sv-prev svg,[dir=rtl] .sv-next svg{transform:scaleX(-1)}
@media (max-width:420px){.sv-btn{width:36px;height:36px}.sv-zoomctl{gap:2px}.sv-pct{min-width:40px}}
@media (orientation:landscape) and (max-height:480px){.sv-top{min-height:40px;padding-block:calc(env(safe-area-inset-top,0px) + 2px) 2px}.sv-bar{padding-block:4px calc(env(safe-area-inset-bottom,0px) + 4px)}.sv-btn{width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.sv-img.sv-anim{transition:none}.sv-img.sv-arrive-n,.sv-img.sv-arrive-p{animation:none}}
