.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header+.page-main{padding-top:1.75rem}.home-page{display:grid;gap:var(--space-6);min-width:0;max-width:100%;overflow-x:clip}.home-workspace{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(20rem,1fr);gap:var(--space-5);align-items:stretch}.home-insight-stack{display:grid;grid-template-rows:auto auto;align-content:start;gap:var(--space-5);min-width:0}.home-section{min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.section-title{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section-title h2,.chat-shell__header h2{color:var(--accent);font-size:1.2rem}.section-more{display:inline-flex;gap:var(--space-1);align-items:center;justify-content:center;min-height:2.75rem;padding:0 var(--space-2);color:var(--accent);border-radius:var(--radius-sm);font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}.section-more:hover{background:#edf6ff}.opportunity-list{display:grid;border-top:1px solid var(--border)}.opportunity-card{display:grid;grid-template-columns:1.7rem minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3) 0;border-bottom:1px solid var(--border);text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast)}.opportunity-card:last-child{padding-bottom:0;border-bottom:0}.opportunity-card:hover{color:var(--accent)}.card-rank{display:grid;width:1.55rem;height:1.55rem;margin-top:.1rem;color:var(--accent);background:#edf6ff;border-radius:50%;place-items:center;font-family:var(--font-mono);font-size:.72rem;font-weight:700}.card-content{display:grid;min-width:0;gap:.1rem}.card-content strong,.holding-card__head strong{font-size:.95rem}.card-code{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem}.card-summary{margin-top:var(--space-1);color:var(--text-secondary);font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}.card-arrow{padding-top:.15rem;color:var(--text-secondary)}.empty-state{padding:var(--space-5) 0 var(--space-1);margin:0;color:var(--text-secondary);border-top:1px solid var(--border)}.holdings-section{padding-bottom:var(--space-5)}.holdings-rail{display:grid;grid-auto-columns:minmax(17.5rem,23rem);grid-auto-flow:column;gap:var(--space-4);padding:0 0 var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.holding-card{display:block;min-width:0;padding:var(--space-5);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);scroll-snap-align:start;text-decoration:none;transition:border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast);cursor:pointer}.holding-card:hover{background:#f8fbff;border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.holding-card:active{background:#edf6ff}.holding-card__head{display:flex;gap:var(--space-3);justify-content:space-between;align-items:start;margin-bottom:var(--space-4)}.holding-card__head>div{display:grid;gap:.1rem;min-width:0}.holding-card__price{flex:none;color:var(--text-primary);font-family:var(--font-mono);font-size:1.08rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;text-align:right}.holding-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4);padding-top:var(--space-3);margin:0;border-top:1px solid var(--border)}.holding-data div{min-width:0}.holding-data dt{color:var(--text-secondary);font-size:.7rem;font-weight:600}.holding-data dd{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:.83rem;font-weight:400;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-up{color:#a61b12!important}.metric-down{color:#166534!important}.metric-neutral{color:var(--text-primary)!important}.chat-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;min-height:0;height:100%;padding:var(--space-5);background:#f8fbff;overflow:hidden}.chat-shell__header{display:flex;gap:var(--space-2);align-items:center;padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.chat-duck-avatar{display:block;flex:none;width:2rem;height:2rem;object-fit:contain}.chat-duck-avatar--message{width:1.75rem;height:1.75rem;margin-top:.15rem}.chat-shell__messages{display:grid;align-content:start;gap:var(--space-4);min-height:0;padding:var(--space-5) var(--space-1) var(--space-5) 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.chat-message{display:flex;gap:var(--space-2);align-items:start;max-width:91%}.chat-message--user{justify-self:end}.chat-message__bubble{min-width:0;padding:var(--space-3) var(--space-4);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.chat-message--user .chat-message__bubble{color:#fff;background:var(--accent);border-color:var(--accent)}.chat-message__bubble p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.58;overflow-wrap:anywhere}.chat-message--user .chat-message__bubble p{color:#fff}.chat-message__name{display:block;margin-bottom:var(--space-1);color:var(--accent);font-size:.72rem;font-weight:700}.chat-user-avatar{display:grid;flex:none;width:1.75rem;height:1.75rem;color:#fff;background:#60758b;border-radius:50%;place-items:center;font-size:.72rem;font-weight:700}.chat-shell__composer{display:flex;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.chat-shell__composer input{flex:1;min-width:0;min-height:2.75rem;padding:0 var(--space-3);color:var(--text-secondary);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem}.chat-shell__composer button{min-width:4.5rem;min-height:2.75rem;color:#fff;background:var(--accent);border:0;border-radius:var(--radius-sm);font-weight:700}.chat-shell__composer input:disabled,.chat-shell__composer button:disabled{opacity:.58;cursor:not-allowed}@media(max-width:900px){.home-workspace{grid-template-columns:1fr}.home-insight-stack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;align-content:stretch}}@media(max-width:640px){.site-header+.page-main{padding-top:1.25rem}.home-page{gap:var(--space-5)}.home-workspace,.home-insight-stack{grid-template-columns:1fr;gap:var(--space-4)}.home-section{padding:var(--space-4)}.chat-shell{order:-1;height:auto;min-height:34rem}.holdings-rail{grid-auto-columns:minmax(16.5rem,88%);gap:var(--space-3);padding-bottom:var(--space-3)}.chat-message{max-width:96%}.chat-shell__composer button{min-width:4rem}}@media(max-width:390px){.holding-data{gap:var(--space-3)}.chat-shell{min-height:32rem}.chat-shell__composer button{padding-inline:var(--space-2)}}
/* Header and homepage use the same .shell primitive for visible inline boundaries. */
.home-page,.home-workspace{min-width:0}.home-page{overflow-x:clip}@media(min-width:901px){.home-workspace{grid-template-columns:minmax(0,1.4fr) minmax(20rem,1fr)}}

/* Desktop insight content owns the row height; Chat stretches into that natural height. */
@media(min-width:901px){.chat-shell{contain:size}}

/* 737O-R6: shared compact grid tracks align price and right facts without widening cards. */
.holdings-section{overflow-x:clip}.holdings-rail{grid-auto-columns:clamp(16rem,19.7vw,17.75rem);min-width:0;max-width:100%;contain:layout paint}.holding-card{padding:.875rem}.holding-card__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.7rem,.86fr);column-gap:var(--space-3);align-items:start;margin-bottom:var(--space-3)}.holding-card__price{justify-self:start;min-width:0;color:var(--text-primary);text-align:left;white-space:nowrap}.holding-data{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.7rem,.86fr);column-gap:var(--space-3);row-gap:var(--space-2);padding-top:var(--space-3)}.holding-data div:nth-child(even){justify-self:start}.chat-message__bubble p+p{margin-top:var(--space-3)}
@media(max-width:900px){.holdings-rail{max-width:100%}}
.chat-shell__composer textarea{flex:1;min-width:0;min-height:2.75rem;max-height:8rem;padding:.65rem var(--space-3);resize:vertical;color:var(--text-primary);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9rem;line-height:1.45}.chat-shell__composer textarea:focus-visible,.chat-shell__composer button:focus-visible{outline:3px solid rgba(79,141,246,.38);outline-offset:2px}.chat-shell__composer button{cursor:pointer;touch-action:manipulation}.chat-shell__composer button:disabled{opacity:.58;cursor:not-allowed}.chat-message[data-chat-loading=true] .chat-message__bubble p::after{content:"";display:inline-block;width:.25rem;height:.25rem;margin-left:.25rem;background:currentColor;border-radius:50%;animation:chat-thinking 1s ease-in-out infinite}@keyframes chat-thinking{50%{opacity:.22;transform:translateY(-.15rem)}}@media(prefers-reduced-motion:reduce){.chat-message[data-chat-loading=true] .chat-message__bubble p::after{animation:none}}

/* Grid overlays reserve both panels without changing card or workspace bounds. */
.recommendation-tabs{display:flex;gap:.75rem;min-height:2.75rem;align-items:center}.recommendation-tabs button{font:inherit;font-size:1.2rem;font-weight:700;border:0;padding:.35rem 0;background:transparent;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;min-height:44px}.recommendation-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.recommendation-tabs button:hover{color:var(--accent)}.recommendation-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.recommendation-panels{display:grid}.recommendation-panels>[role=tabpanel]{grid-area:1/1;min-width:0}.recommendation-panels>[hidden]{display:block;visibility:hidden;pointer-events:none}.business-date{color:var(--text-secondary);font-size:.78rem;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.section-title--metadata{margin-bottom:.25rem;min-height:44px}.opportunity-section--focus .section-title{gap:.5rem;flex-wrap:wrap}.opportunity-section--focus .section-title h2{margin-right:auto}.home-top-card .opportunity-card{min-height:104px;box-sizing:border-box}.home-top-card .card-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.home-top-card{min-height:438px}.recommendation-tabs{flex-wrap:wrap}

.recommendation-tabs button{white-space:nowrap}.recommendation-tabs .business-date{margin-left:.35rem}.section-title--metadata{margin-top:-.2rem}.home-top-card .recommendation-tabs{flex-wrap:nowrap;gap:.6rem}@media(max-width:390px){.home-top-card .recommendation-tabs button{font-size:1.05rem}.home-top-card .recommendation-tabs .business-date{font-size:.72rem;margin-left:.2rem}}

/* Opportunity navigation shares one compact title row in both states. */
.home-top-card .opportunity-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center;min-height:44px;margin-top:0;margin-bottom:var(--space-4)}
.home-top-card .opportunity-header h2{white-space:nowrap}
.home-top-card .opportunity-header .recommendation-tabs{gap:.4rem;min-height:44px;flex-wrap:nowrap}
.home-top-card .opportunity-header .recommendation-tabs button{font-size:1.2rem;padding:.35rem 0;touch-action:manipulation}
.recommendation-divider{color:var(--text-secondary);font-size:.9rem}
.home-top-card .opportunity-header .recommendation-tabs button{font-weight:600}
.home-top-card .opportunity-header .recommendation-tabs button[aria-selected=true]{font-weight:700}
.opportunity-header__dates{min-width:0;display:flex;align-items:center}
.opportunity-header__dates [hidden]{display:none}
.opportunity-header__history{justify-self:end}
@media(max-width:1100px){.home-top-card .opportunity-header{column-gap:.4rem}.home-top-card .opportunity-header .recommendation-tabs button{font-size:1.05rem}.opportunity-header__dates .business-date{white-space:normal;overflow-wrap:normal}}
@media(max-width:390px){.home-top-card .opportunity-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px auto;row-gap:0}.opportunity-header__dates{grid-column:1;grid-row:2}.opportunity-header__history{grid-column:2;grid-row:1 / span 2}.home-top-card .opportunity-header .recommendation-tabs button{font-size:1.05rem}}

.chat-message__bubble p{white-space:pre-wrap}.chat-detail-link{display:block;margin-top:var(--space-3);color:var(--accent);font-size:.86rem;overflow-wrap:anywhere}.chat-detail-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Product Welcome: bounded desktop modal, with pinned dismissal controls. */
.welcome-modal{padding:24px;overflow:hidden}
.welcome-dialog{width:min(1040px,calc(100vw - 48px));max-width:100%;max-height:min(620px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;padding:48px 32px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:left}
.welcome-close{top:8px;right:8px;z-index:1}
.welcome-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;min-height:0;overflow:auto;overscroll-behavior:contain}
.welcome-copy{min-width:0}.welcome-logo{display:block;width:48px;height:48px;object-fit:contain;margin-bottom:12px}
.welcome-dialog h2{font-size:1.65rem;color:var(--accent)}.welcome-dialog p{margin:12px 0;font-size:.9375rem;line-height:1.6}.welcome-subtitle{color:var(--accent);font-size:.85rem!important}
.welcome-visual{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.welcome-team{display:block;width:100%;max-width:100%;height:auto;max-height:min(460px,calc(100dvh - 180px));object-fit:contain}
.welcome-actions{flex:none;padding-top:16px}.welcome-dialog .button{min-height:44px;min-width:10rem;margin-top:0}
@media(max-width:800px){.welcome-modal{padding:16px}.welcome-dialog{width:calc(100vw - 32px);max-height:calc(100dvh - 48px);padding:48px 20px 20px}.welcome-content{grid-template-columns:1fr;grid-auto-rows:max-content;gap:12px}.welcome-dialog h2{font-size:1.4rem}.welcome-team{max-height:180px}.welcome-actions .button{width:100%}}

/* G11B: shared live/history message styling and mobile composer reachability. */
.chat-detail-link{display:inline-flex;align-items:center;min-height:2.75rem;padding-block:.5rem;max-width:100%}
.holding-data dt{font-size:.75rem}
@media(max-width:900px){.chat-shell{height:clamp(14rem,calc(100vh - 11rem),44rem);height:clamp(14rem,calc(100dvh - 11rem),44rem);min-height:0;max-height:44rem}.chat-shell__messages{min-height:0;overflow-y:auto}.chat-shell__composer{min-width:0}.chat-shell__composer textarea{font-size:1rem}}

@media(max-width:950px) and (orientation:landscape) and (max-height:500px){.chat-shell{height:80vh;height:80dvh}}
