/* Stock perpetual reference workspace. Uses Pro's theme tokens and typography. */
.market-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.market-search{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:37px;margin:0 10px;padding:0 2px;border-bottom:1px solid var(--l);color:var(--faint)}
.market-search>svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.market-search input{width:100%;min-width:0;min-height:34px;padding:0;border:0;border-radius:0;outline:none;background:transparent;box-shadow:none;color:var(--ink);font:11px var(--ui)}
.market-search input::placeholder{color:var(--faint)}
.market-search:focus-within{border-bottom-color:var(--red);color:var(--dim)}
.market-search>span{font:9px var(--mono);color:var(--faint)}
.market-search-empty{padding:24px 14px;color:var(--dim);font:12px/1.5 var(--ui)}
.market-search-empty>small{display:block;margin-top:5px;font-size:11px;color:var(--faint)}
.wr:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.stock-reference[hidden],.stock-contract[hidden],.stock-feed-panel[hidden]{display:none!important}
.stock-reference{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin:0 12px 10px;padding:9px 12px;border:1px solid var(--l2);border-radius:7px;background:color-mix(in srgb,var(--ink) 3%,transparent);font:11px var(--ui);color:var(--dim)}
.stock-reference-symbol{font:500 11px var(--mono);color:var(--ink)}
.stock-reference>span:nth-child(2){display:flex;align-items:center;gap:6px;white-space:nowrap}
.stock-reference i{width:5px;height:5px;border-radius:50%;background:var(--up)}
.stock-reference b{font-weight:500;color:var(--up)}
.stock-reference.stale i{background:var(--faint)}
.stock-reference.stale b{color:var(--dim)}
.stock-reference em{font-size:10px;font-style:normal;color:var(--faint);margin-left:auto}
.stock-contract,.stock-feed-panel{padding:20px;min-width:0}
.stock-panel-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:8px;font:500 9px var(--mono);letter-spacing:.12em;color:var(--faint)}
.stock-panel-eyebrow>span{padding:4px 6px;border:1px solid var(--l2);border-radius:4px;font-size:8px;letter-spacing:.1em;color:var(--dim)}
.stock-contract-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:20px}
.stock-contract-title h2{font:500 24px/1.1 var(--ui);letter-spacing:-.04em;margin:0;color:var(--ink)}
.stock-contract-title>span{font:10px var(--mono);color:var(--faint)}
.stock-reference-price{padding:24px 0 20px;border-bottom:1px solid var(--l)}
.stock-reference-price>span{display:block;color:var(--dim);font:11px var(--ui)}
.stock-reference-price>strong{display:block;font:500 clamp(25px,2.2vw,34px)/1.35 var(--mono);color:var(--ink);letter-spacing:-.06em;margin-top:4px;font-variant-numeric:tabular-nums;transition:color .2s}
.stock-reference-price>strong.stale{color:var(--dim)}
.stock-feed-status{display:flex;align-items:flex-start;flex-direction:column;gap:4px;margin-top:8px}
.stock-feed-status>b{display:flex;align-items:center;gap:6px;font:500 10px var(--ui);color:var(--dim)}
.stock-feed-status>b::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--faint)}
.stock-feed-status>b.fresh{color:var(--up)}
.stock-feed-status>b.fresh::before{background:var(--up)}
.stock-feed-status>small{font:9px var(--mono);color:var(--faint)}
.stock-specs{margin:16px 0;padding:0;display:grid;gap:0}
.stock-specs>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;font-size:11px}
.stock-specs dt{color:var(--dim)}
.stock-specs dd{margin:0;text-align:right;color:var(--ink);font:500 10px var(--mono)}
.stock-specs dd>span{display:block;font-size:9px;color:var(--faint);margin-top:3px}
.stock-specs dd.pending{color:var(--faint);font-weight:400}
.stock-trading-pending{display:flex;align-items:center;gap:10px;padding:13px 12px;border:1px solid var(--l2);border-radius:7px;background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--dim);font:10px/1.55 var(--ui)}
.stock-trading-pending svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--faint)}
.stock-trading-pending b{display:block;font-size:11px;color:var(--ink);font-weight:500}
.stock-ownership{font-size:9px;color:var(--faint);line-height:1.4;text-align:center;margin:12px 0 0}
.stock-market .tk> :not(.stock-contract),.stock-market .ld> :not(.stock-feed-panel){display:none!important}
.stock-market .side{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--l2) transparent}
.stock-market .ld{flex:0 0 auto;min-height:0}
.stock-market .tk{flex:0 0 auto}
.stock-feed-panel h3{font:500 19px/1.2 var(--ui);letter-spacing:-.04em;color:var(--ink);margin:19px 0 8px}
.stock-feed-panel>p{font:11px/1.5 var(--ui);color:var(--dim);margin:0 0 16px;max-width:30ch}
.stock-search{margin:0 0 10px;padding:0 1px;min-height:36px}
.stock-universe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:clamp(176px,28vh,272px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--l2) transparent;padding:2px 4px 2px 2px;margin:-2px -4px -2px -2px;align-content:start}
.stock-universe button[hidden]{display:none!important}
.stock-universe button{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:4px;min-width:0;padding:10px 9px;border-radius:6px;border:1px solid var(--l);text-align:left;background:color-mix(in srgb,var(--ink) 2%,transparent);transition:border-color .18s,background .18s}
.stock-universe button:hover{border-color:var(--l2);background:color-mix(in srgb,var(--ink) 5%,transparent)}
.stock-universe button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.stock-universe button.on{background:color-mix(in srgb,var(--red) 7%,transparent);border-color:var(--rb)}
.stock-universe button>span{font:500 11px var(--mono);color:var(--ink)}
.stock-universe button>small{font:10px var(--ui);color:var(--faint);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-universe button svg{position:absolute;right:8px;top:10px;width:11px;height:11px;stroke:var(--faint);stroke-width:1.4;fill:none}
.stock-universe button.on svg{stroke:var(--red)}
.stock-search-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font:9px var(--mono);color:var(--faint)}
.stock-search-empty{font:11px var(--ui);color:var(--dim);padding:8px 0;margin:0}
.stock-feed-note{display:flex;gap:8px;align-items:center;margin-top:16px;border-top:1px solid var(--l);padding-top:14px}
.stock-feed-note svg{width:22px;height:22px;fill:none;stroke:var(--faint);stroke-width:1.2;flex-shrink:0}
.stock-feed-note p{font:10px/1.6 var(--ui);color:var(--dim);margin:0}
.stock-feed-note p span{color:var(--faint);font-size:9px}
.stock-market #qbar{display:none!important}
.stock-market #tnav [data-v="flow"]{opacity:.45}
.stock-market .wl-f [data-f="stk"]{color:var(--ink)}
.stock-market .wr .s{font-size:11px}
.stock-market .wr .lv{font-size:8px;font-weight:500;letter-spacing:.06em}
@media(min-width:1100px) and (max-height:850px){
 .stock-contract,.stock-feed-panel{padding:16px}
 .stock-contract-title{margin-top:16px}.stock-reference-price{padding:18px 0 14px}
 .stock-specs{margin:10px 0}.stock-specs>div{padding:6px 0}
 .stock-feed-panel h3{margin-top:15px}
}
@media(max-width:1100px){
 .stock-market .side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;align-items:start}
 .stock-market .side .brk{grid-column:1/-1}.stock-market .ld{height:auto}
 .stock-market .tk{grid-column:1;grid-row:1}.stock-market .ld{grid-column:2;grid-row:1}
 .stock-contract,.stock-feed-panel{height:100%}
}
@media(max-width:680px){
 .market-search{min-height:44px}.market-search input{font-size:16px;min-height:42px}.market-search>span{font-size:10px}
 .stock-reference{gap:7px 12px;flex-wrap:wrap;margin:0 8px 8px;padding:8px;font-size:10px}
 .stock-reference em{flex-basis:100%;margin:0;font-size:9px}
 .stock-reference-symbol{font-size:10px}
 .stock-market .side{display:flex;overflow:visible}
 .stock-market .side .tk{order:-1}
 .stock-contract,.stock-feed-panel{padding:20px}
 .stock-contract-title h2{font-size:26px}
 .stock-reference-price>strong{font-size:36px}
 .stock-specs>div{font-size:12px;padding:10px 0}.stock-specs dd{font-size:11px}
 .stock-universe{grid-template-columns:repeat(3,minmax(0,1fr));max-height:224px}
 .stock-universe button{min-height:52px;padding:12px 10px}.stock-universe button svg{display:none}
 .stock-market .ch{min-height:480px}
 .stock-market .wr .s{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.stock-reference-price>strong,.stock-universe button{transition:none}}
.stock-replay-note{display:none;padding:24px;font:12px/1.6 var(--ui);color:var(--dim)}
.stock-replay-note h3{font-size:22px;line-height:1.2;color:var(--ink);font-weight:500;letter-spacing:-.035em;margin:24px 0 12px}
.stock-replay-note p{margin:0 0 32px}
.stock-replay-note>span{font-size:10px;color:var(--faint);display:block}
.stock-replay-note>strong{font:500 28px/1.5 var(--mono);color:var(--ink)}
.stock-market .rps>:not(.stock-replay-note){display:none!important}
.stock-market .stock-replay-note{display:block}
.stock-market #ind [data-i="vp"]{opacity:.45;cursor:not-allowed}
/* Guests keep Pro's native book/tape layout for existing markets. Stock
   references instead expose contract details, without a trading invitation
   or the guest tape rule overriding the reference-only view. */
html.pgst body.stock-market .side .pn.tk{display:flex}
html.pgst body.stock-market .side .pn.ld{flex:0 0 auto;min-height:0}
html.pgst body.stock-market .side .gcta{display:none}
html.pgst body.stock-market #bkBook,
html.pgst body.stock-market #bkTrades,
html.pgst body.stock-market #bkTrades[hidden]{display:none!important}
