/* Shared color and font tokens are declared in theme.css. */
* { box-sizing:border-box; }
body { margin:0; color:var(--text); font:12px/1.5 var(--font-ui); background:var(--bg); }
button,input,select { font:inherit; color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; padding:6px 11px; border:1px solid var(--line-strong); border-radius:5px; background:var(--raised); }
button:hover { border-color:var(--line-strong); }
button:disabled { cursor:wait; opacity:.55; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.so-table-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
input,select { min-height:32px; border:1px solid var(--line-strong); border-radius:5px; background:var(--raised); padding:5px 9px; }
select { cursor:pointer; }
input::placeholder { color:var(--muted); }
[hidden] { display:none!important; }
h1,h2,h3,p { margin:0; }
h2 { font-size:12px; font-weight:600; }h3 { font-size:12px; font-weight:600; }
small,.muted { color:var(--muted); }small { font-size:10px; }
.accent { color:var(--accent-ink); }.up { color:var(--up); }.down { color:var(--down); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.so-header { position:relative; z-index:10; height:58px; padding:0 18px; display:flex; align-items:center; gap:24px; border-bottom:1px solid var(--line); background:var(--panel); box-shadow:0 12px 36px color-mix(in srgb,var(--shadow-color) 26.7%,transparent); backdrop-filter:blur(18px); }
.so-brand { display:flex; align-items:center; gap:14px; flex:none; }
.so-header-actions { display:flex; align-items:center; gap:12px; margin-left:auto; min-width:0; }
.so-header-actions button { font-size:10px; min-height:31px; }
.so-timestamp { display:grid; gap:1px; font:10px var(--font-data); }.so-timestamp span { color:var(--accent-ink); }.so-timestamp time { color:var(--muted); }
.so-token-link { color:var(--muted); text-decoration:none; font-size:10px; white-space:nowrap; }.so-token-link:hover { color:var(--text); }
.so-app { height:calc(100dvh - 58px); min-height:450px; display:flex; flex-direction:column; background:var(--bg); }
.so-toolbar { flex:none; display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:8px 10px; border-bottom:1px solid var(--line); background:var(--panel); }
.so-filter-controls { flex:none; display:flex; align-items:center; gap:10px; min-width:0; margin-left:auto; }
#search { width:180px; font-size:11px; }
.so-probability { flex:none; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; white-space:nowrap; }
.so-probability select { color:var(--accent-ink); font:700 12px var(--font-data); min-width:72px; }
button.primary { color:var(--accent-text); background:var(--accent); border-color:var(--accent); font-weight:700; }
#reset { flex:none; min-height:32px; font-size:10px; white-space:nowrap; }
.so-error { display:flex; align-items:center; gap:12px; margin:10px 12px 0; padding:8px 12px; border:1px solid color-mix(in srgb,var(--warning) 33.3%,transparent); background:color-mix(in srgb,var(--warning) 3.92%,transparent); border-radius:5px; color:var(--warning); }.so-error button { margin-left:auto; white-space:nowrap; }
.so-workspace { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 338px; gap:10px; padding:10px; }
.panel { min-width:0; min-height:0; border:1px solid var(--line); background:var(--panel); border-radius:9px; overflow:hidden; box-shadow:0 12px 30px color-mix(in srgb,var(--shadow-color) 13.3%,transparent); }
.so-results { position:relative; display:flex; flex-direction:column; }.so-table-scroll { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.so-results-content { position:relative; flex:1; min-height:0; display:flex; flex-direction:column; }
.so-scan-loading { position:absolute; inset:0; z-index:3; display:flex; align-items:flex-start; justify-content:center; padding:38px 12px; pointer-events:none; background:linear-gradient(var(--panel),var(--panel) 230px); }
.so-scan-loading-card { display:flex; align-items:center; gap:12px; max-width:100%; padding:14px 18px; border:1px solid var(--line-strong); border-radius:8px; background:var(--raised); box-shadow:0 8px 28px color-mix(in srgb,var(--shadow-color) 33.3%,transparent); }
.so-scan-loading-card strong { display:block; font-size:12px; font-weight:600; }.so-scan-loading-card small { display:block; margin-top:4px; }
.so-scan-spinner { flex:none; width:22px; height:22px; border:2px solid var(--muted); border-top-color:var(--accent-ink); border-radius:50%; animation:so-scan-spin .8s linear infinite; }
@keyframes so-scan-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .so-scan-spinner { animation:none; } }
.market-filter-bar { flex:1; min-width:200px; display:flex; align-items:center; gap:8px; }
.classification-modes { flex:none; padding:2px; display:flex; align-items:center; gap:2px; border:1px solid var(--line); border-radius:6px; background:var(--raised); }
.classification-mode,.classification-option { flex:none; appearance:none; min-height:27px; padding:0 10px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--muted); font:700 10px var(--font-ui); letter-spacing:.02em; white-space:nowrap; transition:color .14s ease,background-color .14s ease,border-color .14s ease; }
.classification-options { min-width:0; display:flex; align-items:center; gap:4px; overflow:auto; scrollbar-width:none; }.classification-options::-webkit-scrollbar { display:none; }
.classification-mode:hover,.classification-option:hover { color:var(--text); background:var(--hover); }
.classification-mode[aria-selected=true] { color:var(--text); border-color:color-mix(in srgb,var(--accent) 28%,transparent); background:var(--soft); }
.classification-option[aria-pressed=true] { color:var(--accent-text); border-color:var(--accent); background:var(--accent); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent),0 0 13px color-mix(in srgb,var(--accent) 12%,transparent); }
.so-table { width:100%; min-width:940px; border-collapse:collapse; table-layout:fixed; }.so-table .product { width:100px; }.so-table .volatility { width:122px; }.so-table .expiry { width:74px; }.so-table .theta-cash { width:94px; }
.so-table thead { position:sticky; top:0; z-index:1; background:var(--raised); }
.so-table thead th { background:var(--raised); padding:9px 10px; border-bottom:1px solid var(--line); color:var(--muted); text-align:left; font-size:10px; font-weight:500; }.so-side-heading span { margin-left:5px; font-size:9px; }
.so-table thead .so-side-heading { text-align:center; }
.so-table thead .so-sort-heading { padding:0; }
.so-sort-heading button { width:100%; min-height:34px; display:flex; align-items:center; gap:4px; padding:7px 6px; border:0; border-radius:0; background:transparent; color:var(--muted); font-size:10px; white-space:nowrap; }
.so-sort-heading button[data-sort-key=thetaCash] { white-space:normal; }.so-sort-heading button:hover { background:var(--hover); color:var(--text); }.so-sort-heading button:focus-visible { outline-offset:-2px; }.so-sort-heading button:disabled { cursor:default; opacity:.35; }
.so-sort-heading[aria-sort=ascending] button,.so-sort-heading[aria-sort=descending] button { color:var(--accent-ink); background:color-mix(in srgb,var(--accent) 3.53%,transparent); }
.sort-indicator { font:10px var(--font-data); }.so-expiry-heading button { justify-content:center; }
.so-table tbody th { padding:8px 12px; text-align:left; font-weight:400; }.so-table tbody th strong { display:block; font-size:12px; font-weight:600; }.so-table tbody th small { display:block; font:10px/1.6 var(--font-data); }
.so-product-vols { display:grid; gap:2px; color:var(--muted); font:9px/1.6 var(--font-data); }.so-product-vols>span { display:flex; align-items:baseline; justify-content:space-between; gap:4px; white-space:nowrap; }.so-product-vols b { color:var(--muted); font-weight:500; }
.so-table tbody .so-volatility-cell { padding:8px 10px; background:var(--premium-surface); border-inline:1px solid var(--line); }.so-product-vols .so-vol-featured { display:block; --vol-accent:var(--premium-positive); }.so-vol-featured b { display:block; color:var(--muted); color:color-mix(in srgb,var(--muted),var(--vol-accent) var(--vol-intensity,0%)); font-size:15px; line-height:1.4; font-weight:700; letter-spacing:-.03em; }.so-vol-featured.negative { --vol-accent:var(--premium-negative); }.so-vol-featured.missing b { color:var(--muted); }.so-volatility-heading button { justify-content:center; }
.so-table tbody td { padding:0; }.so-table tbody td,.so-table tbody th { border-bottom:1px solid var(--line); vertical-align:middle; }
.so-opportunity { display:block; width:100%; min-height:72px; padding:9px 10px; border:1px solid transparent; border-radius:0; text-align:left; font-family:var(--font-data); background:transparent; }
.so-opportunity.call { background:color-mix(in srgb,var(--up) 2.35%,transparent); }.so-opportunity.put { background:color-mix(in srgb,var(--down) 2.35%,transparent); }.so-opportunity:hover { background:var(--hover); }.so-opportunity.selected { background:color-mix(in srgb,var(--accent) 3.53%,transparent); border-color:color-mix(in srgb,var(--accent) 40%,transparent); box-shadow:inset 2px 0 var(--accent); }
.so-opportunity-head { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; }
.so-contract { flex:none; max-width:100%; display:flex; align-items:center; gap:7px; }.so-contract b { min-width:0; font-size:11px; overflow-wrap:anywhere; }.so-side { padding:1px 5px; border-radius:3px; font:9px var(--font-data); }.so-side.call { color:var(--up); background:color-mix(in srgb,var(--up) 7.45%,transparent); }.so-side.put { color:var(--down); background:color-mix(in srgb,var(--down) 7.45%,transparent); }
.so-detail-contract .so-contract-name { margin-bottom:4px; }
.so-metrics { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 84px minmax(0,1fr); gap:5px; margin-top:8px; }.so-metrics small { display:block; font:9px/1.5 var(--font-ui); }.so-metrics strong { display:block; font-size:12px; font-weight:600; white-space:nowrap; }
@media(min-width:761px) { .so-metrics small { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } }
.so-quote { flex:1 1 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:3px 10px; color:var(--muted); font-size:9px; }.so-quote>span { white-space:nowrap; }
.so-missing { display:flex; flex-direction:column; justify-content:center; min-height:72px; padding:8px; color:var(--muted); text-align:center; font-size:10px; }.so-missing small { display:block; margin-top:4px; font-size:9px; }
.so-expiry { text-align:center; }.so-expiry b { font:11px var(--font-data); }.so-expiry small { display:block; margin-top:4px; font:8px var(--font-data); }.so-mobile-expiry { display:none; }
.so-empty { padding:48px 16px; text-align:center; color:var(--muted); }.so-empty strong { font-weight:600; color:var(--text); }.so-empty p { margin-top:8px; font-size:11px; }
.so-risk-note { flex:none; padding:9px 12px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; line-height:1.7; }.so-risk-note b { color:var(--warning); margin-right:6px; font-weight:600; }
.so-inspector { overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }.so-panel-heading { display:flex; align-items:center; justify-content:space-between; min-height:42px; padding:0 13px; background:var(--panel); border-bottom:1px solid var(--line); }.so-panel-heading button { font-size:22px; line-height:1; background:none; border:0; }
.so-detail { padding:12px; }.so-detail-contract { position:relative; padding:2px 0 12px; }.so-detail-contract h3 { margin:8px 0 3px; font:600 15px var(--font-data); overflow-wrap:anywhere; }.so-detail-contract p { color:var(--muted); font-size:11px; }.so-detail-contract button { position:absolute; right:0; top:0; font-size:9px; }
.so-detail-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--line); border-radius:6px; background:var(--raised); }.so-detail-stats>div { padding:10px; }.so-detail-stats strong { color:var(--accent-ink); font:600 17px/1.5 var(--font-data); }
.so-detail small,.so-detail strong,.so-detail em { display:block; }.so-detail em { font-style:normal; color:var(--muted); font-size:9px; margin-top:4px; }
.so-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.so-detail-grid>div { padding:12px 8px; border-bottom:1px solid var(--line); }.so-detail-grid strong { margin-top:4px; font:600 12px var(--font-data); }.so-detail-grid strong span { font-size:10px; white-space:nowrap; }
.so-underlying-quote { grid-template-columns:1fr; }
.so-volatility { grid-template-columns:repeat(3,minmax(0,1fr)); }
.so-greeks { margin-top:14px; border:1px solid var(--line); border-radius:6px; overflow:hidden; }.so-greeks h3 { display:flex; flex-wrap:wrap; gap:5px; justify-content:space-between; padding:9px; background:var(--raised); font-size:11px; }.so-greeks h3 small { font-size:9px; font-weight:400; }
.so-greek-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.so-greek-values>div { padding:10px 8px; }.so-greek-values strong { font:600 11px var(--font-data); margin-top:4px; }.so-greek-values small { font-size:9px; }
.so-risk { margin-top:15px; }.so-risk h3 { font-size:11px; }.so-risk p { margin-top:10px; font-size:10px; color:var(--muted); }.so-risk b { display:block; margin-bottom:4px; font-weight:500; }.so-risk .danger b { color:var(--up); }.so-risk .warning b { color:var(--warning); }
.so-dialog { width:min(420px,calc(100vw - 24px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--line-strong); border-radius:10px; background:var(--panel); color:var(--text); box-shadow:0 24px 70px color-mix(in srgb,var(--shadow-color) 66.7%,transparent); }.so-dialog::backdrop { background:color-mix(in srgb,var(--shadow-color) 60%,transparent); backdrop-filter:blur(3px); }.so-dialog .so-panel-heading { position:sticky; top:0; z-index:1; background:var(--panel); }
.so-toast { position:fixed; z-index:30; bottom:24px; left:50%; transform:translateX(-50%); padding:10px 18px; border:1px solid var(--line-strong); border-radius:5px; background:var(--panel); color:var(--text); box-shadow:0 8px 30px color-mix(in srgb,var(--shadow-color) 60%,transparent); }
.so-product-cell { position:relative; }.so-product-cell .so-etf-product-name { white-space:nowrap; }.so-chain-entry { display:block; color:var(--muted); font-size:8px; line-height:1.5; }.so-chain-trigger { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; }.so-chain-trigger:hover { background:transparent; }.so-chain-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.so-product-cell:hover,.so-product-cell:focus-within { background:var(--soft); }.so-product-cell:hover .so-chain-entry,.so-product-cell:focus-within .so-chain-entry { color:var(--accent-ink); }
.so-chain-dialog { width:min(1800px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:hidden; }.so-chain-dialog[open] { display:flex; flex-direction:column; }.so-chain-dialog .so-panel-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; flex:none; min-height:65px; gap:10px 16px; padding:10px 18px; }.so-chain-heading-title { grid-column:1; grid-row:1; min-width:0; }.so-chain-heading-title h2 { overflow-wrap:anywhere; }.so-chain-actions { grid-column:2; grid-row:1; }.so-chain-dialog h2 { font-size:15px; }.so-chain-dialog .so-panel-heading p { margin-top:5px; color:var(--muted); font-size:10px; }.so-chain-actions button { flex:none; }
.so-chain-actions { display:flex; align-items:center; gap:10px; flex:none; }.so-chain-actions #refreshChain { font:500 12px var(--font-ui); line-height:1.2; padding:8px 12px; border:1px solid var(--line-strong); border-radius:5px; background:var(--raised); }.so-chain-actions #refreshChain:disabled { opacity:.55; cursor:wait; }.so-chain-body { position:relative; display:flex; flex-direction:column; min-height:0; overflow:hidden; }.so-chain-body.is-empty { min-height:240px; }.so-chain-body .so-chain-summary { flex:none; }.so-chain-body .so-chain-scroll { flex:1 1 auto; }.so-chain-overlay { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; gap:12px; padding:16px; background:color-mix(in srgb,var(--panel) 72%,transparent); text-align:center; font-size:13px; }.so-chain-overlay[hidden] { display:none; }.so-chain-overlay.so-chain-loading { cursor:wait; }.so-chain-overlay p { margin:10px 0; color:var(--muted); }.so-chain-overlay button { margin-top:6px; }
.so-chain-month-picker { display:flex; align-items:center; justify-content:flex-end; gap:4px; grid-column:1 / -1; grid-row:2; min-width:0; }.so-chain-months { display:flex; flex:none; gap:6px; padding:2px; }.so-chain-dialog .so-chain-month-page { flex:none; width:22px; padding:5px 0; font-size:20px; color:var(--muted); }.so-chain-month-page:disabled { opacity:.25; cursor:default; }.so-chain-month-page[hidden] { display:none; }
.so-chain-dialog .so-chain-month { display:flex; flex:0 0 64px; flex-direction:column; align-items:center; justify-content:center; gap:2px; height:42px; padding:4px 8px; border:1px solid var(--line-strong); border-radius:6px; background:var(--panel); color:var(--text); cursor:pointer; }
.so-chain-month b { font:600 16px/1.1 var(--font-data); }.so-chain-month small { font:500 10px/1.2 var(--font-ui); color:var(--muted); }
.so-chain-dialog .so-chain-month:hover { border-color:var(--accent-ink); background:var(--soft); }.so-chain-dialog .so-chain-month[aria-selected="true"] { background:var(--accent); border-color:var(--accent); color:var(--accent-text); }.so-chain-month[aria-selected="true"] small { color:inherit; }
.so-chain-month:focus-visible { outline:2px solid var(--accent-ink); outline-offset:-2px; }
@media(min-width:1024px) { .so-chain-dialog .so-panel-heading { grid-template-columns:minmax(0,1fr) auto auto; }.so-chain-month-picker { grid-column:2; grid-row:1; }.so-chain-actions { grid-column:3; grid-row:1; } }
@media(max-width:760px) { .so-chain-dialog .so-chain-month { flex-basis:58px; height:40px; }.so-chain-month b { font-size:15px; } }
.so-chain-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); background:var(--raised); }.so-chain-summary small { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; }.so-chain-summary strong { font:600 17px var(--font-data); }.so-chain-summary>div:first-child strong { color:var(--accent-ink); }
.so-chain-scroll { min-height:100px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }.so-chain-table { width:100%; min-width:1360px; border-collapse:separate; border-spacing:0; table-layout:fixed; font:11px var(--font-data); }.so-chain-table col.strike { width:88px; }.so-chain-table th,.so-chain-table td { padding:8px; text-align:center; }.so-chain-table thead { position:sticky; top:0; z-index:1; background:var(--raised); }.so-chain-table thead th { padding:8px 4px; white-space:nowrap; font-size:10px; color:var(--muted); font-weight:500; border-bottom:1px solid var(--line); }.so-chain-table thead .call { color:var(--up); text-align:right; padding-right:16px; }.so-chain-table thead .put { color:var(--down); text-align:left; padding-left:16px; }
.so-chain-table .so-chain-strike { border-inline:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--raised); color:var(--text); font-weight:600; }
.so-chain-table tbody .call { background:color-mix(in srgb,var(--up) 2.35%,transparent); }.so-chain-table tbody .put { background:color-mix(in srgb,var(--down) 2.35%,transparent); }.so-chain-table tbody .recommended { background:var(--soft); }.so-chain-contract-row .recommended.call[data-metric="bid"] { box-shadow:inset -2px 0 var(--accent-ink); }.so-chain-contract-row .recommended.put[data-metric="bid"] { box-shadow:inset 2px 0 var(--accent-ink); }.so-chain-table .so-chain-inactive { color:var(--line-strong); font-weight:400; }.so-chain-contract-row td { padding:10px 4px; font-weight:600; white-space:nowrap; border-bottom:1px solid var(--line); }.so-chain-premium { color:var(--accent-ink); }
@media(max-width:1250px) { .so-chain-table { font-size:10px; } }
@media(max-width:760px) { .so-chain-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }.so-chain-dialog .so-panel-heading { padding:12px; }.so-chain-dialog h2 { font-size:13px; }.so-chain-summary { padding:12px; gap:8px; }.so-chain-summary small { font-size:9px; }.so-chain-summary strong { font-size:13px; }.so-chain-scroll { min-height:80px; } }
.access-gate { min-height:calc(100dvh - 58px); }
@media(max-width:1350px) { .so-workspace { grid-template-columns:minmax(0,1fr) 300px; }.so-table .product { width:95px; }.so-table .volatility { width:112px; }.so-table .expiry { width:65px; }.so-metrics strong { font-size:11px; }.so-side-heading span { display:none; }.so-header-actions { gap:8px; } }
@media(max-width:1350px) { .so-workspace { grid-template-columns:minmax(0,1fr); }.so-inspector { display:none; }.so-metrics strong { font-size:12px; } }
@media(max-width:760px) {
  .so-scan-loading { padding-top:28px; }.so-scan-loading-card { gap:10px; padding:12px 14px; }
  .so-header { height:auto; min-height:58px; flex-wrap:wrap; padding:10px 12px; gap:10px; }.so-header-actions { width:100%; margin:0; justify-content:flex-start; }.so-timestamp { margin-right:auto; }.so-token-link { display:none; }
  .so-app { height:auto; min-height:calc(100dvh - 98px); }.so-toolbar { gap:8px; padding:8px; margin-bottom:10px; border:1px solid var(--line); border-radius:7px; }
  .so-filter-controls { flex:1 1 100%; gap:6px; }#search { flex:1; width:0; min-width:0; }.so-probability { gap:5px; }.so-probability select { min-width:64px; }#reset { padding-inline:8px; }
  .market-filter-bar { flex:1 1 100%; min-width:0; gap:6px; }.classification-mode,.classification-option { min-height:26px; padding:0 9px; font-size:9px; }
  .so-workspace { padding:10px; }.so-table-scroll { overflow:visible; }.so-table { display:block; min-width:0; }.so-table colgroup { display:none; }.so-table tbody { display:grid; gap:10px; }.so-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr); border:1px solid var(--line); border-radius:7px; overflow:hidden; background:var(--panel); }
  .so-table thead { position:static; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:10px; border:1px solid var(--line); border-radius:7px; overflow:hidden; }.so-table thead tr { display:contents; }.so-table thead .so-product-heading { display:none; }
  .so-side-heading { grid-column:1/-1; }.so-side-heading[data-side=call] { order:0; }.so-sort-heading[data-side=call] { order:1; }.so-side-heading[data-side=put] { order:2; }.so-sort-heading[data-side=put] { order:3; }.so-volatility-heading { order:-1; grid-column:1/-1; }.so-expiry-heading { order:4; grid-column:1/-1; }
  .so-table thead .so-side-heading { padding:5px 10px; }.so-side-heading span { display:inline; }.so-sort-heading button { justify-content:center; min-height:38px; }
  .so-results { border:0; background:transparent; box-shadow:none; }.so-table tbody th { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding:10px 12px; }.so-table tbody th small { font-size:10px; }.so-table tbody th strong { color:var(--accent-ink); }.so-mobile-expiry { display:block; margin-left:auto; color:var(--muted); font:9px var(--font-data); }.so-table td.so-expiry { display:none; }
  .so-table tbody .so-volatility-cell { padding:10px 12px; border-inline:0; }.so-product-vols { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:24px; }.so-product-vols .so-vol-featured { grid-row:1/3; margin:0; }.so-vol-featured b { font-size:18px; }
  .so-opportunity { min-height:100px; padding:13px; }.so-metrics strong { font-size:12px; }.so-metrics small { font-size:9px; }.so-quote { font-size:9px; }.so-missing { min-height:0; padding:16px; }.so-risk-note { margin-top:10px; border:1px solid var(--line); border-radius:7px; background:var(--panel); }
}
@media(max-width:430px) { .so-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:8px; }.so-sort-heading button { font-size:9px; } .so-brand { gap:9px; }.brand-word { font-size:18px; }.so-header-actions { gap:6px; }.so-timestamp { font-size:9px; }.so-header-actions button { padding-inline:7px; font-size:9px; }.so-mobile-expiry { font-size:8px; }.so-error { font-size:11px; } }
