/* PDF review, 31 Oct 2026. Inter type scale and warm, paired surfaces. */
:root,:root[data-theme=dark]{--bg:#171717;--side:#1c1c1c;--panel:#202020;--panel2:#282725;--text:#f5f0ea;--muted:#b7b0aa;--soft:#b7b0aa;--line:#383838;--grid:#32312f;--chip:#38291f;--accent:#ff955f;--brand:#f14e24;--green:#70d5a6;--red:#ff8e99;--input:#242321;--shell-edge:#514b46;--shell-divider:#3d3935;--tint:#ff955f12;--shadow:0 3px 14px #00000018}
:root[data-theme=light]{--bg:#f5f3ef;--side:#ece8e2;--panel:#fff;--panel2:#f8f6f3;--text:#24211f;--muted:#6f6a65;--soft:#6f6a65;--line:#e6e1da;--grid:#ede9e4;--chip:#f5e7dc;--accent:#a9431d;--green:#137653;--red:#bb3445;--input:#fff;--shell-edge:#c9c1b8;--shell-divider:#d8d1c8;--tint:#a9431d0c;--shadow:0 3px 14px #30221505}
:root body{font:400 16px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text)}
:root :is(button,input,select,textarea){font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:root :is(button,a,summary,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:root :is(.eyebrow,.overline,.nav-caption){font-size:12px;line-height:18px;letter-spacing:.035em;font-weight:600;color:var(--muted)}
:root :is(.button,.button.small,.filter-tabs button,.tabs button){font-size:14px;font-weight:600;line-height:20px;min-height:40px}
:root .button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}
:root[data-theme=light] .button.primary{color:#fff}
:root .button.primary:hover{filter:brightness(.95);background:var(--accent)}
:root :is(.muted,.source-foot,.closed-badge,.feed-badge,.market-universe-status,.market-chart-foot,.market-news-coverage,.builder-note,.premium-chart-note,.paper-chart-caption,.strike-edit-note){font-size:12px;line-height:18px;letter-spacing:0}
:root :is(.panel-head h2,.section-title h2){font-size:18px;font-weight:600;line-height:28px;letter-spacing:0}
:root :is(.panel-head p,.page-heading p,.company-description,.news-item p,.market-news-item p){font-size:16px;line-height:24px}
:root .workspace .page-heading h1{font-size:30px;font-weight:600;line-height:38px;letter-spacing:-.02em}
:root .workspace .page-heading{margin-bottom:20px;align-items:center}
:root #content .panel{border-color:var(--shell-divider);border-radius:12px;box-shadow:var(--shadow)}
:root #content :is(select,input:not([type=range])){font-size:14px;border-color:var(--shell-edge)}
:root :is(.research-tools label,.compact-chart-controls label,.premium-chart-controls label,.paper-risk-fields label,.field-title){font-size:12px;line-height:18px;letter-spacing:.02em;font-weight:600}
:root :is(.leg-market,.leg-market small,.selected-leg-extra small,.leg-activity small,.futures-quotes>small,.futures-quotes span small){font-size:12px;line-height:18px}
:root .reference-brand .pulse-brand-copy strong{font-family:Inter,sans-serif;color:var(--brand);font-weight:700}
:root .reference-brand .pulse-brand-copy small,:root .sidebar .reference-brand .pulse-brand-copy small{font-family:Inter,sans-serif;font-size:12px!important;line-height:18px;letter-spacing:.025em!important;color:var(--muted)!important}
/* One navigation, consistent 20px icons, soft active state. */
:root .sidebar{display:flex;flex-direction:column;overflow:visible;border-right:1px solid var(--shell-edge)}
:root .sidebar>#side-nav{flex:1;min-height:0;overflow-y:auto;margin-top:28px;scrollbar-width:thin}
:root .sidebar nav>a{min-height:44px;font-size:14px;font-weight:500;padding:11px 12px;border:0;border-radius:6px;gap:12px;line-height:20px;color:var(--muted)}
:root .sidebar nav>a.active{background:var(--chip);box-shadow:inset 3px 0 var(--accent);color:var(--accent);font-weight:600;border:0}
:root .sidebar nav>a:hover{background:var(--panel);border:0}
:root .sidebar nav>a[data-page=chain]{margin-top:18px}
:root .sidebar .nav-icon,:root .sidebar .nav-icon svg{display:block;width:20px;height:20px;min-width:20px;margin:0;stroke-width:1.5}
:root .sidebar-bottom{margin-top:16px;padding-top:12px;border-top:1px solid var(--shell-divider);flex:none}
.sidebar-theme{display:flex;align-items:center;gap:12px;width:100%;height:42px;padding:9px 12px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:500}
.sidebar-theme:hover{background:var(--panel);color:var(--text)}
:root .collapse-btn{display:flex;align-items:center;gap:12px;font-size:12px;line-height:18px;padding:10px 12px;width:100%;border:0;background:none;color:var(--muted)}
.account-menu{position:relative;margin-top:8px;border-top:1px solid var(--shell-divider);padding-top:12px}
.account-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;min-height:52px;padding:8px 6px;border-radius:6px;color:var(--text)}
.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:var(--panel)}
.account-menu .avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:8px;background:var(--chip);font-size:14px;font-weight:600;color:var(--accent)}
.account-copy{min-width:0;flex:1}.account-copy strong{display:block;font-size:14px;line-height:20px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy small{display:block;font-size:12px;line-height:18px;color:var(--muted)}
.account-popover{position:absolute;bottom:calc(100% + 8px);left:0;width:220px;padding:6px;background:var(--panel);border:1px solid var(--shell-edge);border-radius:10px;box-shadow:0 12px 32px #0002;z-index:50}
.account-popover a,.account-popover button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:5px;padding:11px 12px;color:var(--text);font-size:14px;line-height:20px;text-decoration:none}
.account-popover :is(a,button):hover{background:var(--panel2)}.account-popover button{color:var(--muted)}
:root body.collapsed .sidebar :is(.theme-label,.account-copy,.account-chevron,.collapse-label){display:none}
:root body.collapsed .sidebar-theme,:root body.collapsed .collapse-btn{justify-content:center;padding:10px 0}
body.collapsed .account-popover{left:58px;bottom:0}.account-menu[open] .account-chevron{transform:rotate(180deg)}
/* Index strip carries market information only. */
:root .workspace .topbar{padding:12px 24px;gap:20px;background:var(--side);border-bottom:1px solid var(--shell-edge)}
:root .ticker{display:flex;flex:1;min-width:0;gap:0;overflow-x:auto}
:root .ticker .tick{display:block;min-width:142px;padding:0 16px;border-right:1px solid var(--shell-divider);flex:1}
:root .ticker .tick:first-child{padding-left:0}:root .ticker .tick:last-child{border:0}
:root .ticker .tick-name{font-size:12px;line-height:18px;letter-spacing:.025em;font-weight:600;color:var(--muted)}
:root .ticker .tick-price{font-size:24px;line-height:32px;letter-spacing:-.02em;font-weight:700;margin:2px 0}
:root .ticker .tick-change{font-size:12px;line-height:18px;font-weight:600;white-space:nowrap}
.exchange-session-meta{flex:none;display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:142px}
.exchange-session{font-size:12px;line-height:18px;font-weight:600;color:var(--muted);white-space:nowrap}
.exchange-session:before{content:'';display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:7px}.exchange-session[data-tone=open]:before{background:var(--green)}.exchange-session[data-tone=session]:before{background:var(--accent)}
:root .clock{display:block;font-size:12px;line-height:18px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
:root .heading-actions{gap:12px;flex-direction:row;align-items:center}:root #refresh{font-size:14px;min-height:40px;padding:9px 12px}
:root .feed-badge{letter-spacing:0;text-transform:none;padding:5px 9px}
:root :is(.market-news-item h3,.news-item h3){font-size:16px;line-height:24px;font-weight:600}
:root .market-instrument-heading h2{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.02em}
:root .market-current-quote strong{font-size:24px;font-weight:600;line-height:32px}
/* Login: one Google entry point, aligned with the product preview. */
.login-page{display:flex;flex-direction:column;min-height:100svh}
:root .auth-header{width:100%;max-width:1320px;padding:28px 40px}
:root .theme-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;background:var(--panel);color:var(--text);border:1px solid var(--shell-edge);border-radius:10px;padding:0}
.theme-button .theme-label{display:none}:root .theme-button:hover{background:var(--panel2);filter:none}
:root .auth-layout{width:100%;max-width:1240px;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:80px;min-height:0;padding:40px 40px 44px;align-items:center}
.login-page .auth-layout{flex:1}
:root .intro h1{font:600 clamp(40px,4.6vw,60px)/1.2 Inter,sans-serif;letter-spacing:-.02em;margin:20px 0}
:root .hero-wordmark{font-family:Inter,sans-serif;font-weight:600;letter-spacing:-.02em;color:var(--brand)}
:root .intro .eyebrow{font-size:12px;line-height:18px;letter-spacing:.035em;margin:0}
:root .intro-copy{font-size:18px;line-height:28px;max-width:460px;margin:0;color:var(--muted)}
:root .market-art{margin-top:32px;padding-top:18px;border-color:var(--shell-divider)}
:root .art-heading{font-size:12px;line-height:18px;letter-spacing:0;font-weight:600;color:var(--muted)}
.art-example{font-size:12px;font-weight:400}
:root .market-art svg>path[stroke]{stroke:#f07842}:root .market-art svg>circle{fill:#f07842;stroke:#f07842}
:root .art-tabs{font-size:12px;line-height:18px;font-weight:500;padding:14px 0;letter-spacing:0;color:var(--muted)}
:root .intro-foot{font-size:14px;line-height:20px;letter-spacing:0;margin:16px 0 0;color:var(--muted)}
:root .auth-card{padding:34px;border:1px solid var(--shell-edge);border-radius:16px;background:var(--panel);box-shadow:0 16px 44px #0000000f}
:root[data-theme=dark] .auth-card{box-shadow:0 16px 44px #00000030}
.login-page .form-heading{margin:0 0 24px}.login-page .form-heading .eyebrow{font-size:12px;line-height:18px;letter-spacing:.025em;margin:0 0 12px}
:root .form-heading h2{font-size:30px;line-height:38px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}
:root .form-heading>p:last-child{font-size:16px;line-height:24px;color:var(--muted)}
:root .google-button{min-height:56px;padding:14px 18px;border-radius:8px;background:#fff;color:#24211f;border:1.5px solid var(--accent);font-size:16px;line-height:24px;font-weight:600;gap:12px;box-shadow:0 2px 5px #0000000b}
:root .google-button:not(:disabled):hover{background:#f5f3ef;filter:none;box-shadow:0 0 0 3px var(--tint)}
:root .google-button:disabled{opacity:.6}
:root .google-note{font-size:16px;line-height:24px;text-align:left;margin:20px 0;color:var(--muted)}
:root .auth-status{font-size:14px;line-height:20px;margin-top:16px}
.signin-help{font-size:14px;line-height:20px;color:var(--muted);margin:20px 0}.signin-help summary{cursor:pointer;color:var(--accent);font-weight:500}.signin-help p{margin:12px 0 0}
:root .card-foot{margin-top:24px;padding-top:20px;font-size:12px;line-height:18px;color:var(--muted);justify-content:flex-start;gap:8px}.card-foot svg{flex:none}
:root .login-page footer{padding:12px 40px 24px;margin:0 auto;width:100%;max-width:1320px}
:root footer .powered-by{font:500 12px/18px Inter,sans-serif;letter-spacing:0;color:var(--muted)}
:root .profile-card .field-note{font-size:14px;line-height:20px}
@media(max-width:1250px){:root .ticker .tick{min-width:138px;padding:0 12px}:root .exchange-session-meta{min-width:136px}:root .auth-layout{gap:40px}}
@media(max-width:1000px){:root .sidebar :is(.theme-label,.account-copy,.account-chevron,.collapse-label){display:none}:root .sidebar-theme,:root .collapse-btn{justify-content:center;padding:10px 0}.account-popover{left:58px;bottom:0}:root .sidebar nav>a{justify-content:center}:root .sidebar .reference-brand .pulse-signal{width:44px;height:30px;margin:0}:root .sidebar .reference-brand{justify-content:center;margin-bottom:10px}:root .auth-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(330px,390px);padding:28px}:root .auth-card{padding:28px}}
@media(max-width:760px){:root .auth-header{padding:22px 24px}:root .login-page .auth-layout{display:flex;align-items:center;max-width:490px;padding:24px;min-height:0}:root .login-page .intro{display:none}:root .auth-layout{display:block}:root .form-heading h2{font-size:24px;line-height:32px}:root .auth-card{padding:28px 24px}:root .login-page footer{padding:16px 24px 24px}:root .workspace .topbar{padding:10px 14px;display:block}:root .exchange-session-meta{flex-direction:row;justify-content:space-between;align-items:center;padding-top:8px;margin-top:10px;border-top:1px solid var(--shell-divider)}:root .ticker .tick{min-width:138px}:root .ticker .tick-price{font-size:20px;line-height:28px}:root .workspace .page-heading h1{font-size:24px;line-height:32px}:root .heading-actions{width:100%;justify-content:space-between}:root .sidebar nav>a{justify-content:center}:root .sidebar .nav-icon{display:block}:root .account-menu summary{padding:6px 0;justify-content:center}:root .sidebar-theme{height:42px}:root .sidebar-bottom{padding-top:6px}:root .sidebar>#side-nav{margin-top:16px}:root .workspace .page-heading p{font-size:14px;line-height:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Secondary labels stay readable without enlarging dense numeric tables. */
:root #content :is(small,.overline,.label,.source-foot,.paper-risk-fields label,.selected-legs-head,.greek-source,.activity-period){font-size:12px;line-height:18px;letter-spacing:0}
:root .builder-actions .button{font-size:14px;min-height:38px}
:root #content :is(.selected-leg-columns>span,.strategy-greeks-heading>span,.greek-summary span,.greeks-note,.payoff-axis-unit){font-size:12px;line-height:18px}
:root #content .greek-model{font-size:12px;font-weight:600}

/* Searchable option universe: compact, with separate index and stock groups. */
:root .option-selectors{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
:root .option-selectors label{display:flex;flex-direction:column;gap:6px;min-width:150px}
:root .option-selectors label:nth-child(2){flex:1;min-width:220px;max-width:380px}
:root .option-selectors :is(select,input){width:100%;min-width:0;height:40px}
:root .option-selectors .option-coverage{font-size:12px;line-height:18px;color:var(--muted);padding-bottom:10px}
@media(max-width:760px){:root .option-selectors label,:root .option-selectors label:nth-child(2){flex:1 1 100%;max-width:none;min-width:0}:root .option-selectors .option-coverage{padding-bottom:0}}
