/* SkyViewer: the full-screen picture viewer + share card (skyviewer.js) */
.svw { position: fixed; inset: 0; z-index: 70; display: grid; grid-template-rows: auto 1fr auto; background: #02040a; color: #b8d0de; font-family: var(--mono, monospace); user-select: none; }
.svw-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 14px; border-bottom: 1px solid rgba(79, 227, 255, .2); background: rgba(5, 7, 12, .96); }
.svw-title { display: grid; gap: 2px; min-width: 0; }
.svw-title b { font: 700 14px var(--mono, monospace); letter-spacing: .14em; color: var(--amber, #ffb020); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.svw-title span { font-size: 10px; letter-spacing: .1em; color: #8fa6b6; }
.svw-vers { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; min-width: 0; }
.svw-tools { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.svw button { font: 700 10px var(--mono, monospace) !important; letter-spacing: .12em; padding: 6px 10px !important; border-radius: 3px !important; color: #b8d8ea !important;
  background: rgba(3, 6, 13, .9) !important; border: 1px solid rgba(79, 227, 255, .3) !important; cursor: pointer; }
.svw button:hover { color: #fff !important; border-color: rgba(79, 227, 255, .7) !important; }
.svw button.on { color: #04060b !important; background: var(--holo, #4fe3ff) !important; border-color: var(--holo, #4fe3ff) !important; }
.svw button.cmp { color: #04060b !important; background: var(--amber, #ffb020) !important; border-color: var(--amber, #ffb020) !important; }
.svw-tools span { min-width: 44px; text-align: center; font-size: 10px; color: #8fa6b6; font-variant-numeric: tabular-nums; }
.svw-stage { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; cursor: grab; touch-action: none; }
.svw-stage:active { cursor: grabbing; }
.svw-stage img { max-width: 100%; max-height: 100%; object-fit: contain; transform-origin: center; will-change: transform; pointer-events: none; }
.svw-stage > img, .svw-top img { position: absolute; inset: 0; width: 100%; height: 100%; }
.svw-top { position: absolute; inset: 0; }
.svw-line { position: absolute; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: var(--amber, #ffb020); pointer-events: none; }
.svw-l, .svw-r { position: absolute; top: 10px; padding: 4px 8px; font-size: 10px; letter-spacing: .12em; background: rgba(2, 4, 10, .8); border: 1px solid rgba(255, 176, 32, .5); color: var(--amber, #ffb020); pointer-events: none; }
.svw-l { left: 10px; } .svw-r { right: 10px; border-color: rgba(79, 227, 255, .5); color: var(--holo, #4fe3ff); }
.svw-range { position: absolute; left: 0; right: 0; bottom: 8px; width: 100%; margin: 0; opacity: .85; }
.svw-foot { display: flex; flex-wrap: wrap; gap: 4px 20px; justify-content: space-between; padding: 8px 14px; font-size: 11px; color: #cfe3ee; border-top: 1px solid rgba(79, 227, 255, .14); background: rgba(5, 7, 12, .96); }
.svw-foot em { font-style: normal; font-size: 10px; color: #6c8494; }
.svw-card { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(2, 4, 10, .88); }
.svw-card-in { display: grid; gap: 12px; max-width: min(900px, 100%); max-height: 100%; overflow: auto; padding: 16px; border: 1px solid rgba(255, 176, 32, .5); background: #05070c; }
.svw-card-in > b { font-size: 12px; letter-spacing: .3em; color: var(--amber, #ffb020); }
.svw-card-in img { max-width: 100%; max-height: 62vh; object-fit: contain; border: 1px solid rgba(79, 227, 255, .2); }
.svw-card-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.svw-card-in span, .svw-card-in p { font-size: 11px; color: #8fa6b6; margin: 0; }
@media (max-width: 700px) { .svw-tools { margin-left: 0; flex-wrap: wrap; } .svw-foot em { display: none; } }
