/* Bourceto 2.2 — full-width shell, vivid backdrop, TA workspace, risk/reward, Codal, IPO, watchlist. Loaded last. */

/* full-width, responsive shell */
.shell{max-width:none;grid-template-columns:clamp(232px,15vw,280px) minmax(0,1fr);gap:clamp(14px,1.2vw,24px);padding-inline:clamp(12px,1.4vw,28px)}
@media (min-width:1900px){body{font-size:15px}.grid{gap:20px}}
@media (max-width:920px){.shell{grid-template-columns:minmax(0,1fr)}}

/* vivid moving backdrop so the glass reads as glass */
body::before{background:
  radial-gradient(42vmax 34vmax at 88% 6%,rgba(20,184,166,.42),transparent 70%),
  radial-gradient(38vmax 30vmax at 6% 26%,rgba(37,99,235,.38),transparent 70%),
  radial-gradient(34vmax 28vmax at 62% 104%,rgba(245,158,11,.26),transparent 70%),
  radial-gradient(30vmax 26vmax at 30% 70%,rgba(219,39,119,.16),transparent 70%),
  linear-gradient(180deg,#050912,#0a1224)}
.bg-orbs{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-orbs i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;mix-blend-mode:screen;animation:orb 26s ease-in-out infinite alternate}
.bg-orbs i:nth-child(1){width:34vmax;height:34vmax;left:-8vmax;top:8vh;background:radial-gradient(circle,#14b8a6,transparent 65%)}
.bg-orbs i:nth-child(2){width:30vmax;height:30vmax;right:-6vmax;top:-10vh;background:radial-gradient(circle,#2563eb,transparent 65%);animation-duration:32s;animation-delay:-8s}
.bg-orbs i:nth-child(3){width:26vmax;height:26vmax;right:22vw;bottom:-14vh;background:radial-gradient(circle,#f59e0b,transparent 65%);opacity:.38;animation-duration:38s}
.bg-orbs i:nth-child(4){width:22vmax;height:22vmax;left:34vw;top:30vh;background:radial-gradient(circle,#db2777,transparent 65%);opacity:.28;animation-duration:44s;animation-delay:-14s}
@keyframes orb{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vmax,-4vmax) scale(1.12)}100%{transform:translate(-4vmax,5vmax) scale(.94)}}
.glass{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
@media (prefers-reduced-motion: reduce){.bg-orbs i{animation:none}}

/* search dropdown: opaque surface above the ticker (nested backdrop-filter does not blur) */
.topbar{z-index:45}
.search-results.glass{position:absolute;z-index:90;background:rgba(10,16,32,.97);border-color:rgba(255,255,255,.14);box-shadow:0 28px 60px -20px rgba(0,0,0,.85);backdrop-filter:none;-webkit-backdrop-filter:none}
.search-results a{align-items:center}
.search-results a b{font-weight:800}
.search-results a .faint{font-size:12px}

/* stronger selected state for every segmented control */
.seg button[aria-pressed="true"],.seg .segl[aria-current="page"]{background:linear-gradient(135deg,rgba(45,212,191,.28),rgba(56,189,248,.18));color:#e8fffb;box-shadow:inset 0 0 0 1px rgba(45,212,191,.65),0 6px 18px -8px rgba(45,212,191,.7)}
.seg .segl{padding:5px 12px;border-radius:9px;color:var(--fg-2);font-weight:700;font-size:12.5px;text-decoration:none}
.seg-strong button{padding:7px 14px;font-size:13px}

/* all-symbols toolbar: sort filters right, search + group left */
.sym-tools{flex-wrap:wrap;gap:12px}
.sym-search{flex:1;justify-content:flex-end;align-items:center;flex-wrap:nowrap;min-width:280px}
.sym-search > .input{max-width:260px}
.sym-sec{width:280px;flex:none}
@media (max-width:760px){.sym-search{flex-wrap:wrap}.sym-sec,.sym-search > .input{width:100%;max-width:none}}

/* sidebar version tag */
.ver{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--fg-3);padding:10px 6px 0;border-top:1px solid var(--glass-line);margin-top:8px}
.ver b{color:var(--fg-2)}

/* watchlist */
.watch-wide{margin-top:4px}
.gperf.wide{gap:22px}
.gperf.wide div{min-width:64px}

/* risk / reward */
.rr-top{display:flex;gap:12px;flex-wrap:wrap}
.rr-ratio{flex:1;min-width:160px;display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-line)}
.rr-ratio b{font-size:30px;font-weight:900;line-height:1.1}
.rr-ratio.up b{color:var(--up)} .rr-ratio.down b{color:var(--down)} .rr-ratio.gold-t b{color:var(--gold)}
.rr-ratio .chip{align-self:flex-start}
.rr-bar{position:relative;height:16px;border-radius:99px;background:var(--glass-strong);margin:22px 0 6px;direction:ltr}
.rr-bar span{position:absolute;top:0;bottom:0}
.rr-risk{background:linear-gradient(90deg,rgba(251,113,133,.85),rgba(251,113,133,.35));border-radius:99px 0 0 99px}
.rr-reward{background:linear-gradient(90deg,rgba(52,211,153,.35),rgba(52,211,153,.9))}
.rr-fair{background:repeating-linear-gradient(45deg,rgba(45,212,191,.55) 0 6px,rgba(45,212,191,.2) 6px 12px);border-radius:0 99px 99px 0}
.rr-now{position:absolute;top:-7px;width:4px;height:30px;margin-left:-2px;border-radius:3px;background:var(--fg);box-shadow:0 0 0 3px #0b1222}
.kv-lg .mini{display:block}

/* company + Codal */
.kv-co{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-bottom:12px}
.kv-co b{font-size:13.5px;font-weight:700}
.codal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:360px}
.codal li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;transition:background .2s}
.codal li:hover{background:var(--glass-hover)}
.codal li a,.codal .codal-t{flex:1;min-width:0;display:flex;align-items:center;gap:8px;color:var(--fg);text-decoration:none;font-size:13px}
.codal li a span,.codal .codal-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.codal li a:hover{color:var(--accent)}
.codal li svg{width:16px;height:16px;flex:none;color:var(--accent-2)}
.codal li small{color:var(--fg-3);font-size:11.5px;white-space:nowrap}

/* IPO */
.ipo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ipo{padding:18px;display:flex;flex-direction:column;gap:10px}
.ipo-h{display:flex;gap:12px;align-items:flex-start}
.ipo-h b{font-size:14.5px;line-height:1.6}
.ipo p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.9;max-height:9.5em;overflow:hidden}
.nav .chip.acc.badge{margin-inline-start:auto}

/* technical analysis workspace */
.ta-panel{padding:0;overflow:hidden}
.ta-root{height:calc(100vh - 210px);min-height:560px}
.ta{display:flex;flex-direction:column;height:100%}
.ta-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--glass-line)}
.ta-top .seg button svg{width:15px;height:15px}
.ta-chips{display:flex;flex-wrap:wrap;gap:6px}
.ta-chip{cursor:pointer;font-family:inherit}
.ta-chip[aria-pressed="true"]{background:rgba(45,212,191,.18);color:var(--accent);border-color:rgba(45,212,191,.5)}
.ta-note{width:180px;min-height:34px;padding:4px 10px;font-size:12.5px}
.ta-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--fg-3);margin-inline-start:auto}
.ta-legend b{color:var(--fg)}
.ta-body{flex:1;display:flex;min-height:0}
.ta-tools{display:flex;flex-direction:column;gap:4px;padding:10px 8px;border-inline-start:1px solid var(--glass-line);background:rgba(255,255,255,.02)}
.ta-tool{width:38px;height:38px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--fg-2);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .25s var(--ease-spring)}
.ta-tool svg{width:18px;height:18px}
.ta-tool:hover{background:var(--glass-hover);color:var(--fg);transform:scale(1.06)}
.ta-tool[aria-pressed="true"]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink)}
.ta-sep{height:1px;background:var(--glass-line);margin:6px 4px}
.ta-charts{flex:1;min-width:0;display:flex;flex-direction:column}
.ta-main{position:relative;flex:1;min-height:260px;direction:ltr}
.ta-main.drawing{cursor:crosshair}
.ta-chart{position:absolute;inset:0}
.ta-svg{position:absolute;inset:0;pointer-events:none;overflow:visible}
.ta-t{fill:#e2e8f0;font-size:11px;font-family:inherit;paint-order:stroke;stroke:#0b1222;stroke-width:3px}
.ta-dim{fill:#94a3b8}
.ta-hint{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--gold);pointer-events:none}
.ta-pane{position:relative;height:120px;border-top:1px solid var(--glass-line);direction:ltr}
.ta-pane-l{position:absolute;top:6px;left:10px;z-index:2;font-size:11px;color:var(--fg-3);font-weight:700}
@media (max-width:760px){.ta-root{height:auto;min-height:0}.ta-body{flex-direction:column-reverse}.ta-tools{flex-direction:row;flex-wrap:wrap;border:0;border-top:1px solid var(--glass-line)}.ta-main{height:380px;flex:none}.ta-lbl{display:none}}
