/* Global layer: sidebar search, search dropdown and overview, hover explanations, the floating Ask Atlas button and
   window, and the chat styles shared with the Ask Atlas page (X01). Black, white and cream only. */

/* sidebar search */
.an-searchwrap { position: relative; margin: 0 2px; }
.an-search { box-sizing: border-box; width: 100%; height: 36px; padding: 0 34px 0 32px; border: 1px solid #e7e3d3; border-radius: 8px;
  background: #fefcf2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236b6862' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M9 15a6 6 0 1 0 0-12 6 6 0 0 0 0 12zM17 17l-3.6-3.6'/%3E%3C/svg%3E") 10px 50% / 15px no-repeat;
  font: 400 13px/20px Geist, system-ui, sans-serif; color: #141414; }
.an-search::placeholder { color: #8f8a76; }
.an-search:focus { outline: 2px solid #141414; outline-offset: 1px; background-color: #fff; }
.an-kbd { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); font: 500 11px/16px Geist, system-ui; color: #6b6862;
  border: 1px solid #e7e3d3; border-radius: 4px; padding: 0 5px; background: #fff; pointer-events: none; }

.sx-drop { position: fixed; z-index: 2000; max-height: min(70vh, 520px); overflow-y: auto; background: #fff; border: 1px solid #e7e3d3;
  border-radius: 10px; box-shadow: 0 12px 32px rgba(20,20,20,.14); padding: 6px; display: none; font-family: Geist, system-ui, sans-serif; }
.sx-drop[data-on="1"] { display: block; }
.sx-g { font: 500 11px/16px Geist, system-ui; letter-spacing: .04em; text-transform: uppercase; color: #6b6862; padding: 8px 10px 4px; }
.sx-i { display: flex; gap: 10px; align-items: flex-start; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 10px;
  border-radius: 7px; cursor: pointer; color: #141414; font: inherit; }
.sx-i[aria-selected="true"], .sx-i:hover { background: #f3efe0; }
.sx-ic { flex: 0 0 22px; height: 22px; border-radius: 6px; background: #141414; color: #fefcf2; display: inline-flex; align-items: center;
  justify-content: center; font-size: 11px; font-weight: 600; }
.sx-tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.sx-tx b { font-size: 14px; font-weight: 500; }
.sx-tx small { font-size: 12px; line-height: 17px; color: #6b6862; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.sx-ov { position: fixed; z-index: 1500; right: 24px; top: 18px; width: min(340px, calc(100vw - 32px)); background: #141414; color: #fefcf2;
  border-radius: 12px; padding: 16px 18px 14px; box-shadow: 0 12px 30px rgba(20,20,20,.25); display: none; flex-direction: column; gap: 6px;
  font-family: Geist, system-ui, sans-serif; }
.sx-ov[data-on="1"] { display: flex; animation: sx-in .18s ease-out; }
@keyframes sx-in { from { opacity: 0; transform: translateY(-6px); } }
.sx-ov b { font-size: 16px; font-weight: 600; padding-right: 22px; }
.sx-ov p { margin: 0; font-size: 13px; line-height: 20px; color: #ebe7da; }
.sx-k { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #cfc9b8; }
.sx-x { position: absolute; right: 10px; top: 8px; border: 0; background: transparent; color: #fefcf2; font-size: 20px; line-height: 1; cursor: pointer; padding: 4px; }
.sx-ovf { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.sx-ovf a, .sx-ovf button { font: 500 12px/18px Geist, system-ui; color: #fefcf2; background: transparent; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.sx-ovf [data-ov-off] { color: #cfc9b8; }

/* hover explanation */
.ex-tip { position: fixed; z-index: 2100; background: #fff; color: #141414; border: 1px solid #d6d2c6; border-radius: 10px; padding: 12px 14px 10px;
  box-shadow: 0 10px 28px rgba(20,20,20,.16); font-family: Geist, system-ui, sans-serif; display: none; pointer-events: auto; }
.ex-tip[data-on="1"] { display: block; animation: sx-in .12s ease-out; }
.ex-t { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.ex-b { font-size: 13px; line-height: 20px; color: #3f3e3a; }
.ex-f { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; color: #6b6862; }
.ex-f button { font: 500 12px/18px Geist, system-ui; border: 1px solid #e7e3d3; background: #fefcf2; border-radius: 6px; padding: 1px 8px; cursor: pointer; color: #141414; }

/* floating Ask Atlas */
.aa-bubble { position: fixed; z-index: 1800; width: 56px; height: 56px; border-radius: 50%; border: 0; background: #141414; color: #fefcf2;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 22px rgba(20,20,20,.28);
  transition: transform .15s ease; touch-action: none; }
.aa-bubble:hover { transform: scale(1.05); }
.aa-bubble svg { width: 26px; height: 26px; }
.aa-bubble[hidden] { display: none; }
.aa-pill { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; background: #fff; color: #141414; border: 1px solid #e7e3d3;
  border-radius: 999px; padding: 5px 12px; font: 600 13px/18px Geist, system-ui; box-shadow: 0 4px 14px rgba(20,20,20,.12); pointer-events: none; }
.aa-bubble[data-side="r"] .aa-pill { right: 66px; }
.aa-bubble[data-side="l"] .aa-pill { left: 66px; }
.aa-bubble[aria-expanded="true"] .aa-pill { display: none; }

.aa-win { position: fixed; z-index: 1790; display: none; flex-direction: column; background: #fefcf2; border: 1px solid #d6d2c6; border-radius: 14px;
  box-shadow: 0 18px 48px rgba(20,20,20,.22); overflow: hidden; font-family: Geist, system-ui, sans-serif; color: #141414; min-width: 300px; min-height: 320px; }
.aa-win[data-on="1"] { display: flex; animation: sx-in .16s ease-out; }
.aa-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: #141414; color: #fefcf2; }
.aa-head b { font-size: 15px; }
.aa-sub { font-size: 11px; color: #cfc9b8; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aa-head button, .aa-head a { border: 0; background: transparent; color: #fefcf2; cursor: pointer; font: 500 13px/18px Geist, system-ui; text-decoration: none; padding: 2px 4px; }
.aa-head [data-aa="close"] { font-size: 20px; }
.aa-body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.aa-composer { border-top: 1px solid #e7e3d3; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; background: #fff; }
.aa-composer textarea { border: 0; resize: none; background: transparent; font: 400 14px/21px Geist, system-ui; color: #141414; outline: none; }
.aa-row { display: flex; align-items: center; gap: 10px; }
.aa-clip { cursor: pointer; font-size: 16px; padding: 2px 4px; border-radius: 6px; }
.aa-clip:hover { background: #f3efe0; }
.aa-hint { flex: 1; font-size: 11px; color: #8f8a76; }
.aa-send { border: 0; background: #141414; color: #fefcf2; border-radius: 8px; padding: 6px 14px; font: 600 13px/18px Geist, system-ui; cursor: pointer; }
.aa-att { display: flex; flex-wrap: wrap; gap: 6px; }
.aa-att[hidden] { display: none; }
.aa-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.aa-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; background: #f3efe0; border: 1px solid #e7e3d3; border-radius: 6px; padding: 2px 8px; color: #141414; }
.aa-chip button { border: 0; background: transparent; cursor: pointer; font-size: 14px; padding: 0 0 0 2px; color: #6b6862; }
.aa-grip { position: absolute; right: 2px; bottom: 2px; width: 14px; height: 14px; cursor: nwse-resize;
  background: linear-gradient(135deg, transparent 50%, #cfc9b8 50%, #cfc9b8 60%, transparent 60%, transparent 70%, #cfc9b8 70%, #cfc9b8 80%, transparent 80%); }

.aa-msg { display: flex; }
.aa-me { justify-content: flex-end; }
.aa-bub { max-width: 88%; border-radius: 12px; padding: 10px 12px; font-size: 14px; line-height: 21px; }
.aa-me .aa-bub { background: #141414; color: #fefcf2; border-bottom-right-radius: 4px; }
.aa-me .aa-chip { background: #2a2a2a; border-color: #3f3e3a; color: #fefcf2; }
.aa-bot .aa-bub { background: #fff; border: 1px solid #e7e3d3; border-bottom-left-radius: 4px; }
.aa-bot p { margin: 6px 0 4px; }
.aa-src { font-size: 12px; color: #6b6862; }
.aa-warn { font-size: 12px; color: #8a4b00; background: #fff1d6; border-radius: 6px; padding: 4px 8px; margin: 4px 0; }
.aa-working { color: #6b6862; display: flex; align-items: center; gap: 6px; }
.aa-dots { display: inline-flex; gap: 3px; }
.aa-dots i { width: 5px; height: 5px; border-radius: 50%; background: #6b6862; animation: aa-b 1s infinite ease-in-out; }
.aa-dots i:nth-child(2) { animation-delay: .15s; } .aa-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes aa-b { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.aa-hello { margin: auto 0; display: flex; flex-direction: column; gap: 8px; }
.aa-hello b { font-size: 17px; }
.aa-hello p { margin: 0; font-size: 13px; line-height: 20px; color: #6b6862; }
.aa-sugg { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.aa-sugg button { text-align: left; border: 1px solid #e7e3d3; background: #fff; border-radius: 8px; padding: 8px 10px; font: 400 13px/18px Geist, system-ui; cursor: pointer; color: #141414; }
.aa-sugg button:hover { background: #f3efe0; }

/* while the move key is held: show that the button and window can be moved */
.aa-moving .aa-bubble { outline: 2px dashed #141414; outline-offset: 4px; cursor: move; }
.aa-moving .aa-win { outline: 2px dashed #141414; outline-offset: 3px; cursor: move; border-radius: 4px; }
.aa-moving .aa-win * { pointer-events: none; }
.aa-moving .aa-win[data-edge="n"], .aa-moving .aa-win[data-edge="s"] { cursor: ns-resize; }
.aa-moving .aa-win[data-edge="e"], .aa-moving .aa-win[data-edge="w"] { cursor: ew-resize; }
.aa-moving .aa-win[data-edge="ne"], .aa-moving .aa-win[data-edge="sw"] { cursor: nesw-resize; }
.aa-moving .aa-win[data-edge="nw"], .aa-moving .aa-win[data-edge="se"] { cursor: nwse-resize; }

/* Ask Atlas page (X01) */
.x1 { display: flex; gap: 0; min-height: calc(100vh - 0px); }
.x1-side { flex: 0 0 250px; border-right: 1px solid #e7e3d3; padding: 20px 12px; display: flex; flex-direction: column; gap: 6px; background: #faf7ea; }
.x1-side .x1-new { border: 1px solid #141414; background: #141414; color: #fefcf2; border-radius: 8px; padding: 8px 12px; font: 600 13px/18px Geist, system-ui; cursor: pointer; text-align: left; }
.x1-t { display: flex; align-items: center; gap: 6px; border-radius: 7px; padding: 7px 10px; cursor: pointer; font-size: 13px; color: #141414; border: 0; background: transparent; text-align: left; width: 100%; }
.x1-t span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.x1-t:hover, .x1-t[aria-current="true"] { background: #efeadb; }
.x1-t .x1-del { opacity: 0; border: 0; background: transparent; cursor: pointer; color: #6b6862; font-size: 15px; }
.x1-t:hover .x1-del { opacity: 1; }
.x1-main { flex: 1; min-width: 0; display: flex; flex-direction: column; height: 100vh; }
.x1-body { flex: 1; overflow-y: auto; padding: 28px max(24px, calc((100% - 760px) / 2)); display: flex; flex-direction: column; gap: 14px; }
.x1-body .aa-bub { font-size: 15px; line-height: 24px; max-width: 80%; }
.x1-comp { margin: 0 max(24px, calc((100% - 760px) / 2)) 22px; border: 1px solid #d6d2c6; border-radius: 14px; background: #fff; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 4px 16px rgba(20,20,20,.06); }
.x1-comp textarea { border: 0; resize: none; font: 400 16px/24px Geist, system-ui; outline: none; background: transparent; color: #141414; min-height: 48px; }
.x1-drop { outline: 2px dashed #141414; outline-offset: -6px; }
.x1-hello { margin: auto 0; text-align: left; display: flex; flex-direction: column; gap: 10px; }
.x1-hello h1 { margin: 0; font-size: 30px; letter-spacing: -.02em; }
.x1-hello p { margin: 0; color: #6b6862; font-size: 15px; line-height: 24px; }

/* settings: placement preview */
.pv-wrap { position: relative; width: 100%; aspect-ratio: 16 / 10; border: 1px solid #d6d2c6; border-radius: 10px; overflow: hidden; background: #fefcf2; }
.pv-wrap iframe { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; pointer-events: none; }
.pv-dot { position: absolute; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: #141414; color: #fefcf2; display: flex;
  align-items: center; justify-content: center; cursor: grab; box-shadow: 0 4px 12px rgba(20,20,20,.35); touch-action: none; font-size: 13px; }
.pv-dot:active { cursor: grabbing; }
.pv-shade { position: absolute; inset: 0; background: rgba(254,252,242,.12); }
.keycap { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d6d2c6; background: #fff; border-radius: 8px; padding: 6px 12px; font: 500 13px/18px Geist, system-ui; cursor: pointer; color: #141414; }
.keycap[data-wait="1"] { outline: 2px solid #141414; }
.ax-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 20px; cursor: pointer; }
.ax-check input { margin-top: 3px; accent-color: #141414; width: 16px; height: 16px; }
.ax-check small { display: block; color: #6b6862; font-size: 12px; line-height: 18px; }

/* economy: arrange mode */
.ec-edit [data-ec] { outline: 2px dashed #cfc9b8; outline-offset: 2px; cursor: grab; touch-action: none; user-select: none; position: relative; }
.ec-edit [data-ec].ec-drag { opacity: .5; }
.ec-edit [data-ec].ec-over { outline-color: #141414; }
.ec-hid { opacity: .45; }
.ec-tools { position: absolute; top: 8px; right: 8px; display: flex; gap: 6px; z-index: 2; }
.ec-tools button { border: 1px solid #d6d2c6; background: #fff; border-radius: 6px; font: 500 12px/16px Geist, system-ui; padding: 2px 8px; cursor: pointer; color: #141414; }

/* grip on the window's free corner (away from the button) */
.aa-win[data-side="rb"] .aa-grip { left: 2px; top: 2px; right: auto; bottom: auto; transform: rotate(180deg); cursor: nwse-resize; z-index: 2; }
.aa-win[data-side="lb"] .aa-grip { right: 2px; top: 2px; bottom: auto; transform: rotate(-90deg); cursor: nesw-resize; z-index: 2; }
.aa-win[data-side="rt"] .aa-grip { left: 2px; right: auto; transform: rotate(90deg); cursor: nesw-resize; }
.aa-win[data-side="rb"] .aa-grip, .aa-win[data-side="lb"] .aa-grip { background: linear-gradient(135deg, transparent 50%, #6b6862 50%, #6b6862 60%, transparent 60%, transparent 70%, #6b6862 70%, #6b6862 80%, transparent 80%); }

/* scrollbars: thin, cream track, rounded ink-grey thumb (Chrome, Edge, Safari) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d6d2c6; border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: #a8a49a; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-button { display: none; height: 0; width: 0; }
/* Firefox */
@supports not selector(::-webkit-scrollbar) { * { scrollbar-width: thin; scrollbar-color: #d6d2c6 transparent; } }

/* tool dock */
.td-win { z-index: 1795; }
.td-head { padding: 8px 10px 8px 12px; }
.td-pick { flex: 0 1 auto; min-width: 0; max-width: 78%; background: #2a2a2a; color: #fefcf2; border: 1px solid #3f3e3a; border-radius: 7px; font: 600 13px/18px Geist, system-ui; padding: 5px 8px; }
.td-headpick { display: flex; min-width: 0; flex: 1 1 auto; }
.td-keys { flex: 0 0 auto; text-align: right; }
.td-body { gap: 12px; }
.td-body .ax-field { font-size: 12px; }
.td-body .ax-in { height: 36px; font-size: 14px; background: #fff; }
.td-out { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid #e7e3d3; padding-top: 10px; }
.td-r { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: #3f3e3a; }
.td-r b { font-size: 15px; color: #141414; font-variant-numeric: tabular-nums; }
.td-math { font: 500 13px/20px ui-monospace, SFMono-Regular, Menlo, monospace; background: #fff; border: 1px solid #e7e3d3; border-radius: 8px; padding: 8px 10px; }
.td-term b { font-size: 14px; } .td-term p { margin: 4px 0 0; font-size: 13px; line-height: 20px; color: #3f3e3a; }

/* ---- collapsible sidebar (AppNav) ---- */
.an-top { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.an-fold { width: 30px; height: 30px; flex: 0 0 30px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: #6b6862; cursor: pointer; }
.an-fold:hover { background: #ebe6d2; color: #141414; }
.an-mini { display: none; }
nav.an-nav { transition: width .18s ease, flex-basis .18s ease, padding .18s ease; }
nav.an-nav[data-c="1"] { width: 64px !important; flex: 0 0 64px !important; padding: 16px 8px !important; overflow-x: hidden; }
nav.an-nav[data-c="1"] .an-top { flex-direction: column; }
nav.an-nav[data-c="1"] .an-full, nav.an-nav[data-c="1"] .an-i > span, nav.an-nav[data-c="1"] p,
nav.an-nav[data-c="1"] .an-searchwrap, nav.an-nav[data-c="1"] .an-co,
nav.an-nav[data-c="1"] a[href="#/I03-Settings"]:not(.an-i) > span:last-child { display: none !important; }
nav.an-nav[data-c="1"] .an-mini { display: inline; }
nav.an-nav[data-c="1"] .an-logo { padding: 0 !important; justify-content: center; }
nav.an-nav[data-c="1"] .an-i { justify-content: center; padding-left: 0; padding-right: 0; }
nav.an-nav[data-c="1"] a[href="#/I03-Settings"]:not(.an-i) { justify-content: center; padding: 8px 0 !important; }

/* ---- markets summary (X06) ---- */
.mk-top { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.mk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin-bottom: 16px; }
.mk-row { display: flex; align-items: center; gap: 12px; padding: 9px 4px; border-bottom: 1px solid #f3efe0; color: #141414; text-decoration: none; border-radius: 6px; }
.mk-row:hover { background: #f7f3e3; }
.mk-row:last-child { border-bottom: 0; }
.mk-n { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; min-width: 0; }
.mk-n b { font-weight: 500; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mk-n .ax-small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mk-v { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; min-width: 92px; font-size: 13px; }
.mk-v b { font-weight: 600; font-size: 14px; }
.mk-breadth { display: flex; height: 10px; border-radius: 5px; overflow: hidden; gap: 2px; }

/* ---- notes (floating window + page) ---- */
.nt-win { z-index: 1793; }
.nt-body { gap: 8px; padding: 12px 14px; }
.nt-title { border: 0; background: transparent; font: 600 16px/24px Geist, system-ui; color: #141414; outline: none; padding: 2px 0; width: 100%; }
.nt-text { flex: 1 1 auto; min-height: 120px; border: 0; background: transparent; resize: none; outline: none; font: 14px/26px Geist, system-ui; color: #141414; width: 100%; padding: 0; }
.nt-prev { flex: 1 1 auto; overflow: auto; font-size: 14px; line-height: 26px; }
.nt-prev p { margin: 0; } .nt-prev .nt-gap { height: 12px; } .nt-h { margin: 6px 0 2px; font-weight: 600; }
.nt-ul { margin: 0; padding-left: 20px; } .nt-cb { list-style: none; margin-left: -20px; } .nt-cb input { margin-right: 6px; }
.nt-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border-top: 1px solid rgba(20,20,20,.08); padding-top: 8px; font-size: 12px; color: #6b6862; }
.nt-bgsel { border: 1px solid #e7e3d3; border-radius: 6px; background: #fff; font: 12px Geist, system-ui; padding: 3px 6px; }
.nt-mini { border: 0; background: none; padding: 0; font: 12px Geist, system-ui; color: #141414; text-decoration: underline; cursor: pointer; }
.nt-tag { background: #f3efe0; border-radius: 999px; padding: 1px 8px; color: #3f3e3a; }
.nt-state { margin-left: auto; }
.nt-empty { margin: auto; text-align: center; color: #6b6862; }
.nt-bg-plain { background-color: #fffdf6; }
.nt-bg-notebook { background-color: #fffdf6; background-image: linear-gradient(to bottom, transparent 25px, rgba(47,95,158,.18) 25px, rgba(47,95,158,.18) 26px); background-size: 100% 26px; background-attachment: local; }
.nt-bg-dots { background-color: #fffdf6; background-image: radial-gradient(rgba(20,20,20,.18) 1px, transparent 1.2px); background-size: 18px 18px; }
.nt-bg-grid { background-color: #fffdf6; background-image: linear-gradient(rgba(20,20,20,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(20,20,20,.07) 1px, transparent 1px); background-size: 20px 20px; }
.nt-bg-grain { background-color: #f6f1e1; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.08 0 0 0 0 0.08 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.nt-page { min-height: 100vh; display: flex; flex-direction: column; gap: 10px; padding: 24px 40px; box-sizing: border-box; }
.nt-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nt-title-lg { font-size: 26px; line-height: 34px; letter-spacing: -.01em; }
.nt-text-lg { min-height: 70vh; font-size: 15px; line-height: 26px; }
.nt-prev-lg { font-size: 15px; }
.nt-li span { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .nt-li small { color: #6b6862; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.al-checks { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 8px 10px; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px #e7e3d3; max-height: 220px; overflow: auto; }

/* ---- offline bar ---- */
.off-bar { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 1900; max-width: min(760px, calc(100vw - 32px)); padding: 10px 14px; border-radius: 12px; background: #141414; color: #fefcf2; font: 13px/19px Geist, system-ui; box-shadow: 0 6px 24px rgba(20,20,20,.25); display: none; }
.off-bar[data-on="1"] { display: block; }

/* Sidebar sub-entries (16 Oct): e.g. Paper trading sits under Price studio */
.an-i[data-sub="1"]{padding-left:30px;font-size:13px}
.an-i[data-sub="1"] svg{width:15px;height:15px}
.an-folded .an-i[data-sub="1"]{padding-left:10px}

/* ---------------------------------------------------------------- Home dashboard (16 Oct) */
.hb-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.hb-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.hb{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #e7e3d3;padding:16px 18px;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;gap:10px}
.hb-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.hb-h h2{margin:0;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.005em}
.hb-b{min-width:0}
.hb-src{margin-top:8px}
.hb-sub{margin:8px 0 2px;font-size:12px;font-weight:600;color:#6b6862;text-transform:uppercase;letter-spacing:.04em}
.hb-sr{position:absolute;left:-9999px}
.hb-wait{display:flex;flex-direction:column;gap:8px;padding:6px 0}
/* ask */
.hb-askf{display:flex;gap:10px;align-items:center}
.hb-askf textarea{flex:1;min-width:0;border:0;resize:none;background:transparent;font:400 18px/26px Geist,-apple-system,system-ui,sans-serif;color:#141414;padding:6px 2px;height:38px}
.hb-askf textarea:focus-visible{outline:none}
.hb-askf:focus-within{box-shadow:0 1px 0 #141414}
.hb-go{flex:none;height:38px;padding:0 18px;border:0;border-radius:999px;background:#141414;color:#fefcf2;font:500 14px Geist,system-ui,sans-serif;cursor:pointer}
.hb-go:hover{background:#2a2a2a}
.hb-sug{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:8px;font-size:13px}
.hb-sug a{color:#3f3e3a}
.hb-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:#f3efe0;text-decoration:none;font-size:13px}
[data-dc] a.hb-chip{color:#141414;text-decoration:none}
/* market summary strip */
.hb-tick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
@media (max-width:1100px){.hb-tick{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hb[style*="span 4"] .hb-tick,.hb[style*="span 6"] .hb-tick{grid-template-columns:repeat(2,minmax(0,1fr))}
.hb-tk{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:10px;background:#faf8f0;text-decoration:none;min-width:0}
[data-dc] a.hb-tk{color:#141414;text-decoration:none}
.hb-tk:hover{background:#f3efe0}
.hb-tk-n{font-size:12px;color:#6b6862;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-tk-v{font-size:17px;font-weight:600;letter-spacing:-.01em}
.hb-tk svg{margin-top:4px;width:100%;height:28px}
/* lists */
.hb-sel{border:1px solid #e7e3d3;background:#faf8f0;border-radius:8px;padding:5px 8px;font:inherit;font-size:13px;color:#141414;max-width:100%}
.hb-wl{display:flex;flex-direction:column;max-height:420px;overflow:auto;margin-top:8px}
.hb-wlh,.hb-wlr{display:grid;grid-template-columns:22px minmax(0,1fr) 84px 70px;gap:8px;align-items:center}
.hb-wlh{grid-template-columns:minmax(0,1fr) 84px 70px;font-size:11px;color:#6b6862;padding:0 4px 4px;border-bottom:1px solid #efeadb;position:sticky;top:0;background:#fff}
.hb-wlh span:not(:first-child){text-align:right}
.hb-wlr{padding:6px 4px;border-bottom:1px solid #f4f1e6;font-size:13px;text-decoration:none}
[data-dc] a.hb-wlr{color:#141414;text-decoration:none}
.hb-wlr:hover{background:#faf8f0}
.hb-wlr .num{text-align:right;font-variant-numeric:tabular-nums}
.hb-wls{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg{width:22px;height:22px;border-radius:50%;background:#ece8da;color:#141414;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.lg img,.cw-logo img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:50%}
.hb-li{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid #f4f1e6;text-decoration:none}
[data-dc] a.hb-li{color:#141414;text-decoration:none}
.hb-li b{font-size:14px;font-weight:500;line-height:19px}
.hb-li:hover b{text-decoration:underline}
/* tables */
.hb-t{border-collapse:collapse;width:100%;font-size:13px}
.hb-t th{font-weight:500;color:#6b6862;font-size:12px;text-align:left;padding:6px 8px;border-bottom:1px solid #efeadb}
.hb-t td{padding:8px;border-bottom:1px solid #f4f1e6}
.hb-t .n{text-align:right;font-variant-numeric:tabular-nums}
.hb-co{display:flex;gap:10px;align-items:center;text-decoration:none}
[data-dc] a.hb-co{color:#141414;text-decoration:none}
/* sectors */
.hb-secs{display:flex;flex-direction:column;gap:5px}
.hb-secr{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 62px;gap:8px;align-items:center;font-size:12px}
.hb-secn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-secr .num{text-align:right}
.hb-bar{position:relative;height:8px;background:#f4f1e6;border-radius:4px}
.hb-bar i{position:absolute;top:0;bottom:0;border-radius:4px}
/* paper */
.hb-pp{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:8px}
.hb-pp>div{display:flex;flex-direction:column;gap:2px}
/* customise mode */
.hb-tray{background:#fff;border:1px dashed #c9c2a8;border-radius:14px;padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}
.hb-add{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.hb-addb{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid #e7e3d3;background:#faf8f0;border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit}
.hb-addb b{font-size:13px}.hb-addb span{font-size:12px;color:#6b6862}
.hb-addb:hover{background:#f3efe0}
.hb-ed{outline:1.5px dashed #c9c2a8;outline-offset:-1px;cursor:grab}
.hb-ed .hb-b{pointer-events:none;opacity:.85}
.hb-dragging{opacity:.4}
.hb-over{outline:2px solid #2962ff}
.hb-tools{display:flex;gap:3px;align-items:center}
.hb-grip{cursor:grab;color:#6b6862;font-size:16px;padding:0 4px}
.hb-tb{border:1px solid #e7e3d3;background:#fff;border-radius:6px;font:inherit;font-size:11px;min-width:24px;height:24px;padding:0 6px;cursor:pointer;color:#141414}
.hb-tb.on{background:#141414;color:#fefcf2;border-color:#141414}
.hb-tb:disabled{opacity:.35;cursor:default}
.hb-x{font-size:14px}
@media (max-width:1100px){.hb[style*="span 4"],.hb[style*="span 8"]{grid-column:span 6 !important}}
@media (max-width:760px){.hb{grid-column:span 12 !important}}

/* ---------------------------------------------------------------- Company page, Screener-style (16 Oct) */
.xs-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.xs-id{display:flex;gap:14px;align-items:center;flex:1 1 360px;min-width:0}
.lg.xs-lg{width:48px;height:48px;font-size:20px}
.xs-name{margin:0;font-size:26px;line-height:32px;font-weight:600;letter-spacing:-.02em}
.xs-links{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:#6b6862}
.xs-links a{color:#3f3e3a}
.xs-px{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.xs-price{font-size:28px;font-weight:600;letter-spacing:-.02em}
.xs-acts{display:flex;gap:8px;flex-wrap:wrap}
.xs-atlas{background:#eef3ea;border:1px solid #cfe0c7;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:14px}
.xs-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #e7e3d3;padding:10px 22px}
.xs-r{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid #f4f1e6;font-size:14px}
.xs-r span{color:#3f3e3a}.xs-r b{font-weight:600;font-variant-numeric:tabular-nums}
.xs-r[title]{cursor:help}
@media (max-width:900px){.xs-ratios{grid-template-columns:repeat(2,minmax(0,1fr))}}
.xs-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;justify-content:space-between;background:#fefcf2;padding:10px 0;margin:14px 0 4px;border-bottom:1px solid #e7e3d3}
.xs-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.xs-nav a{white-space:nowrap;padding:6px 10px;border-radius:8px;font-size:13px;text-decoration:none}
[data-dc] .xs-nav a{color:#3f3e3a;text-decoration:none}
.xs-nav a:hover{background:#f3efe0}
.xs-seg{display:inline-flex;background:#f3efe0;border-radius:999px;padding:3px;flex:none}
.xs-seg button{border:0;background:transparent;font:inherit;font-size:13px;padding:5px 12px;border-radius:999px;cursor:pointer;color:#3f3e3a}
.xs-seg button[aria-pressed="true"]{background:#141414;color:#fefcf2}
.xs-sec{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #e7e3d3;padding:18px 22px;margin-top:14px;scroll-margin-top:64px;min-width:0}
.xs-sec h2{margin:0 0 6px;font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.01em}
.xs-sh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.xs-tw{overflow-x:auto;margin:0 -6px}
.xs-t{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
.xs-t th,.xs-t td{padding:7px 10px;border-bottom:1px solid #f4f1e6;white-space:nowrap}
.xs-t thead th{font-weight:500;color:#6b6862;text-align:right;font-size:12px;border-bottom:1px solid #e7e3d3}
.xs-t td{text-align:right}
.xs-t tbody th{text-align:left;font-weight:400;color:#3f3e3a;position:sticky;left:0;background:#fff;min-width:200px;white-space:normal}
.xs-t tr.xs-key th,.xs-t tr.xs-key td{font-weight:600;color:#141414}
.xs-t tbody tr:hover td,.xs-t tbody tr:hover th{background:#faf8f0}
.xs-pt th,.xs-pt td{text-align:right}.xs-pt thead th:first-child,.xs-pt tbody th{text-align:left}
.xs-na{color:#b5b0a0}
.xs-more{border:0;background:none;color:#2f5f9e;font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}
.xs-about{font-size:14px;line-height:22px;color:#3f3e3a;margin:0 0 6px;max-width:80ch}
.xs-pc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 6px}
.xs-pros,.xs-cons{border-radius:12px;padding:12px 16px;font-size:14px}
.xs-pros{background:#edf5f1}.xs-cons{background:#fbefef}
.xs-pros b{color:#087a68}.xs-cons b{color:#c4001a}
.xs-pros p,.xs-cons p{margin:6px 0 0;line-height:20px}
@media (max-width:760px){.xs-pc{grid-template-columns:1fr}}
.xs-cgs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){.xs-cgs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.xs-cg{border:1px solid #e7e3d3;border-radius:10px;padding:10px 14px;font-size:13px}
.xs-cg b{display:block;margin-bottom:4px}
.xs-cg div{display:flex;justify-content:space-between;padding:3px 0;color:#3f3e3a}
.xs-hold{display:flex;height:16px;border-radius:8px;overflow:hidden;margin:8px 0}
.xs-hl{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
.xs-hl i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.xs-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.xs-docs a{display:flex;flex-direction:column;gap:2px;border:1px solid #e7e3d3;border-radius:10px;padding:12px 14px;text-decoration:none}
[data-dc] .xs-docs a{color:#141414;text-decoration:none}
.xs-docs a:hover{background:#faf8f0}.xs-docs span{font-size:12px;color:#6b6862}
.xs-src{margin-top:14px}
.xs-detail-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#141414;border-radius:14px;padding:14px 18px;text-decoration:none}
[data-dc] a.xs-detail-cta{color:#fefcf2;text-decoration:none}
.xs-detail-cta>span:first-child{display:flex;flex-direction:column;gap:2px}
.xs-detail-cta .ax-small{color:#d9d4c2}
.xs-detail-cta:hover{background:#2a2a2a}
.aa-und{display:block;font-size:12px;color:#6b6862;margin-bottom:6px;font-style:italic}
.ec-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px dashed #c9c2a8;border-radius:12px;padding:10px 14px;margin-bottom:10px}
.ec-add .ax-in{max-width:260px}
.hb-cfg{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:#faf8f0;border:1px solid #e7e3d3;border-radius:10px;padding:10px 12px}
.hb-ticks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;width:100%;max-height:220px;overflow:auto}
.hb-ticks .ax-check{font-size:13px}
