:root {
  --canvas: #f4f4f1;
  --ink: #132730;
  --muted: rgba(19, 39, 48, 0.54);
  --faint: rgba(19, 39, 48, 0.1);
  --blue: #1689bd;
  --green: #1bb58a;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, Arial, sans-serif; }
button, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 99; padding: 12px 18px; background: white; border-radius: 10px; }
.skip-link:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.prototype-site-header {
  position: fixed; z-index: 20; top: 18px; left: 50%; transform: translateX(-50%);
  width: min(calc(100% - 36px), 1120px); height: 58px; padding: 8px 10px 8px 18px;
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid rgba(255,255,255,.84); border-radius: 20px;
  background: rgba(247,247,244,.62); backdrop-filter: blur(26px) saturate(1.2);
  box-shadow: 0 20px 70px rgba(26,51,61,.055), inset 0 1px 0 white;
}
.brand { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 650; letter-spacing: .18em; }
.brand-mark { width: 13px; height: 13px; border: 1px solid rgba(22,137,189,.35); border-radius: 50%; position: relative; }
.brand-mark::after { content: ""; position: absolute; inset: 3px; border-radius: inherit; background: var(--blue); box-shadow: 0 0 12px rgba(22,137,189,.7); }
.prototype-site-header nav { display: flex; align-items: center; gap: 5px; }
.prototype-site-header nav a { padding: 11px 17px; border-radius: 12px; color: var(--muted); font-size: 10px; font-weight: 570; letter-spacing: .04em; }
.prototype-site-header nav a.active { color: var(--ink); background: rgba(255,255,255,.72); box-shadow: 0 4px 20px rgba(19,39,48,.045); }
.header-cta { padding: 12px 15px; border-radius: 12px; background: var(--ink); color: white; font-size: 10px; font-weight: 570; }
.header-cta span { margin-left: 7px; color: #8ed8f3; }

.hero { position: relative; min-height: 100svh; padding: 155px max(42px, calc((100vw - 1180px)/2)) 70px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 60px; overflow: hidden; transition: grid-template-columns 1.2s var(--ease); }
.hero.intro-mode { grid-template-columns: 1fr; }
.ambient { position: absolute; border-radius: 50%; filter: blur(6px); pointer-events: none; }
.ambient-one { width: 560px; height: 560px; right: -260px; top: 6%; background: radial-gradient(circle, rgba(22,137,189,.095), transparent 68%); }
.ambient-two { width: 420px; height: 420px; left: -250px; bottom: -100px; background: radial-gradient(circle, rgba(27,181,138,.05), transparent 70%); }
.hero-copy { position: relative; z-index: 3; max-width: 650px; padding-bottom: 24px; transition: opacity .85s var(--ease), transform .85s var(--ease), filter .85s var(--ease); }
.intro-mode .hero-copy { grid-area: 1 / 1; justify-self: start; }
.hero-copy.is-leaving { opacity: 0; transform: translateY(-18px) scale(.985); filter: blur(8px); pointer-events: none; }
.eyebrow { margin: 0 0 28px; color: rgba(19,39,48,.48); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; letter-spacing: .18em; }
.status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(27,181,138,.08); }
h1 { margin: 0; font-size: clamp(56px, 5.7vw, 92px); line-height: .88; letter-spacing: -.068em; font-weight: 520; }
h1 .primary { color: var(--ink); }
h1 .secondary { color: rgba(19,39,48,.22); }
.type-line { min-height: .88em; }
.type-caret { display: inline-block; width: 1px; height: 10px; margin-left: 5px; vertical-align: -2px; background: var(--blue); animation: caret-blink .75s steps(1) infinite; }
.typing-done .type-caret { opacity: 0; }
.hero-description { max-width: 480px; margin: 32px 0 36px; color: rgba(19,39,48,.62); font-size: 13px; line-height: 1.7; }
.hero-meta { display: flex; gap: 8px; flex-wrap: wrap; opacity: 0; transform: translateY(6px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.typing-done .hero-meta { opacity: 1; transform: none; }
.hero-meta span { padding: 8px 10px; border: 1px solid rgba(19,39,48,.09); border-radius: 20px; color: rgba(19,39,48,.48); font-family: ui-monospace, SFMono-Regular, monospace; font-size: 7px; letter-spacing: .12em; }
.mobile-intro-continue { display:none; }
.mobile-intro-continue[hidden] { display:none; }

.demo-wrap { position: relative; z-index: 2; width: min(100%, 600px); justify-self: end; perspective: 1200px; transform-origin: 50% 52%; transition: width 1.6s var(--ease), opacity 1s var(--ease), transform 1.2s var(--ease), filter .7s var(--ease); }
.intro-mode .demo-wrap { grid-area: 1 / 1; justify-self: center; opacity: 0; transform: translateY(42px) scale(.92); filter: blur(12px); pointer-events: none; }
.intro-mode.show-chat .demo-wrap { opacity: 1; transform: none; filter: none; pointer-events: auto; }
.intro-mode.show-chat.zoom-chat .demo-wrap { width: min(92vw, 940px); transform: none; }
.intro-mode.show-chat.zoom-chat .chat-card { min-height: 700px; box-shadow: 0 55px 150px rgba(26,51,61,.13), inset 0 1px 0 white; }
.intro-mode.show-chat.zoom-chat .demo-caption { opacity: 0; transform: translateY(8px); }
.chat-card { position: relative; min-height: 540px; display: flex; flex-direction: column; border: 1px solid rgba(19,39,48,.075); border-radius: 30px; overflow: hidden; background: #fbfcfa; box-shadow: 0 38px 100px rgba(26,51,61,.095), inset 0 1px 0 white; animation: card-in 1.1s var(--ease) both; }
.chat-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(255,255,255,.64), transparent 34%); }
.chat-header { position: relative; padding: 18px 20px; border-bottom: 1px solid rgba(19,39,48,.07); display: flex; justify-content: space-between; align-items: center; }
.chat-header > div { display: flex; align-items: center; gap: 11px; }
.chat-logo, .message-mark { position: relative; display: grid; place-items: center; border: 1px solid rgba(22,137,189,.18); border-radius: 50%; background: rgba(255,255,255,.52); }
.chat-logo { width: 34px; height: 34px; }
.chat-logo i, .message-mark i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px rgba(22,137,189,.55); }
.chat-header strong { display: block; font-size: 11px; font-weight: 620; }
.chat-header small { display: block; margin-top: 5px; color: rgba(19,39,48,.42); font-family: ui-monospace, SFMono-Regular, monospace; font-size: 7px; letter-spacing: .13em; }
.chat-header small span { display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: var(--green); }
.more-button { border: 0; background: transparent; color: rgba(19,39,48,.36); letter-spacing: 2px; cursor: pointer; }
.chat-body { position: relative; flex: 1; padding: 26px 22px 18px; overflow: auto; }
.message { display: flex; align-items: flex-start; gap: 12px; animation: message-in .7s var(--ease) both; }
.message-mark { flex: 0 0 auto; width: 28px; height: 28px; }
.message-mark i { width: 6px; height: 6px; }
.message p { margin: 4px 0 7px; font-size: 12px; line-height: 1.55; }
.message small { color: rgba(19,39,48,.42); font-size: 9px; }
.user-message { justify-content: flex-end; margin: 20px 0; }
.assistant-message, .user-message { transition: opacity .7s var(--ease), transform .8s var(--ease), max-height .8s var(--ease), margin .8s var(--ease); }
.chat-card.message-sent .user-message p { border-color: rgba(22,137,189,.18); box-shadow: 0 10px 28px rgba(22,137,189,.07); animation: sent-confirm .7s var(--ease) both; }
.chat-card.is-processing .assistant-message { opacity: .18; transform: translateY(-34px) scale(.96); max-height: 18px; overflow: hidden; }
.chat-card.is-processing .user-message { opacity: .28; transform: translateY(-28px) scale(.96); max-height: 27px; margin: 4px 0; overflow: hidden; }
.chat-card.is-processing .assistant-message, .chat-card.is-processing .user-message { max-height: 0; margin-top: 0; margin-bottom: 0; opacity: 0; transform: translateY(-70px) scale(.94); }
.user-message p { max-width: 78%; margin: 0; padding: 12px 15px; border: 1px solid rgba(19,39,48,.065); border-radius: 16px 16px 4px 16px; background: rgba(255,255,255,.72); box-shadow: 0 8px 24px rgba(19,39,48,.035); }
.suggestions { display: flex; gap: 8px; max-height: 60px; margin: 22px 0 0 40px; flex-wrap: wrap; opacity: 1; transition: opacity .45s ease, max-height .7s var(--ease), margin .7s var(--ease), transform .6s var(--ease); }
.chat-card.is-processing .suggestions { max-height: 0; margin-top: 0; margin-bottom: 0; opacity: 0; overflow: hidden; transform: translateY(-14px); pointer-events: none; }
.suggestions button { padding: 9px 12px; border: 1px solid rgba(19,39,48,.09); border-radius: 18px; background: rgba(255,255,255,.34); color: rgba(19,39,48,.55); font-size: 8px; cursor: pointer; transition: .2s ease; }
.suggestions button:hover { border-color: rgba(22,137,189,.3); color: var(--blue); transform: translateY(-1px); }
.analysis { --stage-accent: var(--blue); position: relative; isolation: isolate; max-height: 0; min-height: 0; margin: 0 0 0 40px; padding: 0 15px; border: 1px solid transparent; border-radius: 17px; overflow: hidden; opacity: 0; transform: translateY(24px) scale(.99); background: linear-gradient(145deg, rgba(250,253,252,.98), rgba(240,248,248,.94)); box-shadow: inset 0 1px 0 #fff, 0 18px 46px rgba(26,51,61,.055); transition: max-height 1s var(--ease), min-height 1s var(--ease), padding .9s var(--ease), margin .9s var(--ease), opacity .65s ease, transform 1s var(--ease), border-color .7s ease, background .7s ease; }
.analysis::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .48; pointer-events: none; background-image: linear-gradient(rgba(19,39,48,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(19,39,48,.025) 1px, transparent 1px), radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--stage-accent) 10%, transparent), transparent 34%); background-size: 24px 24px, 24px 24px, auto; transition: background .7s ease; }
.analysis::after { content: ""; position: absolute; z-index: 4; top: 0; left: -35%; width: 28%; height: 1px; background: linear-gradient(90deg, transparent, var(--stage-accent), transparent); box-shadow: 0 0 12px color-mix(in srgb, var(--stage-accent) 35%, transparent); animation: analysis-scan 3.2s ease-in-out infinite; }
.analysis[data-stage="context"], .analysis[data-stage="reasoning"] { --stage-accent: #6b8fc5; }
.analysis[data-stage="onchain"], .analysis[data-stage="monitor"] { --stage-accent: var(--green); }
.analysis[data-stage="ml"], .analysis[data-stage="neural"] { --stage-accent: #6876cb; }
.analysis[data-stage="risk"] { --stage-accent: #d99a3d; }
.analysis[data-stage="decision"], .analysis[data-stage="report"] { --stage-accent: #267f9e; }
.chat-card.is-processing .analysis.is-visible { max-height: 430px; min-height: 355px; margin: 5px 0 0; padding: 15px; border-color: color-mix(in srgb, var(--stage-accent) 30%, rgba(19,39,48,.08)); opacity: 1; transform: translateY(-8px); }
.chat-card.is-processing .chat-body { padding-top: 12px; }
.chat-card.is-processing .chat-form { max-height: 0; margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; border-color: transparent; opacity: 0; transform: translateY(25px); overflow: hidden; pointer-events: none; }
.analysis-title { position: relative; display: grid; grid-template-columns: 29px 1fr auto; gap: 10px; align-items: center; }
.loader { --progress: 0%; position: relative; width: 27px; height: 27px; border-radius: 50%; background: conic-gradient(var(--stage-accent) var(--progress), rgba(19,39,48,.07) 0); transition: background .75s var(--ease), transform .5s var(--ease); }
.loader::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #eef7f7; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); }
.loader::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--stage-accent); box-shadow: 0 0 8px color-mix(in srgb, var(--stage-accent) 55%, transparent); animation: intelligence-pulse 1.2s ease-in-out infinite alternate; }
.analysis-title strong { display: block; font-size: 11px; }
.analysis-title small { display: block; margin-top: 3px; color: rgba(19,39,48,.68); font-size: 8px; }
.analysis-title b { min-width: 31px; color: var(--stage-accent); font-family: ui-monospace, monospace; font-size: 9px; font-weight: 600; text-align: right; transition: color .6s ease; }
.progress { position: relative; height: 3px; margin: 13px 0 10px; overflow: hidden; border-radius: 3px; background: rgba(19,39,48,.065); }
.progress i { position: relative; display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, color-mix(in srgb, var(--stage-accent) 60%, white), var(--stage-accent)); box-shadow: 0 0 9px color-mix(in srgb, var(--stage-accent) 35%, transparent); transition: width 1.05s var(--ease), background .6s ease; }
.progress i::after { content: ""; position: absolute; right: 0; top: -2px; width: 7px; height: 7px; border-radius: 50%; background: white; border: 2px solid var(--stage-accent); box-shadow: 0 0 8px var(--stage-accent); }
.process-status { display: flex; justify-content: space-between; color: rgba(19,39,48,.58); font-family: ui-monospace, monospace; font-size: 6px; letter-spacing: .1em; }
.process-status b { color: var(--stage-accent); font-weight: 500; transition: color .6s ease; }
.stage-visual { position: relative; min-height: 124px; margin-top: 13px; overflow: hidden; border-top: 1px solid rgba(19,39,48,.06); border-bottom: 1px solid rgba(19,39,48,.045); }
.stage-visual::before { content: ""; position: absolute; right: -38px; top: -58px; width: 150px; height: 150px; border: 1px solid color-mix(in srgb, var(--stage-accent) 10%, transparent); border-radius: 50%; box-shadow: inset 0 0 0 22px transparent, inset 0 0 0 23px color-mix(in srgb, var(--stage-accent) 6%, transparent), inset 0 0 0 46px transparent, inset 0 0 0 47px color-mix(in srgb, var(--stage-accent) 5%, transparent); animation: radar-turn 18s linear infinite; }
.stage-scene { position: absolute; inset: 11px 0 0; opacity: 0; transform: translateY(10px) scale(.985); clip-path: inset(0 0 100% 0); filter: blur(1.5px); transition: opacity .42s ease, transform .72s var(--ease), filter .35s ease, clip-path .72s var(--ease); }
.stage-scene.is-visible { opacity: 1; transform: none; clip-path: inset(0); filter: none; }
.stage-visual.is-switching::after { content: "PROCESSING NEXT INTELLIGENCE LAYER"; position: absolute; z-index: 5; inset: 0; display: grid; place-items: center; background: rgba(245,250,249,.96); color: var(--stage-accent); font-family: ui-monospace, monospace; font-size: 7px; letter-spacing: .13em; animation: transition-flash .45s ease both; }
.scene-label { display: flex; justify-content: space-between; margin-bottom: 8px; color: rgba(19,39,48,.68); font-family: ui-monospace, monospace; font-size: 6px; letter-spacing: .1em; }
.scene-label b { color: var(--green); font-weight: 500; }

.news-list { display: grid; gap: 5px; }
.news-item { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border: 1px solid rgba(19,39,48,.055); border-radius: 7px; background: rgba(255,255,255,.42); }
.news-item span { overflow: hidden; color: rgba(19,39,48,.62); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.news-item i { color: var(--blue); font-family: ui-monospace, monospace; font-size: 7px; font-style: normal; }
.news-scan { position: absolute; z-index: 2; top: 28px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(22,137,189,.7), transparent); box-shadow: 0 0 10px rgba(22,137,189,.3); animation: scan-news 1.5s ease-in-out infinite; }

.market-scene { display: grid; grid-template-columns: 105px 1fr; gap: 10px; }
.market-price { padding: 8px; border: 1px solid rgba(19,39,48,.1); border-radius: 8px; background: rgba(255,255,255,.82); }
.market-price small { display: block; color: rgba(19,39,48,.65); font-family: ui-monospace, monospace; font-size: 7px; }
.market-price strong { display: block; margin: 8px 0 4px; font-size: 13px; font-weight: 560; letter-spacing: -.04em; }
.market-price b { color: var(--green); font-family: ui-monospace, monospace; font-size: 6px; font-weight: 500; }
.market-price em { display: block; margin-top: 8px; color: rgba(19,39,48,.52); font-family: ui-monospace, monospace; font-size: 6px; font-style: normal; line-height: 1.45; }
.trading-chart { width: 100%; height: 92px; overflow: visible; }
.chart-grid { stroke: rgba(19,39,48,.07); stroke-width: .7; }
.chart-area { fill: url(#chartFill); }
.chart-line { fill: none; stroke: var(--blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 220; stroke-dashoffset: 220; animation: draw-chart 1.4s var(--ease) forwards; }
.chart-point { fill: var(--blue); filter: drop-shadow(0 0 4px rgba(22,137,189,.6)); }
.trade-grid { fill: none; stroke: rgba(19,39,48,.075); stroke-width: .65; }
.candle { opacity: 0; transform: translateY(5px); transform-box: fill-box; transform-origin: center; animation: candle-in .38s var(--ease) forwards; }
.candle line { stroke-width: 1; }
.candle rect { stroke: none; }
.candle.bull line { stroke: #1bb58a; }
.candle.bull rect { fill: #1bb58a; }
.candle.bear line { stroke: #e06062; }
.candle.bear rect { fill: #e06062; }
.candle.current rect { filter: drop-shadow(0 0 3px rgba(27,181,138,.5)); }
.candle:nth-child(2) { animation-delay: .08s; }.candle:nth-child(3) { animation-delay: .16s; }.candle:nth-child(4) { animation-delay: .24s; }.candle:nth-child(5) { animation-delay: .32s; }.candle:nth-child(6) { animation-delay: .4s; }.candle:nth-child(7) { animation-delay: .48s; }.candle:nth-child(8) { animation-delay: .56s; }.candle:nth-child(9) { animation-delay: .64s; }.candle:nth-child(10) { animation-delay: .72s; }.candle:nth-child(11) { animation-delay: .8s; }.candle:nth-child(12) { animation-delay: .88s; }
.volume-bars rect { fill: rgba(27,181,138,.3); transform: scaleY(0); transform-box: fill-box; transform-origin: bottom; animation: volume-in .7s var(--ease) .45s forwards; }
.volume-bars rect.down { fill: rgba(224,96,98,.25); }
.current-price-line, .live-price-level { stroke: #1bb58a; stroke-width: .8; stroke-dasharray: 3 3; }
.price-tag { fill: #1bb58a; }
.price-tag-text { fill: white; font-family: ui-monospace, monospace; font-size: 6px; text-anchor: middle; }
.axis-label { fill: rgba(19,39,48,.42); font-family: ui-monospace, monospace; font-size: 5px; }

.neural-scene { height: 88px; }
.neural-network { width: 100%; height: 82px; }
.neural-link { stroke: rgba(22,137,189,.18); stroke-width: .8; stroke-dasharray: 4 4; animation: network-flow 1.3s linear infinite; }
.neural-node { fill: rgba(255,255,255,.84); stroke: rgba(22,137,189,.4); stroke-width: 1; }
.neural-node.active { fill: var(--blue); stroke: var(--blue); filter: drop-shadow(0 0 5px rgba(22,137,189,.55)); animation: node-pulse 1.1s ease-in-out infinite alternate; }
.model-output { position: absolute; right: 4px; top: 31px; color: var(--green); font-family: ui-monospace, monospace; font-size: 6px; }

.risk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.risk-card { padding: 8px; border: 1px solid rgba(19,39,48,.1); border-radius: 8px; background: rgba(255,255,255,.82); }
.risk-card span { display: block; color: rgba(19,39,48,.65); font-family: ui-monospace, monospace; font-size: 7px; }
.risk-card strong { display: block; margin: 8px 0 6px; font-size: 9px; font-weight: 550; }
.risk-meter { height: 2px; overflow: hidden; background: rgba(19,39,48,.07); }
.risk-meter i { display: block; width: var(--risk); height: 100%; background: var(--tone, var(--green)); transform: scaleX(0); transform-origin: left; animation: fill-risk 1s var(--ease) forwards; }
.risk-verdict { margin-top: 7px; color: var(--green); font-family: ui-monospace, monospace; font-size: 7px; font-weight: 550; letter-spacing: .08em; text-align: right; }
.signal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.signal-card { min-height: 49px; padding: 7px; border: 1px solid rgba(19,39,48,.1); border-radius: 8px; background: rgba(255,255,255,.82); }
.signal-card span { display: block; color: rgba(19,39,48,.65); font-family: ui-monospace, monospace; font-size: 7px; }
.signal-card strong { display: block; margin-top: 9px; font-size: 8px; font-weight: 550; }
.signal-card em { display: block; margin-top: 4px; color: var(--green); font-family: ui-monospace, monospace; font-size: 7px; font-style: normal; }
.viz-split { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; min-height: 78px; }
.donut { --value: 68%; --color: var(--blue); position: relative; width: 72px; height: 72px; margin: auto; border-radius: 50%; background: conic-gradient(var(--color) var(--value), rgba(19,39,48,.07) 0); transform: rotate(-90deg); animation: donut-in 1.1s var(--ease) both; }
.donut::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #f4f9f9; }
.donut-label { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; color: var(--ink); font-size: 11px; font-weight: 560; transform: rotate(90deg); text-align: center; }
.donut-label small { display: block; margin-top: 2px; color: rgba(19,39,48,.65); font-family: ui-monospace, monospace; font-size: 6px; font-weight: 500; letter-spacing: .08em; }
.bar-stack { display: grid; gap: 7px; }
.bar-row { display: grid; grid-template-columns: 74px 1fr 34px; gap: 6px; align-items: center; font-family: ui-monospace, monospace; font-size: 7px; color: rgba(19,39,48,.68); }
.bar-row i { height: 3px; overflow: hidden; background: rgba(19,39,48,.07); }
.bar-row i::after { content: ""; display: block; width: var(--bar); height: 100%; background: var(--tone, var(--blue)); transform: scaleX(0); transform-origin: left; animation: fill-risk 1.2s var(--ease) forwards; }
.flow-line { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; align-items: center; min-height: 76px; }
.flow-node { position: relative; padding: 10px 4px; border: 1px solid rgba(19,39,48,.065); border-radius: 8px; background: rgba(255,255,255,.4); text-align: center; }
.flow-node:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -9px; top: 13px; color: var(--blue); font-size: 7px; }
.flow-node span { display: block; color: rgba(19,39,48,.65); font-family: ui-monospace, monospace; font-size: 6px; }
.flow-node strong { display: block; margin-top: 7px; font-size: 7px; font-weight: 560; }
.model-select { display: grid; grid-template-columns: 1fr 1.3fr; gap: 9px; min-height: 78px; }
.model-list { display: grid; gap: 4px; }
.model-choice { display: grid; grid-template-columns: 1fr auto; padding: 5px 7px; border: 1px solid rgba(19,39,48,.1); border-radius: 6px; color: rgba(19,39,48,.7); font-family: ui-monospace, monospace; font-size: 7px; }
.model-choice.selected { border-color: rgba(22,137,189,.22); background: rgba(22,137,189,.07); color: var(--blue); }
.model-choice b { font-weight: 500; }
.network-panel { position: relative; border-left: 1px solid rgba(19,39,48,.06); }
.network-panel .neural-network { height: 58px; }
.selection-note { position: absolute; right: 2px; bottom: 1px; color: var(--green); font-family: ui-monospace, monospace; font-size: 6px; font-weight: 550; letter-spacing: .05em; }
.scenario-ring { display: grid; grid-template-columns: 90px 1fr; gap: 12px; align-items: center; }
.decision-path { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.decision-node { position: relative; width: 70px; padding: 8px 4px; border: 1px solid rgba(19,39,48,.1); border-radius: 8px; color: rgba(19,39,48,.7); font-family: ui-monospace, monospace; font-size: 6px; text-align: center; }
.decision-node.active { border-color: rgba(27,181,138,.3); background: rgba(27,181,138,.07); color: var(--green); box-shadow: 0 0 18px rgba(27,181,138,.08); }
.decision-arrow { color: rgba(22,137,189,.45); font-size: 8px; }
.report-sheet { position: relative; width: 88%; min-height: 74px; margin: 0 auto; padding: 10px 12px; border: 1px solid rgba(19,39,48,.07); border-radius: 7px; background: rgba(255,255,255,.58); box-shadow: 0 8px 24px rgba(19,39,48,.04); }
.report-sheet::before, .report-sheet::after { content: ""; position: absolute; z-index: -1; inset: 4px -4px -4px 4px; border: 1px solid rgba(19,39,48,.045); border-radius: inherit; background: rgba(255,255,255,.3); }
.report-title { display: flex; justify-content: space-between; font-family: ui-monospace, monospace; font-size: 7px; }
.report-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin-top: 11px; }
.report-lines span { padding-bottom: 4px; border-bottom: 1px solid rgba(19,39,48,.1); color: rgba(19,39,48,.7); font-size: 7px; }
.pulse-monitor { position: relative; height: 86px; overflow: hidden; border: 1px solid rgba(19,39,48,.1); border-radius: 8px; background: rgba(255,255,255,.78); }
.pulse-monitor svg { width: 100%; height: 100%; }
.pulse-status { position: absolute; z-index: 2; left: 8px; top: 6px; color: rgba(19,39,48,.62); font-family: ui-monospace, monospace; font-size: 6px; font-weight: 550; }
.pulse-status b { color: var(--green); }
.live-trade-area { fill: url(#liveTradeFill); }
.live-trade-line { fill: none; stroke: var(--green); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 520; stroke-dashoffset: 520; animation: trade-line-in 2s var(--ease) forwards; }
.trade-crosshair { stroke: rgba(19,39,48,.18); stroke-width: .7; stroke-dasharray: 2 2; }
.live-price-dot { fill: var(--green); filter: drop-shadow(0 0 3px rgba(27,181,138,.7)); animation: live-dot 1s ease-in-out infinite alternate; }
.process-queue { position:relative; display:grid; grid-template-columns:repeat(11,minmax(68px,1fr)); gap:0; min-height:68px; margin-top:10px; padding-top:12px; overflow-x:auto; overflow-y:hidden; border-top:1px solid rgba(19,39,48,.1); scrollbar-width:thin; scrollbar-color:rgba(22,137,189,.22) transparent; scroll-behavior:smooth; }
.process-queue::before { content:""; position:absolute; top:23px; right:3.2%; left:3.2%; height:1px; background:rgba(19,39,48,.1); }
.process-queue::-webkit-scrollbar { height:3px; }
.process-queue::-webkit-scrollbar-thumb { border-radius:10px; background:rgba(22,137,189,.22); }
.process-item { position:relative; display:grid; grid-template-rows:22px auto; justify-items:center; min-width:0; min-height:54px; padding:0 3px 7px; border:0; opacity:.52; text-align:center; transition:opacity .45s ease,background .45s ease,transform .55s var(--ease); }
.process-item::before { content:""; position:absolute; z-index:0; top:7px; left:50%; width:9px; height:9px; border:2px solid #f2f8f7; border-radius:50%; background:#dbe3e2; box-shadow:0 0 0 1px rgba(19,39,48,.09); transform:translateX(-50%); transition:background .45s ease,box-shadow .45s ease,transform .45s var(--ease); }
.process-item::after { content:none; }
.process-item > span { position:relative; z-index:1; align-self:start; margin-top:-9px; color:rgba(19,39,48,.48); font-family:ui-monospace,monospace; font-size:6px; }
.process-item > div { min-width:0; }
.process-item strong { display:block; overflow:hidden; font-size:7px; font-weight:600; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.process-item small { display:none; }
.process-item b { display:block; margin-top:4px; color:rgba(19,39,48,.46); font-family:ui-monospace,monospace; font-size:5px; font-weight:550; }
.process-item.active { opacity:1; background:radial-gradient(circle at 50% 12px,color-mix(in srgb,var(--stage-accent) 13%,transparent),transparent 42px); transform:translateY(-2px); }
.process-item.active::before { background:var(--stage-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--stage-accent) 13%,transparent),0 0 13px color-mix(in srgb,var(--stage-accent) 48%,transparent); transform:translateX(-50%) scale(1.15); }
.process-item.active > span, .process-item.active b { color: var(--stage-accent); }
.process-item.complete { opacity: .84; }
.process-item.complete::after { background: var(--green); box-shadow: 0 0 0 2px rgba(27,181,138,.08); }
.process-item.complete > span, .process-item.complete b { color: var(--green); }
.final-answer { opacity: 0; transform: translateY(16px); }
.analysis.report-ready { --stage-accent: var(--green); }
.analysis.report-ready .analysis-title .loader { border-color: rgba(27,181,138,.2); background: var(--green); animation: none; }
.analysis.report-ready .analysis-title .loader::before { display: none; }
.analysis.report-ready .analysis-title .loader::after { content: "✓"; inset: 0; display: grid; place-items: center; height: 100%; background: transparent; box-shadow: none; color: white; font-size: 9px; animation: none; }
.analysis.report-ready .process-status, .analysis.report-ready .stage-visual, .analysis.report-ready .process-queue { display: none; }
.analysis.report-ready .final-answer { opacity: 1; transform: none; animation: report-in .9s var(--ease) both; }
.answer-heading { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding-bottom: 12px; border-bottom: 1px solid rgba(19,39,48,.07); }
.answer-heading span { display: block; color: var(--blue); font-family: ui-monospace, monospace; font-size: 7px; letter-spacing: .12em; }
.answer-heading strong { display: block; margin-top: 6px; font-size: 21px; font-weight: 570; letter-spacing: -.035em; }
.confidence-ring { width: 52px; height: 52px; display: grid; place-content: center; border-radius: 50%; background: radial-gradient(circle at center, #f4f9f9 58%, transparent 59%), conic-gradient(var(--green) 64%, rgba(19,39,48,.08) 0); text-align: center; }
.confidence-ring b { font-size: 9px; font-weight: 600; }
.confidence-ring small { margin-top: 2px; color: var(--muted); font-family: ui-monospace, monospace; font-size: 3px; }
.answer-summary { margin: 14px 0; color: rgba(19,39,48,.82); font-size: 10px; line-height: 1.55; }
.answer-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.answer-evidence > div { padding: 9px; border: 1px solid rgba(19,39,48,.055); border-radius: 8px; background: rgba(255,255,255,.38); }
.answer-evidence span, .answer-action span { color: rgba(19,39,48,.6); font-family: ui-monospace, monospace; font-size: 6px; letter-spacing: .1em; }
.answer-evidence ul { margin: 7px 0 0; padding: 0 0 0 12px; }
.answer-evidence li { margin: 5px 0; color: rgba(19,39,48,.82); font-size: 8px; line-height: 1.4; }
.answer-evidence li::marker { color: var(--green); }
.answer-evidence > div:last-child li::marker { color: #e4a74b; }
.answer-action { margin-top: 8px; padding: 9px 10px; border-left: 2px solid var(--blue); background: rgba(22,137,189,.055); }
.answer-action strong { display: block; margin-top: 6px; font-size: 9px; font-weight: 620; }
.final-answer footer { display: flex; align-items: center; gap: 10px; margin-top: 11px; padding-top: 9px; border-top: 1px solid rgba(19,39,48,.1); color: rgba(19,39,48,.62); font-family: ui-monospace, monospace; font-size: 6px; }
.final-answer footer b { margin-left: auto; color: var(--green); font-weight: 500; }
.chat-form { position: relative; margin: 0 18px 17px; padding: 8px 8px 24px 14px; max-height: 90px; border: 1px solid rgba(19,39,48,.09); border-radius: 17px; background: rgba(255,255,255,.7); box-shadow: 0 10px 34px rgba(26,51,61,.04); transition: opacity .65s var(--ease), transform .75s var(--ease), max-height .75s var(--ease), margin .75s var(--ease), padding .75s var(--ease), border-color .4s ease; }
.chat-form textarea { width: calc(100% - 48px); min-height: 38px; max-height: 80px; padding: 9px 0; resize: none; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; }
.chat-form textarea::placeholder { color: rgba(19,39,48,.34); }
.chat-form button { position: absolute; right: 8px; top: 8px; width: 36px; height: 36px; border: 0; border-radius: 11px; background: var(--ink); color: white; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.chat-form button:hover { transform: translateY(-1px); background: #1d3a46; }
.chat-form > small { position: absolute; bottom: 8px; left: 14px; color: rgba(19,39,48,.26); font-family: ui-monospace, monospace; font-size: 5px; letter-spacing: .11em; }
.orbit { position: absolute; z-index: -1; border: 1px solid rgba(22,137,189,.09); border-radius: 50%; pointer-events: none; }
.orbit-a { width: 680px; height: 680px; left: -32px; top: -70px; }
.orbit-b { width: 560px; height: 560px; left: 28px; top: -10px; border-style: dashed; animation: spin 50s linear infinite; }
.demo-caption { display: flex; align-items: center; gap: 12px; margin: 17px 0 0 20px; color: rgba(19,39,48,.35); font-family: ui-monospace, monospace; font-size: 7px; letter-spacing: .15em; transition: opacity .7s var(--ease), transform .7s var(--ease); }
.demo-caption span { color: var(--blue); }
.scroll-note { position: absolute; bottom: 26px; left: max(42px, calc((100vw - 1180px)/2)); display: flex; align-items: center; gap: 10px; color: rgba(19,39,48,.3); font-family: ui-monospace, monospace; font-size: 6px; letter-spacing: .16em; }
.scroll-note span { width: 24px; height: 1px; background: rgba(19,39,48,.24); }
.replay-intro { position: absolute; z-index: 5; right: max(42px, calc((100vw - 1180px)/2)); bottom: 25px; border: 0; background: transparent; color: rgba(19,39,48,.34); font-family: ui-monospace, monospace; font-size: 7px; letter-spacing: .13em; cursor: pointer; }
.replay-intro:hover { color: var(--blue); }

.process-teaser { min-height: 80vh; padding: 140px max(42px, calc((100vw - 1180px)/2)); border-top: 1px solid rgba(19,39,48,.08); }
.process-teaser h2 { margin: 0 0 70px; font-size: clamp(45px, 5vw, 76px); line-height: .95; letter-spacing: -.055em; font-weight: 520; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--faint); border-bottom: 1px solid var(--faint); }
.process-grid article { min-height: 220px; padding: 25px 22px; border-right: 1px solid var(--faint); }
.process-grid article:last-child { border-right: 0; }
.process-grid span { display: block; margin-bottom: 70px; color: var(--blue); font-family: ui-monospace, monospace; font-size: 8px; }
.process-grid strong { display: block; font-size: 18px; font-weight: 550; }
.process-grid p { color: var(--muted); font-size: 10px; line-height: 1.6; }

/* Professional intelligence workspace. */
.intro-mode.show-chat.zoom-chat .demo-wrap { width:min(94vw,1080px); }
.intro-mode.show-chat.zoom-chat .chat-card,.chat-card.is-processing { min-height:820px; }
.chat-card.is-processing .assistant-message { max-height:0; margin:0; overflow:hidden; opacity:0; transform:translateY(-28px); }
.chat-card.is-processing .user-message { max-height:0; margin:0; overflow:hidden; opacity:0; transform:translateY(-28px); }
.chat-card.is-processing .analysis.is-visible { max-height:680px; min-height:610px; margin:0; padding:18px; transform:none; }
.chat-card.is-processing .chat-body { padding:16px 20px 20px; }
.analysis-query { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:14px; align-items:center; margin-bottom:16px; padding:12px 14px; border:1px solid rgba(19,39,48,.07); border-radius:12px; background:rgba(255,255,255,.58); }
.analysis-query > span,.analysis-telemetry span { color:rgba(19,39,48,.48); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:7px; letter-spacing:.12em; }
.analysis-query p { margin:0; overflow:hidden; color:rgba(19,39,48,.86); font-size:11px; font-weight:560; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.analysis-query > b { display:flex; align-items:center; gap:7px; color:var(--green); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:7px; font-weight:600; letter-spacing:.08em; }
.analysis-query > b i { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(27,181,138,.09),0 0 12px rgba(27,181,138,.34); animation:intelligence-pulse 1.1s ease-in-out infinite alternate; }
.analysis-title { grid-template-columns:36px 1fr auto; gap:12px; }
.loader { width:34px; height:34px; }
.loader::before { inset:5px; }
.loader::after { inset:12px; }
.analysis-title strong { font-size:14px; font-weight:620; }
.analysis-title small { margin-top:4px; font-size:10px; line-height:1.45; }
.analysis-title b { min-width:44px; font-size:11px; }
.progress { height:4px; margin:14px 0 11px; }
.process-status { font-size:7px; }
.analysis-telemetry { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0; }
.analysis-telemetry > div { min-width:0; padding:9px 10px; border:1px solid rgba(19,39,48,.065); border-radius:9px; background:rgba(255,255,255,.38); }
.analysis-telemetry span { display:block; }
.analysis-telemetry strong { display:block; margin-top:5px; overflow:hidden; color:rgba(19,39,48,.78); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:8px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.analysis-telemetry > div:last-child strong { color:var(--green); }
.stage-visual { min-height:170px; margin-top:12px; padding:13px 0; }
.scene-label { margin-bottom:12px; font-size:8px; }
.news-list { gap:7px; }
.news-item { padding:9px 11px; }
.news-item span { font-size:9px; }
.news-item i { font-size:8px; }
.market-scene { grid-template-columns:145px 1fr; gap:16px; }
.market-price { padding:12px; }
.market-price small,.market-price b,.market-price em { font-size:8px; }
.market-price strong { font-size:18px; }
.trading-chart { height:125px; }
.risk-grid { gap:10px; }
.risk-card { padding:12px; }
.risk-card span,.flow-node span,.model-choice,.decision-node,.report-title,.report-lines span,.pulse-status { font-size:8px; }
.risk-card strong { font-size:11px; }
.risk-verdict { margin-top:10px; font-size:8px; }
.viz-split { grid-template-columns:125px 1fr; min-height:118px; }
.donut { width:94px; height:94px; }
.donut-label { font-size:14px; }
.donut-label small,.bar-row { font-size:8px; }
.flow-line { min-height:112px; }
.flow-node { padding:15px 7px; }
.flow-node strong { font-size:9px; }
.model-select { min-height:116px; }
.model-choice { padding:8px 10px; }
.network-panel .neural-network { height:83px; }
.selection-note { font-size:7px; }
.decision-path { min-height:108px; }
.decision-node { width:100px; padding:13px 7px; }
.report-sheet { min-height:112px; padding:14px 16px; }
.report-lines { margin-top:16px; gap:9px 18px; }
.pulse-monitor { height:124px; }
.process-queue { grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; min-height:0; margin-top:12px; padding-top:12px; overflow:visible; border-top:1px solid rgba(19,39,48,.08); }
.process-queue::before { content:none; }
.process-item { display:grid; grid-template-columns:27px minmax(0,1fr); grid-template-rows:auto auto; gap:3px 8px; justify-items:start; align-items:center; min-height:66px; padding:10px; border:1px solid rgba(19,39,48,.065); border-radius:10px; background:rgba(255,255,255,.32); opacity:.64; text-align:left; }
.process-item::before { top:10px; right:10px; left:auto; width:6px; height:6px; border:0; background:rgba(19,39,48,.2); box-shadow:none; transform:none; }
.process-item > span { grid-row:1/3; align-self:center; margin:0; color:rgba(19,39,48,.38); font-size:8px; }
.process-item > div { width:100%; }
.process-item strong { padding-right:12px; font-size:9px; line-height:1.3; text-overflow:clip; white-space:normal; }
.process-item small { display:block; margin-top:3px; overflow:hidden; color:rgba(19,39,48,.42); font-family:ui-monospace,monospace; font-size:6px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.process-item b { margin:1px 0 0; font-size:6px; }
.process-item.active { border-color:color-mix(in srgb,var(--stage-accent) 28%,transparent); background:color-mix(in srgb,var(--stage-accent) 8%,white); transform:translateY(-2px); }
.process-item.active::before { background:var(--stage-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--stage-accent) 12%,transparent),0 0 12px color-mix(in srgb,var(--stage-accent) 44%,transparent); transform:none; }
.process-item.complete { border-color:rgba(27,181,138,.13); background:rgba(27,181,138,.035); }
.process-item.complete::before { background:var(--green); box-shadow:0 0 0 3px rgba(27,181,138,.08); }
.analysis.report-ready .analysis-query { margin-bottom:10px; }
.analysis.report-ready .analysis-query > b { color:var(--green); }
.analysis.report-ready .analysis-telemetry { display:grid; }
.analysis.report-ready .analysis-title { margin-top:10px; }
.analysis.report-ready .process-status,.analysis.report-ready .stage-visual,.analysis.report-ready .process-queue { display:none; }
.answer-heading { margin-top:18px; }
.answer-heading strong { font-size:25px; }
.answer-summary { font-size:12px; }
.answer-evidence li { font-size:9px; }
.answer-action strong { font-size:10px; }

.intelligence-explainer { padding:130px max(42px,calc((100vw - 1180px)/2)); border-top:1px solid rgba(19,39,48,.08); }
.explainer-intro { display:grid; grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr); column-gap:72px; align-items:start; }
.explainer-intro .eyebrow { grid-column:1/-1; }
.explainer-intro h2 { max-width:520px; margin:0; font-size:clamp(44px,5vw,72px); font-weight:520; line-height:.94; letter-spacing:-.058em; }
.explainer-intro > p:last-child { max-width:540px; margin:4px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.explainer-capabilities { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:1px solid var(--faint); border-bottom:1px solid var(--faint); }
.explainer-capabilities article { min-height:220px; padding:26px 24px; border-right:1px solid var(--faint); }
.explainer-capabilities article:last-child { border-right:0; }
.explainer-capabilities span,.reference-card > span { color:var(--blue); font-family:ui-monospace,monospace; font-size:8px; letter-spacing:.13em; }
.explainer-capabilities strong { display:block; margin-top:72px; font-size:19px; font-weight:580; letter-spacing:-.025em; }
.explainer-capabilities p { max-width:300px; margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.reference-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:70px; }
.reference-card { position:relative; min-height:270px; padding:30px; overflow:hidden; border:1px solid rgba(19,39,48,.08); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(226,234,232,.3)); box-shadow:0 22px 60px rgba(24,47,58,.055),inset 0 1px 0 rgba(255,255,255,.9); transition:transform .35s var(--ease),border-color .25s ease,box-shadow .35s ease; }
.reference-card::after { content:""; position:absolute; right:-90px; bottom:-120px; width:260px; height:260px; border:1px solid rgba(22,137,189,.06); border-radius:50%; box-shadow:0 0 0 55px rgba(22,137,189,.018); }
.reference-card:hover { border-color:rgba(22,137,189,.2); box-shadow:0 30px 75px rgba(24,47,58,.09),inset 0 1px 0 #fff; transform:translateY(-5px); }
.reference-card strong { display:block; max-width:440px; margin-top:68px; font-size:30px; font-weight:560; letter-spacing:-.045em; }
.reference-card p { max-width:460px; margin:14px 0 36px; color:var(--muted); font-size:12px; line-height:1.7; }
.reference-card > b { position:absolute; bottom:28px; left:30px; color:rgba(19,39,48,.62); font-family:ui-monospace,monospace; font-size:8px; font-weight:560; letter-spacing:.1em; }
.reference-card > b i { margin-left:7px; color:var(--blue); font-style:normal; }

@keyframes card-in { from { opacity: 0; transform: translateY(35px) rotateX(2deg); } to { opacity: 1; transform: none; } }
@keyframes message-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes caret-blink { 50% { opacity: 0; } }
@keyframes scan-news { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateY(67px); opacity: 0; } }
@keyframes draw-chart { to { stroke-dashoffset: 0; } }
@keyframes network-flow { to { stroke-dashoffset: -16; } }
@keyframes node-pulse { to { opacity: .5; transform: scale(.85); transform-origin: center; } }
@keyframes fill-risk { to { transform: scaleX(1); } }
@keyframes donut-in { from { opacity: 0; transform: rotate(-90deg) scale(.7); } to { opacity: 1; transform: rotate(-90deg) scale(1); } }
@keyframes monitor-draw { 65%, 100% { stroke-dashoffset: 0; } }
@keyframes candle-in { to { opacity: 1; transform: none; } }
@keyframes volume-in { to { transform: scaleY(1); } }
@keyframes trade-line-in { to { stroke-dashoffset: 0; } }
@keyframes live-dot { to { opacity: .4; r: 5; } }
@keyframes report-in { from { opacity: 0; transform: translateY(16px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes intelligence-pulse { to { opacity: .48; transform: scale(.72); } }
@keyframes radar-turn { to { transform: rotate(360deg); } }
@keyframes transition-flash { 0%, 100% { opacity: 0; } 25%, 70% { opacity: 1; } }
@keyframes analysis-scan { 0% { left: -35%; opacity: 0; } 15% { opacity: 1; } 75% { opacity: .55; } 100% { left: 110%; opacity: 0; } }
@keyframes sent-confirm { 0% { transform: translateY(8px); opacity: 0; } 60% { transform: translateY(-2px); opacity: 1; } 100% { transform: none; } }

@media (max-width: 900px) {
  .prototype-site-header nav { display: none; }
  .hero { min-height: auto; padding: 130px 22px 80px; grid-template-columns: 1fr; gap: 60px; }
  .hero-copy { padding: 20px 0 0; }
  .demo-wrap { width:100%; max-width:100%; min-width:0; justify-self: center; }
  .chat-card, .chat-body, .analysis { min-width:0; }
  .intro-mode.show-chat.zoom-chat .demo-wrap { width: 100%; transform: none; }
  .intro-mode.show-chat.zoom-chat .chat-card,.chat-card.is-processing { min-height:880px; }
  .chat-card.is-processing .analysis.is-visible { max-height:760px; min-height:680px; }
  .process-queue { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .chat-card { min-height: 520px; }
  .scroll-note { display: none; }
  .replay-intro { right: 22px; bottom: 25px; }
  .process-teaser { padding: 100px 22px; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-grid article:nth-child(2) { border-right: 0; }
  .process-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--faint); }
	.intelligence-explainer { padding:100px 22px; }
	.explainer-intro { grid-template-columns:1fr; row-gap:26px; }
	.explainer-intro .eyebrow { grid-column:auto; margin-bottom:0; }
	.explainer-intro > p:last-child { margin:0; }
	.explainer-capabilities { margin-top:60px; }
	.explainer-capabilities article { padding:24px 18px; }
	.reference-grid { margin-top:55px; }
}

@media (max-width: 560px) {
  .prototype-site-header { top: 10px; width: calc(100% - 20px); }
  .header-cta { padding: 11px; font-size: 8px; }
  h1 { font-size: 54px; }
  .hero-description { font-size: 11px; }
  .hero { padding-right:12px; padding-left:12px; }
  .mobile-intro-continue:not([hidden]) { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-width:230px; min-height:52px; margin-top:30px; padding:14px 17px; border:1px solid rgba(22,137,189,.16); border-radius:15px; background:#173746; color:#fff; box-shadow:0 14px 34px rgba(19,55,70,.17),inset 0 1px 0 rgba(255,255,255,.12); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; font-weight:650; letter-spacing:.07em; }
  .mobile-intro-continue span { color:#8ed8f3; font-size:19px; transition:transform 180ms ease; }
  .mobile-intro-continue:active span { transform:translateX(3px); }
  .mobile-intro-continue:focus-visible { outline:2px solid #1689bd; outline-offset:4px; }
  .chat-card { min-height: 500px; border-radius: 24px; }
  .intro-mode.show-chat.zoom-chat .demo-wrap { width: 100%; transform: none; }
  .intro-mode.show-chat.zoom-chat .chat-card,.chat-card.is-processing { min-height:1080px; }
  .chat-card.is-processing .chat-body { padding:12px; overflow:visible; }
  .chat-card.is-processing .analysis.is-visible { max-height:950px; min-height:890px; padding:12px; }
  .analysis-query { grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:10px 11px; }
  .analysis-query > span { grid-column:1/-1; }
  .analysis-query p { font-size:10px; white-space:normal; }
  .analysis-title { grid-template-columns:32px 1fr auto; gap:9px; }
  .loader { width:30px; height:30px; }
  .analysis-title strong { font-size:11px; }
  .analysis-title small { font-size:8px; }
  .analysis-title b { min-width:34px; font-size:9px; }
  .analysis-telemetry { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .analysis-telemetry > div { padding:8px; }
  .stage-visual { min-height:210px; }
  .market-scene { grid-template-columns:1fr; }
  .market-price { display:grid; grid-template-columns:1fr auto; gap:4px 8px; }
  .market-price strong { margin:0; }
  .market-price em { grid-column:1/-1; margin-top:2px; }
  .trading-chart { height:105px; }
  .viz-split,.scenario-ring { grid-template-columns:85px 1fr; gap:8px; }
  .donut { width:76px; height:76px; }
  .bar-row { grid-template-columns:68px 1fr 30px; gap:4px; font-size:7px; }
  .model-select { grid-template-columns:1fr; }
  .network-panel { display:none; }
  .decision-node { width:63px; padding:10px 3px; font-size:6px; }
  .report-sheet { width:96%; }
  .process-queue { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .process-item { min-height:61px; padding:9px 8px; }
  .process-item strong { font-size:8px; }
  .process-item small { font-size:5.5px; }
  .suggestions { margin-left: 0; }
  .analysis { margin-left: 0; }
	.intelligence-explainer { padding:88px 18px; }
	.explainer-intro h2 { font-size:42px; }
	.explainer-intro > p:last-child { font-size:13px; }
	.explainer-capabilities { grid-template-columns:1fr; margin-top:48px; }
	.explainer-capabilities article { min-height:180px; border-right:0; border-bottom:1px solid var(--faint); }
	.explainer-capabilities article:last-child { border-bottom:0; }
	.explainer-capabilities strong { margin-top:48px; }
	.reference-grid { grid-template-columns:1fr; gap:12px; margin-top:42px; }
	.reference-card { min-height:245px; padding:24px; }
	.reference-card strong { margin-top:52px; font-size:26px; }
	.reference-card > b { bottom:24px; left:24px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article { border-right: 0; border-bottom: 1px solid var(--faint); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
