@charset "UTF-8";
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/jetbrains-mono-regular.ttf") format("truetype"); }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/jetbrains-mono-semibold.ttf") format("truetype"); }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/jetbrains-mono-bold.ttf") format("truetype"); }

:root {
  color-scheme:light;
  --bg:#fff; --panel:#ffffff; --panel-2:#f9f9f9; --line:#e6e6e6;
  --text:#111; --muted:#111; --accent:#111; --accent-soft:#f1f1f1;
  --long:#111; --short:#111; --watch:#111; --cyan:#111;
  --shadow:0 4px 24px -12px #25252518;
  --mono:"JetBrains Mono",Consolas,monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; min-height:100vh; isolation:isolate; background:var(--bg); color:var(--text); font:400 14px/1.65 "JetBrains Mono","Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
a { color:var(--accent); text-underline-offset:4px; }
a:hover { color:#111; }
svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #888888; outline-offset:4px; }
h1,h2,h3,h4,p { margin-top:0; }
h2 { font-size:22px; font-weight:600; letter-spacing:-.6px; margin-bottom:12px; }
h3 { font-size:16px; margin-bottom:10px; }
h4 { font-size:14px; }
.shell { position:relative; z-index:1; width:calc(100% - 152px); max-width:1584px; margin:0 auto 0 116px; padding-bottom:24px; }
.skip-link { position:fixed; z-index:20; left:100px; top:-100px; padding:12px 20px; background:var(--text); color:white; border-radius:8px; }
.skip-link:focus { top:12px; }

/* App frame: a quiet rail leaves the full working area for market data. */
.nav-rail { position:fixed; inset:0 auto 0 0; z-index:5; width:80px; display:flex; align-items:center; flex-direction:column; background:#1d1d1d; border-right:1px solid #333333; color:#111; }
.rail-logo { display:grid; place-items:center; width:44px; height:44px; margin:20px 0 48px; border:1px solid #898989; border-radius:13px; color:white; background:linear-gradient(145deg,#878787,#575757); box-shadow:0 5px 0 #141414,0 8px 24px #54545433; transform:rotate(-5deg); }
.rail-logo svg { width:28px; height:28px; }
.nav-rail nav { display:flex; flex-direction:column; align-items:center; gap:22px; width:100%; }
.nav-rail nav a { display:flex; flex-direction:column; align-items:center; gap:8px; color:#111; text-decoration:none; width:72px; padding:10px 2px; border-radius:10px; font-size:9px; font-weight:600; white-space:nowrap; transition:background .2s,color .2s; }
.nav-rail nav a:hover { color:white; background:#343434; }
.rail-bottom { margin:auto 0 25px; display:grid; justify-items:center; gap:10px; color:#111; font-size:9px; text-align:center; letter-spacing:.5px; line-height:1.5; }
.topbar { height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); gap:20px; }
.brand { display:flex; flex-shrink:0; align-items:center; color:var(--text); text-decoration:none; font-size:23px; font-weight:700; letter-spacing:-1px; line-height:1.2; white-space:nowrap; }
.brand-light { color:var(--accent); }
.brand small { display:block; margin-top:7px; font-size:9px; font-weight:600; letter-spacing:2px; color:var(--muted); }
.actions { display:flex; align-items:center; gap:14px; }
.pill { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:600; color:var(--muted); padding:7px 11px; border:1px solid var(--line); border-radius:6px; background:#ffffff90; white-space:nowrap; }
.pill span,.tiny-dot { display:inline-block; width:6px; height:6px; flex-shrink:0; border-radius:50%; background:#909090; }
.pill.online span { background:var(--long); box-shadow:0 0 0 3px #61616112; }
.pill.error { color:#111; background:#f5f5f5; border-color:#d6d6d6; }
.pill.error span { background:var(--short); }
#scanButton { display:flex; align-items:center; justify-content:center; gap:20px; background:var(--accent); border:1px solid #525252; color:white; font-size:12px; font-weight:600; padding:10px 16px; min-height:42px; border-radius:8px; box-shadow:0 3px 6px #5b5b5b15; transition:background .2s,transform .2s; }
#scanButton:hover:not(:disabled) { background:#4a4a4a; transform:translateY(-1px); }
#scanButton span { font-size:18px; line-height:1; }
.icon-button { position:relative; width:42px; height:42px; display:grid; place-items:center; color:#111; background:white; border:1px solid var(--line); border-radius:8px; }
.icon-button:hover { color:var(--accent); background:var(--accent-soft); }
.notification-badge { position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 4px; border:2px solid var(--bg); border-radius:7px; background:#656565; color:white; font:600 10px/1 var(--mono); display:grid; place-items:center; }

/* The decorative 3D field sits behind the page; financial data retains a solid surface. */
.hero { display:flex; align-items:center; min-height:255px; padding:32px 0; }
.hero-copy { max-width:570px; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:1.6px; color:#111; margin-bottom:12px; }
.hero .eyebrow { display:flex; align-items:center; gap:8px; color:#111; }
.tiny-dot { background:var(--accent); }
h1 { font-size:clamp(34px,3.7vw,54px); font-weight:700; line-height:1.35; letter-spacing:-1.8px; margin:0; color:#111; }
h1>span { color:var(--accent); }
.subtitle { font-size:13px; color:var(--muted); line-height:1.85; margin:15px 0 16px; }
.research-shortcut { display:inline-flex; align-items:center; gap:18px; font-size:12px; font-weight:600; text-decoration:none; }
.research-shortcut span { font-size:19px; transition:transform .2s; }
.research-shortcut:hover span { transform:translate(2px,-2px); }
.hero-disclaimer { color:#111; font-size:10px; margin:11px 0 0; }
.market-backdrop { position:fixed; z-index:0; inset:0; overflow:hidden; overflow:clip; pointer-events:none; perspective:1200px; contain:layout paint; background:linear-gradient(135deg,#f7f7f7cc,#f3f3f366 55%,#f1f1f166); }
.market-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f5f5f5ab 0%,#f5f5f599 32%,transparent 66%); }
.backdrop-aura { position:absolute; width:58vw; height:65vh; border-radius:50%; filter:blur(65px); opacity:.45; }
.aura-blue { top:-24%; right:-12%; background:radial-gradient(ellipse,#c6c6c6,transparent 70%); }
.aura-violet { bottom:-24%; left:15%; background:radial-gradient(ellipse,#c8c8c8,transparent 70%); }
.backdrop-grid { position:absolute; width:150%; height:140%; top:0; left:-20%; background-image:linear-gradient(#92929217 1px,transparent 1px),linear-gradient(90deg,#92929217 1px,transparent 1px); background-size:64px 64px; transform:rotateX(64deg) rotateZ(-28deg); mask-image:radial-gradient(ellipse,#000000,transparent 66%); }
svg.backdrop-mesh { position:absolute; inset:0; width:100%; height:100%; stroke-width:.6; stroke-linecap:round; }
.backdrop-orbit { position:absolute; width:560px; height:560px; left:76%; top:19%; border:1px solid #99999938; border-radius:50%; transform:translate(-50%,-50%) rotateX(64deg) rotateZ(-24deg); box-shadow:0 0 0 28px #a8a8a807,0 0 0 66px #a8a8a805; }
.orbit-inner { width:390px; height:390px; border-style:dashed; border-color:#9b9b9b50; transform:translate(-50%,-50%) rotateX(62deg) rotateZ(35deg); }
.market-nodes { position:absolute; inset:0; transform-style:preserve-3d; }
.market-node { --market-scale:1; --market-lift:0px; --hue:222; position:absolute; top:var(--y); left:var(--x); width:var(--size); height:var(--size); margin:calc(var(--size) / -2); perspective:650px; }
.market-body { position:relative; width:100%; height:100%; transform-style:preserve-3d; transform:translateY(var(--market-lift)) scale3d(var(--market-scale),var(--market-scale),var(--market-scale)); transition:transform 1.5s cubic-bezier(.2,.65,.3,1); }
.market-crystal { width:100%; height:100%; position:relative; transform-style:preserve-3d; transform:rotateX(-23deg) rotateY(-34deg) rotateZ(6deg); animation:crystal-drift var(--duration) ease-in-out var(--delay) infinite; }
.crystal-face { position:absolute; inset:0; border:1px solid hsl(var(--hue) 0% 67% / .52); background:linear-gradient(135deg,hsl(var(--hue) 0% 86% / .58),hsl(var(--hue) 0% 68% / .26)); box-shadow:inset 0 0 24px #ffffff60; backface-visibility:hidden; transition:background 1.5s,border-color 1.5s; }
.crystal-face::after { content:""; position:absolute; inset:12%; border:1px solid #ffffff75; background:linear-gradient(135deg,#ffffff38,transparent 65%); }
.crystal-front { transform:translateZ(calc(var(--size) / 2)); }
.crystal-back { transform:rotateY(180deg) translateZ(calc(var(--size) / 2)); }
.crystal-left { transform:rotateY(-90deg) translateZ(calc(var(--size) / 2)); }
.crystal-right { transform:rotateY(90deg) translateZ(calc(var(--size) / 2)); background:linear-gradient(135deg,hsl(var(--hue) 0% 69% / .48),hsl(var(--hue) 0% 62% / .30)); }
.crystal-top { transform:rotateX(90deg) translateZ(calc(var(--size) / 2)); background:linear-gradient(135deg,#f9f9f9be,hsl(var(--hue) 0% 86% / .75)); }
.crystal-bottom { transform:rotateX(-90deg) translateZ(calc(var(--size) / 2)); }
.crystal-core { position:absolute; inset:28%; border:1px solid hsl(var(--hue) 0% 66% / .75); background:linear-gradient(135deg,#ffffff88,hsl(var(--hue) 0% 76% / .75)); transform:rotateZ(45deg); box-shadow:0 0 25px hsl(var(--hue) 0% 78% / .3); }
.crystal-wire { position:absolute; inset:-14%; border:1px solid hsl(var(--hue) 0% 72% / .32); transform:rotateY(90deg); }
.wire-two { transform:rotateX(90deg); }
.market-node[data-tone="up"] { --hue:176; }.market-node[data-tone="down"] { --hue:264; }
.market-node:nth-child(3n) .market-crystal { animation-direction:reverse; }
.market-backdrop.is-sleeping * { animation-play-state:paused!important; }
@keyframes crystal-drift { 0%,100% { transform:translate3d(0,4px,0) rotateX(-23deg) rotateY(-34deg) rotateZ(6deg); } 50% { transform:translate3d(0,-10px,20px) rotateX(-13deg) rotateY(-13deg) rotateZ(-3deg); } }

.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.stats article { position:relative; padding:18px 20px; background:white; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); }
.stats article>span { display:flex; gap:8px; align-items:center; font-size:11px; font-weight:600; color:var(--muted); margin-bottom:10px; }
.stats strong { display:block; font-size:27px; font-weight:600; line-height:1.35; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
#timeStat { font-size:clamp(17px,1.7vw,25px); letter-spacing:-.5px; }
.stats small { display:block; font-size:10px; color:#111; margin-top:6px; }
.stat-dot { width:6px; height:6px; border-radius:2px; display:inline-block; flex-shrink:0; }
.mint { background:#717171; }.blue { background:#6d6d6d; }.violet { background:#7c7c7c; }.amber { background:#8e8e8e; }

/* The screener uses firm alignment and contrast, not blur behind numbers. */
.workspace { padding:24px; border:1px solid var(--line); background:white; border-radius:14px; box-shadow:var(--shadow); }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.section-heading .eyebrow { font-size:9px; margin-bottom:5px; }
.section-heading h2 { margin:0; font-size:21px; }
.heading-slash { color:#111; font-weight:400; margin:0 7px; }
.heading-secondary { font-size:13px; font-weight:400; color:var(--muted); letter-spacing:0; }
.subtle-label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; white-space:nowrap; }
.subtle-label .tiny-dot { background:#9b9b9b; width:5px; height:5px; }
.toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:16px; }
.tabs { display:flex; gap:4px; flex-wrap:wrap; width:100%; border-bottom:1px solid var(--line); padding:0 0 10px; }
.tab { padding:10px 12px; border:1px solid transparent; border-radius:7px; background:transparent; color:#111; font-size:12px; font-weight:600; white-space:nowrap; transition:background .15s,color .15s; }
.tab:hover { background:#f6f6f6; color:var(--accent); }
.tab.active { color:var(--accent); background:var(--accent-soft); border-color:#e3e3e3; }
.filter-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
.search-field { display:flex; align-items:center; gap:10px; width:100%; max-width:330px; color:#111; background:var(--panel-2); border:1px solid var(--line); border-radius:7px; padding:0 12px; }
.search-field svg { width:17px; height:17px; }
.search-field:focus-within { border-color:#989898; box-shadow:0 0 0 3px #5b5b5b12; }
#searchInput { width:100%; min-width:0; padding:10px 0; border:0; outline:none; background:transparent; color:var(--text); font-size:12px; }
#searchInput::placeholder { color:#111; }
#sortInput { max-width:100%; padding:10px 32px 10px 12px; border:1px solid var(--line); border-radius:7px; background:white; color:#111; font-size:12px; }
.notice { padding:15px 17px; margin:12px 0 18px; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); color:#111; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.notice>strong { display:block; font-weight:600; color:#111; }
.notice details { margin-top:8px; }
summary { cursor:pointer; color:#111; font-size:12px; font-weight:600; line-height:1.8; }
summary:hover { color:var(--accent); }
details[open]>summary { margin-bottom:12px; }
#standardCriteria { background:#f8f8f8; border-color:#ececec; border-left:3px solid #a9a9a9; padding:12px 15px; }
#criteriaSummary { margin:8px 0; color:#111; }
#blockerSummary { color:#111; }
#radarInfo { background:linear-gradient(110deg,#f5f5f5,#f7f7f7); }
#radarInfo h2 { font-size:18px; margin-bottom:6px; }
#radarInfo p { font-size:12px; line-height:1.8; margin-bottom:8px; }
#radarInfo>p:nth-of-type(2) { color:#111; }
#readyHeading { font-size:13px; font-weight:600; color:#111; margin:20px 0 14px; }

.signal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.card { position:relative; min-width:0; padding:20px; overflow:hidden; background:white; border:1px solid #e2e2e2; border-radius:12px; box-shadow:0 2px 5px #23232304; transition:transform .2s,box-shadow .2s,border-color .2s; }
.card:hover { transform:translateY(-2px); border-color:#b8b8b8; box-shadow:0 10px 24px -14px #48484833; }
.card::before { content:""; position:absolute; left:0; top:22px; width:3px; height:25px; background:#979797; border-radius:0 3px 3px 0; }
.card.long::before { background:var(--long); }.card.short::before { background:var(--short); }
.card.radar-alert { border-color:#c4c4c4; background:linear-gradient(145deg,#f7f7f7,white 45%); }
.card.radar-alert::before { background:var(--accent); }
.card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.asset { font-size:24px; line-height:1.4; font-weight:700; letter-spacing:-.7px; }
.exchanges { color:#111; font-size:10px; margin-top:5px; line-height:1.75; overflow-wrap:anywhere; }
.badge { flex-shrink:0; max-width:47%; border-radius:5px; padding:5px 7px; font-size:10px; font-weight:600; text-align:center; line-height:1.5; }
.badge.long { color:var(--long); background:#f2f2f2; }.badge.short { color:var(--short); background:#f0f0f0; }.badge.watch { color:#111; background:#f4f4f4; }.radar-alert .badge { background:#eeeeee; color:var(--accent); }
.score-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin:20px 0; }
.score-row span { color:var(--muted); font-size:10px; }
.score-row strong { font:600 15px var(--mono); color:#111; }
.bar { height:4px; border-radius:99px; background:#f0f0f0; overflow:hidden; }
.bar i { display:block; height:100%; border-radius:inherit; background:#9b9b9b; }
.long .bar i { background:#888888; }.short .bar i { background:#818181; }.radar-alert .bar i { background:#8b8b8b; }
.price { display:flex; justify-content:space-between; align-items:baseline; gap:10px; border-block:1px solid #efefef; padding:12px 0; }
.load-more-signals { display:block; width:min(420px,100%); margin:18px auto 4px; padding:13px 18px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:600 12px/1.4 var(--mono); cursor:pointer; }
.load-more-signals:hover,.load-more-signals:focus-visible { background:var(--ink); color:var(--surface); }
.price span { color:var(--muted); font-size:10px; }.price strong { font:600 14px/1.6 var(--mono); text-align:right; }
.levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:16px 0; }
.levels div { padding:10px 9px; background:#f7f7f7; border:1px solid #f0f0f0; border-radius:6px; overflow-wrap:anywhere; }
.levels span { display:block; font-size:9px; font-weight:600; color:#111; margin-bottom:6px; letter-spacing:.4px; }
.levels strong { display:block; font:600 12px/1.75 var(--mono); color:#111; }
.reasons { color:#111; font-size:12px; line-height:1.8; padding-left:17px; }
.meta { display:flex; flex-wrap:wrap; gap:5px; margin-top:13px; }
.meta span { background:#f7f7f7; border:1px solid #f0f0f0; border-radius:4px; padding:4px 6px; color:#111; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.warning { font-size:11px; color:#111; background:#f8f8f8; border:1px solid #e9e9e9; border-radius:6px; padding:9px 10px; line-height:1.8; margin-top:12px; overflow-wrap:anywhere; }
.paper-tracking { display:grid; gap:4px; margin-top:12px; padding:10px 11px; border:1px solid #d8d8d8; border-left-width:4px; border-radius:6px; background:#fff; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.paper-tracking strong { font-size:13px; }.paper-tracking span { color:#444; }.paper-tracking.exact { border-left-color:#111; }.paper-tracking.other,.paper-tracking.error { border-style:dashed; }.paper-tracking.error { border-left-color:#111; }
.intelligence-details { border-top:1px solid #ededed; padding-top:12px; margin-top:16px; }
.intelligence-details summary { font-size:11px; }.intelligence-details .meta { flex-direction:column; }
.candidate-status { display:grid; gap:6px; font-size:12px; padding:12px; margin-top:14px; border:1px solid #e1e1e1; border-radius:7px; background:#fbfbfb; color:#111; }
.candidate-status span { font-size:11px; color:var(--muted); }
#candidateSection { border-top:1px solid var(--line); margin-top:24px; padding-top:10px; }
#candidateCount { font-size:17px; margin:14px 0 8px; }
.candidate-explanation { font-size:12px; line-height:1.85; color:var(--muted); max-width:1000px; }
.radar-checks { display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; list-style:none; padding:0; margin:16px 0; font-size:11px; line-height:1.7; }
.radar-checks .pass { color:#111; }.radar-checks .pending { color:#111; }
.empty { display:flex; flex-direction:column; align-items:center; padding:35px 20px; margin:16px 0; text-align:center; border:1px dashed #dedede; border-radius:10px; background:radial-gradient(ellipse at 50% 0,#f4f4f480,transparent 80%); }
.empty strong { font-size:16px; font-weight:600; }
.empty>span { font-size:12px; line-height:1.9; max-width:560px; margin:8px auto 0; color:var(--muted); }
.empty-orbit { position:relative; width:51px; height:51px; display:grid; place-items:center; margin-bottom:18px; border:1px solid #cecece; border-radius:14px; background:linear-gradient(135deg,#f6f6f6,#ebebeb); transform:rotate(-8deg); box-shadow:3px 4px 0 #dfdfdf; }
.empty-orbit span { width:27px; height:27px; border:1px solid #a4a4a4; border-radius:50%; }
.empty-orbit::after { content:""; position:absolute; width:7px; height:7px; background:#949494; border-radius:50%; }
.empty-orbit i { position:absolute; right:11px; top:11px; width:6px; height:6px; border:1px solid white; border-radius:50%; background:#5b5b5b; }

.research-hub { background:#ffffffb8; border:1px solid var(--line); border-radius:12px; margin-top:22px; box-shadow:var(--shadow); }
.hub-heading { display:flex; align-items:center; justify-content:space-between; list-style:none; gap:16px; padding:22px 24px; }
.hub-heading::-webkit-details-marker { display:none; }.hub-heading .eyebrow { font-size:9px; margin-bottom:4px; }
.hub-heading strong { display:block; color:var(--text); font-size:19px; font-weight:600; letter-spacing:-.4px; }
.hub-description { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:5px; }
.hub-arrow { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border:1px solid #dedede; border-radius:8px; background:#f5f5f5; color:var(--accent); font-size:21px; transition:transform .2s; }
.research-hub[open]>.hub-heading .hub-arrow { transform:rotate(90deg); }.research-hub[open]>.hub-heading { margin:0; border-bottom:1px solid var(--line); }
.hub-content { padding:8px 24px 18px; }.research-overview { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.research-overview .notice { margin-bottom:0; }
.research-table-wrap { overflow-x:auto; max-width:100%; margin:16px 0; border:1px solid var(--line); border-radius:7px; }
.research-table { width:100%; border-collapse:collapse; font-size:12px; background:white; }
.research-table th { background:#f2f2f2; color:#111; font-weight:600; }
.research-table th,.research-table td { min-width:100px; padding:12px 10px; border-bottom:1px solid var(--line); text-align:left; }
.research-table tr:last-child td { border:0; }
footer { display:flex; justify-content:space-between; gap:16px; align-items:center; color:#111; font-size:10px; margin-top:24px; padding:0 2px; }
.footer-brand { color:#111; font-size:11px; font-weight:600; white-space:nowrap; }.footer-brand span { color:#111; padding:0 7px; }
.hidden { display:none!important; }

/* Translucency belongs on the overlay, away from the primary financial data. */
.notification-dialog { position:fixed; inset:0 0 0 auto; margin:14px; width:min(470px,calc(100vw - 28px)); height:calc(100dvh - 28px); max-height:none; max-width:none; padding:26px; border:1px solid #ffffffd9; border-radius:16px; background:#f9f9f9f5; color:var(--text); box-shadow:-15px 10px 80px #1b1b1b38; backdrop-filter:blur(24px); overflow-y:auto; overscroll-behavior:contain; }
.notification-dialog[open] { animation:drawer-in .2s ease-out; }.notification-dialog::backdrop { background:#20202040; backdrop-filter:blur(5px); }body:has(.notification-dialog[open]) { overflow:hidden; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }.dialog-heading h2 { font-size:25px; margin:0; }.dialog-heading .eyebrow { font-size:9px; margin-bottom:7px; }
.dialog-description { font-size:12px; color:var(--muted); line-height:1.9; margin:18px 0 22px; }
.notification-item { padding:17px; margin-bottom:14px; border:1px solid var(--line); border-radius:10px; background:white; font-size:12px; color:#111; line-height:1.9; overflow-wrap:anywhere; }
.notification-label { display:flex; align-items:center; gap:8px; margin-bottom:10px; }.notification-label h3 { color:#111; font-size:13px; font-weight:600; margin:0; }
.small-chip { margin-left:auto; padding:3px 6px; background:#f3f3f3; color:#111; border:1px solid #ededed; border-radius:4px; font:10px/1.7 var(--mono); white-space:nowrap; }
.notification-item .notice { border:1px solid #e8e8e8; border-radius:6px; background:#fafafa; color:#111; margin:10px 0; padding:10px 12px; font-size:12px; }.notification-item p { margin-bottom:0; }.notification-item summary { font-size:11px; }.notification-item details { margin-top:12px; }
.connection-notice { border-color:#d5d5d5; background:#f2f2f2; color:#111; font-weight:600; }.connection-notice.is-error { background:#f3f3f3; border-color:#d3d3d3; color:#111; }
.source-errors { list-style:none; margin:0; padding:0; max-height:280px; overflow:auto; }.source-errors li { border-bottom:1px solid var(--line); padding:12px 0; font-size:11px; }.source-errors strong { display:block; color:#111; font-size:11px; margin-bottom:4px; }
.trading-account-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.trading-account-metrics>div { min-width:0; padding:11px; border:1px solid var(--line); border-radius:8px; background:#fafafa; }
.trading-account-metrics span { display:block; color:var(--muted); font-size:11px; margin-bottom:4px; }
.trading-account-metrics strong { display:block; font-size:14px; overflow-wrap:anywhere; }
.trading-notification-list { display:grid; gap:8px; margin-top:10px; }
.trading-notification-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; padding:12px 0; border-top:1px solid var(--line); }
.trading-notification-row:first-child { border-top:0; padding-top:2px; }
.trading-notification-row div { min-width:0; }.trading-notification-row strong,.trading-notification-row span { display:block; }
.trading-notification-row span,.trading-notification-row small { color:var(--muted); font-size:11px; }
.trading-notification-row>b { align-self:start; font-size:12px; white-space:nowrap; }
.trading-notification-row small { grid-column:1/-1; }
.pnl-positive,.pnl-negative { color:#111!important; font-weight:800; }
.notification-warning { margin-top:12px; padding:9px 11px; border:1px solid #d7d7d7; border-radius:7px; font-weight:700; }
.dialog-footnote { font-size:11px; color:#111; line-height:1.9; padding:0 3px; }
@keyframes drawer-in { from { opacity:0; transform:translateX(16px); } to { opacity:1; transform:translateX(0); } }

@media(min-width:1750px) { .shell { margin-inline:auto; padding-left:80px; width:calc(100% - 100px); } }
@media(max-width:1280px) { .shell { width:calc(100% - 128px); margin-left:104px; }.hero { gap:24px; }h1 { font-size:44px; }.signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.tab { padding:9px 10px; font-size:11px; }.heading-secondary,.heading-slash { display:none; }.stats article { padding:16px; }.stats article>span { font-size:10px; }.stats strong { font-size:24px; } }
@media(max-width:960px) { .nav-rail { width:64px; }.rail-logo { width:38px; height:38px; }.nav-rail nav a { width:58px; font-size:8px; }.shell { width:calc(100% - 104px); margin-left:84px; }.hero { min-height:245px; }.hero h1 { font-size:38px; }.hero .eyebrow { font-size:8px; letter-spacing:1px; }.stats { gap:10px; }.stats article { padding:14px; }.stats strong { font-size:22px; }.stats small { font-size:9px; }.workspace { padding:20px; }.tabs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }.card { padding:16px; }.score-row { gap:7px; }.score-row span { font-size:9px; }footer { flex-direction:column; align-items:flex-start; gap:6px; } }
@media(max-width:720px) {
  .nav-rail { display:none; }.shell { width:calc(100% - 32px); margin:0 auto; }.skip-link { left:16px; }.topbar { height:auto; min-height:82px; padding:16px 0; gap:12px; }.brand { font-size:21px; }.brand small { font-size:8px; letter-spacing:1.2px; }.actions { gap:10px; flex-wrap:wrap; justify-content:flex-end; }.pill { display:none; }.actions:has(.pill.error) .pill { display:flex; order:3; font-size:9px; padding:3px 7px; }.icon-button { width:38px; height:38px; }#scanButton { min-height:38px; padding:8px 12px; font-size:11px; gap:10px; }
  .hero { min-height:240px; padding:24px 0; }.hero h1 { font-size:32px; }.hero .eyebrow { font-size:9px; letter-spacing:1.2px; }.hero .subtitle { font-size:13px; }.hero-disclaimer { font-size:10px; }.network-tag { display:block; }
  .stats { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:18px; }.stats article { padding:16px; }.stats article>span { font-size:10px; }.stats strong { font-size:25px; }.stats small { font-size:10px; }.workspace { padding:16px; border-radius:12px; }.section-heading { margin-bottom:16px; }.section-heading h2 { font-size:20px; }.subtle-label { font-size:9px; }.section-heading .eyebrow { font-size:9px; }.tab { font-size:11px; padding:9px 11px; }.filter-tools { gap:8px; align-items:stretch; }.search-field { min-width:0; padding:0 9px; }#sortInput { flex-shrink:0; width:135px; font-size:10px; padding:10px 6px; }#searchInput { font-size:11px; }.signal-grid { grid-template-columns:1fr; }.card { padding:18px; content-visibility:auto; contain-intrinsic-size:auto 430px; }.score-row span { font-size:10px; }.notice { padding:13px; font-size:11px; }.empty { padding:30px 14px; }.empty strong { font-size:15px; }.empty>span { font-size:11px; }.research-overview { grid-template-columns:1fr; gap:0; }.hub-heading { padding:19px; }.hub-content { padding:5px 15px 12px; }.hub-heading strong { font-size:17px; }.hub-description { font-size:11px; }#candidateCount { font-size:15px; }.notification-dialog { margin:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); padding:20px; border-radius:14px; }
}
@media(max-width:720px) { .hero h1 { font-size:34px; }.hero { gap:18px; padding:22px 0; }.hero-disclaimer { margin-top:8px; } }
@media(max-width:380px) { .shell { width:calc(100% - 24px); }.brand { font-size:19px; }.brand small { font-size:7px; }.actions { gap:8px; }#scanButton { padding:8px 10px; }#scanButton span { display:none; }.hero h1 { font-size:32px; }.workspace { padding:12px; }.subtle-label { display:none; }.stats article { padding:12px; }.stats article>span { font-size:9px; }.stats small { font-size:9px; }.filter-tools { flex-wrap:wrap; }.search-field { max-width:none; }#sortInput { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; }.card:hover { transform:none; }.market-body { transform:none!important; }.market-crystal { transform:rotateX(-23deg) rotateY(-34deg) rotateZ(6deg); } }
@supports not (backdrop-filter:blur(1px)) { .notification-dialog { background:#f9f9f9; }.notification-dialog::backdrop { background:#20202080; } }
@media(max-width:720px) { .market-node { transform:scale(.6); opacity:.7; }.market-node:nth-child(n+4) { display:none; }.backdrop-orbit { width:330px; height:330px; }.orbit-inner { width:230px; height:230px; }.backdrop-grid { background-size:48px 48px; }.market-backdrop::after { background:linear-gradient(90deg,#f5f5f5c9,#f5f5f580 55%,#f5f5f522); } }

[data-live-market-price] { font-variant-numeric:tabular-nums; }
[data-live-market-price].price-rising,[data-live-market-price].price-falling { font-weight:800; }

/* v5.2: white paper / black ink. State is communicated by text and outline. */
:root { --bg:#fff; --panel:#fff; --panel-2:#fff; --line:#dedede; --text:#111; --muted:#111; --accent:#111; --accent-soft:#fff; --long:#111; --short:#111; --watch:#111; --cyan:#111; }
body { background:#fff; font-family:"JetBrains Mono",monospace; }
.nav-rail,.rail-logo,.icon-button,.pill,.pill.error,#scanButton,#scanButton:hover:not(:disabled),.tab.active,.tab:hover,.nav-rail nav a:hover { color:#111; background:#fff; border-color:#d7d7d7; box-shadow:none; }
.nav-rail nav a,.rail-bottom,.brand,.brand-light,.brand small,.hero .eyebrow,.research-shortcut,.empty strong { color:#111; }
.rail-logo { border-color:#111; box-shadow:2px 3px 0 #dedede; }
.nav-rail nav a:hover { outline:1px solid #111; outline-offset:-5px; }
.tab.active { border-color:#111; box-shadow:inset 0 -2px 0 #111; }
#scanButton { border-color:#111; }
.notification-badge { background:#fff; color:#111; border:1px solid #111; }
.pill.error { border-color:#111; border-style:dashed; }
.pill span,.pill.online span,.pill.error span,.tiny-dot,.stat-dot { background:#111; box-shadow:none; }
.stats article,.workspace,.card,.card.radar-alert,.research-hub,.notification-item,.notification-dialog,.search-field,#sortInput,.levels div,.meta span,.small-chip,.hub-arrow { color:#111; background:#fff; }
.notice,#standardCriteria,#radarInfo,.candidate-status,.warning,.notification-item .notice,.connection-notice,.connection-notice.is-error,.badge.long,.badge.short,.badge.watch,.radar-alert .badge { background:#fff; color:#111; border-color:#d7d7d7; }
.badge { border:1px solid #bbb; }
.badge.short { border-style:dashed; }
.badge.watch { border-style:dotted; }
.card::before,.card.long::before,.card.short::before,.card.radar-alert::before,.bar i,.long .bar i,.short .bar i,.radar-alert .bar i { background:#111; }
.bar { background:#e8e8e8; }
.empty { background:#fff; }
.research-table th { background:#f7f7f7; color:#111; }
.market-backdrop { background:#fff; }
.market-backdrop::after { background:linear-gradient(90deg,#ffffffcc,#ffffffaa 32%,transparent 72%); }
.backdrop-aura { opacity:.18; }
.crystal-face { opacity:.72; }
.stats article>span { min-height:28px; }
.hero h1 { letter-spacing:-2px; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline-color:#111; }
word-run { display:inline; min-width:0; }
word-hit { position:relative; display:inline-block; white-space:pre; vertical-align:baseline; }
word-ink { display:inline-block; pointer-events:none; font-variant-ligatures:none; }
word-char { display:inline-block; pointer-events:none; transform:perspective(300px) rotateY(0deg); transform-origin:center; backface-visibility:visible; transition:transform 320ms cubic-bezier(.22,.7,.3,1); }
word-hit[data-mirrored="true"] word-char { transform:perspective(300px) rotateY(180deg); transition-delay:var(--flip-delay,0ms); }
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { word-char { transform:none!important; transition:none!important; } }
@media(max-width:720px) { .hero h1 { letter-spacing:-1.5px; }.brand { font-size:20px; }.stats article>span { font-size:10px; }.notification-dialog { background:#fff; } }
@media(max-width:380px) { .brand { font-size:17px; }.hero h1 { font-size:30px; } }

/* v5.3: readable type scale and content-driven reflow, not a scaled desktop page. */
body { font-size:16px; line-height:1.7; }
.shell { width:calc(100% - 152px); max-width:1680px; margin-left:120px; padding:0 0 32px; }
.nav-rail { width:88px; }.nav-rail nav a { width:82px; font-size:11px; }.rail-bottom { font-size:11px; }
.topbar { min-height:96px; height:auto; padding:18px 0; flex-wrap:wrap; }
.brand { font-size:27px; }.brand small { font-size:11px; letter-spacing:1px; }
.pill { font-size:13px; }#scanButton { font-size:15px; min-height:46px; }.icon-button { width:46px; height:46px; }
.notification-badge { font-size:12px; min-width:23px; height:23px; }
.hero { padding:34px 0; min-height:270px; }.hero-copy { max-width:760px; }.hero h1 { font-size:clamp(36px,4vw,64px); letter-spacing:-1.8px; }
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.hub-heading .eyebrow,.dialog-heading .eyebrow { font-size:12px; letter-spacing:1px; }
.subtitle,.hero .subtitle { font-size:17px; }.research-shortcut { font-size:15px; }.hero-disclaimer { font-size:14px; }
.stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.stats article { padding:20px; }.stats article>span { font-size:14px; min-height:48px; align-items:flex-start; }.stats .stat-dot { margin-top:8px; }.stats strong { font-size:34px; }#timeStat { font-size:clamp(23px,2vw,32px); }.stats small { font-size:13px; line-height:1.7; }
.section-heading h2 { font-size:27px; }.heading-secondary { font-size:15px; }.subtle-label { font-size:13px; }
.tabs { flex-wrap:wrap; overflow:visible; gap:6px; }.tab { font-size:15px; padding:11px 14px; min-height:46px; }
.search-field { max-width:430px; }#searchInput,#sortInput { font-size:16px; min-height:46px; }#sortInput { width:auto; max-width:100%; }
.notice,#radarInfo p,.notification-item,.notification-item .notice,.dialog-description { font-size:15px; }
summary,.notification-item summary,.intelligence-details summary { font-size:14px; }
#radarInfo>p:nth-of-type(2),.candidate-explanation,.hub-description,.empty>span { font-size:14px; }
#readyHeading { font-size:16px; }#candidateCount { font-size:21px; }
.signal-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)); gap:20px; }
.card { padding:22px; }.card-head>div { min-width:0; }.asset { font-size:29px; overflow-wrap:anywhere; }.exchanges { font-size:13px; }
.badge { font-size:12px; max-width:48%; }.score-row { grid-template-columns:1fr auto; }.score-row span { font-size:13px; }.score-row .bar { grid-column:1/-1; grid-row:2; }.score-row strong { font-size:18px; }
.price { flex-wrap:wrap; }.price span { font-size:13px; }.price strong { font-size:17px; overflow-wrap:anywhere; }
.levels { grid-template-columns:repeat(3,minmax(0,1fr)); }.levels span { font-size:11px; }.levels strong { font-size:14px; }
.reasons,.radar-checks { font-size:14px; }.meta span,.warning { font-size:13px; }.candidate-status { font-size:15px; }.candidate-status span { font-size:13px; }
.empty strong { font-size:20px; }.hub-heading strong { font-size:24px; }.research-table { font-size:14px; }
footer { flex-wrap:wrap; font-size:12px; }.footer-brand { font-size:13px; white-space:normal; }
.notification-dialog { width:min(560px,calc(100vw - 28px)); }.dialog-heading h2 { font-size:30px; }.notification-label { flex-wrap:wrap; }.notification-label h3 { font-size:16px; }.small-chip { font-size:12px; }.source-errors li,.source-errors strong,.dialog-footnote { font-size:13px; }
@media(min-width:1880px) { .shell { width:calc(100% - 200px); margin-inline:auto; padding-left:88px; } }
@media(max-width:1100px) { .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.stats article>span { min-height:0; }.section-heading { flex-wrap:wrap; }.heading-secondary,.heading-slash { display:none; }.filter-tools { flex-wrap:wrap; }.search-field { flex:1 1 260px; max-width:none; }#sortInput { flex:1 1 220px; }.research-overview { grid-template-columns:1fr; } }
@media(max-width:720px) {
  .nav-rail { display:none; }.shell { width:calc(100% - 32px); margin:0 auto; padding-left:0; }.topbar { gap:16px; }.brand { font-size:24px; }.brand small { font-size:10px; }.actions { width:100%; justify-content:flex-start; flex-wrap:wrap; gap:10px; }.pill,.actions:has(.pill.error) .pill { display:flex; order:0; font-size:12px; padding:7px 9px; }.icon-button { margin-left:auto; }#scanButton { font-size:14px; padding:10px 12px; }
  .hero { min-height:0; padding:28px 0; }.hero h1 { font-size:clamp(30px,7.6vw,48px); letter-spacing:-1.5px; }.hero .eyebrow { font-size:11px; letter-spacing:.4px; }.hero .subtitle { font-size:16px; }.hero-disclaimer { font-size:13px; }
  .stats { gap:12px; }.stats article { padding:15px; }.stats article>span { font-size:13px; min-height:44px; }.stats strong { font-size:29px; }#timeStat { font-size:23px; }.stats small { font-size:12px; }.workspace { padding:16px; }.section-heading h2 { font-size:24px; }.subtle-label { font-size:12px; }
  .tabs { gap:5px; }.tab { font-size:13px; padding:10px; }.filter-tools { flex-direction:column; align-items:stretch; }.search-field,#sortInput { flex:auto; width:100%; }.signal-grid { grid-template-columns:1fr; gap:16px; }.card { padding:18px; }.asset { font-size:27px; }.levels { grid-template-columns:1fr; }.levels div { display:flex; justify-content:space-between; gap:12px; }.levels span { font-size:12px; margin:0; align-self:center; }.levels strong { font-size:15px; text-align:right; }.radar-checks { grid-template-columns:1fr; }.notice { padding:13px; font-size:14px; }.candidate-explanation { font-size:14px; }.hub-heading { padding:18px; }.hub-heading strong { font-size:22px; }.hub-description { font-size:14px; }.notification-dialog { width:calc(100vw - 16px); padding:18px; }.notification-label h3 { font-size:15px; }.dialog-description,.notification-item,.notification-item .notice { font-size:14px; }footer { font-size:12px; }
}
@media(max-width:380px) { .shell { width:calc(100% - 24px); }.workspace { padding:12px; }.stats article { padding:12px; }.stats article>span { font-size:12px; }.stats strong { font-size:26px; }.pill,.actions:has(.pill.error) .pill { font-size:11px; }.tab { font-size:12px; }.hero h1 { font-size:30px; } }

/* v5.4: left-aligned market workstation with a dedicated, persistent chart lane. */
.nav-rail { width:144px; }.rail-logo { width:52px; height:52px; margin-bottom:34px; }
.nav-rail nav { gap:16px; }.nav-rail nav a { width:132px; padding:14px 5px; gap:10px; font-size:16px; white-space:normal; text-align:center; line-height:1.5; }
.nav-rail nav svg { width:32px; height:32px; stroke-width:1.8; }.rail-bottom { font-size:12px; }
.shell { width:calc(100% - 184px); max-width:none; margin:0 20px 0 164px; padding:0 0 28px; }
.market-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,1fr); gap:22px; align-items:start; }
.market-main { min-width:0; }.market-main .hero { min-height:0; padding:28px 0; }.market-main .hero h1 { font-size:clamp(32px,3.1vw,52px); }.market-main .hero-copy { max-width:100%; }
.market-main .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.market-main .stats article { padding:16px; }.market-main .stats article>span { min-height:42px; }
.market-main .workspace { padding:18px; }.market-main .signal-grid { grid-template-columns:1fr; }.market-main .section-heading { flex-wrap:wrap; }.market-main .heading-secondary,.market-main .heading-slash { display:none; }
.market-main .filter-tools { flex-wrap:wrap; }.market-main .search-field { max-width:none; flex:1 1 210px; }.market-main #sortInput { flex:1 1 200px; width:100%; }
.market-main .tabs { gap:5px; }.market-main .tab { font-size:14px; padding:10px; }.market-main .research-overview { grid-template-columns:1fr; }
.card[data-chart-symbol] { cursor:pointer; }.card.chart-selected { outline:2px solid #111; outline-offset:-2px; }.open-token-chart { border:1px solid #ccc; border-radius:6px; background:white; color:#111; font-size:13px; padding:8px 12px; margin-top:12px; min-height:40px; }.open-token-chart:hover,.open-token-chart[aria-pressed="true"] { border-color:#111; text-decoration:underline; text-underline-offset:4px; }
.token-chart-panel { position:sticky; top:18px; min-width:0; margin-top:24px; padding:22px; border:1px solid #d8d8d8; border-radius:14px; background:#fff; box-shadow:0 5px 25px #00000006; scroll-margin-top:18px; }
.chart-heading h2 { font-size:30px; overflow-wrap:anywhere; margin-bottom:6px; }.chart-heading .eyebrow { font-size:12px; margin-bottom:8px; }#chartContract { font-size:13px; overflow-wrap:anywhere; margin-bottom:18px; }
.chart-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }.chart-controls button,.chart-navigation button { min-height:40px; padding:8px 11px; border:1px solid #d0d0d0; border-radius:6px; background:white; color:#111; font-size:13px; }
.chart-timeframes { display:flex; gap:5px; }.chart-controls button[aria-pressed="true"] { border-color:#111; box-shadow:inset 0 -2px 0 #111; }.chart-controls label { display:flex; align-items:center; gap:7px; font-size:12px; }.chart-controls select { font-size:14px; background:white; border:1px solid #ddd; border-radius:5px; padding:7px; }.chart-controls button:disabled,.chart-navigation button:disabled { cursor:default; opacity:.4; }
.chart-status { font-size:12px; line-height:1.8; min-height:44px; margin:16px 0 8px; overflow-wrap:anywhere; }.chart-canvas { width:100%; min-width:0; position:relative; min-height:280px; border-block:1px solid #ededed; user-select:none; }
.chart-canvas svg { display:block; width:100%; height:auto; fill:none; stroke:none; stroke-width:1; overflow:hidden; }.chart-canvas .chart-axis { font:11px "JetBrains Mono",monospace; fill:#333; stroke:none; }.chart-grid-line { stroke:#e8e8e8; stroke-width:1; }.chart-wick { stroke:#111; stroke-width:1; }.chart-candle { stroke:#111; stroke-width:1; }.candle-up { fill:white; }.candle-down { fill:#111; }.chart-volume { fill:#bcbcbc; stroke:none; }.chart-crosshair { stroke:#555; stroke-width:1; stroke-dasharray:3 3; pointer-events:none; }.chart-hit { cursor:crosshair; touch-action:pan-y; }
.chart-placeholder { min-height:280px; display:grid; place-items:center; text-align:center; font-size:14px; color:#555; padding:25px; }.chart-placeholder span { font-size:34px; color:#ddd; letter-spacing:8px; }.chart-readout { font-size:12px; line-height:1.9; min-height:65px; padding:12px 0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }.chart-navigation { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }.chart-footnote { margin:15px 0 0; font-size:12px; line-height:1.8; }
@media(min-width:1200px) { .token-chart-panel { max-height:calc(100dvh - 36px); overflow-y:auto; scrollbar-width:thin; } }
.chart-back-link { display:inline-block; margin-top:14px; font-size:13px; }
@media(min-width:1800px) { .market-layout { grid-template-columns:minmax(0,1.15fr) minmax(480px,1fr); }.market-main .signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.market-main .stats { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1199px) { .market-layout { grid-template-columns:minmax(0,1fr); gap:0; }.token-chart-panel { position:static; margin-top:22px; }.market-main .hero h1 { font-size:clamp(32px,4vw,48px); }.market-main .signal-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)); } }
@media(max-width:720px) { .nav-rail { display:flex; position:static; width:auto; border:0; background:white; padding:12px; }.rail-logo,.rail-bottom { display:none; }.nav-rail nav { flex-direction:row; gap:6px; }.nav-rail nav a { flex:1; width:auto; min-width:0; font-size:13px; padding:9px 4px; gap:6px; }.nav-rail nav svg { width:27px; height:27px; }.shell { width:calc(100% - 24px); margin:0 12px; padding-left:0; }.market-main .hero h1 { font-size:clamp(30px,7.6vw,48px); }.market-main .workspace { padding:14px; }.market-main .stats article { padding:13px; }.market-main .signal-grid { grid-template-columns:1fr; }.market-main .search-field,.market-main #sortInput { flex:auto; }.token-chart-panel { padding:14px; }.chart-heading h2 { font-size:26px; }.chart-controls select { font-size:16px; }.chart-placeholder { min-height:260px; }.chart-canvas svg { min-height:0; }.chart-canvas { min-height:250px; }.chart-controls button,.chart-navigation button { min-height:44px; }.chart-footnote { font-size:12px; } }
/* v5.5: uppercase heading hierarchy; keep descriptions and market data in sentence case. */
h1,h2,h3,h4,.hub-heading strong,.nav-rail nav a,.market-main .tab,.stats article>span { text-transform:uppercase; }
.market-main .hero h1 { font-size:clamp(40px,3.6vw,60px); line-height:1.15; font-weight:700; letter-spacing:-1.5px; margin-bottom:24px; }
.section-heading h2,.hub-heading strong { font-size:clamp(28px,2.4vw,36px); line-height:1.3; font-weight:700; letter-spacing:-.7px; }
#readyHeading,#candidateCount,#radarTitle { font-size:clamp(21px,1.8vw,26px); line-height:1.45; font-weight:600; letter-spacing:-.4px; }
.chart-heading h2,.dialog-heading h2 { font-size:clamp(30px,2.6vw,40px); line-height:1.25; font-weight:700; }
h3,.notification-label h3 { font-size:18px; line-height:1.5; }
h4 { font-size:16px; line-height:1.5; }
.nav-rail nav a { font-size:17px; font-weight:600; }
.market-main .tab { font-size:16px; line-height:1.5; padding:12px; }
.stats article>span { font-size:15px; font-weight:600; line-height:1.6; }
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.hub-heading .eyebrow,.dialog-heading .eyebrow,.chart-heading .eyebrow { font-size:13px; line-height:1.6; letter-spacing:.8px; }
@media(max-width:720px) {
  .market-main .hero h1 { font-size:clamp(36px,8.8vw,48px); letter-spacing:-1px; }
  .section-heading h2,.hub-heading strong { font-size:26px; }
  #readyHeading,#candidateCount,#radarTitle { font-size:21px; }
  .nav-rail nav a { font-size:14px; }
  .market-main .tab { font-size:15px; padding:11px; }
  .stats article>span { font-size:14px; }
  .chart-heading h2,.dialog-heading h2 { font-size:30px; }
  .hero .eyebrow { font-size:12px; letter-spacing:.3px; }
}
