wealth-alpha-chat-widget 2.1.3 → 2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +48 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +7 -10
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +48 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -92,19 +92,16 @@
|
|
|
92
92
|
}
|
|
93
93
|
@media (max-width: 640px) {
|
|
94
94
|
.chat_widget {
|
|
95
|
-
width: 100vw;
|
|
96
|
-
|
|
97
|
-
height: 100dvh;
|
|
98
|
-
max-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
bottom: 0;
|
|
102
|
-
border-radius: 0;
|
|
103
|
-
border: none;
|
|
95
|
+
width: calc(100vw - 24px);
|
|
96
|
+
max-width: 420px;
|
|
97
|
+
height: calc(100dvh - 96px);
|
|
98
|
+
max-height: 640px;
|
|
99
|
+
bottom: 12px;
|
|
100
|
+
border-radius: 20px;
|
|
104
101
|
}
|
|
105
102
|
.chat_positionRight,
|
|
106
103
|
.chat_positionLeft {
|
|
107
|
-
right:
|
|
104
|
+
right: 12px;
|
|
108
105
|
left: auto;
|
|
109
106
|
}
|
|
110
107
|
.chat_floatingButton {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles/chat.module.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');\n\n.root {\n --wac-brand: #1a2d5a;\n --wac-brand-contrast: #ffffff;\n --wac-bg: #ffffff;\n --wac-fg: #1f2937;\n --wac-muted: #6b7280;\n --wac-border: #e5e7eb;\n --wac-bot-bg: #f3f4f6;\n --wac-user-bg: var(--wac-brand);\n --wac-chip-bg: #e7ebf7;\n --wac-chip-fg: #1c2c5b;\n --wac-chip-active-bg: var(--wac-brand);\n --wac-chip-active-fg: #ffffff;\n --wac-radius: 14px;\n --wac-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);\n font-family: 'Manrope', system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n color: var(--wac-fg);\n box-sizing: border-box;\n}\n\n.root *,\n.root *::before,\n.root *::after {\n box-sizing: inherit;\n}\n\n/* Sora for headings/labels/symbols — mirrors the HTML prototype */\n.headerTitle,\n.menuItemTitle,\n.markdown :global(.wa-card-sym),\n.markdown :global(.sec) :global(.lbl),\n.markdown :global(.wa-verdict-lbl) {\n font-family: 'Sora', 'Manrope', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n}\n\n.floatingButton {\n position: fixed;\n bottom: 24px;\n z-index: 2147483646;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n cursor: pointer;\n box-shadow: var(--wac-shadow);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 26px;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n}\n\n.floatingButton:hover {\n transform: translateY(-2px);\n box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);\n}\n\n.positionRight {\n right: 24px;\n}\n\n.positionLeft {\n left: 24px;\n}\n\n.widget {\n position: fixed;\n bottom: 24px;\n z-index: 2147483647;\n width: 420px;\n max-width: calc(100vw - 24px);\n height: min(760px, calc(100vh - 48px));\n background: var(--wac-bg);\n color: var(--wac-fg);\n border-radius: 24px;\n box-shadow: 0 18px 50px -18px rgba(28, 44, 91, 0.45);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--wac-border);\n}\n\n@media (max-width: 640px) {\n /* Outer shell — fill the viewport edge-to-edge (no rounded corners on a\n full-screen sheet). */\n .widget {\n width: 100vw;\n height: 100vh;\n height: 100dvh; /* avoids the mobile URL-bar gap where supported */\n max-width: 100vw;\n right: 0;\n left: 0;\n bottom: 0;\n border-radius: 0;\n border: none;\n }\n .positionRight,\n .positionLeft {\n right: 0;\n left: auto;\n }\n .floatingButton {\n width: 56px;\n height: 56px;\n bottom: 16px;\n }\n /* Both positions collapse to right: 6px on mobile, so sync popup */\n .popupBubbleLeft,\n .popupBubbleRight {\n right: 72px;\n left: auto;\n bottom: 16px;\n max-width: calc(100vw - 84px);\n }\n\n /* ── Scale internal chrome down for narrow screens ───────────────────────\n Everything below is px-based and designed for the 420px desktop widget,\n so on a phone it reads oversized. Trim type + spacing ~10-15%. */\n .header {\n padding: 12px 14px 11px;\n }\n .headerTitle {\n font-size: 15px;\n }\n .headerMeta {\n font-size: 10px;\n }\n .iconButton {\n font-size: 17px;\n padding: 4px 6px;\n }\n .body {\n padding: 10px;\n gap: 8px;\n }\n .bubble {\n font-size: 13.5px;\n padding: 9px 12px;\n }\n .chipRow {\n gap: 5px;\n }\n .chip {\n font-size: 12px;\n padding: 6px 10px;\n }\n .chipMain {\n font-size: 13px;\n padding: 8px 14px;\n }\n .input {\n padding: 8px 10px;\n gap: 6px;\n }\n .inputBox {\n padding: 10px 13px;\n }\n .sendButton {\n padding: 0 16px;\n font-size: 13px;\n }\n\n /* Rich analysis-card internals — only the largest elements need trimming. */\n .markdown :global(.wa-card-head) {\n padding: 12px 14px 11px;\n }\n .markdown :global(.wa-card-sym) {\n font-size: 15px;\n }\n .markdown :global(.sec),\n .markdown :global(.wa-verdict) {\n padding: 10px 12px;\n }\n .markdown :global(.mgrid) :global(.wa-price) {\n padding: 10px 12px;\n }\n .markdown :global(.mgrid) :global(.wa-price-value) {\n font-size: 16px;\n }\n .markdown :global(.wa-pl) {\n font-size: 18px;\n }\n}\n\n.header {\n background: linear-gradient(135deg, var(--wac-brand) 0%, #15224a 100%);\n color: var(--wac-brand-contrast);\n padding: 15px 18px 13px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.headerTitle {\n font-weight: 700;\n font-size: 17px;\n line-height: 1.2;\n}\n\n.headerMeta {\n font-size: 11px;\n opacity: 0.85;\n margin-top: 2px;\n}\n\n.headerActions {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\n.iconButton {\n background: transparent;\n color: inherit;\n border: none;\n cursor: pointer;\n font-size: 18px;\n padding: 4px 8px;\n border-radius: 6px;\n line-height: 1;\n}\n\n.iconButton:hover {\n background: rgba(255, 255, 255, 0.15);\n}\n\n.body {\n flex: 1;\n overflow-y: auto;\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background: #fafafa;\n scroll-behavior: smooth;\n}\n\n.body::-webkit-scrollbar {\n width: 6px;\n}\n\n.body::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 3px;\n}\n\n.bubble {\n /* max-width: 80%; */\n padding: 10px 14px;\n border-radius: 12px;\n font-size: 14px;\n line-height: 1.45;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* markdown-it output inside a bot bubble.\n markdown-it (breaks: true) emits a <br> for every \\n in the source,\n so we MUST NOT also apply white-space: pre-wrap here — otherwise every\n newline gets rendered twice (once via <br>, once via the literal \\n in\n CSS) and the bubble looks double-spaced. */\n.markdown {\n white-space: normal;\n --card-bg: #ffffff;\n --text: var(--wac-fg);\n --text-muted: var(--wac-muted);\n --green: #16a34a;\n --red: #dc2626;\n}\n.markdown p {\n margin: 0 0 6px 0;\n}\n.markdown p:last-child {\n margin-bottom: 0;\n}\n.markdown br {\n /* Make consecutive <br>s collapse a bit — keeps line rhythm tight. */\n line-height: 1.4;\n}\n.markdown strong {\n font-weight: 700;\n color: var(--wac-fg);\n letter-spacing: 0.2px;\n}\n.markdown em {\n font-style: italic;\n color: var(--wac-muted);\n}\n.markdown ul,\n.markdown ol {\n margin: 4px 0 6px 0;\n padding-left: 22px;\n}\n.markdown li {\n margin: 1px 0;\n}\n.markdown a {\n color: var(--wac-brand);\n text-decoration: underline;\n}\n.markdown code {\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 4px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 12.5px;\n}\n.markdown h1,\n.markdown h2,\n.markdown h3 {\n margin: 6px 0 2px 0;\n font-size: 14px;\n font-weight: 700;\n}\n\n/* Price snapshot grid (backend: price_snapshot_template.py).\n Seamless joined panel — 1px hairline dividers + one rounded border around the\n whole grid (mirrors wealth-alpha_1.1.html `.mgrid`), NOT separate boxes. */\n.markdown :global(.mgrid) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 1px;\n background: #eceffa;\n border: 1px solid #eceffa;\n border-radius: 10px;\n overflow: hidden;\n margin-top: 8px;\n}\n\n.markdown :global(.mgrid) :global(.wa-price) {\n background: var(--card-bg, #fff);\n padding: 12px 14px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.markdown :global(.mgrid) :global(.k) {\n font-size: 11px;\n color: var(--text-muted, #888);\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value) {\n font-size: 18px;\n font-weight: 700;\n color: var(--text, #111);\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value.up) {\n color: var(--green);\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value.down) {\n color: var(--red);\n}\n\n.markdown :global(.mgrid) :global(.n) {\n font-size: 12px;\n font-weight: 500;\n color: var(--text-muted, #888);\n}\n\n.markdown :global(.mgrid) :global(.n.up) {\n color: var(--green);\n}\n\n.markdown :global(.mgrid) :global(.n.down) {\n color: var(--red);\n}\n\n.markdown :global(.sec) :global(.lbl) {\n font-size: 10.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.7px;\n color: #1c2c5b;\n margin-bottom: 6px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.markdown :global(.mgrid) :global(.wa-price.full-width) {\n grid-column: 1 / -1;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n/* ── Stock Analysis Card — existing investor flow ────────────────────────── */\n\n/* Outer card wrapper */\n.markdown :global(.wa-analysis-card) {\n background: #fff;\n border: 1px solid #e6e9f5;\n border-radius: 18px;\n overflow: hidden;\n box-shadow: 0 12px 34px -24px rgba(28, 44, 91, 0.4);\n margin-bottom: 4px;\n}\n\n/* Card header — navy gradient */\n.markdown :global(.wa-card-head) {\n background: linear-gradient(135deg, #22356e 0%, #15224a 100%);\n color: #fff;\n padding: 14px 16px 13px;\n position: relative;\n}\n.markdown :global(.wa-card-date) {\n float: right;\n font-size: 11px;\n opacity: 0.7;\n font-weight: 600;\n}\n.markdown :global(.wa-card-tag) {\n display: inline-block;\n font-size: 9.5px;\n font-weight: 800;\n letter-spacing: 1px;\n background: rgba(255, 255, 255, 0.16);\n padding: 3px 9px;\n border-radius: 6px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-card-sym) {\n font-weight: 700;\n font-size: 17px;\n line-height: 1.2;\n}\n.markdown :global(.wa-card-meta) {\n font-size: 11.5px;\n opacity: 0.8;\n margin-top: 3px;\n}\n\n/* Section container */\n.markdown :global(.sec) {\n padding: 12px 14px;\n border-top: 1px solid #eceffa;\n}\n\n/* Metric grid — flat variant inherits the seamless joined panel from `.mgrid`\n above; just adjusts the top margin (mirrors 1.1 `.mgrid.flat`). */\n.markdown :global(.mgrid.flat) {\n margin-top: 9px;\n}\n\n/* Metric cell — no individual border/radius; the parent grid frames them and\n the 1px gap shows the divider line through (1.1 `.m`). */\n.markdown :global(.mgrid) :global(.m) {\n background: #fff;\n padding: 10px 13px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.markdown :global(.mgrid) :global(.m) :global(.k) {\n font-size: 9.5px;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: 700;\n}\n.markdown :global(.mgrid) :global(.m) :global(.v) {\n font-size: 14px;\n font-weight: 700;\n color: #1c2438;\n margin-top: 2px;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n) {\n font-size: 10.5px;\n font-weight: 700;\n color: #737b97;\n margin-top: 1px;\n}\n/* Score colour modifiers on .n inside metric cells */\n.markdown :global(.mgrid) :global(.m) :global(.n.good) {\n color: #16a34a;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.avg) {\n color: #737b97;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.low) {\n color: #b45309;\n}\n\n/* Regime label inside metric cell */\n.markdown :global(.wa-regime) {\n font-size: 12px;\n}\n\n/* Your Position block */\n.markdown :global(.wa-pos) {\n margin-top: 9px;\n border-radius: 12px;\n padding: 12px 14px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n}\n.markdown :global(.wa-pos.profit) {\n background: linear-gradient(135deg, #ecfdf3, #f7fef9);\n border-color: #bbf7d0;\n}\n.markdown :global(.wa-pos.loss) {\n background: linear-gradient(135deg, #fef2f2, #fff5f5);\n border-color: #fecaca;\n}\n.markdown :global(.wa-pl) {\n font-weight: 800;\n font-size: 22px;\n line-height: 1;\n color: #1c2438;\n}\n.markdown :global(.wa-pl.up) {\n color: #16a34a;\n}\n.markdown :global(.wa-pl.down) {\n color: #dc2626;\n}\n.markdown :global(.wa-zone) {\n font-size: 11px;\n font-weight: 700;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n margin-top: 4px;\n}\n.markdown :global(.wa-summ) {\n font-size: 12.5px;\n line-height: 1.5;\n margin-top: 8px;\n color: #3a4159;\n}\n\n/* Key-value rows (Trend Structure, Indicators) */\n.markdown :global(.kv) {\n display: flex;\n gap: 8px;\n font-size: 12.5px;\n line-height: 1.5;\n margin-bottom: 7px;\n}\n.markdown :global(.kv:last-child) {\n margin-bottom: 0;\n}\n.markdown :global(.kk) {\n font-weight: 700;\n color: #1c2c5b;\n flex: 0 0 auto;\n min-width: 90px;\n}\n.markdown :global(.vv) {\n color: #3a4159;\n}\n\n/* Key-value grid (e.g. Trend Signals): the label column auto-sizes to the\n widest label so every value starts on the same left edge, and wrapped value\n lines hang-indent to that edge. Matches the reference's aligned kv layout. */\n.markdown :global(.wa-kv-grid) {\n display: grid;\n grid-template-columns: max-content 1fr;\n column-gap: 14px;\n row-gap: 7px;\n font-size: 12.5px;\n line-height: 1.5;\n}\n/* Legacy rows: dissolve the .kv flex box so its .kk/.vv join the grid. */\n.markdown :global(.wa-kv-grid) :global(.kv) {\n display: contents;\n}\n.markdown :global(.wa-kv-grid) :global(.kv) :global(.kk),\n.markdown :global(.wa-kv-grid) :global(.wa-kk) {\n font-weight: 700;\n color: #1c2c5b;\n min-width: 0; /* reset the global 90px so the key column fits its content */\n}\n.markdown :global(.wa-kv-grid) :global(.kv) :global(.vv),\n.markdown :global(.wa-kv-grid) :global(.wa-vv) {\n color: #3a4159;\n}\n\n/* Crypto list — two-column table: name column auto-sizes to the widest coin\n name so every price/ticker aligns on the same left edge. */\n.markdown :global(.wa-coin-grid) {\n display: grid;\n grid-template-columns: max-content 1fr;\n column-gap: 12px;\n row-gap: 7px;\n font-size: 12.5px;\n line-height: 1.5;\n align-items: baseline;\n}\n.markdown :global(.wa-coin-name) {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.wa-coin-px) {\n color: #3a4159;\n}\n\n/* Recovery level value */\n.markdown :global(.wa-recovery) {\n font-size: 11.5px;\n color: #3a4159;\n}\n\n/* Verdict block */\n.markdown :global(.wa-verdict) {\n padding: 13px 16px;\n border-top: 1px solid #eceffa;\n background: #fafbff;\n}\n.markdown :global(.wa-verdict-lbl) {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.7px;\n text-transform: uppercase;\n color: #1c2c5b;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-verdict-list) {\n margin: 0;\n padding-left: 20px;\n list-style-type: disc;\n list-style-position: outside;\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n.markdown :global(.wa-verdict-list) li {\n display: list-item;\n margin-bottom: 6px;\n padding-left: 2px;\n}\n.markdown :global(.wa-verdict-list) li:last-child {\n margin-bottom: 0;\n}\n\n/* Business Health bullets and scale note */\n.markdown :global(.wa-bullets) {\n margin: 8px 0 4px 0;\n padding-left: 17px;\n font-size: 12px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-bullets) li {\n margin-bottom: 4px;\n}\n.markdown :global(.wa-scale-note) {\n font-size: 10.5px;\n color: #737b97;\n margin-top: 6px;\n line-height: 1.4;\n}\n\n/* VS Peers */\n.markdown :global(.wa-peer-ctx) {\n font-size: 12px;\n color: #737b97;\n margin-bottom: 8px;\n font-weight: bold;\n}\n.markdown :global(.wa-peer-row) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 7px 10px;\n border-radius: 8px;\n background: #f8f9fc;\n border: 1px solid #eceffa;\n margin-bottom: 6px;\n font-size: 12px;\n}\n.markdown :global(.wa-peer-sym) {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.wa-peer-detail) {\n color: #3a4159;\n}\n.markdown :global(.wa-peer-detail) :global(.up) {\n color: #16a34a;\n font-weight: 700;\n}\n.markdown :global(.wa-peer-detail) :global(.down) {\n color: #dc2626;\n font-weight: 700;\n}\n.markdown :global(.wa-peer-empty) {\n font-size: 12px;\n color: #737b97;\n line-height: 1.5;\n padding: 4px 0;\n}\n.markdown :global(.wa-top-peer) {\n font-size: 11.5px;\n color: #1c2c5b;\n font-weight: 600;\n margin-top: 4px;\n padding: 6px 10px;\n background: #eef2ff;\n border-radius: 8px;\n}\n\n/* ── New Investor Flow — Signal, AI Lens, Indicators, Invalidation ───────── */\n\n/* Signal badge + label row */\n.markdown :global(.wa-signal-header) {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n margin-bottom: 10px;\n}\n.markdown :global(.wa-signal-lbl) {\n font-size: 13px;\n font-weight: 600;\n color: #3a4159;\n flex: 1;\n}\n\n/* Reference-style confidence score (wealth-alpha-final.html) — prominent,\n right-aligned, colour-coded by sentiment. Used in stock-analysis cards. */\n.markdown :global(.wa-conf-sec),\n.markdown :global(.wa-action-conf) {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.markdown :global(.wa-conf-score) {\n margin-left: auto;\n font-weight: 800;\n font-size: 13px;\n}\n.markdown :global(.wa-conf-score.pos) {\n color: #16a34a;\n}\n.markdown :global(.wa-conf-score.neg) {\n color: #dc2626;\n}\n.markdown :global(.wa-conf-score.neu) {\n color: #b45309;\n}\n/* Descriptive confidence note under the signal score. */\n.markdown :global(.wa-conf-note) {\n margin: 8px 0 0;\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-signal-level) {\n padding: 10px 0;\n}\n.markdown :global(.wa-signal-level) :global(.kv) {\n gap: 4px;\n align-items: center;\n margin-bottom: 0;\n}\n.markdown :global(.wa-signal-level) :global(.kk) {\n min-width: auto;\n}\n\n/* Direction / action badges (shared across flows) */\n.markdown :global(.wa-badge) {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 6px 13px;\n border-radius: 999px;\n font-size: 12px;\n font-weight: 800;\n letter-spacing: 0.3px;\n white-space: nowrap;\n}\n.markdown :global(.wa-b-buy) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.wa-b-sell) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-b-wait) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.wa-b-info) {\n background: #e0ecff;\n color: #2563eb;\n}\n\n/* ── Macro Event card (.evt) ─────────────────────────────────────────────── */\n.markdown :global(.evt) {\n border: 1px solid #e6e9f5;\n border-radius: 16px;\n overflow: hidden;\n margin-bottom: 12px;\n background: #fff;\n box-shadow: 0 12px 30px -24px rgba(28, 44, 91, 0.4);\n}\n.markdown :global(.evt .top) {\n padding: 13px 15px;\n display: flex;\n gap: 11px;\n align-items: flex-start;\n}\n.markdown :global(.evt .num) {\n width: 26px;\n height: 26px;\n flex: 0 0 auto;\n border-radius: 8px;\n background: #1c2c5b;\n color: #fff;\n display: grid;\n place-items: center;\n font-weight: 700;\n font-size: 13px;\n}\n.markdown :global(.evt .ti) {\n font-weight: 700;\n font-size: 13.5px;\n line-height: 1.25;\n color: #1c2438;\n}\n.markdown :global(.evt .dt) {\n font-size: 11px;\n color: #737b97;\n margin-top: 2px;\n}\n.markdown :global(.evt .news) {\n padding: 0 15px 12px;\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.evt .news .imp) {\n display: inline-block;\n margin-top: 7px;\n}\n.markdown :global(.evt .body) {\n padding: 11px 15px;\n border-top: 1px solid #eceffa;\n background: #fbfcff;\n}\n.markdown :global(.evt .body) :global(.lbl) {\n font-size: 10.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.7px;\n color: #1c2c5b;\n margin-top: 8px;\n margin-bottom: 6px;\n}\n.markdown :global(.evt .body) :global(.wa-verdict-text) {\n margin: 4px 0 0;\n}\n\n/* ── Sector impact block (.impact) ──────────────────────────────────────── */\n.markdown :global(.impact) {\n margin-top: 8px;\n}\n.markdown :global(.ih) {\n font-size: 10.5px;\n font-weight: 800;\n letter-spacing: 0.4px;\n text-transform: uppercase;\n margin-bottom: 7px;\n display: flex;\n align-items: center;\n gap: 6px;\n /* Plain colour-coded bullet label (no box) — matches wealth-alpha-final.html. */\n}\n.markdown :global(.ih.neg) { color: #dc2626; }\n.markdown :global(.ih.mod) { color: #b45309; }\n/* Opportunity header keeps its rounded green box; neg/mod stay plain bullets. */\n.markdown :global(.ih.pos) {\n color: #16a34a;\n padding: 9px 12px;\n border: 1px solid #86efac;\n border-radius: 10px;\n background: #f3fdf6;\n}\n\n/* ── Sector impact pill (.pill) ─────────────────────────────────────────── */\n.markdown :global(.pill) {\n display: block;\n font-size: 12px;\n line-height: 1.45;\n padding: 8px 11px;\n border-radius: 10px;\n margin-bottom: 6px;\n border: 1px solid;\n}\n.markdown :global(.pill b) { font-weight: 700; }\n.markdown :global(.pill.neg) {\n background: #fee2e2;\n border-color: #fecaca;\n color: #7f1d1d;\n}\n.markdown :global(.pill.mod) {\n background: #fef3e0;\n border-color: #fde2b8;\n color: #7c4a03;\n}\n.markdown :global(.pill.pos) {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #14532d;\n}\n\n/* Confidence score row */\n.markdown :global(.wa-conf-row) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-top: 10px;\n padding: 8px 12px;\n background: #f8f9fc;\n border-radius: 10px;\n border: 1px solid #eceffa;\n}\n.markdown :global(.wa-conf-badge) {\n font-size: 13px;\n font-weight: 800;\n padding: 4px 10px;\n border-radius: 999px;\n background: #eceffa;\n color: #1c2c5b;\n}\n.markdown :global(.wa-conf-badge.good) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.wa-conf-badge.low) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-conf-badge.avg) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.wa-conf-text) {\n font-size: 12px;\n color: #3a4159;\n flex: 1;\n}\n\n/* AI Lens */\n.markdown :global(.wa-ai-heading) {\n font-size: 13.5px;\n font-weight: 700;\n color: #1c2c5b;\n margin-bottom: 5px;\n}\n.markdown :global(.wa-ai-insight) {\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n margin-bottom: 6px;\n}\n\n/* Invalidation */\n.markdown :global(.wa-inv-text) {\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-inv-status) {\n margin-top: 8px;\n}\n\n/* Text verdict (new investor flow — single string, not a bullet list) */\n.markdown :global(.wa-verdict-text) {\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n\n/* ── Portfolio Risk — Gauge, Action Rows, Clist, Allocation Bars ────────── */\n\n/* Key-levels price-position bar (.meter) — dot marks where the current price\n sits between stop and breakout. Mirrors wealth-alpha-final.html `.meter`. */\n.markdown :global(.meter) {\n height: 8px;\n border-radius: 6px;\n background: linear-gradient(90deg, #e2e6f3, #cfd6ee);\n position: relative;\n margin: 6px 0 22px;\n}\n.markdown :global(.meter) :global(.dot) {\n position: absolute;\n top: -3px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #1c2c5b;\n border: 3px solid #fff;\n box-shadow: 0 2px 6px rgba(28, 44, 91, 0.5);\n transform: translateX(-50%);\n}\n.markdown :global(.meter) :global(.lo),\n.markdown :global(.meter) :global(.hi) {\n position: absolute;\n top: 13px;\n font-size: 11px;\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.meter) :global(.lo) {\n left: 0;\n}\n.markdown :global(.meter) :global(.hi) {\n right: 0;\n}\n\n/* Health score gauge (red → amber → green gradient) */\n.markdown :global(.gauge) {\n height: 10px;\n border-radius: 6px;\n background: linear-gradient(90deg, #dc2626 0%, #f59e0b 50%, #16a34a 100%);\n position: relative;\n margin: 6px 0 28px;\n}\n.markdown :global(.wa-portfolio-gauge-wrap) {\n padding: 4px 22px 32px;\n overflow: visible;\n}\n.markdown :global(.wa-portfolio-health-gauge) {\n margin: 6px 0 0;\n}\n.markdown :global(.gauge) :global(.pin),\n.markdown :global(.wa-portfolio-gauge-pin) {\n position: absolute;\n top: -4px;\n width: 5px;\n height: 18px;\n border-radius: 3px;\n background: #1c2c5b;\n box-shadow: 0 0 0 3px #fff;\n transform: translateX(-50%);\n}\n.markdown :global(.gauge) :global(.lab),\n.markdown :global(.wa-portfolio-gauge-score) {\n position: absolute;\n top: 17px;\n font-size: 11px;\n font-weight: 800;\n color: #1c2c5b;\n transform: translateX(-50%);\n white-space: nowrap;\n}\n\n/* Portfolio performance header — two-line summary */\n.markdown :global(.wa-portfolio-performance-head) :global(.wa-portfolio-header-title) {\n margin-top: 2px;\n line-height: 1.25;\n}\n.markdown :global(.wa-portfolio-header-meta) {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.markdown :global(.wa-portfolio-header-summary) {\n font-size: 11.5px;\n line-height: 1.45;\n opacity: 0.92;\n color: #fff;\n}\n.markdown :global(.wa-portfolio-header-risk) {\n font-size: 11px;\n line-height: 1.4;\n opacity: 0.75;\n color: #fff;\n}\n\n/* Portfolio health section spacing */\n.markdown :global(.wa-portfolio-health-section) {\n overflow: visible;\n}\n.markdown :global(.wa-portfolio-health-verdict) {\n margin-top: 2px;\n}\n\n/* CAGR / Risk metric rows */\n.markdown :global(.wa-portfolio-metrics-block) {\n padding: 10px 0 6px;\n margin-top: 4px;\n}\n.markdown :global(.wa-portfolio-metric-row) {\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-metric-row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-metric-label) {\n min-width: 48px;\n flex-shrink: 0;\n}\n.markdown :global(.wa-portfolio-metric-value) {\n flex: 1;\n line-height: 1.45;\n}\n\n/* Portfolio optimization bullet lists */\n.markdown :global(.wa-portfolio-bullet-list) {\n margin: 0;\n padding-left: 20px;\n list-style-type: disc;\n list-style-position: outside;\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n.markdown :global(.wa-portfolio-bullet-list) li {\n display: list-item;\n margin-bottom: 6px;\n padding-left: 2px;\n}\n.markdown :global(.wa-portfolio-bullet-list) li:last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-concerns-list),\n.markdown :global(.wa-portfolio-actions-needed-list) {\n margin-top: 2px;\n}\n.markdown :global(.wa-portfolio-verdict-block) :global(.wa-portfolio-verdict-list) {\n margin-top: 0;\n}\n\n/* Health check — Current Mix vs Target (Stocks row full-width centered) */\n.markdown :global(.wa-portfolio-mix-grid) :global(.wa-portfolio-mix-stocks-full) {\n grid-column: 1 / -1;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n.markdown :global(.wa-portfolio-mix-stocks-full) :global(.v) {\n text-align: center;\n}\n\n/* Health check — Stock / ETF deviation rows */\n.markdown :global(.wa-portfolio-deviation-block) {\n padding: 10px 0 4px;\n margin-top: 6px;\n}\n.markdown :global(.wa-portfolio-deviation-row) {\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-portfolio-deviation-row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-deviation-label) {\n min-width: 108px;\n flex-shrink: 0;\n}\n.markdown :global(.wa-portfolio-deviation-value) {\n flex: 1;\n line-height: 1.45;\n}\n\n/* Health check — Structure Points cards */\n.markdown :global(.wa-portfolio-structure-section) {\n padding-bottom: 14px;\n}\n.markdown :global(.wa-portfolio-structure-card) {\n border: 1px solid #e6e9f5;\n border-radius: 12px;\n padding: 11px 13px;\n margin-bottom: 8px;\n background: #f8f9fc;\n}\n.markdown :global(.wa-portfolio-structure-card):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-structure-card-head) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-structure-symbol) {\n font-weight: 800;\n font-size: 13px;\n color: #1c2c5b;\n letter-spacing: 0.02em;\n}\n.markdown :global(.wa-portfolio-structure-score-badge) {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 999px;\n background: #eceffa;\n color: #1c2c5b;\n white-space: nowrap;\n}\n.markdown :global(.wa-portfolio-structure-line) {\n font-size: 12px;\n line-height: 1.45;\n color: #3a4159;\n margin-bottom: 4px;\n}\n.markdown :global(.wa-portfolio-structure-line) :global(.up) {\n color: var(--green);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-structure-line) :global(.down) {\n color: var(--red);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-structure-line):last-of-type {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-structure-meta) {\n font-size: 11.5px;\n line-height: 1.4;\n color: #737b97;\n margin-top: 4px;\n}\n\n/* Portfolio build — Sector Allocation card layout */\n.markdown :global(.wa-portfolio-sector-card-head) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 6px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-portfolio-sector-return) {\n flex: 1;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n color: #3a4159;\n white-space: nowrap;\n}\n.markdown :global(.wa-portfolio-sector-return) :global(.up) {\n color: var(--green);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-sector-return) :global(.down) {\n color: var(--red);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-sector-capital-line) {\n font-size: 12px;\n font-weight: 700;\n color: #3a4159;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) {\n list-style: none;\n padding-left: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li {\n margin-bottom: 4px;\n padding-left: 0;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li::before {\n content: \"· \";\n font-weight: 700;\n color: #737b97;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li:last-child {\n margin-bottom: 0;\n}\n\n/* Health verdict text */\n.markdown :global(.wa-health-text) {\n font-size: 12px;\n font-weight: 600;\n color: #dc2626;\n line-height: 1.5;\n margin-top: 4px;\n}\n.markdown :global(.wa-health-text.ok) {\n color: #16a34a;\n}\n.markdown :global(.wa-health-text.warn) {\n color: #b45309;\n}\n\n/* Action rows — EXIT / TRIM / ADD / HOLD / SWITCH / REVIEW */\n.markdown :global(.act) {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 12px;\n border-radius: 12px;\n margin-bottom: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n}\n.markdown :global(.act):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.act.exit) {\n background: #fee2e2;\n border-color: #fecaca;\n}\n.markdown :global(.act.trim) {\n background: #fef3e0;\n border-color: #fde2b8;\n}\n.markdown :global(.act.add) {\n background: #dcfce7;\n border-color: #bbf7d0;\n}\n.markdown :global(.act.hold) {\n background: #f1f3fa;\n border-color: #e0e4f0;\n}\n.markdown :global(.act.switch) {\n background: #e0ecff;\n border-color: #bfdbfe;\n}\n/* Action type label pill */\n.markdown :global(.act) :global(.at) {\n flex: 0 0 auto;\n font-size: 10px;\n font-weight: 800;\n letter-spacing: 0.5px;\n padding: 4px 8px;\n border-radius: 6px;\n color: #fff;\n white-space: nowrap;\n}\n.markdown :global(.act.exit) :global(.at) { background: #dc2626; }\n.markdown :global(.act.trim) :global(.at) { background: #b45309; }\n.markdown :global(.act.add) :global(.at) { background: #16a34a; }\n.markdown :global(.act.hold) :global(.at) { background: #737b97; }\n.markdown :global(.act.switch) :global(.at) { background: #2563eb; }\n/* Action description */\n.markdown :global(.act) :global(.ad) {\n font-size: 12.5px;\n line-height: 1.45;\n}\n.markdown :global(.act) :global(.ad) b {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.act) :global(.ad) :global(.r) {\n color: #3a4159;\n display: block;\n margin-top: 2px;\n}\n\n/* Concerns / actions bullet list */\n.markdown :global(.clist) {\n margin: 0;\n padding-left: 17px;\n font-size: 12px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.clist) li {\n margin-bottom: 5px;\n}\n.markdown :global(.clist) li:last-child {\n margin-bottom: 0;\n}\n\n/* Asset allocation bars */\n.markdown :global(.alloc) {\n margin-top: 6px;\n}\n.markdown :global(.alloc) :global(.row) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-bottom: 9px;\n font-size: 12px;\n}\n.markdown :global(.alloc) :global(.row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.alloc) :global(.nm) {\n width: 54px;\n font-weight: 700;\n color: #1c2c5b;\n flex-shrink: 0;\n}\n.markdown :global(.alloc) :global(.bar) {\n flex: 1;\n height: 8px;\n border-radius: 5px;\n background: #eef0f7;\n overflow: hidden;\n}\n.markdown :global(.alloc) :global(.bar) i {\n display: block;\n height: 100%;\n border-radius: 5px;\n background: #1c2c5b;\n}\n.markdown :global(.alloc) :global(.pct) {\n width: 42px;\n text-align: right;\n font-weight: 700;\n color: #1c2438;\n flex-shrink: 0;\n}\n\n/* Return value colour helpers inside metric grid .v cells */\n.markdown :global(.mgrid) :global(.v.up) {\n color: var(--green);\n}\n.markdown :global(.mgrid) :global(.v.down) {\n color: var(--red);\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.up) {\n color: var(--green);\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.down) {\n color: var(--red);\n}\n.markdown :global(.mgrid) :global(.v.low) {\n color: #b45309;\n}\n\n/* Signal score emphasis inside kv rows (Tradable Candidate) */\n.markdown :global(.kv) :global(.vv) :global(b.up) {\n color: var(--green);\n}\n.markdown :global(.kv) :global(.vv) :global(b.down) {\n color: var(--red);\n}\n.markdown :global(.kv) :global(.vv) :global(b.low) {\n color: #b45309;\n}\n\n/* ── Crypto Analysis — stance row, metric notes, kv stacks ──────────────── */\n.markdown :global(.wa-crypto-stance-row) {\n margin-top: 8px;\n}\n.markdown :global(.wa-crypto-stance-row-lg) {\n margin-top: 11px;\n}\n.markdown :global(.wa-crypto-stance-reason) {\n font-size: 12px;\n color: #3a4159;\n margin-top: 8px;\n line-height: 1.5;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.wa-crypto-metric-detail) {\n font-weight: 500;\n line-height: 1.35;\n}\n.markdown :global(.wa-crypto-kv-primary) {\n display: block;\n font-size: 14px;\n font-weight: 700;\n}\n.markdown :global(.wa-crypto-kv-note) {\n display: block;\n font-size: 10.5px;\n font-weight: 700;\n margin-top: 2px;\n}\n.markdown :global(.wa-crypto-kv-note.up) {\n color: var(--green);\n}\n.markdown :global(.wa-crypto-kv-note.down) {\n color: var(--red);\n}\n.markdown :global(.wa-crypto-kv-note.low) {\n color: #b45309;\n}\n.markdown :global(.wa-crypto-kv-note.avg) {\n color: #737b97;\n}\n.markdown :global(.wa-crypto-kv-detail) {\n display: block;\n font-size: 10.5px;\n font-weight: 500;\n color: #737b97;\n margin-top: 2px;\n line-height: 1.35;\n}\n\n/* ── Stock Discovery & New Listings Card Components ─────────────────────── */\n\n/* Individual stock card */\n.markdown :global(.dstock) {\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n padding: 12px 13px;\n margin-bottom: 10px;\n background: #fff;\n}\n.markdown :global(.dstock):last-child {\n margin-bottom: 0;\n}\n\n/* Stock card header row */\n.markdown :global(.dh) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-bottom: 9px;\n}\n\n/* Rank number chip */\n.markdown :global(.rank) {\n width: 24px;\n height: 24px;\n flex: 0 0 auto;\n border-radius: 6px;\n background: #e7ebf7;\n color: #1c2c5b;\n display: grid;\n place-items: center;\n font-weight: 800;\n font-size: 12px;\n}\n\n/* Stock symbol + company name */\n.markdown :global(.nm) {\n font-weight: 700;\n font-size: 13.5px;\n line-height: 1.2;\n color: #1c2438;\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n/* Inline badge inside .nm — smaller than the standalone badge */\n.markdown :global(.nm) :global(.wa-badge) {\n font-size: 10px;\n padding: 3px 8px;\n vertical-align: middle;\n}\n.markdown :global(.co) {\n font-size: 10.5px;\n color: #737b97;\n margin-top: 2px;\n}\n\n/* Fundamental score (right-aligned) */\n.markdown :global(.dstock) :global(.fs) {\n margin-left: auto;\n text-align: right;\n flex-shrink: 0;\n}\n.markdown :global(.dstock) :global(.fs) :global(.num) {\n font-weight: 800;\n font-size: 17px;\n color: #1c2c5b;\n line-height: 1;\n}\n.markdown :global(.dstock) :global(.fs) :global(.cap) {\n font-size: 8.5px;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n margin-top: 2px;\n}\n/* Discovery stock symbol — 14px per reference (.dstock .nm), vs the generic\n .nm (13.5px) shared with the sector-selection rows. */\n.markdown :global(.dstock) :global(.nm) {\n font-size: 14px;\n}\n\n/* Quality/Value/Growth/Confidence tag row */\n/* Score tags (Quality/Value/Growth/Conf.) render as small inline pills that\n wrap — matching the wealth-alpha-final.html `.qrow`/`.qtag` reference. The\n backend still tags these rows with `qrow-grid`, but we intentionally do NOT\n turn them into a large 2-column grid; they stay compact like the design. */\n.markdown :global(.qrow),\n.markdown :global(.qrow.qrow-grid) {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n align-items: center;\n}\n.markdown :global(.qtag) {\n font-size: 10.5px;\n font-weight: 700;\n padding: 4px 9px;\n border-radius: 7px;\n border: 1px solid #e0e4f0;\n background: #f1f3fa;\n color: #475069;\n}\n.markdown :global(.qtag) :global(.qk) {\n opacity: 0.55;\n font-weight: 600;\n margin-right: 3px;\n}\n.markdown :global(.qtag.good) {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #14532d;\n}\n.markdown :global(.qtag.avg) {\n background: #f1f3fa;\n border-color: #e0e4f0;\n color: #475069;\n}\n.markdown :global(.qtag.low) {\n background: #fef3e0;\n border-color: #fde2b8;\n color: #7c4a03;\n}\n\n/* 3M return line below score tags (Peer Analysis dstock cards) */\n.markdown :global(.dstock) :global(.wa-peer-detail) {\n margin-top: 6px;\n font-size: 11.5px;\n}\n\n/* Scoring note footer */\n.markdown :global(.wa-disc-footer) {\n font-size: 11px;\n color: #737b97;\n line-height: 1.5;\n padding: 10px 14px;\n border-top: 1px solid #eceffa;\n}\n\n.bubbleBot {\n align-self: flex-start;\n background: var(--wac-bot-bg);\n color: #1c2438;\n border-bottom-left-radius: 4px;\n}\n\n.bubbleUser {\n align-self: flex-end;\n background: var(--wac-user-bg);\n color: var(--wac-brand-contrast);\n border-bottom-right-radius: 4px;\n}\n\n/* Card responses: the card supplies its own bg/border/radius, so the bubble\n must add no frame, padding or background around it. */\n.bubbleCard {\n align-self: stretch;\n background: transparent;\n padding: 0;\n border-radius: 0;\n}\n\n/* Safety disclaimer below card responses — mirrors HTML prototype `.disc` */\n.disclaimer {\n font-size: 10.5px;\n color: var(--wac-muted);\n line-height: 1.5;\n background: #fff;\n border: 1px solid var(--wac-border);\n border-radius: 12px;\n padding: 10px 12px;\n margin: 6px 0 2px;\n}\n.disclaimer b {\n color: var(--wac-brand);\n}\n\n/* Like / dislike feedback row (above the disclaimer, on card responses) */\n/* Feedback band — mirrors wealth-alpha_1.1.html `.fb` (top border, light band,\n label left, 34×34 rounded-10 buttons, currentColor icons → green/red on-state) */\n.feedbackRow {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 14px;\n background: #fafbff;\n /* Continue the card frame down the sides and round the bottom so the band\n reads as the card's footer (1.1 `.fb` lives inside the card). The top\n border is the section divider above the buttons. */\n border: 1px solid var(--wac-border);\n border-top-color: #eceffa;\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 18px;\n margin-bottom: 4px;\n}\n\n/* Open the bottom of the card the band attaches to, so the two fuse into one\n rounded card. Only the LAST card in a multi-card response connects. */\n.bubbleCard:has(+ .feedbackRow) :global(.wa-analysis-card:last-child) {\n margin-bottom: 0;\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n.feedbackLabel {\n font-size: 11px;\n color: var(--wac-muted);\n font-weight: 600;\n margin-right: auto;\n}\n.feedbackBtn {\n width: 34px;\n height: 34px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid var(--wac-border);\n background: #fff;\n border-radius: 10px;\n color: var(--wac-brand);\n cursor: pointer;\n font-family: inherit;\n transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, color 0.15s ease;\n}\n.feedbackBtn:hover {\n background: var(--wac-chip-bg);\n transform: translateY(-1px);\n}\n.feedbackBtnUp {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #16a34a;\n}\n.feedbackBtnDown {\n background: #fee2e2;\n border-color: #fecaca;\n color: #dc2626;\n}\n.feedbackIcon {\n width: 16px;\n height: 16px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* ── CREATE PORTFOLIO — sector list header: label left, \"3M Return\" right ── */\n.markdown :global(.lbl.wa-sectors-head) {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n.markdown :global(.wa-sectors-ret-lbl) {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.3px;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ── CREATE PORTFOLIO — selectable sector rows (mirrors wealth-alpha_1.1.html .srow) ── */\n.markdown :global(.srow) {\n display: flex;\n align-items: center;\n gap: 11px;\n padding: 11px 12px;\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n background: #fff;\n margin-bottom: 9px;\n cursor: pointer;\n transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;\n}\n.markdown :global(.srow):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.srow):hover {\n border-color: #c7cef0;\n transform: translateY(-1px);\n box-shadow: 0 10px 22px -18px rgba(28, 44, 91, 0.5);\n}\n.markdown :global(.srow.selected) {\n background: linear-gradient(135deg, #ecfdf3, #f7fef9);\n border-color: #86efac;\n}\n.markdown :global(.srow) :global(.box) {\n width: 22px;\n height: 22px;\n flex: 0 0 auto;\n border-radius: 7px;\n border: 2px solid #cdd4ec;\n display: grid;\n place-items: center;\n font-size: 13px;\n font-weight: 800;\n color: #fff;\n transition: 0.15s;\n}\n.markdown :global(.srow.selected) :global(.box) {\n background: #16a34a;\n border-color: #16a34a;\n}\n.markdown :global(.srow.selected) :global(.box)::after {\n content: \"✓\";\n}\n.markdown :global(.srow) :global(.info) {\n flex: 1;\n min-width: 0;\n}\n.markdown :global(.srow) :global(.nm) {\n font-family: 'Sora', 'Manrope', sans-serif;\n font-weight: 700;\n font-size: 13.5px;\n color: #1c2438;\n line-height: 1.2;\n}\n.markdown :global(.srow) :global(.sub) {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n}\n.markdown :global(.srow) :global(.mini) {\n flex: 1;\n height: 6px;\n border-radius: 4px;\n background: #eef0f7;\n overflow: hidden;\n max-width: 90px;\n}\n.markdown :global(.srow) :global(.mini) i {\n display: block;\n height: 100%;\n border-radius: 4px;\n}\n.markdown :global(.srow) :global(.ret) {\n font-family: 'Sora', 'Manrope', sans-serif;\n font-weight: 800;\n font-size: 14.5px;\n flex: 0 0 auto;\n text-align: right;\n min-width: 58px;\n}\n.markdown :global(.tag-pill) {\n font-size: 9px;\n font-weight: 800;\n letter-spacing: 0.4px;\n padding: 3px 7px;\n border-radius: 6px;\n text-transform: uppercase;\n}\n.markdown :global(.tag-pill.strong) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.tag-pill.neutral) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.tag-pill.weak) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-sel-summary) {\n margin-top: 4px;\n padding: 10px 12px;\n border-radius: 12px;\n background: #fff;\n border: 1px dashed #bbf7d0;\n font-size: 12.5px;\n color: #14532d;\n line-height: 1.5;\n}\n.markdown :global(.wa-sel-summary) :global(.chk) {\n color: #16a34a;\n font-weight: 800;\n margin-right: 5px;\n}\n.markdown :global(.wa-sel-summary) b {\n color: #1c2438;\n}\n\n.bubbleMeta {\n font-size: 10px;\n color: var(--wac-muted);\n margin-top: 4px;\n text-align: right;\n}\n\n.chipRow {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n background: var(--wac-chip-bg);\n color: var(--wac-chip-fg);\n border: 1px solid transparent;\n border-radius: 999px;\n font-size: 13px;\n cursor: pointer;\n transition: background 0.15s ease, transform 0.15s ease;\n font-family: inherit;\n}\n\n/* Inline SVG nav-chip icon (Main menu / Prev / Next) — replaces emoji. */\n.chipIcon {\n display: inline-flex;\n align-items: center;\n}\n.chipIcon svg {\n width: 15px;\n height: 15px;\n display: block;\n}\n\n/* \"Main menu\" nav chip — rendered larger than ordinary chips. */\n.chipMain {\n padding: 10px 18px;\n font-size: 15px;\n font-weight: 600;\n gap: 8px;\n}\n.chipMain .chipIcon svg {\n width: 18px;\n height: 18px;\n}\n\n.chip:hover:not(:disabled) {\n background: #d8def2;\n transform: translateY(-1px);\n}\n\n.chipActive {\n background: var(--wac-chip-active-bg);\n color: var(--wac-chip-active-fg);\n}\n\n.chipDisabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.typing {\n align-self: flex-start;\n display: inline-flex;\n gap: 4px;\n padding: 10px 14px;\n background: var(--wac-bot-bg);\n border-radius: 12px;\n border-bottom-left-radius: 4px;\n}\n\n.typingDot {\n width: 7px;\n height: 7px;\n background: var(--wac-muted);\n border-radius: 50%;\n animation: wacBlink 1.2s infinite ease-in-out both;\n}\n\n.typingDot:nth-child(2) {\n animation-delay: 0.18s;\n}\n.typingDot:nth-child(3) {\n animation-delay: 0.36s;\n}\n\n@keyframes wacBlink {\n 0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }\n 40% { opacity: 1; transform: scale(1); }\n}\n\n.input {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n border-top: 1px solid var(--wac-border);\n background: var(--wac-bg);\n}\n\n.inputBox {\n flex: 1;\n padding: 12px 16px;\n border: 1.6px solid var(--wac-brand);\n border-radius: 14px;\n font-size: 14px;\n outline: none;\n font-family: inherit;\n background: var(--wac-bg);\n color: var(--wac-fg);\n}\n\n.inputBox:focus {\n border-color: var(--wac-brand);\n background: var(--wac-bg);\n}\n\n.inputBox:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.sendButton {\n padding: 0 20px;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n border-radius: 14px;\n font-weight: 700;\n cursor: pointer;\n font-size: 14px;\n font-family: inherit;\n}\n\n.sendButton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.hiddenFileInput {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.csvButton {\n flex-shrink: 0;\n padding: 0 12px;\n background: var(--wac-chip-bg);\n color: var(--wac-chip-fg);\n border: 1px solid var(--wac-border);\n border-radius: 999px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n white-space: nowrap;\n}\n\n.csvButton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.authGate {\n margin: auto;\n text-align: center;\n padding: 32px 24px;\n max-width: 280px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n align-items: center;\n}\n\n.authGateIcon {\n font-size: 36px;\n}\n\n.authGateTitle {\n font-size: 16px;\n font-weight: 600;\n}\n\n.authGateText {\n font-size: 13px;\n color: var(--wac-muted);\n line-height: 1.5;\n}\n\n.authGateButton {\n margin-top: 8px;\n padding: 10px 20px;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n border-radius: 999px;\n cursor: pointer;\n font-weight: 600;\n font-size: 14px;\n font-family: inherit;\n}\n\n.authGateDisclaimer {\n margin-top: 16px;\n padding-top: 12px;\n border-top: 1px dashed var(--wac-border);\n font-size: 11px;\n color: var(--wac-muted);\n line-height: 1.5;\n text-align: left;\n width: 100%;\n}\n\n.authGateDisclaimerTitle {\n font-weight: 700;\n letter-spacing: 0.6px;\n font-size: 10px;\n margin-bottom: 4px;\n color: var(--wac-fg);\n}\n\n.errorBanner {\n background: #fef2f2;\n border: 1px solid #fecaca;\n color: #991b1b;\n padding: 8px 12px;\n font-size: 12px;\n border-radius: 8px;\n margin: 0 14px 8px;\n}\n\n/* ── Greeting popup bubble ─────────────────────────────────────── */\n\n.popupBubble {\n position: fixed;\n bottom: 24px;\n z-index: 2147483646;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border-radius: 12px;\n padding: 12px 36px 12px 14px;\n font-size: 13px;\n line-height: 1.45;\n box-shadow: var(--wac-shadow);\n border: none;\n max-width: 240px;\n animation: wacPopIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n/* Shared arrow base — direction is set per-position class below */\n.popupBubble::after {\n content: '';\n position: absolute;\n width: 12px;\n height: 12px;\n background: var(--wac-brand);\n}\n\n/* Popup to the LEFT of a right-positioned button — arrow points right */\n.popupBubbleRight {\n right: 94px;\n}\n\n.popupBubbleRight::after {\n right: -7px;\n top: 50%;\n border-top: 1px solid var(--wac-brand);\n border-right: 1px solid var(--wac-brand);\n transform: translateY(-50%) rotate(45deg);\n}\n\n/* Popup to the RIGHT of a left-positioned button — arrow points left */\n.popupBubbleLeft {\n left: 94px;\n}\n\n.popupBubbleLeft::after {\n left: -7px;\n top: 50%;\n border-bottom: 1px solid var(--wac-brand);\n border-left: 1px solid var(--wac-brand);\n transform: translateY(-50%) rotate(45deg);\n}\n\n.popupDismiss {\n position: absolute;\n top: 8px;\n right: 8px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 14px;\n color: var(--wac-brand-contrast);\n line-height: 1;\n padding: 2px 4px;\n border-radius: 4px;\n font-family: inherit;\n opacity: 0.75;\n}\n\n.popupDismiss:hover {\n background: rgba(255, 255, 255, 0.15);\n opacity: 1;\n}\n\n@keyframes wacPopIn {\n 0% { opacity: 0; transform: scale(0.85) translateY(8px); }\n 100% { opacity: 1; transform: scale(1) translateY(0); }\n}\n\n/* ── Menu grid (root chips rendered as cards) ───────────────────── */\n.menuGrid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 6px;\n margin-top: 6px;\n}\n\n.menuItem {\n background: #fff;\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n padding: 14px;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;\n}\n\n.menuItem:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px -12px rgba(28, 44, 91, 0.45);\n border-color: #d4d9ee;\n}\n\n.menuItemIcon {\n width: 46px;\n height: 46px;\n border-radius: 12px;\n display: grid;\n place-items: center;\n font-size: 22px;\n margin-bottom: 12px;\n}\n\n/* Main-menu SVG icon — mirrors wealth-alpha-final.html .cmd .ico svg */\n.menuItemSvg {\n width: 24px;\n height: 24px;\n stroke: #fff;\n fill: none;\n stroke-width: 2.2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.menuItemTitle {\n font-size: 14px;\n font-weight: 700;\n color: #1c2438;\n line-height: 1.2;\n}\n\n.menuItemSub {\n font-size: 11.5px;\n color: #737b97;\n margin-top: 3px;\n line-height: 1.3;\n}\n\n.menuIconGreen { background: linear-gradient(135deg, #10b981, #059669); }\n.menuIconBlue { background: linear-gradient(135deg, #3b82f6, #2563eb); }\n.menuIconLeaf { background: linear-gradient(135deg, #65c466, #3f9c43); }\n.menuIconRed { background: linear-gradient(135deg, #f43f5e, #e11d48); }\n.menuIconOrange { background: linear-gradient(135deg, #fb923c, #ea580c); }\n.menuIconGold { background: linear-gradient(135deg, #fbbf24, #d97706); }\n.menuIconTeal { background: linear-gradient(135deg, #14b8a6, #0d9488); }\n.menuIconPurple { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }\n\n\n.chat_bubbleBot {\n background-color: var(--wac-bg) !important; \n}"],"mappings":"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","names":["root","headerTitle","menuItemTitle","markdown","floatingButton","positionRight","positionLeft","widget","popupBubbleLeft","popupBubbleRight","header","headerMeta","iconButton","body","bubble","chipRow","chip","chipMain","input","inputBox","sendButton","headerActions","bubbleBot","bubbleUser","bubbleCard","disclaimer","feedbackRow","feedbackLabel","feedbackBtn","feedbackBtnUp","feedbackBtnDown","feedbackIcon","bubbleMeta","chipIcon","chipActive","chipDisabled","typing","typingDot","wacBlink","hiddenFileInput","csvButton","authGate","authGateIcon","authGateTitle","authGateText","authGateButton","authGateDisclaimer","authGateDisclaimerTitle","errorBanner","popupBubble","popupDismiss","wacPopIn","menuGrid","menuItem","menuItemIcon","menuItemSvg","menuItemSub","menuIconGreen","menuIconBlue","menuIconLeaf","menuIconRed","menuIconOrange","menuIconGold","menuIconTeal","menuIconPurple","chat_bubbleBot"]}
|
|
1
|
+
{"version":3,"sources":["../src/styles/chat.module.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');\n\n.root {\n --wac-brand: #1a2d5a;\n --wac-brand-contrast: #ffffff;\n --wac-bg: #ffffff;\n --wac-fg: #1f2937;\n --wac-muted: #6b7280;\n --wac-border: #e5e7eb;\n --wac-bot-bg: #f3f4f6;\n --wac-user-bg: var(--wac-brand);\n --wac-chip-bg: #e7ebf7;\n --wac-chip-fg: #1c2c5b;\n --wac-chip-active-bg: var(--wac-brand);\n --wac-chip-active-fg: #ffffff;\n --wac-radius: 14px;\n --wac-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);\n font-family: 'Manrope', system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n color: var(--wac-fg);\n box-sizing: border-box;\n}\n\n.root *,\n.root *::before,\n.root *::after {\n box-sizing: inherit;\n}\n\n/* Sora for headings/labels/symbols — mirrors the HTML prototype */\n.headerTitle,\n.menuItemTitle,\n.markdown :global(.wa-card-sym),\n.markdown :global(.sec) :global(.lbl),\n.markdown :global(.wa-verdict-lbl) {\n font-family: 'Sora', 'Manrope', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n}\n\n.floatingButton {\n position: fixed;\n bottom: 24px;\n z-index: 2147483646;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n cursor: pointer;\n box-shadow: var(--wac-shadow);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 26px;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n}\n\n.floatingButton:hover {\n transform: translateY(-2px);\n box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);\n}\n\n.positionRight {\n right: 24px;\n}\n\n.positionLeft {\n left: 24px;\n}\n\n.widget {\n position: fixed;\n bottom: 24px;\n z-index: 2147483647;\n width: 420px;\n max-width: calc(100vw - 24px);\n height: min(760px, calc(100vh - 48px));\n background: var(--wac-bg);\n color: var(--wac-fg);\n border-radius: 24px;\n box-shadow: 0 18px 50px -18px rgba(28, 44, 91, 0.45);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid var(--wac-border);\n}\n\n@media (max-width: 640px) {\n /* Outer shell — a contained floating panel (NOT full-screen), so the host\n website stays visible around it. Small margins on every side + rounded\n corners, capped height so it never swallows the whole viewport. */\n .widget {\n width: calc(100vw - 24px);\n max-width: 420px;\n height: calc(100dvh - 96px); /* dvh dodges the mobile URL-bar gap */\n max-height: 640px;\n bottom: 12px;\n border-radius: 20px;\n }\n .positionRight,\n .positionLeft {\n right: 12px;\n left: auto;\n }\n .floatingButton {\n width: 56px;\n height: 56px;\n bottom: 16px;\n }\n /* Both positions collapse to right: 6px on mobile, so sync popup */\n .popupBubbleLeft,\n .popupBubbleRight {\n right: 72px;\n left: auto;\n bottom: 16px;\n max-width: calc(100vw - 84px);\n }\n\n /* ── Scale internal chrome down for narrow screens ───────────────────────\n Everything below is px-based and designed for the 420px desktop widget,\n so on a phone it reads oversized. Trim type + spacing ~10-15%. */\n .header {\n padding: 12px 14px 11px;\n }\n .headerTitle {\n font-size: 15px;\n }\n .headerMeta {\n font-size: 10px;\n }\n .iconButton {\n font-size: 17px;\n padding: 4px 6px;\n }\n .body {\n padding: 10px;\n gap: 8px;\n }\n .bubble {\n font-size: 13.5px;\n padding: 9px 12px;\n }\n .chipRow {\n gap: 5px;\n }\n .chip {\n font-size: 12px;\n padding: 6px 10px;\n }\n .chipMain {\n font-size: 13px;\n padding: 8px 14px;\n }\n .input {\n padding: 8px 10px;\n gap: 6px;\n }\n .inputBox {\n padding: 10px 13px;\n }\n .sendButton {\n padding: 0 16px;\n font-size: 13px;\n }\n\n /* Rich analysis-card internals — only the largest elements need trimming. */\n .markdown :global(.wa-card-head) {\n padding: 12px 14px 11px;\n }\n .markdown :global(.wa-card-sym) {\n font-size: 15px;\n }\n .markdown :global(.sec),\n .markdown :global(.wa-verdict) {\n padding: 10px 12px;\n }\n .markdown :global(.mgrid) :global(.wa-price) {\n padding: 10px 12px;\n }\n .markdown :global(.mgrid) :global(.wa-price-value) {\n font-size: 16px;\n }\n .markdown :global(.wa-pl) {\n font-size: 18px;\n }\n}\n\n.header {\n background: linear-gradient(135deg, var(--wac-brand) 0%, #15224a 100%);\n color: var(--wac-brand-contrast);\n padding: 15px 18px 13px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n\n.headerTitle {\n font-weight: 700;\n font-size: 17px;\n line-height: 1.2;\n}\n\n.headerMeta {\n font-size: 11px;\n opacity: 0.85;\n margin-top: 2px;\n}\n\n.headerActions {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\n.iconButton {\n background: transparent;\n color: inherit;\n border: none;\n cursor: pointer;\n font-size: 18px;\n padding: 4px 8px;\n border-radius: 6px;\n line-height: 1;\n}\n\n.iconButton:hover {\n background: rgba(255, 255, 255, 0.15);\n}\n\n.body {\n flex: 1;\n overflow-y: auto;\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background: #fafafa;\n scroll-behavior: smooth;\n}\n\n.body::-webkit-scrollbar {\n width: 6px;\n}\n\n.body::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 3px;\n}\n\n.bubble {\n /* max-width: 80%; */\n padding: 10px 14px;\n border-radius: 12px;\n font-size: 14px;\n line-height: 1.45;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* markdown-it output inside a bot bubble.\n markdown-it (breaks: true) emits a <br> for every \\n in the source,\n so we MUST NOT also apply white-space: pre-wrap here — otherwise every\n newline gets rendered twice (once via <br>, once via the literal \\n in\n CSS) and the bubble looks double-spaced. */\n.markdown {\n white-space: normal;\n --card-bg: #ffffff;\n --text: var(--wac-fg);\n --text-muted: var(--wac-muted);\n --green: #16a34a;\n --red: #dc2626;\n}\n.markdown p {\n margin: 0 0 6px 0;\n}\n.markdown p:last-child {\n margin-bottom: 0;\n}\n.markdown br {\n /* Make consecutive <br>s collapse a bit — keeps line rhythm tight. */\n line-height: 1.4;\n}\n.markdown strong {\n font-weight: 700;\n color: var(--wac-fg);\n letter-spacing: 0.2px;\n}\n.markdown em {\n font-style: italic;\n color: var(--wac-muted);\n}\n.markdown ul,\n.markdown ol {\n margin: 4px 0 6px 0;\n padding-left: 22px;\n}\n.markdown li {\n margin: 1px 0;\n}\n.markdown a {\n color: var(--wac-brand);\n text-decoration: underline;\n}\n.markdown code {\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 4px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 12.5px;\n}\n.markdown h1,\n.markdown h2,\n.markdown h3 {\n margin: 6px 0 2px 0;\n font-size: 14px;\n font-weight: 700;\n}\n\n/* Price snapshot grid (backend: price_snapshot_template.py).\n Seamless joined panel — 1px hairline dividers + one rounded border around the\n whole grid (mirrors wealth-alpha_1.1.html `.mgrid`), NOT separate boxes. */\n.markdown :global(.mgrid) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 1px;\n background: #eceffa;\n border: 1px solid #eceffa;\n border-radius: 10px;\n overflow: hidden;\n margin-top: 8px;\n}\n\n.markdown :global(.mgrid) :global(.wa-price) {\n background: var(--card-bg, #fff);\n padding: 12px 14px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.markdown :global(.mgrid) :global(.k) {\n font-size: 11px;\n color: var(--text-muted, #888);\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value) {\n font-size: 18px;\n font-weight: 700;\n color: var(--text, #111);\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value.up) {\n color: var(--green);\n}\n\n.markdown :global(.mgrid) :global(.wa-price-value.down) {\n color: var(--red);\n}\n\n.markdown :global(.mgrid) :global(.n) {\n font-size: 12px;\n font-weight: 500;\n color: var(--text-muted, #888);\n}\n\n.markdown :global(.mgrid) :global(.n.up) {\n color: var(--green);\n}\n\n.markdown :global(.mgrid) :global(.n.down) {\n color: var(--red);\n}\n\n.markdown :global(.sec) :global(.lbl) {\n font-size: 10.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.7px;\n color: #1c2c5b;\n margin-bottom: 6px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.markdown :global(.mgrid) :global(.wa-price.full-width) {\n grid-column: 1 / -1;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n/* ── Stock Analysis Card — existing investor flow ────────────────────────── */\n\n/* Outer card wrapper */\n.markdown :global(.wa-analysis-card) {\n background: #fff;\n border: 1px solid #e6e9f5;\n border-radius: 18px;\n overflow: hidden;\n box-shadow: 0 12px 34px -24px rgba(28, 44, 91, 0.4);\n margin-bottom: 4px;\n}\n\n/* Card header — navy gradient */\n.markdown :global(.wa-card-head) {\n background: linear-gradient(135deg, #22356e 0%, #15224a 100%);\n color: #fff;\n padding: 14px 16px 13px;\n position: relative;\n}\n.markdown :global(.wa-card-date) {\n float: right;\n font-size: 11px;\n opacity: 0.7;\n font-weight: 600;\n}\n.markdown :global(.wa-card-tag) {\n display: inline-block;\n font-size: 9.5px;\n font-weight: 800;\n letter-spacing: 1px;\n background: rgba(255, 255, 255, 0.16);\n padding: 3px 9px;\n border-radius: 6px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-card-sym) {\n font-weight: 700;\n font-size: 17px;\n line-height: 1.2;\n}\n.markdown :global(.wa-card-meta) {\n font-size: 11.5px;\n opacity: 0.8;\n margin-top: 3px;\n}\n\n/* Section container */\n.markdown :global(.sec) {\n padding: 12px 14px;\n border-top: 1px solid #eceffa;\n}\n\n/* Metric grid — flat variant inherits the seamless joined panel from `.mgrid`\n above; just adjusts the top margin (mirrors 1.1 `.mgrid.flat`). */\n.markdown :global(.mgrid.flat) {\n margin-top: 9px;\n}\n\n/* Metric cell — no individual border/radius; the parent grid frames them and\n the 1px gap shows the divider line through (1.1 `.m`). */\n.markdown :global(.mgrid) :global(.m) {\n background: #fff;\n padding: 10px 13px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.markdown :global(.mgrid) :global(.m) :global(.k) {\n font-size: 9.5px;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: 700;\n}\n.markdown :global(.mgrid) :global(.m) :global(.v) {\n font-size: 14px;\n font-weight: 700;\n color: #1c2438;\n margin-top: 2px;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n) {\n font-size: 10.5px;\n font-weight: 700;\n color: #737b97;\n margin-top: 1px;\n}\n/* Score colour modifiers on .n inside metric cells */\n.markdown :global(.mgrid) :global(.m) :global(.n.good) {\n color: #16a34a;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.avg) {\n color: #737b97;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.low) {\n color: #b45309;\n}\n\n/* Regime label inside metric cell */\n.markdown :global(.wa-regime) {\n font-size: 12px;\n}\n\n/* Your Position block */\n.markdown :global(.wa-pos) {\n margin-top: 9px;\n border-radius: 12px;\n padding: 12px 14px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n}\n.markdown :global(.wa-pos.profit) {\n background: linear-gradient(135deg, #ecfdf3, #f7fef9);\n border-color: #bbf7d0;\n}\n.markdown :global(.wa-pos.loss) {\n background: linear-gradient(135deg, #fef2f2, #fff5f5);\n border-color: #fecaca;\n}\n.markdown :global(.wa-pl) {\n font-weight: 800;\n font-size: 22px;\n line-height: 1;\n color: #1c2438;\n}\n.markdown :global(.wa-pl.up) {\n color: #16a34a;\n}\n.markdown :global(.wa-pl.down) {\n color: #dc2626;\n}\n.markdown :global(.wa-zone) {\n font-size: 11px;\n font-weight: 700;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n margin-top: 4px;\n}\n.markdown :global(.wa-summ) {\n font-size: 12.5px;\n line-height: 1.5;\n margin-top: 8px;\n color: #3a4159;\n}\n\n/* Key-value rows (Trend Structure, Indicators) */\n.markdown :global(.kv) {\n display: flex;\n gap: 8px;\n font-size: 12.5px;\n line-height: 1.5;\n margin-bottom: 7px;\n}\n.markdown :global(.kv:last-child) {\n margin-bottom: 0;\n}\n.markdown :global(.kk) {\n font-weight: 700;\n color: #1c2c5b;\n flex: 0 0 auto;\n min-width: 90px;\n}\n.markdown :global(.vv) {\n color: #3a4159;\n}\n\n/* Key-value grid (e.g. Trend Signals): the label column auto-sizes to the\n widest label so every value starts on the same left edge, and wrapped value\n lines hang-indent to that edge. Matches the reference's aligned kv layout. */\n.markdown :global(.wa-kv-grid) {\n display: grid;\n grid-template-columns: max-content 1fr;\n column-gap: 14px;\n row-gap: 7px;\n font-size: 12.5px;\n line-height: 1.5;\n}\n/* Legacy rows: dissolve the .kv flex box so its .kk/.vv join the grid. */\n.markdown :global(.wa-kv-grid) :global(.kv) {\n display: contents;\n}\n.markdown :global(.wa-kv-grid) :global(.kv) :global(.kk),\n.markdown :global(.wa-kv-grid) :global(.wa-kk) {\n font-weight: 700;\n color: #1c2c5b;\n min-width: 0; /* reset the global 90px so the key column fits its content */\n}\n.markdown :global(.wa-kv-grid) :global(.kv) :global(.vv),\n.markdown :global(.wa-kv-grid) :global(.wa-vv) {\n color: #3a4159;\n}\n\n/* Crypto list — two-column table: name column auto-sizes to the widest coin\n name so every price/ticker aligns on the same left edge. */\n.markdown :global(.wa-coin-grid) {\n display: grid;\n grid-template-columns: max-content 1fr;\n column-gap: 12px;\n row-gap: 7px;\n font-size: 12.5px;\n line-height: 1.5;\n align-items: baseline;\n}\n.markdown :global(.wa-coin-name) {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.wa-coin-px) {\n color: #3a4159;\n}\n\n/* Recovery level value */\n.markdown :global(.wa-recovery) {\n font-size: 11.5px;\n color: #3a4159;\n}\n\n/* Verdict block */\n.markdown :global(.wa-verdict) {\n padding: 13px 16px;\n border-top: 1px solid #eceffa;\n background: #fafbff;\n}\n.markdown :global(.wa-verdict-lbl) {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.7px;\n text-transform: uppercase;\n color: #1c2c5b;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-verdict-list) {\n margin: 0;\n padding-left: 20px;\n list-style-type: disc;\n list-style-position: outside;\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n.markdown :global(.wa-verdict-list) li {\n display: list-item;\n margin-bottom: 6px;\n padding-left: 2px;\n}\n.markdown :global(.wa-verdict-list) li:last-child {\n margin-bottom: 0;\n}\n\n/* Business Health bullets and scale note */\n.markdown :global(.wa-bullets) {\n margin: 8px 0 4px 0;\n padding-left: 17px;\n font-size: 12px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-bullets) li {\n margin-bottom: 4px;\n}\n.markdown :global(.wa-scale-note) {\n font-size: 10.5px;\n color: #737b97;\n margin-top: 6px;\n line-height: 1.4;\n}\n\n/* VS Peers */\n.markdown :global(.wa-peer-ctx) {\n font-size: 12px;\n color: #737b97;\n margin-bottom: 8px;\n font-weight: bold;\n}\n.markdown :global(.wa-peer-row) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 7px 10px;\n border-radius: 8px;\n background: #f8f9fc;\n border: 1px solid #eceffa;\n margin-bottom: 6px;\n font-size: 12px;\n}\n.markdown :global(.wa-peer-sym) {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.wa-peer-detail) {\n color: #3a4159;\n}\n.markdown :global(.wa-peer-detail) :global(.up) {\n color: #16a34a;\n font-weight: 700;\n}\n.markdown :global(.wa-peer-detail) :global(.down) {\n color: #dc2626;\n font-weight: 700;\n}\n.markdown :global(.wa-peer-empty) {\n font-size: 12px;\n color: #737b97;\n line-height: 1.5;\n padding: 4px 0;\n}\n.markdown :global(.wa-top-peer) {\n font-size: 11.5px;\n color: #1c2c5b;\n font-weight: 600;\n margin-top: 4px;\n padding: 6px 10px;\n background: #eef2ff;\n border-radius: 8px;\n}\n\n/* ── New Investor Flow — Signal, AI Lens, Indicators, Invalidation ───────── */\n\n/* Signal badge + label row */\n.markdown :global(.wa-signal-header) {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n margin-bottom: 10px;\n}\n.markdown :global(.wa-signal-lbl) {\n font-size: 13px;\n font-weight: 600;\n color: #3a4159;\n flex: 1;\n}\n\n/* Reference-style confidence score (wealth-alpha-final.html) — prominent,\n right-aligned, colour-coded by sentiment. Used in stock-analysis cards. */\n.markdown :global(.wa-conf-sec),\n.markdown :global(.wa-action-conf) {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.markdown :global(.wa-conf-score) {\n margin-left: auto;\n font-weight: 800;\n font-size: 13px;\n}\n.markdown :global(.wa-conf-score.pos) {\n color: #16a34a;\n}\n.markdown :global(.wa-conf-score.neg) {\n color: #dc2626;\n}\n.markdown :global(.wa-conf-score.neu) {\n color: #b45309;\n}\n/* Descriptive confidence note under the signal score. */\n.markdown :global(.wa-conf-note) {\n margin: 8px 0 0;\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-signal-level) {\n padding: 10px 0;\n}\n.markdown :global(.wa-signal-level) :global(.kv) {\n gap: 4px;\n align-items: center;\n margin-bottom: 0;\n}\n.markdown :global(.wa-signal-level) :global(.kk) {\n min-width: auto;\n}\n\n/* Direction / action badges (shared across flows) */\n.markdown :global(.wa-badge) {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 6px 13px;\n border-radius: 999px;\n font-size: 12px;\n font-weight: 800;\n letter-spacing: 0.3px;\n white-space: nowrap;\n}\n.markdown :global(.wa-b-buy) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.wa-b-sell) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-b-wait) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.wa-b-info) {\n background: #e0ecff;\n color: #2563eb;\n}\n\n/* ── Macro Event card (.evt) ─────────────────────────────────────────────── */\n.markdown :global(.evt) {\n border: 1px solid #e6e9f5;\n border-radius: 16px;\n overflow: hidden;\n margin-bottom: 12px;\n background: #fff;\n box-shadow: 0 12px 30px -24px rgba(28, 44, 91, 0.4);\n}\n.markdown :global(.evt .top) {\n padding: 13px 15px;\n display: flex;\n gap: 11px;\n align-items: flex-start;\n}\n.markdown :global(.evt .num) {\n width: 26px;\n height: 26px;\n flex: 0 0 auto;\n border-radius: 8px;\n background: #1c2c5b;\n color: #fff;\n display: grid;\n place-items: center;\n font-weight: 700;\n font-size: 13px;\n}\n.markdown :global(.evt .ti) {\n font-weight: 700;\n font-size: 13.5px;\n line-height: 1.25;\n color: #1c2438;\n}\n.markdown :global(.evt .dt) {\n font-size: 11px;\n color: #737b97;\n margin-top: 2px;\n}\n.markdown :global(.evt .news) {\n padding: 0 15px 12px;\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.evt .news .imp) {\n display: inline-block;\n margin-top: 7px;\n}\n.markdown :global(.evt .body) {\n padding: 11px 15px;\n border-top: 1px solid #eceffa;\n background: #fbfcff;\n}\n.markdown :global(.evt .body) :global(.lbl) {\n font-size: 10.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.7px;\n color: #1c2c5b;\n margin-top: 8px;\n margin-bottom: 6px;\n}\n.markdown :global(.evt .body) :global(.wa-verdict-text) {\n margin: 4px 0 0;\n}\n\n/* ── Sector impact block (.impact) ──────────────────────────────────────── */\n.markdown :global(.impact) {\n margin-top: 8px;\n}\n.markdown :global(.ih) {\n font-size: 10.5px;\n font-weight: 800;\n letter-spacing: 0.4px;\n text-transform: uppercase;\n margin-bottom: 7px;\n display: flex;\n align-items: center;\n gap: 6px;\n /* Plain colour-coded bullet label (no box) — matches wealth-alpha-final.html. */\n}\n.markdown :global(.ih.neg) { color: #dc2626; }\n.markdown :global(.ih.mod) { color: #b45309; }\n/* Opportunity header keeps its rounded green box; neg/mod stay plain bullets. */\n.markdown :global(.ih.pos) {\n color: #16a34a;\n padding: 9px 12px;\n border: 1px solid #86efac;\n border-radius: 10px;\n background: #f3fdf6;\n}\n\n/* ── Sector impact pill (.pill) ─────────────────────────────────────────── */\n.markdown :global(.pill) {\n display: block;\n font-size: 12px;\n line-height: 1.45;\n padding: 8px 11px;\n border-radius: 10px;\n margin-bottom: 6px;\n border: 1px solid;\n}\n.markdown :global(.pill b) { font-weight: 700; }\n.markdown :global(.pill.neg) {\n background: #fee2e2;\n border-color: #fecaca;\n color: #7f1d1d;\n}\n.markdown :global(.pill.mod) {\n background: #fef3e0;\n border-color: #fde2b8;\n color: #7c4a03;\n}\n.markdown :global(.pill.pos) {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #14532d;\n}\n\n/* Confidence score row */\n.markdown :global(.wa-conf-row) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-top: 10px;\n padding: 8px 12px;\n background: #f8f9fc;\n border-radius: 10px;\n border: 1px solid #eceffa;\n}\n.markdown :global(.wa-conf-badge) {\n font-size: 13px;\n font-weight: 800;\n padding: 4px 10px;\n border-radius: 999px;\n background: #eceffa;\n color: #1c2c5b;\n}\n.markdown :global(.wa-conf-badge.good) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.wa-conf-badge.low) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-conf-badge.avg) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.wa-conf-text) {\n font-size: 12px;\n color: #3a4159;\n flex: 1;\n}\n\n/* AI Lens */\n.markdown :global(.wa-ai-heading) {\n font-size: 13.5px;\n font-weight: 700;\n color: #1c2c5b;\n margin-bottom: 5px;\n}\n.markdown :global(.wa-ai-insight) {\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n margin-bottom: 6px;\n}\n\n/* Invalidation */\n.markdown :global(.wa-inv-text) {\n font-size: 12.5px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.wa-inv-status) {\n margin-top: 8px;\n}\n\n/* Text verdict (new investor flow — single string, not a bullet list) */\n.markdown :global(.wa-verdict-text) {\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n\n/* ── Portfolio Risk — Gauge, Action Rows, Clist, Allocation Bars ────────── */\n\n/* Key-levels price-position bar (.meter) — dot marks where the current price\n sits between stop and breakout. Mirrors wealth-alpha-final.html `.meter`. */\n.markdown :global(.meter) {\n height: 8px;\n border-radius: 6px;\n background: linear-gradient(90deg, #e2e6f3, #cfd6ee);\n position: relative;\n margin: 6px 0 22px;\n}\n.markdown :global(.meter) :global(.dot) {\n position: absolute;\n top: -3px;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #1c2c5b;\n border: 3px solid #fff;\n box-shadow: 0 2px 6px rgba(28, 44, 91, 0.5);\n transform: translateX(-50%);\n}\n.markdown :global(.meter) :global(.lo),\n.markdown :global(.meter) :global(.hi) {\n position: absolute;\n top: 13px;\n font-size: 11px;\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.meter) :global(.lo) {\n left: 0;\n}\n.markdown :global(.meter) :global(.hi) {\n right: 0;\n}\n\n/* Health score gauge (red → amber → green gradient) */\n.markdown :global(.gauge) {\n height: 10px;\n border-radius: 6px;\n background: linear-gradient(90deg, #dc2626 0%, #f59e0b 50%, #16a34a 100%);\n position: relative;\n margin: 6px 0 28px;\n}\n.markdown :global(.wa-portfolio-gauge-wrap) {\n padding: 4px 22px 32px;\n overflow: visible;\n}\n.markdown :global(.wa-portfolio-health-gauge) {\n margin: 6px 0 0;\n}\n.markdown :global(.gauge) :global(.pin),\n.markdown :global(.wa-portfolio-gauge-pin) {\n position: absolute;\n top: -4px;\n width: 5px;\n height: 18px;\n border-radius: 3px;\n background: #1c2c5b;\n box-shadow: 0 0 0 3px #fff;\n transform: translateX(-50%);\n}\n.markdown :global(.gauge) :global(.lab),\n.markdown :global(.wa-portfolio-gauge-score) {\n position: absolute;\n top: 17px;\n font-size: 11px;\n font-weight: 800;\n color: #1c2c5b;\n transform: translateX(-50%);\n white-space: nowrap;\n}\n\n/* Portfolio performance header — two-line summary */\n.markdown :global(.wa-portfolio-performance-head) :global(.wa-portfolio-header-title) {\n margin-top: 2px;\n line-height: 1.25;\n}\n.markdown :global(.wa-portfolio-header-meta) {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.markdown :global(.wa-portfolio-header-summary) {\n font-size: 11.5px;\n line-height: 1.45;\n opacity: 0.92;\n color: #fff;\n}\n.markdown :global(.wa-portfolio-header-risk) {\n font-size: 11px;\n line-height: 1.4;\n opacity: 0.75;\n color: #fff;\n}\n\n/* Portfolio health section spacing */\n.markdown :global(.wa-portfolio-health-section) {\n overflow: visible;\n}\n.markdown :global(.wa-portfolio-health-verdict) {\n margin-top: 2px;\n}\n\n/* CAGR / Risk metric rows */\n.markdown :global(.wa-portfolio-metrics-block) {\n padding: 10px 0 6px;\n margin-top: 4px;\n}\n.markdown :global(.wa-portfolio-metric-row) {\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-metric-row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-metric-label) {\n min-width: 48px;\n flex-shrink: 0;\n}\n.markdown :global(.wa-portfolio-metric-value) {\n flex: 1;\n line-height: 1.45;\n}\n\n/* Portfolio optimization bullet lists */\n.markdown :global(.wa-portfolio-bullet-list) {\n margin: 0;\n padding-left: 20px;\n list-style-type: disc;\n list-style-position: outside;\n font-size: 12.5px;\n line-height: 1.55;\n color: #3a4159;\n}\n.markdown :global(.wa-portfolio-bullet-list) li {\n display: list-item;\n margin-bottom: 6px;\n padding-left: 2px;\n}\n.markdown :global(.wa-portfolio-bullet-list) li:last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-concerns-list),\n.markdown :global(.wa-portfolio-actions-needed-list) {\n margin-top: 2px;\n}\n.markdown :global(.wa-portfolio-verdict-block) :global(.wa-portfolio-verdict-list) {\n margin-top: 0;\n}\n\n/* Health check — Current Mix vs Target (Stocks row full-width centered) */\n.markdown :global(.wa-portfolio-mix-grid) :global(.wa-portfolio-mix-stocks-full) {\n grid-column: 1 / -1;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n.markdown :global(.wa-portfolio-mix-stocks-full) :global(.v) {\n text-align: center;\n}\n\n/* Health check — Stock / ETF deviation rows */\n.markdown :global(.wa-portfolio-deviation-block) {\n padding: 10px 0 4px;\n margin-top: 6px;\n}\n.markdown :global(.wa-portfolio-deviation-row) {\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-portfolio-deviation-row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-deviation-label) {\n min-width: 108px;\n flex-shrink: 0;\n}\n.markdown :global(.wa-portfolio-deviation-value) {\n flex: 1;\n line-height: 1.45;\n}\n\n/* Health check — Structure Points cards */\n.markdown :global(.wa-portfolio-structure-section) {\n padding-bottom: 14px;\n}\n.markdown :global(.wa-portfolio-structure-card) {\n border: 1px solid #e6e9f5;\n border-radius: 12px;\n padding: 11px 13px;\n margin-bottom: 8px;\n background: #f8f9fc;\n}\n.markdown :global(.wa-portfolio-structure-card):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-structure-card-head) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-structure-symbol) {\n font-weight: 800;\n font-size: 13px;\n color: #1c2c5b;\n letter-spacing: 0.02em;\n}\n.markdown :global(.wa-portfolio-structure-score-badge) {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 999px;\n background: #eceffa;\n color: #1c2c5b;\n white-space: nowrap;\n}\n.markdown :global(.wa-portfolio-structure-line) {\n font-size: 12px;\n line-height: 1.45;\n color: #3a4159;\n margin-bottom: 4px;\n}\n.markdown :global(.wa-portfolio-structure-line) :global(.up) {\n color: var(--green);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-structure-line) :global(.down) {\n color: var(--red);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-structure-line):last-of-type {\n margin-bottom: 0;\n}\n.markdown :global(.wa-portfolio-structure-meta) {\n font-size: 11.5px;\n line-height: 1.4;\n color: #737b97;\n margin-top: 4px;\n}\n\n/* Portfolio build — Sector Allocation card layout */\n.markdown :global(.wa-portfolio-sector-card-head) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 6px;\n margin-bottom: 8px;\n}\n.markdown :global(.wa-portfolio-sector-return) {\n flex: 1;\n text-align: center;\n font-size: 11px;\n font-weight: 600;\n color: #3a4159;\n white-space: nowrap;\n}\n.markdown :global(.wa-portfolio-sector-return) :global(.up) {\n color: var(--green);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-sector-return) :global(.down) {\n color: var(--red);\n font-weight: 700;\n}\n.markdown :global(.wa-portfolio-sector-capital-line) {\n font-size: 12px;\n font-weight: 700;\n color: #3a4159;\n margin-bottom: 6px;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) {\n list-style: none;\n padding-left: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li {\n margin-bottom: 4px;\n padding-left: 0;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li::before {\n content: \"· \";\n font-weight: 700;\n color: #737b97;\n}\n.markdown :global(.wa-portfolio-sector-bullet-list) li:last-child {\n margin-bottom: 0;\n}\n\n/* Health verdict text */\n.markdown :global(.wa-health-text) {\n font-size: 12px;\n font-weight: 600;\n color: #dc2626;\n line-height: 1.5;\n margin-top: 4px;\n}\n.markdown :global(.wa-health-text.ok) {\n color: #16a34a;\n}\n.markdown :global(.wa-health-text.warn) {\n color: #b45309;\n}\n\n/* Action rows — EXIT / TRIM / ADD / HOLD / SWITCH / REVIEW */\n.markdown :global(.act) {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 12px;\n border-radius: 12px;\n margin-bottom: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n}\n.markdown :global(.act):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.act.exit) {\n background: #fee2e2;\n border-color: #fecaca;\n}\n.markdown :global(.act.trim) {\n background: #fef3e0;\n border-color: #fde2b8;\n}\n.markdown :global(.act.add) {\n background: #dcfce7;\n border-color: #bbf7d0;\n}\n.markdown :global(.act.hold) {\n background: #f1f3fa;\n border-color: #e0e4f0;\n}\n.markdown :global(.act.switch) {\n background: #e0ecff;\n border-color: #bfdbfe;\n}\n/* Action type label pill */\n.markdown :global(.act) :global(.at) {\n flex: 0 0 auto;\n font-size: 10px;\n font-weight: 800;\n letter-spacing: 0.5px;\n padding: 4px 8px;\n border-radius: 6px;\n color: #fff;\n white-space: nowrap;\n}\n.markdown :global(.act.exit) :global(.at) { background: #dc2626; }\n.markdown :global(.act.trim) :global(.at) { background: #b45309; }\n.markdown :global(.act.add) :global(.at) { background: #16a34a; }\n.markdown :global(.act.hold) :global(.at) { background: #737b97; }\n.markdown :global(.act.switch) :global(.at) { background: #2563eb; }\n/* Action description */\n.markdown :global(.act) :global(.ad) {\n font-size: 12.5px;\n line-height: 1.45;\n}\n.markdown :global(.act) :global(.ad) b {\n font-weight: 700;\n color: #1c2c5b;\n}\n.markdown :global(.act) :global(.ad) :global(.r) {\n color: #3a4159;\n display: block;\n margin-top: 2px;\n}\n\n/* Concerns / actions bullet list */\n.markdown :global(.clist) {\n margin: 0;\n padding-left: 17px;\n font-size: 12px;\n line-height: 1.5;\n color: #3a4159;\n}\n.markdown :global(.clist) li {\n margin-bottom: 5px;\n}\n.markdown :global(.clist) li:last-child {\n margin-bottom: 0;\n}\n\n/* Asset allocation bars */\n.markdown :global(.alloc) {\n margin-top: 6px;\n}\n.markdown :global(.alloc) :global(.row) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-bottom: 9px;\n font-size: 12px;\n}\n.markdown :global(.alloc) :global(.row):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.alloc) :global(.nm) {\n width: 54px;\n font-weight: 700;\n color: #1c2c5b;\n flex-shrink: 0;\n}\n.markdown :global(.alloc) :global(.bar) {\n flex: 1;\n height: 8px;\n border-radius: 5px;\n background: #eef0f7;\n overflow: hidden;\n}\n.markdown :global(.alloc) :global(.bar) i {\n display: block;\n height: 100%;\n border-radius: 5px;\n background: #1c2c5b;\n}\n.markdown :global(.alloc) :global(.pct) {\n width: 42px;\n text-align: right;\n font-weight: 700;\n color: #1c2438;\n flex-shrink: 0;\n}\n\n/* Return value colour helpers inside metric grid .v cells */\n.markdown :global(.mgrid) :global(.v.up) {\n color: var(--green);\n}\n.markdown :global(.mgrid) :global(.v.down) {\n color: var(--red);\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.up) {\n color: var(--green);\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.down) {\n color: var(--red);\n}\n.markdown :global(.mgrid) :global(.v.low) {\n color: #b45309;\n}\n\n/* Signal score emphasis inside kv rows (Tradable Candidate) */\n.markdown :global(.kv) :global(.vv) :global(b.up) {\n color: var(--green);\n}\n.markdown :global(.kv) :global(.vv) :global(b.down) {\n color: var(--red);\n}\n.markdown :global(.kv) :global(.vv) :global(b.low) {\n color: #b45309;\n}\n\n/* ── Crypto Analysis — stance row, metric notes, kv stacks ──────────────── */\n.markdown :global(.wa-crypto-stance-row) {\n margin-top: 8px;\n}\n.markdown :global(.wa-crypto-stance-row-lg) {\n margin-top: 11px;\n}\n.markdown :global(.wa-crypto-stance-reason) {\n font-size: 12px;\n color: #3a4159;\n margin-top: 8px;\n line-height: 1.5;\n}\n.markdown :global(.mgrid) :global(.m) :global(.n.wa-crypto-metric-detail) {\n font-weight: 500;\n line-height: 1.35;\n}\n.markdown :global(.wa-crypto-kv-primary) {\n display: block;\n font-size: 14px;\n font-weight: 700;\n}\n.markdown :global(.wa-crypto-kv-note) {\n display: block;\n font-size: 10.5px;\n font-weight: 700;\n margin-top: 2px;\n}\n.markdown :global(.wa-crypto-kv-note.up) {\n color: var(--green);\n}\n.markdown :global(.wa-crypto-kv-note.down) {\n color: var(--red);\n}\n.markdown :global(.wa-crypto-kv-note.low) {\n color: #b45309;\n}\n.markdown :global(.wa-crypto-kv-note.avg) {\n color: #737b97;\n}\n.markdown :global(.wa-crypto-kv-detail) {\n display: block;\n font-size: 10.5px;\n font-weight: 500;\n color: #737b97;\n margin-top: 2px;\n line-height: 1.35;\n}\n\n/* ── Stock Discovery & New Listings Card Components ─────────────────────── */\n\n/* Individual stock card */\n.markdown :global(.dstock) {\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n padding: 12px 13px;\n margin-bottom: 10px;\n background: #fff;\n}\n.markdown :global(.dstock):last-child {\n margin-bottom: 0;\n}\n\n/* Stock card header row */\n.markdown :global(.dh) {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-bottom: 9px;\n}\n\n/* Rank number chip */\n.markdown :global(.rank) {\n width: 24px;\n height: 24px;\n flex: 0 0 auto;\n border-radius: 6px;\n background: #e7ebf7;\n color: #1c2c5b;\n display: grid;\n place-items: center;\n font-weight: 800;\n font-size: 12px;\n}\n\n/* Stock symbol + company name */\n.markdown :global(.nm) {\n font-weight: 700;\n font-size: 13.5px;\n line-height: 1.2;\n color: #1c2438;\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n}\n/* Inline badge inside .nm — smaller than the standalone badge */\n.markdown :global(.nm) :global(.wa-badge) {\n font-size: 10px;\n padding: 3px 8px;\n vertical-align: middle;\n}\n.markdown :global(.co) {\n font-size: 10.5px;\n color: #737b97;\n margin-top: 2px;\n}\n\n/* Fundamental score (right-aligned) */\n.markdown :global(.dstock) :global(.fs) {\n margin-left: auto;\n text-align: right;\n flex-shrink: 0;\n}\n.markdown :global(.dstock) :global(.fs) :global(.num) {\n font-weight: 800;\n font-size: 17px;\n color: #1c2c5b;\n line-height: 1;\n}\n.markdown :global(.dstock) :global(.fs) :global(.cap) {\n font-size: 8.5px;\n color: #737b97;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n margin-top: 2px;\n}\n/* Discovery stock symbol — 14px per reference (.dstock .nm), vs the generic\n .nm (13.5px) shared with the sector-selection rows. */\n.markdown :global(.dstock) :global(.nm) {\n font-size: 14px;\n}\n\n/* Quality/Value/Growth/Confidence tag row */\n/* Score tags (Quality/Value/Growth/Conf.) render as small inline pills that\n wrap — matching the wealth-alpha-final.html `.qrow`/`.qtag` reference. The\n backend still tags these rows with `qrow-grid`, but we intentionally do NOT\n turn them into a large 2-column grid; they stay compact like the design. */\n.markdown :global(.qrow),\n.markdown :global(.qrow.qrow-grid) {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n align-items: center;\n}\n.markdown :global(.qtag) {\n font-size: 10.5px;\n font-weight: 700;\n padding: 4px 9px;\n border-radius: 7px;\n border: 1px solid #e0e4f0;\n background: #f1f3fa;\n color: #475069;\n}\n.markdown :global(.qtag) :global(.qk) {\n opacity: 0.55;\n font-weight: 600;\n margin-right: 3px;\n}\n.markdown :global(.qtag.good) {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #14532d;\n}\n.markdown :global(.qtag.avg) {\n background: #f1f3fa;\n border-color: #e0e4f0;\n color: #475069;\n}\n.markdown :global(.qtag.low) {\n background: #fef3e0;\n border-color: #fde2b8;\n color: #7c4a03;\n}\n\n/* 3M return line below score tags (Peer Analysis dstock cards) */\n.markdown :global(.dstock) :global(.wa-peer-detail) {\n margin-top: 6px;\n font-size: 11.5px;\n}\n\n/* Scoring note footer */\n.markdown :global(.wa-disc-footer) {\n font-size: 11px;\n color: #737b97;\n line-height: 1.5;\n padding: 10px 14px;\n border-top: 1px solid #eceffa;\n}\n\n.bubbleBot {\n align-self: flex-start;\n background: var(--wac-bot-bg);\n color: #1c2438;\n border-bottom-left-radius: 4px;\n}\n\n.bubbleUser {\n align-self: flex-end;\n background: var(--wac-user-bg);\n color: var(--wac-brand-contrast);\n border-bottom-right-radius: 4px;\n}\n\n/* Card responses: the card supplies its own bg/border/radius, so the bubble\n must add no frame, padding or background around it. */\n.bubbleCard {\n align-self: stretch;\n background: transparent;\n padding: 0;\n border-radius: 0;\n}\n\n/* Safety disclaimer below card responses — mirrors HTML prototype `.disc` */\n.disclaimer {\n font-size: 10.5px;\n color: var(--wac-muted);\n line-height: 1.5;\n background: #fff;\n border: 1px solid var(--wac-border);\n border-radius: 12px;\n padding: 10px 12px;\n margin: 6px 0 2px;\n}\n.disclaimer b {\n color: var(--wac-brand);\n}\n\n/* Like / dislike feedback row (above the disclaimer, on card responses) */\n/* Feedback band — mirrors wealth-alpha_1.1.html `.fb` (top border, light band,\n label left, 34×34 rounded-10 buttons, currentColor icons → green/red on-state) */\n.feedbackRow {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 14px;\n background: #fafbff;\n /* Continue the card frame down the sides and round the bottom so the band\n reads as the card's footer (1.1 `.fb` lives inside the card). The top\n border is the section divider above the buttons. */\n border: 1px solid var(--wac-border);\n border-top-color: #eceffa;\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 18px;\n margin-bottom: 4px;\n}\n\n/* Open the bottom of the card the band attaches to, so the two fuse into one\n rounded card. Only the LAST card in a multi-card response connects. */\n.bubbleCard:has(+ .feedbackRow) :global(.wa-analysis-card:last-child) {\n margin-bottom: 0;\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n.feedbackLabel {\n font-size: 11px;\n color: var(--wac-muted);\n font-weight: 600;\n margin-right: auto;\n}\n.feedbackBtn {\n width: 34px;\n height: 34px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid var(--wac-border);\n background: #fff;\n border-radius: 10px;\n color: var(--wac-brand);\n cursor: pointer;\n font-family: inherit;\n transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, color 0.15s ease;\n}\n.feedbackBtn:hover {\n background: var(--wac-chip-bg);\n transform: translateY(-1px);\n}\n.feedbackBtnUp {\n background: #dcfce7;\n border-color: #bbf7d0;\n color: #16a34a;\n}\n.feedbackBtnDown {\n background: #fee2e2;\n border-color: #fecaca;\n color: #dc2626;\n}\n.feedbackIcon {\n width: 16px;\n height: 16px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* ── CREATE PORTFOLIO — sector list header: label left, \"3M Return\" right ── */\n.markdown :global(.lbl.wa-sectors-head) {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n.markdown :global(.wa-sectors-ret-lbl) {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.3px;\n text-transform: uppercase;\n color: #6b7280;\n}\n\n/* ── CREATE PORTFOLIO — selectable sector rows (mirrors wealth-alpha_1.1.html .srow) ── */\n.markdown :global(.srow) {\n display: flex;\n align-items: center;\n gap: 11px;\n padding: 11px 12px;\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n background: #fff;\n margin-bottom: 9px;\n cursor: pointer;\n transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;\n}\n.markdown :global(.srow):last-child {\n margin-bottom: 0;\n}\n.markdown :global(.srow):hover {\n border-color: #c7cef0;\n transform: translateY(-1px);\n box-shadow: 0 10px 22px -18px rgba(28, 44, 91, 0.5);\n}\n.markdown :global(.srow.selected) {\n background: linear-gradient(135deg, #ecfdf3, #f7fef9);\n border-color: #86efac;\n}\n.markdown :global(.srow) :global(.box) {\n width: 22px;\n height: 22px;\n flex: 0 0 auto;\n border-radius: 7px;\n border: 2px solid #cdd4ec;\n display: grid;\n place-items: center;\n font-size: 13px;\n font-weight: 800;\n color: #fff;\n transition: 0.15s;\n}\n.markdown :global(.srow.selected) :global(.box) {\n background: #16a34a;\n border-color: #16a34a;\n}\n.markdown :global(.srow.selected) :global(.box)::after {\n content: \"✓\";\n}\n.markdown :global(.srow) :global(.info) {\n flex: 1;\n min-width: 0;\n}\n.markdown :global(.srow) :global(.nm) {\n font-family: 'Sora', 'Manrope', sans-serif;\n font-weight: 700;\n font-size: 13.5px;\n color: #1c2438;\n line-height: 1.2;\n}\n.markdown :global(.srow) :global(.sub) {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n}\n.markdown :global(.srow) :global(.mini) {\n flex: 1;\n height: 6px;\n border-radius: 4px;\n background: #eef0f7;\n overflow: hidden;\n max-width: 90px;\n}\n.markdown :global(.srow) :global(.mini) i {\n display: block;\n height: 100%;\n border-radius: 4px;\n}\n.markdown :global(.srow) :global(.ret) {\n font-family: 'Sora', 'Manrope', sans-serif;\n font-weight: 800;\n font-size: 14.5px;\n flex: 0 0 auto;\n text-align: right;\n min-width: 58px;\n}\n.markdown :global(.tag-pill) {\n font-size: 9px;\n font-weight: 800;\n letter-spacing: 0.4px;\n padding: 3px 7px;\n border-radius: 6px;\n text-transform: uppercase;\n}\n.markdown :global(.tag-pill.strong) {\n background: #dcfce7;\n color: #16a34a;\n}\n.markdown :global(.tag-pill.neutral) {\n background: #fef3e0;\n color: #b45309;\n}\n.markdown :global(.tag-pill.weak) {\n background: #fee2e2;\n color: #dc2626;\n}\n.markdown :global(.wa-sel-summary) {\n margin-top: 4px;\n padding: 10px 12px;\n border-radius: 12px;\n background: #fff;\n border: 1px dashed #bbf7d0;\n font-size: 12.5px;\n color: #14532d;\n line-height: 1.5;\n}\n.markdown :global(.wa-sel-summary) :global(.chk) {\n color: #16a34a;\n font-weight: 800;\n margin-right: 5px;\n}\n.markdown :global(.wa-sel-summary) b {\n color: #1c2438;\n}\n\n.bubbleMeta {\n font-size: 10px;\n color: var(--wac-muted);\n margin-top: 4px;\n text-align: right;\n}\n\n.chipRow {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n background: var(--wac-chip-bg);\n color: var(--wac-chip-fg);\n border: 1px solid transparent;\n border-radius: 999px;\n font-size: 13px;\n cursor: pointer;\n transition: background 0.15s ease, transform 0.15s ease;\n font-family: inherit;\n}\n\n/* Inline SVG nav-chip icon (Main menu / Prev / Next) — replaces emoji. */\n.chipIcon {\n display: inline-flex;\n align-items: center;\n}\n.chipIcon svg {\n width: 15px;\n height: 15px;\n display: block;\n}\n\n/* \"Main menu\" nav chip — rendered larger than ordinary chips. */\n.chipMain {\n padding: 10px 18px;\n font-size: 15px;\n font-weight: 600;\n gap: 8px;\n}\n.chipMain .chipIcon svg {\n width: 18px;\n height: 18px;\n}\n\n.chip:hover:not(:disabled) {\n background: #d8def2;\n transform: translateY(-1px);\n}\n\n.chipActive {\n background: var(--wac-chip-active-bg);\n color: var(--wac-chip-active-fg);\n}\n\n.chipDisabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.typing {\n align-self: flex-start;\n display: inline-flex;\n gap: 4px;\n padding: 10px 14px;\n background: var(--wac-bot-bg);\n border-radius: 12px;\n border-bottom-left-radius: 4px;\n}\n\n.typingDot {\n width: 7px;\n height: 7px;\n background: var(--wac-muted);\n border-radius: 50%;\n animation: wacBlink 1.2s infinite ease-in-out both;\n}\n\n.typingDot:nth-child(2) {\n animation-delay: 0.18s;\n}\n.typingDot:nth-child(3) {\n animation-delay: 0.36s;\n}\n\n@keyframes wacBlink {\n 0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }\n 40% { opacity: 1; transform: scale(1); }\n}\n\n.input {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n border-top: 1px solid var(--wac-border);\n background: var(--wac-bg);\n}\n\n.inputBox {\n flex: 1;\n padding: 12px 16px;\n border: 1.6px solid var(--wac-brand);\n border-radius: 14px;\n font-size: 14px;\n outline: none;\n font-family: inherit;\n background: var(--wac-bg);\n color: var(--wac-fg);\n}\n\n.inputBox:focus {\n border-color: var(--wac-brand);\n background: var(--wac-bg);\n}\n\n.inputBox:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.sendButton {\n padding: 0 20px;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n border-radius: 14px;\n font-weight: 700;\n cursor: pointer;\n font-size: 14px;\n font-family: inherit;\n}\n\n.sendButton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.hiddenFileInput {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.csvButton {\n flex-shrink: 0;\n padding: 0 12px;\n background: var(--wac-chip-bg);\n color: var(--wac-chip-fg);\n border: 1px solid var(--wac-border);\n border-radius: 999px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n white-space: nowrap;\n}\n\n.csvButton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.authGate {\n margin: auto;\n text-align: center;\n padding: 32px 24px;\n max-width: 280px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n align-items: center;\n}\n\n.authGateIcon {\n font-size: 36px;\n}\n\n.authGateTitle {\n font-size: 16px;\n font-weight: 600;\n}\n\n.authGateText {\n font-size: 13px;\n color: var(--wac-muted);\n line-height: 1.5;\n}\n\n.authGateButton {\n margin-top: 8px;\n padding: 10px 20px;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border: none;\n border-radius: 999px;\n cursor: pointer;\n font-weight: 600;\n font-size: 14px;\n font-family: inherit;\n}\n\n.authGateDisclaimer {\n margin-top: 16px;\n padding-top: 12px;\n border-top: 1px dashed var(--wac-border);\n font-size: 11px;\n color: var(--wac-muted);\n line-height: 1.5;\n text-align: left;\n width: 100%;\n}\n\n.authGateDisclaimerTitle {\n font-weight: 700;\n letter-spacing: 0.6px;\n font-size: 10px;\n margin-bottom: 4px;\n color: var(--wac-fg);\n}\n\n.errorBanner {\n background: #fef2f2;\n border: 1px solid #fecaca;\n color: #991b1b;\n padding: 8px 12px;\n font-size: 12px;\n border-radius: 8px;\n margin: 0 14px 8px;\n}\n\n/* ── Greeting popup bubble ─────────────────────────────────────── */\n\n.popupBubble {\n position: fixed;\n bottom: 24px;\n z-index: 2147483646;\n background: var(--wac-brand);\n color: var(--wac-brand-contrast);\n border-radius: 12px;\n padding: 12px 36px 12px 14px;\n font-size: 13px;\n line-height: 1.45;\n box-shadow: var(--wac-shadow);\n border: none;\n max-width: 240px;\n animation: wacPopIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n/* Shared arrow base — direction is set per-position class below */\n.popupBubble::after {\n content: '';\n position: absolute;\n width: 12px;\n height: 12px;\n background: var(--wac-brand);\n}\n\n/* Popup to the LEFT of a right-positioned button — arrow points right */\n.popupBubbleRight {\n right: 94px;\n}\n\n.popupBubbleRight::after {\n right: -7px;\n top: 50%;\n border-top: 1px solid var(--wac-brand);\n border-right: 1px solid var(--wac-brand);\n transform: translateY(-50%) rotate(45deg);\n}\n\n/* Popup to the RIGHT of a left-positioned button — arrow points left */\n.popupBubbleLeft {\n left: 94px;\n}\n\n.popupBubbleLeft::after {\n left: -7px;\n top: 50%;\n border-bottom: 1px solid var(--wac-brand);\n border-left: 1px solid var(--wac-brand);\n transform: translateY(-50%) rotate(45deg);\n}\n\n.popupDismiss {\n position: absolute;\n top: 8px;\n right: 8px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 14px;\n color: var(--wac-brand-contrast);\n line-height: 1;\n padding: 2px 4px;\n border-radius: 4px;\n font-family: inherit;\n opacity: 0.75;\n}\n\n.popupDismiss:hover {\n background: rgba(255, 255, 255, 0.15);\n opacity: 1;\n}\n\n@keyframes wacPopIn {\n 0% { opacity: 0; transform: scale(0.85) translateY(8px); }\n 100% { opacity: 1; transform: scale(1) translateY(0); }\n}\n\n/* ── Menu grid (root chips rendered as cards) ───────────────────── */\n.menuGrid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 6px;\n margin-top: 6px;\n}\n\n.menuItem {\n background: #fff;\n border: 1px solid #e6e9f5;\n border-radius: 14px;\n padding: 14px;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;\n}\n\n.menuItem:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px -12px rgba(28, 44, 91, 0.45);\n border-color: #d4d9ee;\n}\n\n.menuItemIcon {\n width: 46px;\n height: 46px;\n border-radius: 12px;\n display: grid;\n place-items: center;\n font-size: 22px;\n margin-bottom: 12px;\n}\n\n/* Main-menu SVG icon — mirrors wealth-alpha-final.html .cmd .ico svg */\n.menuItemSvg {\n width: 24px;\n height: 24px;\n stroke: #fff;\n fill: none;\n stroke-width: 2.2;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.menuItemTitle {\n font-size: 14px;\n font-weight: 700;\n color: #1c2438;\n line-height: 1.2;\n}\n\n.menuItemSub {\n font-size: 11.5px;\n color: #737b97;\n margin-top: 3px;\n line-height: 1.3;\n}\n\n.menuIconGreen { background: linear-gradient(135deg, #10b981, #059669); }\n.menuIconBlue { background: linear-gradient(135deg, #3b82f6, #2563eb); }\n.menuIconLeaf { background: linear-gradient(135deg, #65c466, #3f9c43); }\n.menuIconRed { background: linear-gradient(135deg, #f43f5e, #e11d48); }\n.menuIconOrange { background: linear-gradient(135deg, #fb923c, #ea580c); }\n.menuIconGold { background: linear-gradient(135deg, #fbbf24, #d97706); }\n.menuIconTeal { background: linear-gradient(135deg, #14b8a6, #0d9488); }\n.menuIconPurple { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }\n\n\n.chat_bubbleBot {\n background-color: var(--wac-bg) !important; \n}"],"mappings":"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","names":["root","headerTitle","menuItemTitle","markdown","floatingButton","positionRight","positionLeft","widget","popupBubbleLeft","popupBubbleRight","header","headerMeta","iconButton","body","bubble","chipRow","chip","chipMain","input","inputBox","sendButton","headerActions","bubbleBot","bubbleUser","bubbleCard","disclaimer","feedbackRow","feedbackLabel","feedbackBtn","feedbackBtnUp","feedbackBtnDown","feedbackIcon","bubbleMeta","chipIcon","chipActive","chipDisabled","typing","typingDot","wacBlink","hiddenFileInput","csvButton","authGate","authGateIcon","authGateTitle","authGateText","authGateButton","authGateDisclaimer","authGateDisclaimerTitle","errorBanner","popupBubble","popupDismiss","wacPopIn","menuGrid","menuItem","menuItemIcon","menuItemSvg","menuItemSub","menuIconGreen","menuIconBlue","menuIconLeaf","menuIconRed","menuIconOrange","menuIconGold","menuIconTeal","menuIconPurple","chat_bubbleBot"]}
|
package/dist/index.mjs
CHANGED
|
@@ -342,6 +342,7 @@ function useAuth(opts) {
|
|
|
342
342
|
const [error, setError] = useState(null);
|
|
343
343
|
const [tick, setTick] = useState(0);
|
|
344
344
|
const onErrorRef = useRef(onError);
|
|
345
|
+
const hadUserRef = useRef(false);
|
|
345
346
|
useEffect(() => {
|
|
346
347
|
onErrorRef.current = onError;
|
|
347
348
|
}, [onError]);
|
|
@@ -354,12 +355,15 @@ function useAuth(opts) {
|
|
|
354
355
|
if (!session?.token) {
|
|
355
356
|
setUser(null);
|
|
356
357
|
setLoading(false);
|
|
358
|
+
hadUserRef.current = false;
|
|
357
359
|
return;
|
|
358
360
|
}
|
|
359
361
|
const controller = new AbortController();
|
|
360
|
-
|
|
362
|
+
const isInitial = !hadUserRef.current;
|
|
363
|
+
if (isInitial) setLoading(true);
|
|
361
364
|
setError(null);
|
|
362
365
|
checkAuth(apiBase, authCheck, controller.signal).then((u) => {
|
|
366
|
+
hadUserRef.current = true;
|
|
363
367
|
setUser(u);
|
|
364
368
|
setError(null);
|
|
365
369
|
}).catch((err) => {
|
|
@@ -367,12 +371,13 @@ function useAuth(opts) {
|
|
|
367
371
|
if (err instanceof AuthExpiredError) {
|
|
368
372
|
clearSession();
|
|
369
373
|
setUser(null);
|
|
374
|
+
hadUserRef.current = false;
|
|
370
375
|
} else {
|
|
371
376
|
setError(err);
|
|
372
377
|
onErrorRef.current?.(err);
|
|
373
378
|
}
|
|
374
379
|
}).finally(() => {
|
|
375
|
-
if (!controller.signal.aborted) setLoading(false);
|
|
380
|
+
if (!controller.signal.aborted && isInitial) setLoading(false);
|
|
376
381
|
});
|
|
377
382
|
return () => controller.abort();
|
|
378
383
|
}, [apiBase, authCheck, enabled, tick]);
|
|
@@ -1316,7 +1321,7 @@ function WealthChat(props) {
|
|
|
1316
1321
|
ttlSeconds: sessionTTL,
|
|
1317
1322
|
onExpire: onSessionExpire
|
|
1318
1323
|
});
|
|
1319
|
-
const { isLoggedIn, user, loading: authLoading } = useAuth({
|
|
1324
|
+
const { isLoggedIn, user, loading: authLoading, refresh: refreshAuth } = useAuth({
|
|
1320
1325
|
apiBase,
|
|
1321
1326
|
authCheck,
|
|
1322
1327
|
enabled: mounted && open,
|
|
@@ -1373,6 +1378,46 @@ function WealthChat(props) {
|
|
|
1373
1378
|
});
|
|
1374
1379
|
onLogin?.();
|
|
1375
1380
|
}, [isLoggedIn, open, chatState.messages.length, welcomeMessage, session, user, appendBotResponse, onLogin, welcomeShownRef]);
|
|
1381
|
+
useEffect(() => {
|
|
1382
|
+
if (!mounted || !open) return;
|
|
1383
|
+
let last = 0;
|
|
1384
|
+
const THROTTLE_MS = 3e3;
|
|
1385
|
+
const trigger = () => {
|
|
1386
|
+
const now = Date.now();
|
|
1387
|
+
if (now - last < THROTTLE_MS) return;
|
|
1388
|
+
last = now;
|
|
1389
|
+
refreshAuth();
|
|
1390
|
+
};
|
|
1391
|
+
const onVisible = () => {
|
|
1392
|
+
if (typeof document !== "undefined" && document.visibilityState === "visible") trigger();
|
|
1393
|
+
};
|
|
1394
|
+
window.addEventListener("focus", trigger);
|
|
1395
|
+
window.addEventListener("wealthalpha:refresh-auth", trigger);
|
|
1396
|
+
document.addEventListener("visibilitychange", onVisible);
|
|
1397
|
+
return () => {
|
|
1398
|
+
window.removeEventListener("focus", trigger);
|
|
1399
|
+
window.removeEventListener("wealthalpha:refresh-auth", trigger);
|
|
1400
|
+
document.removeEventListener("visibilitychange", onVisible);
|
|
1401
|
+
};
|
|
1402
|
+
}, [mounted, open, refreshAuth]);
|
|
1403
|
+
const planRef = useRef({ known: false });
|
|
1404
|
+
useEffect(() => {
|
|
1405
|
+
if (!user) {
|
|
1406
|
+
planRef.current = { known: false };
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1409
|
+
const prev = planRef.current;
|
|
1410
|
+
planRef.current = { known: true, plan: user.plan };
|
|
1411
|
+
if (!prev.known || prev.plan === user.plan) return;
|
|
1412
|
+
if (chatState.messages.length === 0) return;
|
|
1413
|
+
deactivatePriorChips();
|
|
1414
|
+
appendBotResponse({
|
|
1415
|
+
message: user.welcomeMessage ?? buildWelcome(user.name, user.plan),
|
|
1416
|
+
chips: user.rootChips ?? [],
|
|
1417
|
+
sessionId: session?.sessionId ?? "",
|
|
1418
|
+
endOfFlow: false
|
|
1419
|
+
});
|
|
1420
|
+
}, [user, chatState.messages.length, deactivatePriorChips, appendBotResponse, session]);
|
|
1376
1421
|
const handleChipClick = useCallback(
|
|
1377
1422
|
async (chip) => {
|
|
1378
1423
|
touch();
|