.catalog-page{background:radial-gradient(circle at 78% 12%,#31215830,transparent 30%),var(--ink)}
.catalog-hero{padding-bottom:70px}.catalog-hero h1{max-width:980px}.catalog-hero .hero-text{max-width:620px}
.catalog-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.catalog-summary span{padding:8px 10px;border:1px solid var(--line);color:var(--muted);font:9px "DM Mono",monospace;letter-spacing:.8px}.catalog-summary strong{color:var(--lime);font-weight:500}
.catalog-section{border-top:1px solid var(--line);padding-top:70px}
.catalog-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px;padding:19px;border:1px solid var(--line);background:#0c0f1b}
.filter-set{display:flex;gap:8px;flex-wrap:wrap}.filter-button{padding:10px 12px;border:1px solid #3c4055;background:transparent;color:var(--muted);font:9px "DM Mono",monospace;letter-spacing:.7px;cursor:pointer}.filter-button:hover,.filter-button.active{border-color:var(--lime);color:var(--lime);background:#c9ff4a0a}
.catalog-controls{display:flex;gap:12px;align-items:flex-end}.catalog-controls label{margin:0;min-width:190px}.catalog-controls input,.catalog-controls select{margin-top:6px;padding:9px 8px;border:1px solid #3c4055;background:#090b14;color:var(--paper);font:11px "DM Mono",monospace}.catalog-controls select{width:100%}
.record-count{color:var(--violet);font:9px "DM Mono",monospace;letter-spacing:.8px;white-space:nowrap}
.exo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.exo-card{min-height:445px;border:1px solid var(--line);background:linear-gradient(150deg,#111522,#080a12);display:flex;flex-direction:column;overflow:hidden;transition:border-color .25s,transform .25s}
.exo-card:hover{transform:translateY(-3px);border-color:#625481}
.exo-visual{position:relative;height:155px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,#30284e55,transparent 55%),#070913}
.exo-visual::before{content:"";position:absolute;inset:50% auto auto 50%;width:195px;height:195px;border:1px solid #7c679844;border-radius:50%;transform:translate(-50%,-50%) rotateX(72deg)}
.exo-disc{position:relative;width:82px;aspect-ratio:1;border-radius:50%;box-shadow:inset -18px -10px 28px #000b,0 0 35px #8f6cff33}
.exo-disc.rock{background:radial-gradient(circle at 32% 28%,#e4cbb0,#9a5d43 45%,#3d2632 80%)}.exo-disc.ocean{background:radial-gradient(circle at 30% 27%,#d8fff6,#3ca4ac 42%,#234173 78%)}.exo-disc.ice{background:radial-gradient(circle at 28% 26%,#f5f3df,#84a8b3 45%,#3d4d66 80%)}.exo-disc.gas{background:repeating-linear-gradient(180deg,#e8ba82 0 8px,#8d5b66 8px 15px,#d29d68 15px 23px)}.exo-disc.hot{background:radial-gradient(circle at 28% 25%,#fff2a6,#f06c31 40%,#6b1e2e 78%);box-shadow:inset -18px -10px 28px #0009,0 0 42px #ff704e55}
.exo-copy{padding:21px;display:flex;flex:1;flex-direction:column}.record-top{display:flex;justify-content:space-between;gap:12px;color:var(--violet);font:9px "DM Mono",monospace;letter-spacing:.7px}.exo-copy h2{font-size:29px;letter-spacing:-1.4px;margin:16px 0 8px}.exo-copy>p{color:var(--muted);font-size:13px;line-height:1.5}
.record-data{display:grid;grid-template-columns:repeat(2,1fr);margin-top:auto;border-top:1px solid var(--line)}.record-data div{padding:11px 0;border-bottom:1px solid var(--line)}.record-data div:nth-child(odd){border-right:1px solid var(--line)}.record-data div:nth-child(even){padding-left:12px}.record-data span{display:block;color:var(--violet);font:8px "DM Mono",monospace;letter-spacing:.6px}.record-data strong{display:block;margin-top:4px;font-size:12px;font-weight:500}
.record-tags{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.record-tags span{padding:5px 7px;border:1px solid #34384d;color:#bcbcc7;font:8px "DM Mono",monospace}
.catalog-note{margin-top:28px;padding:16px 18px;border-left:2px solid var(--violet);background:#0d101a;color:var(--muted);font-size:12px;line-height:1.55}.catalog-note a{color:var(--lime)}
.launch-list{border-top:1px solid var(--line)}
.launch-record{display:grid;grid-template-columns:110px 1.15fr 1fr .75fr 110px 24px;gap:18px;align-items:center;padding:22px 10px;border-bottom:1px solid var(--line);transition:background .2s}
.launch-record:hover{background:#111522}.launch-date{color:var(--violet);font:10px "DM Mono",monospace}.launch-record h2{font-size:21px;letter-spacing:-.8px;margin:0 0 4px}.launch-record p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.launch-field span{display:block;color:var(--violet);font:8px "DM Mono",monospace;letter-spacing:.7px;margin-bottom:5px}.launch-field strong{font-size:12px;font-weight:500}.outcome{display:inline-flex!important;width:max-content;padding:6px 8px;border:1px solid #4f5568}.outcome.success{color:var(--lime);border-color:#759239}.outcome.failure{color:#ff8aa8;border-color:#8d3e56}.source-arrow{color:var(--lime);font-size:16px}
@media(max-width:1050px){.exo-grid{grid-template-columns:repeat(2,1fr)}.launch-record{grid-template-columns:95px 1.2fr 1fr 100px}.launch-record .launch-site{grid-column:2/4}.source-arrow{grid-column:4;grid-row:1}}
@media(max-width:720px){.catalog-hero{padding-bottom:55px}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-controls{align-items:stretch;flex-direction:column}.catalog-controls label{min-width:0}.exo-grid{grid-template-columns:1fr}.launch-record{grid-template-columns:82px 1fr 22px;gap:12px;padding:19px 4px}.launch-record .launch-payload,.launch-record .launch-site{grid-column:2/4}.launch-record .launch-outcome{grid-column:2}.source-arrow{grid-column:3;grid-row:1}.exo-card{min-height:0}}
