/*
 * voyager.css v1.0.0 - seriouslyscientific.com
 * All appearance for the Voyager page (page-voyager.php).
 * Palette variables are re-declared on the page wrapper so the page
 * is self-sufficient; values mirror style.css v3.2 Cosmic Rust Supernova.
 * Class prefix vg- is unique to this page. The dossier banner uses the
 * canonical ss-dossier class, scoped under the page wrapper.
 */

.ss-voyager-page {
    --deep-space: #1A0C08;
    --lunar-rock: #3D2318;
    --martian-soil: #795548;
    --supernova-orange: #CD5A24;
    --supernova-orange-hover: #A85420;
    --supernova-orange-light: #D4742E;
    --nebula-turquoise: #4A9FD4;
    --amber: #E29000;
    --highlight-yellow: #fadb67;
    --starlight: #F7FAFC;
    --starlight-muted: #E2E8F0;
    color: var(--starlight);
    overflow-x: hidden;
}
.ss-voyager-page .vg-container {
    max-width: var(--content-w, 1320px);
    margin: 0 auto;
    padding: 1.5rem 2rem 0;
}
@media (max-width: 600px) {
    .ss-voyager-page .vg-container { padding: 1.25rem 1rem 0; }
}

/* ============================================================
   HERO MODULE
   ============================================================ */
.ss-voyager-page .vg-module {
    position: relative;
    width: 100%;
    max-width: var(--content-w, 1320px);
    margin: 1rem auto 2.5rem;
    min-height: 600px;
    height: clamp(600px, 88vh, 760px);
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(121, 85, 72, .35);
    background: radial-gradient(ellipse at 55% 38%, #2A130B 0%, var(--deep-space) 62%, #120805 100%);
    isolation: isolate;
}
.ss-voyager-page .vg-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0;
}
.ss-voyager-page .vg-corner {
    position: absolute;
    width: 20px; height: 20px;
    border-color: var(--supernova-orange);
    border-style: solid;
    opacity: .85;
    z-index: 3;
}
.ss-voyager-page .vg-corner.tl { top: 12px; left: 12px; border-width: 2px 0 0 2px; }
.ss-voyager-page .vg-corner.tr { top: 12px; right: 12px; border-width: 2px 2px 0 0; }
.ss-voyager-page .vg-corner.bl { bottom: 12px; left: 12px; border-width: 0 0 2px 2px; }
.ss-voyager-page .vg-corner.br { bottom: 12px; right: 12px; border-width: 0 2px 2px 0; }
.ss-voyager-page .vg-overlay {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2.2rem 1.2rem;
    gap: .9rem;
}
.ss-voyager-page .vg-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55em;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--amber);
    border: 1px solid rgba(226, 144, 0, .4);
    border-radius: 999px;
    padding: .42em 1.1em .42em .95em;
    background: rgba(26, 12, 8, .55);
    backdrop-filter: blur(2px);
}
.ss-voyager-page .vg-live-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--nebula-turquoise);
    box-shadow: 0 0 8px var(--nebula-turquoise);
    animation: vgPulse 2.2s ease-in-out infinite;
}
@keyframes vgPulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.ss-voyager-page .vg-title {
    font-size: clamp(2.1rem, 6.5vw, 3.9rem);
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    line-height: 1.05;
    margin: 0;
    text-shadow: 0 0 26px rgba(205, 90, 36, .35);
}
.ss-voyager-page .vg-sub {
    font-size: clamp(.85rem, 2.4vw, 1.05rem);
    color: var(--starlight-muted);
    letter-spacing: .04em;
    margin: -.35rem 0 0;
}
.ss-voyager-page .vg-count-label {
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--martian-soil);
    margin-top: .5rem;
}
.ss-voyager-page .vg-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(64px, 118px));
    gap: .55rem;
    font-variant-numeric: tabular-nums;
}
.ss-voyager-page .vg-cell {
    background: rgba(61, 35, 24, .38);
    border: 1px solid rgba(121, 85, 72, .4);
    border-radius: 10px;
    padding: .65rem .35rem .55rem;
    backdrop-filter: blur(3px);
}
.ss-voyager-page .vg-num {
    font-size: clamp(1.65rem, 6.2vw, 3.1rem);
    font-weight: 700;
    line-height: 1;
    color: var(--starlight);
}
.ss-voyager-page .vg-unit {
    display: block;
    font-size: .56rem;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--supernova-orange-light);
    margin-top: .45rem;
}
.ss-voyager-page .vg-instant {
    font-size: .7rem;
    color: var(--starlight-muted);
    letter-spacing: .06em;
    opacity: .85;
    margin: 0;
}
.ss-voyager-page .vg-instant .vg-local { color: var(--highlight-yellow); }
.ss-voyager-page .vg-telemetry {
    width: 100%;
    max-width: 560px;
    margin-top: .6rem;
    border-top: 1px solid rgba(121, 85, 72, .35);
    font-variant-numeric: tabular-nums;
}
.ss-voyager-page .vg-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: .62rem .15rem;
    border-bottom: 1px solid rgba(121, 85, 72, .35);
}
.ss-voyager-page .vg-row-label {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--starlight-muted);
    white-space: nowrap;
}
.ss-voyager-page .vg-info {
    appearance: none;
    background: none;
    border: 1px solid rgba(226, 232, 240, .35);
    border-radius: 50%;
    width: 17px; height: 17px;
    line-height: 1;
    font-size: .62rem;
    color: var(--starlight-muted);
    cursor: pointer;
    flex: 0 0 auto;
    padding: 0;
}
.ss-voyager-page .vg-info:hover { border-color: var(--amber); color: var(--amber); }
.ss-voyager-page .vg-value {
    font-size: clamp(.95rem, 3.4vw, 1.28rem);
    font-weight: 600;
    white-space: nowrap;
}
.ss-voyager-page .vg-value .vg-suffix {
    font-size: .68em;
    font-weight: 400;
    color: var(--starlight-muted);
    margin-left: .3em;
}
.ss-voyager-page .vg-value-distance { color: var(--amber); text-shadow: 0 0 14px rgba(226, 144, 0, .25); }
.ss-voyager-page .vg-value-signal { color: var(--nebula-turquoise); text-shadow: 0 0 14px rgba(74, 159, 212, .25); }
.ss-voyager-page .vg-note {
    display: none;
    font-size: .7rem;
    line-height: 1.5;
    color: var(--starlight-muted);
    text-align: left;
    padding: .15rem .15rem .6rem;
    border-bottom: 1px solid rgba(121, 85, 72, .35);
    margin: 0;
}
.ss-voyager-page .vg-note.open { display: block; }
.ss-voyager-page .vg-progress {
    width: 100%;
    max-width: 560px;
    margin-top: .35rem;
}
.ss-voyager-page .vg-rail {
    position: relative;
    height: 4px;
    border-radius: 999px;
    background: rgba(61, 35, 24, .9);
    overflow: hidden;
}
.ss-voyager-page .vg-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0%;
    background: linear-gradient(90deg, var(--supernova-orange), var(--amber));
    border-radius: 999px;
    transition: width .4s linear;
}
.ss-voyager-page .vg-progress-caption {
    margin: .4rem 0 0;
    font-size: .64rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--martian-soil);
}
.ss-voyager-page .vg-progress-caption strong { color: var(--amber); font-weight: 600; letter-spacing: .06em; }
.ss-voyager-page .vg-credit {
    position: absolute;
    bottom: 10px;
    left: 0; right: 0;
    text-align: center;
    font-size: .55rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(121, 85, 72, .9);
    z-index: 2;
    margin: 0;
}

/* ============================================================
   DOSSIER BANNER: two-column hero (copy left, stats and share right)
   ============================================================ */
.ss-voyager-page .ss-dossier {
    background: linear-gradient(135deg, var(--supernova-orange) 0%, var(--deep-space) 70%);
    border-radius: 14px;
    padding: 1.7rem 2rem;
    margin: 0 0 2.5rem;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 2rem;
    align-items: center;
}
.ss-voyager-page .vg-banner-copy { min-width: 0; }
.ss-voyager-page .ss-dossier-kicker {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--highlight-yellow);
    margin: 0 0 .4rem;
}
.ss-voyager-page .ss-dossier-title {
    font-size: clamp(1.4rem, 4vw, 2.1rem);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0;
    color: var(--starlight);
}
.ss-voyager-page .ss-dossier-sub {
    font-size: .88rem;
    line-height: 1.55;
    color: var(--starlight-muted);
    margin: .55rem 0 0;
    max-width: 52ch;
}

/* Right side: stats block + share */
.ss-voyager-page .vg-banner-stats {
    background: rgba(26, 12, 8, .38);
    border: 1px solid rgba(250, 219, 103, .22);
    border-radius: 12px;
    padding: 1rem 1.15rem;
    backdrop-filter: blur(3px);
    font-variant-numeric: tabular-nums;
}
.ss-voyager-page .vg-banner-stats-head {
    display: flex;
    align-items: center;
    gap: .5em;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--highlight-yellow);
    margin: 0 0 .65rem;
}
.ss-voyager-page .vg-banner-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .8rem;
    padding: .35rem 0;
    border-top: 1px solid rgba(121, 85, 72, .35);
}
.ss-voyager-page .vg-banner-stat-row:first-of-type { border-top: 0; }
.ss-voyager-page .vg-banner-stat-label {
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--starlight-muted);
}
.ss-voyager-page .vg-banner-stat-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--starlight);
    white-space: nowrap;
}
.ss-voyager-page .vg-banner-stat-value .vg-suf {
    font-size: .68em;
    font-weight: 400;
    color: var(--starlight-muted);
    margin-left: .25em;
}
.ss-voyager-page .vg-banner-stat-value.vg-b-dist-v { color: var(--amber); }
.ss-voyager-page .vg-banner-stat-value.vg-b-signal-v { color: var(--nebula-turquoise); }

.ss-voyager-page .vg-banner-share {
    margin-top: .85rem;
    display: flex;
    justify-content: flex-end;
}
.ss-voyager-page .vg-share-btn {
    display: inline-flex;
    align-items: center;
    gap: .55em;
    padding: .65em 1.15em;
    background: var(--supernova-orange);
    color: var(--starlight);
    border: 0;
    border-radius: 999px;
    font-family: inherit;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.ss-voyager-page .vg-share-btn:hover {
    background: var(--supernova-orange-hover);
    transform: translateY(-1px);
}
.ss-voyager-page .vg-share-btn .ss-share-open-icon {
    width: 15px; height: 15px;
}

@media (max-width: 780px) {
    .ss-voyager-page .ss-dossier {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        padding: 1.4rem 1.4rem;
    }
    .ss-voyager-page .vg-banner-share { justify-content: flex-start; }
}

/* ============================================================
   SECTIONS
   ============================================================ */
.ss-voyager-page .vg-section { margin: 0 0 3rem; }
.ss-voyager-page .vg-sec-kicker {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--supernova-orange);
    max-width: 720px;
    margin: 0 auto .35rem;
}
.ss-voyager-page .vg-sec-title {
    font-size: clamp(1.25rem, 3.4vw, 1.7rem);
    font-weight: 800;
    letter-spacing: .04em;
    max-width: 720px;
    margin: 0 auto 1rem;
    color: var(--starlight);
}
.ss-voyager-page .vg-prose {
    font-size: .95rem;
    line-height: 1.75;
    color: var(--starlight-muted);
    max-width: 72ch;
    margin: 0 auto 1rem;
}
.ss-voyager-page .vg-prose strong { color: var(--starlight); font-weight: 600; }
.ss-voyager-page .vg-prose a { color: var(--nebula-turquoise); text-decoration: none; }
.ss-voyager-page .vg-prose a:hover { color: var(--amber); }

/* ============================================================
   LIGHT LADDER (logarithmic signal-delay comparison)
   ============================================================ */
.ss-voyager-page .vg-ladder {
    max-width: 680px;
    margin: 1.4rem auto .5rem;
    font-variant-numeric: tabular-nums;
}
.ss-voyager-page .vg-ladder-row {
    display: grid;
    grid-template-columns: 110px 1fr 96px;
    align-items: center;
    gap: .8rem;
    padding: .5rem 0;
}
.ss-voyager-page .vg-ladder-label {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--starlight-muted);
}
.ss-voyager-page .vg-ladder-bar {
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--supernova-orange), var(--amber));
    min-width: 6px;
    box-shadow: 0 0 10px rgba(226, 144, 0, .25);
}
.ss-voyager-page .vg-ladder-row.vg-ladder-hero .vg-ladder-bar {
    background: linear-gradient(90deg, var(--supernova-orange), var(--highlight-yellow));
}
.ss-voyager-page .vg-ladder-value {
    font-size: .78rem;
    font-weight: 600;
    color: var(--amber);
    text-align: right;
    white-space: nowrap;
}
.ss-voyager-page .vg-ladder-row.vg-ladder-hero .vg-ladder-value { color: var(--highlight-yellow); }
.ss-voyager-page .vg-ladder-note {
    font-size: .62rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--martian-soil);
    margin: .3rem 0 0;
}

/* ============================================================
   MISSION TIMELINE: central spine, alternating cards
   ============================================================ */
.ss-voyager-page .vg-timeline {
    list-style: none;
    margin: 2rem auto 0;
    padding: 0;
    position: relative;
    max-width: 1080px;
}
.ss-voyager-page .vg-timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 6px;
    bottom: 6px;
    width: 2px;
    margin-left: -1px;
    background: linear-gradient(180deg, var(--supernova-orange), var(--lunar-rock));
    border-radius: 2px;
}
.ss-voyager-page .vg-tl-item {
    position: relative;
    width: calc(50% - 32px);
    padding: 0.9rem 1.15rem;
    background: rgba(61, 35, 24, .28);
    border: 1px solid rgba(121, 85, 72, .38);
    border-radius: 12px;
    box-sizing: border-box;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s ease, transform .55s ease;
}
.ss-voyager-page .vg-tl-item.vg-visible {
    opacity: 1;
    transform: none;
}
.ss-voyager-page .vg-tl-item + .vg-tl-item { margin-top: 1.1rem; }
.ss-voyager-page .vg-tl-item:nth-child(odd) {
    margin-right: auto;
    margin-left: 0;
    text-align: right;
}
.ss-voyager-page .vg-tl-item:nth-child(even) {
    margin-left: auto;
    margin-right: 0;
    text-align: left;
}
/* Pull each card up to sit alongside its predecessor on the opposite side */
.ss-voyager-page .vg-tl-item:nth-child(n+2) {
    margin-top: -1.4rem;
}
.ss-voyager-page .vg-tl-item:nth-child(2) {
    margin-top: 3rem;
}

/* Node marker on the centre spine */
.ss-voyager-page .vg-tl-item::before {
    content: "";
    position: absolute;
    top: 1.1rem;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: var(--deep-space);
    border: 2px solid var(--supernova-orange);
    z-index: 1;
}
.ss-voyager-page .vg-tl-item:nth-child(odd)::before  { right: -38px; }
.ss-voyager-page .vg-tl-item:nth-child(even)::before { left:  -38px; }

/* Little connector from card edge to the spine */
.ss-voyager-page .vg-tl-item::after {
    content: "";
    position: absolute;
    top: 1.4rem;
    width: 26px; height: 2px;
    background: rgba(205, 90, 36, .55);
}
.ss-voyager-page .vg-tl-item:nth-child(odd)::after  { right: -32px; }
.ss-voyager-page .vg-tl-item:nth-child(even)::after { left:  -32px; }

.ss-voyager-page .vg-tl-item.vg-tl-milestone {
    border-color: rgba(250, 219, 103, .55);
    background: linear-gradient(135deg, rgba(226, 144, 0, .18), rgba(26, 12, 8, .3));
    box-shadow: 0 0 24px rgba(226, 144, 0, .18);
}
.ss-voyager-page .vg-tl-item.vg-tl-milestone::before {
    background: var(--amber);
    border-color: var(--highlight-yellow);
    box-shadow: 0 0 12px rgba(226, 144, 0, .7);
}
.ss-voyager-page .vg-tl-year {
    display: inline-block;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .22em;
    color: var(--amber);
    text-transform: uppercase;
    margin: 0 0 .25rem;
}
.ss-voyager-page .vg-tl-item.vg-tl-milestone .vg-tl-year { color: var(--highlight-yellow); }
.ss-voyager-page .vg-tl-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--starlight);
    margin: 0 0 .3rem;
    letter-spacing: .02em;
}
.ss-voyager-page .vg-tl-text {
    font-size: .86rem;
    line-height: 1.6;
    color: var(--starlight-muted);
    margin: 0;
}

/* Below 780px, collapse to a single left-aligned column */
@media (max-width: 780px) {
    .ss-voyager-page .vg-timeline { max-width: 100%; }
    .ss-voyager-page .vg-timeline::before {
        left: 8px;
        margin-left: 0;
    }
    .ss-voyager-page .vg-tl-item,
    .ss-voyager-page .vg-tl-item:nth-child(odd),
    .ss-voyager-page .vg-tl-item:nth-child(even) {
        width: auto;
        margin: 0 0 1rem 32px;
        text-align: left;
    }
    .ss-voyager-page .vg-tl-item:nth-child(2),
    .ss-voyager-page .vg-tl-item:nth-child(n+2) { margin-top: 0; }
    .ss-voyager-page .vg-tl-item + .vg-tl-item { margin-top: 1rem; }
    .ss-voyager-page .vg-tl-item::before,
    .ss-voyager-page .vg-tl-item:nth-child(odd)::before,
    .ss-voyager-page .vg-tl-item:nth-child(even)::before {
        left: -30px;
        right: auto;
    }
    .ss-voyager-page .vg-tl-item::after,
    .ss-voyager-page .vg-tl-item:nth-child(odd)::after,
    .ss-voyager-page .vg-tl-item:nth-child(even)::after {
        left: -24px;
        right: auto;
    }
}

/* ============================================================
   GOLDEN RECORD
   ============================================================ */
.ss-voyager-page .vg-record-wrap {
    display: flex;
    align-items: center;
    gap: 2.2rem;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 900px;
    margin: 0 auto;
}
.ss-voyager-page .vg-record {
    width: 190px;
    height: 190px;
    flex: 0 0 auto;
    border-radius: 50%;
    background:
        radial-gradient(circle at 38% 34%, rgba(250, 219, 103, .5), rgba(250, 219, 103, 0) 42%),
        repeating-radial-gradient(circle, #E29000 0px, #E29000 1px, #8a5a06 2px, #a86e08 3.5px);
    box-shadow: 0 0 34px rgba(226, 144, 0, .35), inset 0 0 22px rgba(26, 12, 8, .55);
    position: relative;
    animation: vgSpin 60s linear infinite;
}
.ss-voyager-page .vg-record::after {
    content: "";
    position: absolute;
    inset: 41%;
    border-radius: 50%;
    background: var(--deep-space);
    border: 2px solid var(--highlight-yellow);
}
@keyframes vgSpin { to { transform: rotate(360deg); } }
.ss-voyager-page .vg-record-body { flex: 1 1 320px; }

/* ============================================================
   VOYAGER 2 CARD
   ============================================================ */
.ss-voyager-page .vg-v2-card {
    border: 1px solid rgba(74, 159, 212, .35);
    border-radius: 14px;
    padding: 1.5rem 1.7rem;
    background: linear-gradient(135deg, rgba(74, 159, 212, .08), rgba(26, 12, 8, 0) 60%);
    max-width: 760px;
    margin: 0 auto;
}
.ss-voyager-page .vg-v2-chip {
    display: inline-block;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--nebula-turquoise);
    border: 1px solid rgba(74, 159, 212, .45);
    border-radius: 999px;
    padding: .35em 1em;
    margin: 0 0 .7rem;
}

/* ============================================================
   OUTBOUND LINK CARDS
   ============================================================ */
.ss-voyager-page .vg-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
    max-width: 1000px;
    margin: 0 auto;
}
.ss-voyager-page .vg-link-card {
    display: block;
    border: 1px solid rgba(121, 85, 72, .4);
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    background: rgba(61, 35, 24, .25);
    text-decoration: none;
    transition: border-color .25s ease, transform .25s ease;
}
.ss-voyager-page .vg-link-card:hover {
    border-color: var(--supernova-orange);
    transform: translateY(-2px);
}
.ss-voyager-page .vg-link-title {
    font-size: .9rem;
    font-weight: 700;
    color: var(--starlight);
    margin: 0 0 .3rem;
}
.ss-voyager-page .vg-link-title .vg-ext { color: var(--nebula-turquoise); font-weight: 400; margin-left: .35em; }
.ss-voyager-page .vg-link-desc {
    font-size: .74rem;
    line-height: 1.55;
    color: var(--starlight-muted);
    margin: 0;
}

/* ============================================================
   INTERNAL TIE-INS
   ============================================================ */
.ss-voyager-page .vg-puzzles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    max-width: 1000px;
    margin: 0 auto;
}
.ss-voyager-page .vg-puzzle-card {
    display: block;
    border: 1px solid rgba(226, 144, 0, .35);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    background: rgba(61, 35, 24, .25);
    text-decoration: none;
    color: var(--starlight);
    font-size: .9rem;
    font-weight: 600;
    transition: border-color .25s ease, transform .25s ease;
}
.ss-voyager-page .vg-puzzle-card:hover {
    border-color: var(--amber);
    transform: translateY(-2px);
}
.ss-voyager-page .vg-puzzle-tag {
    display: block;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--amber);
    margin: 0 0 .35rem;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 480px) {
    .ss-voyager-page .vg-overlay { padding: 1.6rem .85rem; gap: .75rem; }
    .ss-voyager-page .vg-countdown {
        gap: .4rem;
        grid-template-columns: repeat(4, minmax(58px, 1fr));
        width: 100%;
        max-width: 380px;
    }
    .ss-voyager-page .vg-row { flex-wrap: wrap; gap: .25rem; }
    .ss-voyager-page .vg-ladder-row { grid-template-columns: 84px 1fr 80px; gap: .5rem; }
    .ss-voyager-page .ss-dossier { padding: 1.2rem 1.2rem; }
    .ss-voyager-page .vg-record { width: 150px; height: 150px; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .ss-voyager-page .vg-live-dot { animation: none; }
    .ss-voyager-page .vg-fill { transition: none; }
    .ss-voyager-page .vg-record { animation: none; }
    .ss-voyager-page .vg-tl-item {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .ss-voyager-page .vg-link-card,
    .ss-voyager-page .vg-puzzle-card { transition: none; }
}