@import url('./tokens.css');
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font:16px var(--body)}body{margin:0;min-width:320px;background:radial-gradient(circle at 72% -10%,#e8414218,transparent 35%),linear-gradient(90deg,var(--soft) 1px,transparent 1px),linear-gradient(var(--soft) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}.skip{position:fixed;top:-5rem;left:1rem;padding:.7rem 1rem;background:var(--accent);color:white;z-index:20}.skip:focus{top:1rem}.shell{width:min(1500px,calc(100% - 48px));margin:auto;padding:24px 0 32px}.masthead,.identity,.tools,.source-status,.section-head,.list-head{display:flex}.masthead{justify-content:space-between;align-items:flex-start;padding:8px 0 24px;border-bottom:1px solid var(--line)}.identity{gap:18px}.mark{width:44px;height:44px;display:grid;place-items:center;background:var(--accent);color:white;font:700 1rem var(--display);clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:10px}.eyebrow{margin:0 0 8px;color:var(--muted);font:600 .65rem var(--mono);letter-spacing:.17em}h1{margin:0;font:500 clamp(2.5rem,5vw,5rem)/.9 var(--display);letter-spacing:-.05em}h1 em{color:var(--accent);font-weight:300}.dek{color:var(--muted);margin:.7rem 0 0}.tools{gap:14px;align-items:center}.source-status{align-items:center;gap:10px;text-align:right;font:650 .72rem/1.3 var(--mono)}.source-status i{width:8px;height:8px;border-radius:50%;background:#57d9a6;box-shadow:0 0 0 5px #57d9a622}.source-status i.stale{background:#f1bb52}.source-status i.unavailable{background:var(--accent)}.source-status small{display:block;color:var(--muted);font-weight:400}.icon-button,#reset-selection{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.icon-button{width:42px;height:42px;font-size:1.2rem}.telemetry{display:grid;grid-template-columns:1.15fr 1fr 1.2fr 1fr;border:1px solid var(--line);border-top:0;background:var(--surface)}.telemetry>div{padding:16px 20px;border-right:1px solid var(--line)}.telemetry>div:last-child{border:0}.telemetry span,.telemetry small{display:block;color:var(--muted);font:600 .62rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.telemetry strong{display:block;margin:3px 0;font:500 clamp(1.2rem,2.1vw,1.75rem) var(--display)}.observatory{position:relative;margin-top:20px;border:1px solid var(--line);background:var(--surface);box-shadow:0 22px 80px var(--shadow);overflow:hidden}.section-head{justify-content:space-between;align-items:end;padding:20px 26px 0}.section-head h2,.lower-grid h2,.feed-facts h2{margin:0;font:500 1.75rem var(--display)}.legend{display:flex;gap:18px;color:var(--muted);font:600 .62rem var(--mono);text-transform:uppercase}.legend span{display:flex;align-items:center;gap:7px}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.dot.unpriced{background:transparent;border:1px solid var(--muted)}.scale{width:22px;height:8px;border-radius:50%;background:linear-gradient(90deg,#ffffff22,var(--accent))}.scene{height:min(65vh,680px);min-height:520px}.viz{width:100%;height:100%;display:block}.contours ellipse{fill:none;stroke:var(--line);stroke-dasharray:3 9}.plate-side{fill:var(--plate-side)}.plate{fill:var(--plate);stroke:var(--line);stroke-width:1.5}.plate-grid{color:var(--ink)}.ledger-ring{transform-origin:600px 350px;animation:ring-arrive 1.2s ease-out both}.ledger-tile{fill:var(--line)}.tile-hit .hit,.tower-target{fill:transparent;pointer-events:all}.tile-hit .ledger-tile{fill:var(--c);opacity:.9}.tile-hit .price-mark{fill:var(--c);opacity:.78}.tile-hit.unpriced .price-mark{fill:var(--surface);stroke:var(--c);stroke-width:1.5}.tile-hit:focus-visible .ledger-tile,.tower-hit:focus-visible .tower-target{outline:none;stroke:var(--focus);stroke-width:4;filter:drop-shadow(0 0 5px var(--focus))}.beacon{animation:beacon-arrive .7s both}.beacon ellipse{fill:#e8414230;filter:url(#bloom)}.beacon path{fill:#e84142}.beacon .beacon-cut{fill:var(--surface)}.beacon text,.tower-name,.tower-value,.tower-usd{fill:var(--ink);font-family:var(--mono);paint-order:stroke;stroke:var(--surface);stroke-width:4;stroke-linejoin:round}.beacon text{font-size:10px;letter-spacing:.17em}.tower-body{animation:tower-rise .75s var(--delay) cubic-bezier(.2,.8,.2,1) both}.tower-glow{fill:var(--c);opacity:calc(var(--light)*.25);filter:url(#bloom)}.tower-left{fill:color-mix(in srgb,var(--c) calc(32% + var(--light)*40%),#15191d)}.tower-right{fill:color-mix(in srgb,var(--c) calc(20% + var(--light)*27%),#050607)}.tower-roof{fill:color-mix(in srgb,var(--c) calc(45% + var(--light)*45%),white)}.course{fill:none;stroke:#fff3;stroke-width:1}.tower-name{font-size:13px;font-weight:800;letter-spacing:.12em}.tower-value{font-size:12px;font-weight:800}.tower-usd{font-size:9px;fill:var(--muted)}.dim{opacity:.17}.comet-tail,.comet-glow{fill:none;stroke:var(--c);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-comet .9s var(--delay) ease-out both}.comet-tail{stroke-width:11;opacity:.1}.comet-glow{stroke-width:3;opacity:.7}.comet-head{fill:var(--c);filter:drop-shadow(0 0 7px var(--c))}.arrival-ripple{fill:none;stroke:var(--c);stroke-width:2;animation:ripple .7s calc(var(--delay) + .75s) both}.method{margin:0;padding:12px 26px;border-top:1px solid var(--line);color:var(--muted);font:.7rem/1.5 var(--mono)}.mobile-dexes{display:none}.empty-state{position:absolute;inset:95px 28px 52px;display:grid;place-content:center;text-align:center;background:color-mix(in srgb,var(--surface) 93%,transparent);z-index:4}.empty-state[hidden]{display:none}.empty-state strong{font:500 2rem var(--display)}.empty-state span{color:var(--muted);margin-top:8px}.lower-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(270px,.8fr);gap:20px;margin-top:20px}.lower-grid>div,.feed-facts{min-width:0;border:1px solid var(--line);background:var(--surface);padding:22px}.list-head{justify-content:space-between;align-items:center}.list-head h2{font-size:1.55rem}#reset-selection{padding:9px 12px;font:600 .65rem var(--mono);text-transform:uppercase}#reset-selection:disabled{opacity:.35;cursor:not-allowed}.swap-list{overflow:auto;margin-top:15px}table{width:100%;border-collapse:collapse;font:650 .72rem var(--mono)}th{text-align:left;color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}th,td{padding:11px 8px;border-bottom:1px solid var(--line)}td:first-child i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:8px}td:first-child span{display:block;color:var(--muted);margin:3px 0 0 15px;font-weight:400}td a{color:var(--ink)}.unpriced-label{color:var(--muted);border:1px solid var(--line);padding:3px 5px}.highlight{background:color-mix(in srgb,var(--focus) 10%,transparent)}.feed-facts dl{margin:18px 0}.feed-facts dl div{padding:8px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font:600 .6rem var(--mono);text-transform:uppercase}dd{margin:3px 0 0;overflow-wrap:anywhere;font:650 .7rem/1.4 var(--mono)}.feed-facts>p:last-child,.no-rows{color:var(--muted);font:.75rem/1.55 var(--mono)}footer{display:flex;justify-content:space-between;color:var(--muted);font:.62rem var(--mono);text-transform:uppercase;padding-top:16px}kbd{border:1px solid var(--line);background:var(--surface);padding:2px 5px}.icon-button:focus-visible,#reset-selection:focus-visible,.dex-card:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@keyframes beacon-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes tower-rise{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes ring-arrive{from{opacity:0;stroke-dashoffset:1;transform:rotate(-5deg)}to{opacity:1;stroke-dashoffset:0;transform:none}}@keyframes draw-comet{to{stroke-dashoffset:0}}@keyframes ripple{from{opacity:1;transform:scale(.4);transform-origin:center}to{opacity:0;transform:scale(4);transform-origin:center}}
@media(max-width:1023px){.shell{width:calc(100% - 24px);padding-top:12px}.masthead{gap:15px}.mark{display:none}h1{font-size:2.65rem}.tools{align-items:flex-start}.source-status{max-width:320px}.scene{display:none}.section-head{padding:20px}.legend{flex-wrap:wrap;justify-content:flex-end}.mobile-dexes{display:grid;padding:18px 20px;gap:8px}.dex-card{display:grid;grid-template-columns:30px 8px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:14px;border:1px solid var(--line);background:var(--raised);color:var(--ink);text-align:left;cursor:pointer}.dex-card.selected{border-color:var(--focus)}.dex-card .rank{color:var(--muted);font:600 .65rem var(--mono)}.dex-card>i{width:6px;height:34px;background:var(--c)}.dex-card b,.dex-card small{display:block}.dex-card small{color:var(--muted);font:500 .62rem/1.4 var(--mono);margin-top:3px}.dex-card>strong{text-align:right;font:500 1.1rem var(--display)}.method{padding:12px 20px}.empty-state{inset:90px 20px 50px}.lower-grid{grid-template-columns:minmax(0,1fr) 290px}.telemetry{grid-template-columns:1fr 1fr}.telemetry>div:nth-child(2){border-right:0}.telemetry>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:620px){.masthead{display:block}.tools{margin-top:16px;justify-content:space-between}.source-status{text-align:left}.telemetry>div{padding:12px}.telemetry strong{font-size:1.05rem}.section-head{display:block}.legend{justify-content:flex-start;margin-top:14px}.mobile-dexes{padding:12px}.dex-card{grid-template-columns:24px 6px minmax(0,1fr)}.dex-card>strong{grid-column:3;text-align:left}.lower-grid{grid-template-columns:1fr}.lower-grid>div,.feed-facts{padding:16px}.swap-list{margin-right:-16px}table{min-width:590px}footer p:last-child{display:none}.dek{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.effects{display:none}}
.viz:has(.tower-hit[data-dex="pharaoh"]:is(:hover,:focus-visible)) :is(.tower-hit,.tile-hit):not([data-dex="pharaoh"]),.viz:has(.tower-hit[data-dex="lfj"]:is(:hover,:focus-visible)) :is(.tower-hit,.tile-hit):not([data-dex="lfj"]),.viz:has(.tower-hit[data-dex="blackhole"]:is(:hover,:focus-visible)) :is(.tower-hit,.tile-hit):not([data-dex="blackhole"]){opacity:.16}.tower-hit,.tile-hit{transition:opacity .16s ease}

/* Compact widths use a purpose-built SVG activity field, never a squeezed desktop scene. */
.compact-viz{display:block;width:100%;height:auto}.compact-axis{fill:none;stroke:var(--line);stroke-dasharray:2 8}.compact-target{fill:transparent;stroke:transparent}.compact-track{fill:var(--soft)}.compact-bar{fill:var(--c);opacity:.72}.compact-name,.compact-count,.compact-coverage{fill:var(--ink);font-family:var(--mono)}.compact-name{font-size:16px;font-weight:800;letter-spacing:.11em}.compact-count{font-size:11px;fill:var(--muted)}.compact-coverage{font-size:9px;font-weight:700}.compact-event{fill:var(--c)}.compact-event.unpriced{fill:var(--surface);stroke:var(--c);stroke-width:2}.compact-dex:focus-visible .compact-target{stroke:var(--focus);stroke-width:4}.pricing-notice{margin:16px 26px 0;padding:12px 14px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--raised));font:.72rem/1.5 var(--mono)}.pricing-notice[hidden]{display:none}.pricing-notice strong{display:block;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.pricing-notice span{color:var(--muted)}
@media(max-width:1023px){.mobile-dexes{display:block;padding:8px 20px 14px}.dex-card{display:none!important}}
@media(max-width:620px){h1{font-size:2.3rem}.mobile-dexes{padding:4px 6px 10px}.pricing-notice{margin:12px 12px 0}.compact-name{font-size:22px}.compact-count{font-size:18px}.compact-coverage{font-size:16px}}
