/* First Contact — compact live market surface. */
.discovery-switch{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:21px}.discovery-switch button{border:0;background:none;color:var(--muted);padding:0 0 11px;font:11px 'IBM Plex Mono',monospace;cursor:pointer}.discovery-switch button[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--blue)}.discovery-switch .arrival-pulse{display:inline-block;margin-right:7px;background:var(--blue)}
.launch-view{max-width:1800px;margin:auto;--launch-line:#41324d;--launch-dim:#b7a4c5;--launch-panel:#1b1421}.launch-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:2px 0 25px}.launch-kicker{font:9px 'IBM Plex Mono',monospace;letter-spacing:2px;color:var(--launch-dim)}.launch-header h1{font-size:clamp(30px,3.9vw,58px);font-weight:600;line-height:1;margin:9px 0 0;letter-spacing:-2.8px}.launch-header h1 span{color:#b69aff}.launch-source-status{display:flex;flex-direction:column;gap:9px;min-width:112px;font:9px 'IBM Plex Mono',monospace;color:#b7a4c5}.launch-source-status>span{display:flex;align-items:center;justify-content:space-between;gap:18px}.launch-source-status i{width:5px;height:5px;background:#8d685d;border-radius:50%}.launch-source-status .source-live i{background:#b5d8bc;box-shadow:0 0 9px #b5d8bc44}.protocol-tabs{display:flex;align-items:center;border-top:1px solid #6a527b;border-bottom:1px solid var(--launch-line);gap:0}.protocol-tabs>button{border:0;border-bottom:2px solid transparent;background:none;color:var(--launch-dim);font:11px 'IBM Plex Mono',monospace;padding:15px 18px 14px;cursor:pointer;white-space:nowrap}.protocol-tabs>button:first-child{padding-left:10px}.protocol-tabs>button[aria-selected=true]{color:#e2d6f1;border-bottom-color:#bb9fff;background:#b89cfa0a}.protocol-tabs>button span{font-size:9px;margin-left:8px;color:#967fa8}.launch-stream-label{margin-left:auto;padding:0 10px;font:8px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#e3b698;white-space:nowrap}.launch-stream-label.source-live{color:#b5d8bc}.launch-command{display:flex;align-items:center;gap:9px;padding:15px 0}.launch-command .pair-search{flex:1;max-width:none;min-width:150px}.launch-command input{width:100%;min-width:0}.launch-command select,.launch-command>button{min-width:0;height:36px;background:#22192a;border:1px solid var(--launch-line);border-radius:2px;color:#c7b5d5;font:10px 'IBM Plex Mono',monospace;padding:0 10px;cursor:pointer}.launch-command select{max-width:170px}.launch-command>button{margin-left:3px;white-space:nowrap}.launch-command>button[aria-pressed=true]{background:#b89cfa;color:#1a1024}.launch-feed-line{display:flex;gap:14px;align-items:center;min-height:26px;margin:0 0 12px;font:9px 'IBM Plex Mono',monospace;color:#a58cb7}.launch-feed-line>span:first-child{color:#d0badf}.market-key{margin-left:auto;font-size:7px;letter-spacing:.5px;color:#a38bb5}.launch-feed-line>button{border:0;background:#b89cfa;color:#20132b;font:9px 'IBM Plex Mono',monospace;cursor:pointer;padding:5px 9px;border-radius:2px}.launch-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.launch-lane{border:1px solid var(--launch-line);background:var(--launch-panel);min-width:0}.launch-lane>header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 0;gap:8px}.launch-lane h2{font-size:20px;letter-spacing:-.8px;font-weight:500;margin:0}.launch-lane h2 i{font-style:normal;color:#bc9eff;font-size:20px;margin-left:5px}.launch-lane>header>b{font:10px 'IBM Plex Mono',monospace;color:#cfb9e0}.lane-description{color:#a58bb7;font:8px 'IBM Plex Mono',monospace;margin:9px 0 0;padding:0 16px 15px;border-bottom:1px solid var(--launch-line)}.launch-card-list{height:clamp(490px,calc(100vh - 360px),740px);overflow:auto;scrollbar-width:thin;scrollbar-color:#614876 #1b1421;overscroll-behavior:contain}.launch-card{padding:15px 15px 10px;border-bottom:1px solid #3a2c46;transition:background .15s}.launch-card:hover,.launch-card:focus-within{background:#251a30}.launch-card-top{display:flex;align-items:center;gap:7px}.launch-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;border:0;background:none;color:var(--ink);padding:0;cursor:pointer}.launch-glyph{position:relative;width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;font-size:15px;font-weight:600;letter-spacing:-.7px;background:#3e2c5b;color:#d0b7ff;border-radius:6px;overflow:hidden}.launch-glyph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.glyph-1{background:#423248;color:#edc8d9}.glyph-2{background:#293a40;color:#bbd9d6}.glyph-3{background:#403527;color:#e1d2b3}.launch-identity>span:last-child{min-width:0}.launch-identity strong,.launch-identity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.launch-identity strong{font-size:17px;letter-spacing:-.4px}.launch-identity small{font-size:10px;color:#b19cbd;margin-top:3px}.launch-age{font:9px 'IBM Plex Mono',monospace;color:#c5b0d4}.launch-star{border:0;background:none;color:#9e86af;font-size:20px;cursor:pointer;padding:5px}.launch-star.saved{color:#c0a8ff}.launch-market,#detail-live-market{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px;align-items:end;gap:7px;margin:16px 0 0}.launch-market>div{min-width:0}.metric-label{display:block;font:8px 'IBM Plex Mono',monospace;color:#ad94be;margin-bottom:5px}.launch-market strong,#detail-live-market strong{display:block;font:12px 'IBM Plex Mono',monospace;font-weight:500;color:#e1d4ea;white-space:nowrap}.launch-market small,#detail-live-market small{font-size:8px;color:#b7a4c5}.launch-price .awaiting-price{font-size:9px;color:#917aa1;font-weight:400}.launch-spark{width:100%;height:27px;opacity:.82}.launch-spark.positive{color:#b1d0be}.launch-spark.negative{color:#e5a69f}.launch-curve{display:block;width:100%;margin:15px 0 10px;padding:0;border:0;text-align:left;background:none;color:var(--ink);cursor:pointer}.launch-curve>span:first-child,.launch-detail-curve>span{display:flex;justify-content:space-between;align-items:center;font:8px 'IBM Plex Mono',monospace;margin-bottom:7px;color:#bba8c9;gap:8px}.launch-curve b{font-weight:500;color:#cdb7ff;font-size:10px}.launch-view progress{display:block;width:100%;height:3px;appearance:none;border:0;background:#382846;color:#b197ff;border-radius:0}.launch-view progress::-webkit-progress-bar{background:#382846}.launch-view progress::-webkit-progress-value{background:#b197ff}.launch-view progress::-moz-progress-bar{background:#b197ff}.curve-waiting{height:3px;display:block;background:repeating-linear-gradient(120deg,#35263f 0,#35263f 5px,#21182a 5px,#21182a 10px)}.migrated progress::-webkit-progress-value{background:#a8c7af}.launch-card-meta{display:flex;align-items:center;gap:8px;font:8px 'IBM Plex Mono',monospace;color:#a990ba}.launch-venue{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto;color:#c6b0d7}.launch-card-meta button{color:inherit;font:inherit;background:none;border:0;padding:3px 0;cursor:pointer}.launch-card-meta>button:last-child{font-size:17px;color:#c6a9e2;margin-left:4px}.launch-empty{padding:65px 22px;color:#ab96b9}.launch-empty>span{display:block;font-size:52px;color:#63477a}.launch-empty h3{font-weight:500;font-size:18px;line-height:1.4;color:#c8b5d6;letter-spacing:-.4px;margin:18px 0 9px}.launch-empty p{font:10px/1.8 'IBM Plex Mono',monospace;max-width:240px}.lane-more{width:100%;border:0;border-top:1px solid var(--launch-line);background:#2b1f36;color:#cfb9e0;font:10px 'IBM Plex Mono',monospace;padding:12px;cursor:pointer}.launch-data-notes{margin:20px 0 0;border-top:1px solid var(--launch-line);color:#a68cb9;font:9px/1.8 'IBM Plex Mono',monospace}.launch-data-notes summary{display:flex;justify-content:space-between;cursor:pointer;padding:12px 0;gap:20px}.launch-data-notes summary>span:first-child:before{content:'+ ';color:#c6a9e2}.launch-data-notes[open] summary>span:first-child:before{content:'− '}.launch-data-notes>div{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;max-width:1150px}.launch-mobile-tabs{display:none}.launch-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(490px,100vw);max-width:100vw;max-height:100dvh;height:100dvh;box-sizing:border-box;overflow:auto;padding:25px;border:0;border-left:1px solid #6b4f7f;border-radius:0;color:var(--ink);background:#1c1423}.launch-dialog::backdrop{background:#0b0711bb;backdrop-filter:blur(3px)}.launch-detail-identity{display:flex;align-items:center;gap:16px;margin:28px 0}.launch-detail-identity .launch-glyph{width:66px;height:66px;flex-basis:66px;border-radius:9px;font-size:24px}.launch-dialog h2{font-size:40px;letter-spacing:-1.5px;margin:0;overflow-wrap:anywhere;line-height:1.1}.launch-detail-identity p{margin:7px 0 0;color:#b7a1c5;font-size:13px}#detail-live-market{grid-template-columns:1fr 1fr;margin-bottom:25px}#detail-live-market strong{font-size:20px}#detail-live-market .metric-label{font-size:10px}#detail-live-market>.launch-spark{display:none}.launch-detail-chart{border-bottom:1px solid var(--launch-line);padding:10px 0 15px}.launch-detail-chart .launch-spark{height:110px;display:block;margin:0 0 12px}.launch-detail-chart>span{font:8px 'IBM Plex Mono',monospace;color:#a68cb9}.spark-empty{font:11px 'IBM Plex Mono',monospace;color:#967ba9;padding:40px 0}.launch-detail-curve{margin:23px 0;padding:16px 0;border-bottom:1px solid var(--launch-line)}.launch-detail-curve b{font-size:22px;color:#c7b0ff}.launch-detail-curve small{display:block;font:9px/1.7 'IBM Plex Mono',monospace;color:#ad96bc;margin-top:12px}.launch-dialog dl{margin:20px 0}.launch-dialog dt{font:9px 'IBM Plex Mono',monospace;color:#a58db6;margin:17px 0 8px}.launch-dialog dd{font:10px/1.6 'IBM Plex Mono',monospace;margin:0;overflow-wrap:anywhere}.launch-dialog dd button{color:#c9b0ff;background:none;border:0;padding:5px 0;font:inherit;cursor:pointer}.launch-detail-actions{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px}.launch-detail-actions a,.launch-detail-actions button{font:11px 'IBM Plex Mono',monospace;text-decoration:none;color:#c7b2df;background:none;border:0;padding:5px 0;text-align:left;cursor:pointer}.launch-detail-actions .primary{padding:15px;background:#b197ff;color:#1c1324;text-align:center;border-radius:2px}.launch-dialog .muted{font:9px/1.8 'IBM Plex Mono',monospace;margin-top:20px;color:#ac98ba}.launch-view :is(button,select,input):focus-visible,.discovery-switch button:focus-visible{outline:2px solid #d2bdff;outline-offset:3px}.price-up .launch-price{animation:price-rise 1.5s ease-out}.price-down .launch-price{animation:price-fall 1.5s ease-out}@keyframes price-rise{from{color:#9ee8bd}to{color:#e1d4ea}}@keyframes price-fall{from{color:#ff9d9d}to{color:#e1d4ea}}
@media(min-width:1600px){.launch-card-list{height:calc(100vh - 380px)}.launch-card{padding:18px 20px 12px}.launch-market strong{font-size:14px}.launch-market{grid-template-columns:1fr 1fr 85px}.launch-lane>header{padding-left:20px}.lane-description{padding-left:20px}}
@media(max-width:1150px){.launch-command{flex-wrap:wrap}.launch-command .pair-search{flex-basis:32%}.launch-command select{max-width:150px;font-size:9px}.launch-lanes{gap:9px}.launch-lane h2{font-size:17px}.launch-lane>header{padding:14px 11px 0}.lane-description{padding:0 11px 12px;font-size:7px}.launch-card{padding:13px 10px 9px}.launch-glyph{width:36px;height:36px;flex-basis:36px}.launch-identity{gap:7px}.launch-identity strong{font-size:15px}.launch-identity small{font-size:9px}.launch-market{grid-template-columns:1fr 1fr 45px}.launch-market strong{font-size:10px}.launch-card-meta{font-size:7px}.protocol-tabs>button{padding:14px 12px;font-size:10px}}
@media(max-width:800px){.market-key{display:none}.launch-stream-label{display:none}.launch-source-status{font-size:8px;min-width:100px}.launch-header{padding-bottom:20px;gap:12px}.launch-header h1{font-size:35px;letter-spacing:-2px}.launch-kicker{font-size:8px;letter-spacing:1px}.protocol-tabs{overflow:auto}.protocol-tabs>button{flex:1;padding:13px 9px;font-size:9px}.protocol-tabs>button span{font-size:8px;margin-left:5px}.launch-command{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 0 9px}.launch-command .pair-search{grid-column:1/3;max-width:none;min-width:0}.launch-command>button{grid-row:1;grid-column:3;margin:0}.launch-command select{width:100%;max-width:none;font-size:9px;padding:0 6px}.launch-command #launch-platform{grid-row:2;grid-column:1}.launch-command #launch-minimum{grid-row:2;grid-column:2}.launch-command #launch-sort{grid-row:2;grid-column:3}.launch-feed-line{font-size:8px;gap:10px;min-height:25px}.launch-lanes{display:block}.launch-lane{display:none}.launch-lane.active{display:block}.launch-mobile-tabs{display:flex;margin:0 0 12px;border-bottom:1px solid var(--launch-line)}.launch-mobile-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;color:#aa92bb;font:10px 'IBM Plex Mono',monospace;padding:12px 3px;cursor:pointer}.launch-mobile-tabs button[aria-selected=true]{color:#d0bbff;border-bottom-color:#b197ff}.launch-lane>header{padding:18px 16px 0}.launch-lane h2{font-size:22px}.lane-description{padding:0 16px 15px;font-size:8px}.launch-card-list{height:min(650px,70vh);min-height:400px}.launch-card{padding:17px 16px 12px}.launch-glyph{width:45px;height:45px;flex-basis:45px}.launch-identity{gap:10px}.launch-identity strong{font-size:19px}.launch-identity small{font-size:11px}.launch-market{grid-template-columns:1fr 1fr 70px}.launch-market strong{font-size:13px}.metric-label{font-size:9px}.launch-curve>span:first-child{font-size:9px}.launch-card-meta{font-size:9px}.launch-age{font-size:10px}.launch-data-notes>div{grid-template-columns:1fr;gap:0}.launch-data-notes summary{font-size:8px;gap:10px}.launch-dialog{padding:22px}.discovery-switch{margin-bottom:20px}.discovery-switch button{font-size:10px}}
@media(max-width:390px){.launch-header h1{font-size:29px}.launch-source-status{font-size:7px;min-width:86px}.protocol-tabs>button{font-size:8px;padding-inline:7px}.launch-market strong{font-size:12px}.launch-feed-line>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.launch-card{transition:none}.price-up .launch-price,.price-down .launch-price{animation:none}}
@media(min-width:801px){.launch-header{padding-bottom:20px}.launch-header h1{font-size:clamp(30px,3.4vw,51px)}.launch-card{padding-top:12px;padding-bottom:8px}.launch-glyph{width:38px;height:38px;flex-basis:38px}.launch-market{margin-top:11px}.launch-curve{margin:11px 0 6px}.launch-card-meta{line-height:1.2;min-height:20px}.launch-card-meta>button:last-child{font-size:15px;padding:0}.launch-card-meta button{padding:2px 0}}

.curve-migrated{display:block;height:3px;background:#a8c7af66}
/* Live terminal: chart is the primary workspace; price movement is the visual anchor. */
.launch-view{--launch-panel:#18141e;--launch-line:#37303f}.launch-header{padding:0 0 16px}.launch-header h1{font-size:31px;letter-spacing:-1.7px}.launch-source-status{flex-direction:row;gap:18px;font-size:8px}.launch-source-status>span{gap:7px}.launch-command{padding:10px 0}.protocol-tabs>button{padding-block:11px}.launch-feed-line{margin-bottom:10px}.terminal-focus{display:grid;grid-template-columns:minmax(0,1fr) 250px;border:1px solid var(--launch-line);margin-bottom:20px;background:#17131d;min-width:0}.terminal-chart-main{min-width:0;padding:18px 20px 12px;border-right:1px solid var(--launch-line)}.terminal-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:49px}#terminal-identity{display:flex;align-items:center;gap:12px;min-width:0}#terminal-identity>span:last-child{min-width:0}#terminal-identity strong{font-size:23px;letter-spacing:-.7px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}#terminal-identity strong small{font-size:11px;letter-spacing:0;color:#ac9ab9;margin-left:10px;font-weight:400}#terminal-identity button{border:0;background:none;padding:5px 0 0;color:#8d7d9b;font:9px 'IBM Plex Mono',monospace;cursor:pointer}#terminal-quote{text-align:right}#terminal-quote>strong{display:block;font:24px 'IBM Plex Mono',monospace;letter-spacing:-1px;color:#ede6f4}#terminal-quote>span{font:10px 'IBM Plex Mono',monospace;display:block;margin-top:5px}#terminal-quote small{font-size:12px}.terminal-chart-tools{display:flex;gap:16px;margin:20px 0 6px;align-items:center}.terminal-chart-tools>div{display:flex;gap:2px}.terminal-chart-tools button{border:0;background:none;color:#9d8cab;font:10px 'IBM Plex Mono',monospace;padding:6px 9px;cursor:pointer}.terminal-chart-tools button[aria-pressed=true]{background:#aa8fdd26;color:#d3b7ff}.terminal-chart-tools>span{margin-left:auto;font:8px 'IBM Plex Mono',monospace;color:#bda28b;white-space:nowrap}.terminal-chart-tools>span.fresh{color:#96d9c0}.live-plot{position:relative;width:100%;outline-offset:3px}.live-plot svg{display:block;width:100%;touch-action:pan-y}.plot-grid{stroke:#302937;stroke-width:.65}.plot-axis{font:8px 'IBM Plex Mono',monospace;fill:#a393af}.plot-price{font:9px 'IBM Plex Mono',monospace;fill:#17131d}.plot-crosshair{stroke:#c8b6d9;stroke-dasharray:3 3;stroke-width:.7}.plot-empty{font:12px 'IBM Plex Mono',monospace;fill:#a393af}.plot-tooltip{position:absolute;top:15px;background:#2b2038;border:1px solid #6c5383;color:#e8dcf4;padding:8px;pointer-events:none;font:9px 'IBM Plex Mono',monospace;z-index:2}.terminal-chart-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#9c8baa;font:9px 'IBM Plex Mono',monospace;padding-top:7px}.terminal-chart-foot button{background:none;border:0;color:#c9adf4;cursor:pointer;font:inherit}.terminal-context{padding:20px 18px;overflow:hidden}.terminal-context-title{font:9px 'IBM Plex Mono',monospace;color:#8d7d9b;letter-spacing:1px;display:flex;justify-content:space-between;gap:12px}.terminal-context-title>span{color:#c5aed9;letter-spacing:0}#terminal-curve{margin:23px 0}#terminal-curve>span:first-child{display:flex;justify-content:space-between;color:#b6a4c5;font:10px 'IBM Plex Mono',monospace;margin-bottom:12px}#terminal-curve b{color:#d4b9ff;font-size:20px}#terminal-facts>div{display:flex;justify-content:space-between;gap:10px;margin:14px 0;font:9px 'IBM Plex Mono',monospace}#terminal-facts span{color:#9e8bab}#terminal-facts b{font-weight:400;color:#d2c1e0}.terminal-tape-label{font:8px 'IBM Plex Mono',monospace;color:#8e7b9e;letter-spacing:.7px;margin-top:26px;padding:12px 0;border-top:1px solid var(--launch-line)}#terminal-tape>div{display:grid;grid-template-columns:1fr 1fr 28px;gap:8px;margin:9px 0;font:9px 'IBM Plex Mono',monospace}#terminal-tape time,#terminal-tape small{color:#9d8aaa;font-size:8px}#terminal-tape>div>span{text-align:right}#terminal-tape>p{color:#9d8aaa;font:10px 'IBM Plex Mono',monospace}.launch-card-list{height:470px}.launch-lane h2{font-size:17px}.launch-card.chart-selected{background:#b58af012;border-left:2px solid #bc9eff;padding-left:13px}.launch-spark{height:36px}.spark-pending{font:6px/1.7 'IBM Plex Mono',monospace;color:#8b7799;text-align:right}.launch-market{grid-template-columns:1fr 1fr 82px}.launch-header,.terminal-focus{animation:terminal-in .3s ease-out}@keyframes terminal-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}.terminal-focus button:hover{color:#f0e5ff}.positive{color:#96d9c0}.negative{color:#ef9da8}
@media(max-width:1100px){.terminal-focus{grid-template-columns:minmax(0,1fr) 210px}.terminal-context{padding:20px 12px}.terminal-chart-main{padding:16px 13px 12px}#terminal-identity strong small{display:none}.launch-market{grid-template-columns:1fr 1fr 48px}.launch-source-status{gap:9px}}
@media(max-width:800px){.terminal-focus{grid-template-columns:minmax(0,1fr)}.terminal-chart-main{border-right:0;padding:16px 12px 12px}.terminal-context{display:none}.launch-header{align-items:flex-start}.launch-header h1{font-size:27px}.launch-source-status{flex-direction:column;gap:6px}.terminal-chart-tools{gap:7px;margin-top:15px}.terminal-chart-tools button{font-size:9px;padding:6px}.terminal-chart-tools>span{font-size:7px}#terminal-identity strong{font-size:20px;max-width:135px}#terminal-identity .launch-glyph{width:34px;height:34px;flex-basis:34px}#terminal-quote>strong{font-size:19px}#terminal-quote>span{font-size:8px}.terminal-chart-foot{font-size:7px}.terminal-chart-heading{gap:8px}#terminal-identity{gap:8px}.launch-market{grid-template-columns:1fr 1fr 85px}.launch-card.chart-selected{padding-left:14px}.launch-card-list{height:500px}.terminal-focus{margin-bottom:16px}.launch-command>button{font-size:8px;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.launch-header,.terminal-focus{animation:none}}

/* Keep both discovery and the chart in view on ordinary laptop screens. */
main:has(.market-launches){padding-top:18px}.discovery-switch{margin-bottom:14px}.launch-header{padding-bottom:12px}.launch-header h1{font-size:27px;margin-top:5px}.launch-kicker{font-size:8px;letter-spacing:1.5px}.launch-command{padding-block:9px}.launch-feed-line{min-height:19px;margin-bottom:8px}.terminal-chart-tools{margin-top:12px}.terminal-chart-main{padding-top:14px}.terminal-context{padding-top:16px}.terminal-tape-label{margin-top:16px}.terminal-focus{margin-bottom:14px}
