/* Scoped structural enhancement. Does not override existing globe, map or feed controls. */
.sn-quick-access-nav{margin:12px 0 8px!important;border:1px solid var(--sn-accent,#31c9e8)!important;color:var(--sn-accent,#31c9e8)!important;background:rgba(20,130,155,.08)!important;text-align:left}
#sn-quick-access-backdrop:not([hidden]){position:fixed;inset:0;z-index:99990;background:rgba(0,5,9,.76);backdrop-filter:blur(3px)}
.sn-quick-access-dialog:not([hidden]){position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1100px,calc(100vw - max(24px, min(18vw,280px))));max-height:94vh;overflow:auto;z-index:99991;border:1px solid var(--sn-accent,#31c9e8);background:#03131b;box-shadow:0 18px 80px #000;color:var(--sn-text,#c2e9f1);padding:22px;box-sizing:border-box}
.sn-qa-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;border-bottom:1px solid rgba(66,190,214,.3);padding-bottom:14px}.sn-qa-head div{display:grid;gap:7px}.sn-qa-head small{letter-spacing:.14em;color:#719ca9}.sn-qa-head strong{letter-spacing:.16em;color:var(--sn-accent,#31c9e8);font-size:20px}.sn-qa-head button{background:transparent;color:var(--sn-accent,#31c9e8);border:1px solid currentColor;padding:10px;cursor:pointer}
.sn-quick-access-dialog .sn-session-below{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important;padding:0!important;align-items:start!important}.sn-quick-access-dialog .sn-session-below > *{min-width:0;width:auto!important;margin:0!important}.sn-quick-access-dialog .sn-command-panel{height:auto!important}
.sn-planetary-directory{margin-top:14px;border-top:1px solid rgba(80,170,190,.28);padding-top:12px}.sn-planetary-directory summary{cursor:pointer;color:var(--sn-accent,#31c9e8);font-size:11px;letter-spacing:.08em}.sn-planetary-directory p{font-size:11px;color:#8caeb8}.sn-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sn-mission-grid a{display:grid;gap:6px;text-decoration:none;border:1px solid rgba(65,160,180,.4);padding:11px;background:rgba(10,70,90,.12)}.sn-mission-grid strong{font-size:11px;color:var(--sn-accent,#31c9e8)}.sn-mission-grid span{font-size:11px;color:#a5c5cf;line-height:1.5}
/* SA is moved directly above the news feed, immediately following the top node row. */
@media(max-width:760px){.sn-quick-access-dialog:not([hidden]){left:50%;top:50%;width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:12px}.sn-quick-access-dialog .sn-session-below{grid-template-columns:1fr!important}.sn-mission-grid{grid-template-columns:1fr}}

/* QUICK ACCESS // fixed-position Dual-Trace. The modal never moves during reveal. */
.sn-quick-access-dialog{isolation:isolate}
.sn-quick-access-dialog.sn-qa-tracing{border-color:transparent!important}
.sn-quick-access-dialog.sn-qa-tracing > :not(.sn-qa-trace){visibility:hidden}
.sn-quick-access-dialog.sn-qa-revealing > :not(.sn-qa-trace){visibility:visible;animation:sn-qa-content-wipe 250ms steps(55,end) both}
.sn-qa-trace{position:absolute;z-index:50;pointer-events:none;background:#6fe4f4;box-shadow:0 0 10px #50e4ff99}
.sn-qa-trace-top{top:0;left:0;width:0;height:2px}
.sn-qa-trace-left{top:0;left:0;width:2px;height:0}
.sn-qa-trace-right{top:0;right:0;width:2px;height:0}
.sn-qa-trace-bottom{bottom:0;left:0;width:0;height:2px}
.sn-qa-trace-origin{top:0;left:0;width:8px;height:8px;transform:translate(-40%,-40%);background:#d7fcff;box-shadow:0 0 16px #6fe4f4}
.sn-qa-tracing .sn-qa-trace-top{animation:sn-qa-width 400ms linear forwards}
.sn-qa-tracing .sn-qa-trace-left{animation:sn-qa-height 400ms linear forwards}
.sn-qa-tracing .sn-qa-trace-right{animation:sn-qa-height 400ms linear 400ms forwards}
.sn-qa-tracing .sn-qa-trace-bottom{animation:sn-qa-width 400ms linear 400ms forwards}
.sn-qa-tracing .sn-qa-trace-origin{animation:sn-qa-origin-out 150ms linear 800ms forwards}
@keyframes sn-qa-width{to{width:100%}}
@keyframes sn-qa-height{to{height:100%}}
@keyframes sn-qa-origin-out{to{opacity:0}}
@keyframes sn-qa-content-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.sn-qa-tracing .sn-qa-trace{animation-duration:1ms!important;animation-delay:0ms!important}.sn-quick-access-dialog.sn-qa-revealing > :not(.sn-qa-trace){animation-duration:1ms!important}}
