@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
.token-icon{position:relative}.token-icon>img{position:absolute;inset:0}
@media(max-width:800px){.market-main .toolbar{flex-wrap:wrap}.market-main .modes{width:100%;overflow-x:auto}.market-main .modes button{white-space:nowrap;flex:none}.market-main .refresh-area{margin-left:auto}.market-main .footer{gap:12px;flex-wrap:wrap}}
:root{color-scheme:dark;--bg:#080e18;--panel:#0c1422;--raised:#111e30;--border:#1b2a3d;--text:#e2eaf4;--muted:#788ca5;--blue:#7caaff;--green:#39dbaa;--red:#ff697c;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue)}button{cursor:pointer}button,select,input{color:var(--text);border:1px solid var(--border);background:var(--panel);border-radius:6px}button{padding:9px 13px}button:hover,a:hover{color:var(--blue)}button.active{background:#203758;border-color:#517bb1;color:#deebff}button:disabled{opacity:.35;cursor:default}input,select{padding:10px 12px}input::placeholder{color:#5d748f}.mono,td:not(:nth-child(2)),.stats strong{font-family:var(--mono)}.muted{color:var(--muted)}.up{color:var(--green)}.down{color:var(--red)}.topbar{height:70px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:32px;padding:0 30px;background:#0a111eea;position:sticky;top:0;z-index:30;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}.brand span{color:var(--blue)}.brand-mark{height:32px;width:32px;border:1px solid #5b90c3;border-radius:50%;position:relative;box-shadow:0 0 22px #388cbe18}.brand-mark:before{content:'';position:absolute;inset:6px;border:1px solid #467495;border-radius:50%}.brand-mark:after{content:'';position:absolute;width:5px;height:5px;background:var(--green);border-radius:50%;left:18px;top:7px;box-shadow:0 0 8px #39dbaa}.topnav{display:flex;align-items:center;gap:22px;color:var(--muted);height:100%}.topnav a{height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.topnav .selected{color:#cbdcff;border-bottom-color:var(--blue)}.searchbox{margin-left:auto;position:relative;width:310px}.searchbox input{width:100%;padding-left:35px;background:#101b2b}.searchbox:before{content:'⌕';position:absolute;left:12px;top:5px;font-size:24px;color:var(--muted)}.shortcut{position:absolute;right:10px;top:10px;color:#60748d;font:11px var(--mono);border:1px solid #304056;padding:2px 5px;border-radius:3px}.chain{display:flex;align-items:center;gap:8px;white-space:nowrap;font:11px var(--mono)}.dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;box-shadow:0 0 7px #39dbaa50}.page{max-width:1900px;margin:auto}.hero{padding:29px 30px;display:flex;align-items:center;gap:20px;justify-content:space-between;background:radial-gradient(ellipse at 85% 20%,#173b4835,transparent 65%),linear-gradient(110deg,#101d32,#0b1522);border-bottom:1px solid var(--border)}.eyebrow{font:10px var(--mono);color:#7f9cc1;letter-spacing:2px;text-transform:uppercase}.hero h1{font-size:32px;letter-spacing:-1.1px;margin:8px 0;font-weight:600}.hero p{margin:0;color:var(--muted);font-size:12px}.stats{display:flex;gap:8px}.stats>div{padding:16px 19px;border-left:1px solid #294052;min-width:137px}.stats small{font:10px var(--mono);color:var(--muted);letter-spacing:1px;display:block}.stats strong{font-size:23px;font-weight:500;display:block;margin-top:9px}.tape{display:flex;align-items:center;height:41px;background:#0b1522;border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap}.tape-label{height:100%;display:flex;align-items:center;padding:0 23px;font:10px var(--mono);letter-spacing:1px;color:var(--green);border-right:1px solid var(--border);background:var(--panel)}.tape-items{display:flex;gap:29px;padding:0 20px}.tape-item{font:11px var(--mono);display:flex;gap:9px;align-items:center}.tape-item b{color:var(--text)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 240px}.market-main{min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 13px}.modes{display:flex;gap:5px}.modes button{background:transparent;border-color:transparent;font-weight:600;color:var(--muted)}.modes .active{color:var(--blue);background:#182944}.refresh-area{display:flex;align-items:center;gap:10px;font:10px var(--mono);color:var(--muted)}.icon-btn{padding:7px 10px;font-size:17px}.filters{display:flex;align-items:center;gap:8px;padding:0 22px 17px;flex-wrap:wrap}.filters label{display:flex;gap:8px;align-items:center;color:var(--muted);font:10px var(--mono)}.filters select{padding:8px 10px;font:11px var(--sans);min-width:130px}.filters input{width:115px;padding:8px;font:11px var(--mono)}.pill{border:1px solid var(--border);font:10px var(--mono);padding:5px 7px;border-radius:4px;color:var(--muted)}.table-scroll{overflow:auto;min-height:350px}.market-table{border-collapse:collapse;width:100%;white-space:nowrap}.market-table th{background:#0c1828;color:#7b94b2;font:9px var(--mono);letter-spacing:.6px;padding:12px 11px;text-align:right;border-block:1px solid var(--border);cursor:pointer}.market-table th:nth-child(2){text-align:left;min-width:182px}.market-table th:first-child{width:32px;cursor:default}
/* The left edge is trimmed so the row fits a normal screen without sideways scrolling: the star column
   and the name column carry the slack, the numbers keep their spacing. */
.market-table th:first-child,.market-table td:first-child{padding-left:10px;padding-right:2px}
.market-table th:nth-child(2),.market-table td:nth-child(2){padding-left:6px}.market-table td{height:66px;padding:9px 11px;border-bottom:1px solid #172333;text-align:right;font-size:11px}.market-table tr:hover{background:#112039}.market-table tr{cursor:pointer}.market-table td:nth-child(2){text-align:left}.token-cell{display:flex;gap:10px;align-items:center}.token-icon{width:34px;height:34px;flex:none;border-radius:9px;background:#20364f;display:grid;place-items:center;overflow:hidden;color:#88afd2;font-size:11px}.token-icon img{width:100%;height:100%;object-fit:cover}.token-cell strong{font-size:13px;font-weight:700}.token-cell .description{font:10px var(--sans);color:var(--muted);display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.source-badge{font:8px var(--mono);color:#7899c1;padding:2px 4px;background:#15283c;border:1px solid #28415c;border-radius:3px;margin-left:7px}.star{border:0;background:none;color:#465773;padding:4px;font-size:15px}.star.saved{color:#d5b56d}.spark{width:88px;height:30px;display:block}.footer{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:10px var(--mono)}.pagination{display:flex;gap:6px;align-items:center}.pagination button{padding:7px 10px}.sidepanel{border-left:1px solid var(--border);background:#0a1220;min-width:0}.side-section{padding:23px 18px;border-bottom:1px solid var(--border)}.side-title{font-size:12px;display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}.side-title span{font:9px var(--mono);color:var(--muted)}.pulse-row{display:flex;align-items:center;gap:9px;margin:17px 0}.pulse-row .token-icon{width:27px;height:27px;border-radius:7px}.pulse-row b{font-size:11px}.pulse-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.pulse-row>span{margin-left:auto;font:10px var(--mono)}.source-row{display:flex;justify-content:space-between;margin:15px 0;font-size:11px}.side-note{font-size:11px;color:var(--muted);line-height:1.8}.banner{margin:0;padding:10px 22px;color:#dab777;background:#33261855;border-bottom:1px solid #735e3520;font-size:11px}.banner:empty{display:none}.empty{text-align:center!important;color:var(--muted);padding:60px!important;font:13px var(--sans)!important}.skeleton{background:linear-gradient(90deg,#132033,#1a2b40,#132033);height:20px;max-width:160px;border-radius:4px;animation:pulse 1.8s ease infinite}@keyframes pulse{50%{opacity:.4}}.search-results{position:absolute;right:0;top:48px;width:390px;border:1px solid #345173;border-radius:10px;background:#111d2e;box-shadow:0 18px 50px #000a;max-height:440px;overflow:auto;padding:8px}.search-results[hidden]{display:none}.search-results a{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:5px}.search-results a:hover{background:#1c314c}.search-results small{color:var(--muted);display:block;margin-top:4px;font-size:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#244266;border:1px solid #527eaa;border-radius:8px;z-index:80}.token-head{padding:20px 25px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:15px}.back{font-size:20px;border:1px solid var(--border);border-radius:6px;padding:5px 11px;color:#8aa7c9}.token-head h1{font-size:21px;margin:0}.token-head .token-icon{height:40px;width:40px}.head-price{font:22px var(--mono);margin-left:15px}.contract{margin-left:auto;display:flex;gap:8px;align-items:center;font:10px var(--mono);color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;min-height:760px}.chart-main{min-width:0}.chart-tools{height:57px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid var(--border)}.timeframes{display:flex;gap:4px}.timeframes button{padding:7px 11px;font:11px var(--mono);background:transparent;border-color:transparent;color:var(--muted)}.timeframes .active{background:#203757;color:#bdd4ff;border-color:#46678f}.chart-container{position:relative;height:450px;min-width:0;background:#0a1421}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);z-index:2;pointer-events:none}.chart-legend{padding:10px 20px;font:10px var(--mono);color:#8da9c5;display:flex;gap:15px;min-height:34px;border-bottom:1px solid var(--border)}.chart-credit{font:9px var(--mono);color:#57718d;padding:8px 20px;border-bottom:1px solid var(--border)}.details-side{border-left:1px solid var(--border);padding:22px 18px;background:#0c1624}.details-title{font-size:14px;margin:0 0 18px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric{padding:13px 10px;border:1px solid var(--border);border-radius:6px;background:#101e30}.metric small{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.metric b{font:14px var(--mono)}.change-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:15px 0}.change-grid div{border:1px solid var(--border);border-radius:5px;text-align:center;padding:9px 2px;font:10px var(--mono)}.change-grid small{display:block;color:var(--muted);margin-bottom:7px;font-size:8px}.buy-sell{display:flex;justify-content:space-between;font:10px var(--mono);margin-top:20px}.ratio{height:4px;margin:10px 0 22px;background:var(--red);border-radius:3px;overflow:hidden}.ratio span{height:100%;background:var(--green);display:block}.facts{border-top:1px solid var(--border);margin-top:20px;padding-top:5px}.facts>div{display:flex;justify-content:space-between;gap:10px;margin:15px 0;color:var(--muted);font-size:11px}.facts span:last-child{color:#b9cee4;text-align:right;font:10px var(--mono)}.socials{display:flex;gap:7px;margin-top:20px}.socials a{border:1px solid var(--border);padding:8px 12px;border-radius:5px;font-size:11px}.trade-tabs{padding:15px 20px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}.trade-tabs b{color:#afcbfa;font:11px var(--mono);letter-spacing:1px}.trade-tabs span{color:var(--muted);font-size:10px}.trades-table{width:100%;border-collapse:collapse;font:11px var(--mono)}.trades-table th{background:#0c1828;color:var(--muted);font-size:9px;font-weight:400;text-align:right;padding:12px 20px}.trades-table td{padding:13px 20px;border-bottom:1px solid #172333;text-align:right}.trades-table td:first-child,.trades-table th:first-child{text-align:left}.trades-table tr:hover{background:#122237}.inline-error{padding:9px 20px;font-size:11px;color:#d5b571}.inline-error:empty{display:none}.support-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:20px}.all-link{display:block;text-align:center;border:1px solid var(--border);border-radius:6px;padding:10px;margin-top:20px;font-size:11px}
@media(min-width:1600px){.market-table td{padding:11px 15px}.chart-container{height:520px}}@media(max-width:1200px){.sidepanel{display:none}.workspace{grid-template-columns:1fr}.topnav{gap:15px}.topbar{gap:20px}.stats>div{min-width:110px;padding:14px}.stats strong{font-size:20px}.hero h1{font-size:28px}.detail-layout{grid-template-columns:minmax(0,1fr) 285px}.market-table{min-width:1200px}}@media(max-width:800px){.topbar{padding:0 15px;gap:12px;height:60px}.brand{font-size:15px}.brand-mark{width:26px;height:26px}.topnav,.chain,.shortcut{display:none}.searchbox{width:190px}.searchbox input{font-size:11px}.hero{display:block;padding:23px 17px}.hero h1{font-size:26px}.stats{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.stats>div{padding:0 8px;min-width:0}.stats strong{font-size:15px}.stats small{font-size:8px;letter-spacing:0}.toolbar{padding:15px 10px;gap:5px}.modes{gap:0}.modes button{font-size:11px;padding:8px}.refresh-area .synced{display:none}.filters{padding:0 12px 14px}.filters label{font-size:9px}.filters select{min-width:105px}.filters input{width:95px}.detail-layout{display:flex;flex-direction:column}.details-side{border-top:1px solid var(--border);border-left:0}.chart-main{width:100%}.token-head{padding:15px 12px;gap:8px;flex-wrap:wrap}.token-head h1{font-size:17px}.head-price{font-size:16px;margin-left:5px}.contract{width:100%;margin-left:50px}.chart-tools{padding:0 10px}.chart-container{height:350px}.timeframes button{padding:7px 9px}.trades-table{min-width:620px}.chart-legend{font-size:9px;gap:8px;padding:9px 12px}.search-results{width:min(360px,92vw)}.footer{padding:15px 12px}.tape-label{padding:0 12px;font-size:9px}.support-note{max-width:400px}}
.chart-actions{display:flex;align-items:center;gap:8px}.chart-modes{display:flex;gap:3px;border-left:1px solid var(--border);padding-left:8px}.chart-modes button{padding:7px 9px;font:10px var(--mono);background:transparent;border-color:transparent;color:var(--muted)}.chart-modes button.active{background:#203757;color:#bdd4ff;border-color:#46678f}
@media(max-width:800px){.chart-tools{flex-wrap:wrap;gap:5px}.chart-actions{margin-left:auto}.chart-modes{padding-left:4px}.chart-modes button{padding:7px 6px;font-size:9px}}
/* Search results: token logo next to the name, two-letter mark when there is no logo or it fails to load. */
.search-token{display:flex;align-items:center;gap:10px;min-width:0}
.search-token>span:last-child{min-width:0;overflow:hidden}
.search-token b,.search-token small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-results .token-icon{width:30px;height:30px;border-radius:8px;font-size:10px}
.search-results a>.mono{flex:none;margin-left:10px}
/* Transactions and holders share one panel; the tabs switch which table is shown. */
.panel-tab{background:none;border:0;padding:0 2px;font:inherit;letter-spacing:inherit;color:var(--muted);cursor:pointer;text-transform:uppercase}
.panel-tab+.panel-tab{margin-left:16px}
.panel-tab.active{background:none;border:0;border-bottom:2px solid var(--blue);border-radius:0;color:var(--text);padding-bottom:2px}
.panel-tab:focus{outline:none}
.panel-tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#holders-table td a{color:var(--blue)}
.holder-tag{margin-left:8px;padding:2px 7px;border-radius:4px;background:#1b2e46;font-size:10px;letter-spacing:.04em;color:#9dc2ea;border:1px solid #2e4763}
#same-table .token-cell{gap:9px}
#same-table .token-cell small{display:block;margin-top:3px;font-size:10px}
#same-table .token-icon{width:26px;height:26px;border-radius:7px;font-size:10px}
/* Brand: UFO over SCREENER, with the craft hovering and its lights running. Motion is dropped for
   anyone who has asked the system for less of it. */
.brand-ufo{display:block;width:44px;height:34px;flex:none;animation:ufo-hover 3.4s ease-in-out infinite}
.brand-ufo svg{width:100%;height:100%;overflow:visible}
.ufo-hull{fill:#7caaff}
.ufo-dome{fill:var(--green);opacity:.92}
.ufo-beam{fill:#39dbaa;opacity:.16;transform-origin:50% 20%;animation:ufo-beam 3.4s ease-in-out infinite}
.ufo-light{fill:#0a111e;animation:ufo-light 1.8s linear infinite}
.ufo-light.two{animation-delay:.6s}
.ufo-light.three{animation-delay:1.2s}
@keyframes ufo-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ufo-beam{0%,100%{opacity:.08;transform:scaleY(.85)}50%{opacity:.26;transform:scaleY(1.08)}}
@keyframes ufo-light{0%,100%{fill:#0a111e}40%{fill:#eaf4ff}}
.brand-words{display:flex;flex-direction:column;line-height:1;gap:2px}
.brand-words b{font-size:21px;letter-spacing:1px}
.brand-words small{font-size:10px;letter-spacing:3.4px;color:var(--blue);font-weight:600}
@media(prefers-reduced-motion:reduce){.brand-ufo,.ufo-beam,.ufo-light{animation:none}}
@media(max-width:760px){.brand-ufo{width:34px;height:26px}.brand-words b{font-size:16px}.brand-words small{font-size:8px;letter-spacing:2.4px}}
/* The oldest contract under a ticker, called out in green wherever the token is named. */
.og-tag{margin-left:9px;padding:2px 7px;border-radius:4px;border:1px solid #2f7d64;background:#123028;color:var(--green);font-size:10px;font-weight:600;letter-spacing:.06em;vertical-align:middle;white-space:nowrap}
.same-row .og-tag{margin-left:7px;font-size:9px;padding:1px 5px}

/* Holder Maps: bubbles for the largest holders, lines where they have moved the token to each other. */
.map-note{padding:14px 18px;color:var(--muted);font-size:12px;line-height:1.5;border-bottom:1px solid var(--border)}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0}
.map-canvas{padding:10px;min-width:0}
.map-canvas svg{width:100%;height:auto;display:block}
.map-canvas circle{cursor:pointer;transition:fill-opacity .15s}
.map-canvas circle:hover{fill-opacity:1}
.map-clusters{border-left:1px solid var(--border);padding:14px 16px;max-height:440px;overflow:auto}
.map-clusters h3{margin:0 0 12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cluster{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.cluster:last-child{border-bottom:0}
.cluster-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}
.cluster-dot{width:9px;height:9px;border-radius:50%;flex:none}
.cluster-share{margin-left:auto;color:var(--green);font-weight:600}
.cluster-wallet{display:block;font-size:11px;color:var(--blue);padding:2px 0}
@media(max-width:900px){.map-layout{grid-template-columns:1fr}.map-clusters{border-left:0;border-top:1px solid var(--border);max-height:none}}

/* Keeping the row on screen: the name column is capped and the number columns lose a couple of pixels of
   padding each, which together remove the sideways scroll on an ordinary laptop screen. */
.market-table th,.market-table td{padding-left:8px;padding-right:8px}
.market-table th:first-child,.market-table td:first-child{padding-left:10px;padding-right:2px}
.market-table th:nth-child(2),.market-table td:nth-child(2){padding-left:6px}
.market-table .token-cell{gap:8px;max-width:196px}
.market-table .token-cell>span{min-width:0}
.market-table .token-cell strong,.market-table .token-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-table .token-icon{width:30px;height:30px;border-radius:8px}
.market-table .spark{width:74px}
.market-table .token-cell{max-width:170px}
.usdc-mark{background:none;padding:0;overflow:visible}
.usdc-mark svg{width:100%;height:100%;display:block;border-radius:50%}

/* Market overview, laid out the way a trader reads it: price, size, the day's moves, then each total
   split into the buying and the selling side. */
.metrics.two{grid-template-columns:1fr 1fr}
.metrics.three{grid-template-columns:repeat(3,1fr)}
.metric i{display:block;margin-top:5px;font:10px var(--mono);font-style:normal;color:var(--muted)}
.pair{margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#0d1726}
.pair-head{display:grid;grid-template-columns:1fr auto auto;gap:12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pair-values{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;margin-top:4px;font-size:13px}
.pair-values b{font-size:15px}
.pair .ratio{margin-top:8px}
.launchpad-tag{display:inline-block;margin-left:7px;padding:2px 5px;border:1px solid #345173;border-radius:4px;background:#13263b;color:#91b8e1;font:9px var(--mono);font-weight:400;vertical-align:middle;white-space:nowrap}
.token-head .launchpad-tag{font-size:10px}
#launchpad-filter{max-width:160px}
.trade-arrival{animation:trade-arrival .75s ease-out}
@keyframes trade-arrival{from{background:rgba(32,184,146,.18)}to{background:transparent}}
@media(prefers-reduced-motion:reduce){.trade-arrival{animation:none}}
