/* Robinhood live terminal (dist/live-chart.js, dist/live-positions.js, dist/rh-card.js). Same Zyper tokens and the
   same visual vocabulary as the Solana terminal (dist/sol.css): flat toolbar, band + grip on the chart, pool card,
   amount box, preset tiles, range boxes, segmented pickers. Robinhood keeps the accent colour as its chain tint. */
#live-chart{display:none;position:absolute;inset:0;z-index:20}

/* Chart card ------------------------------------------------------------------------------------------------- */
.market.live-mode .chart-wrap>*{visibility:hidden}.market.live-mode #live-chart{display:block;visibility:visible}
/* Live mode fills the chart card header and legend itself, so keep both shown; an empty legend (loading) collapses. */
.market.live-mode .market-heading{display:flex}.market.live-mode .chart-legend{display:flex;flex-wrap:wrap;row-gap:4px;white-space:normal;line-height:1.5}.market.live-mode .chart-legend:empty{display:none}
.market-heading .live-title{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;font-weight:500}
.market-heading .live-title>strong{overflow:hidden;text-overflow:ellipsis;font-weight:500}
.market-heading .live-sub:empty{display:none}
.live-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 6px;border:1px solid rgb(var(--z-success)/.35);border-radius:4px;background:rgb(var(--z-success)/.07);color:rgb(var(--z-textDim));font-size:.529412rem;font-style:normal;font-weight:600;letter-spacing:.08em;line-height:1.5}
.live-chip::before{content:'';width:5px;height:5px;border-radius:50%;background:rgb(var(--z-success))}
/* Toolbar (.chart-toolbar from style.css gives the row, the flat buttons and .active, as Solana's .sol-toolbar):
   1m 5m 15m 1h 4h 1D · axis label · Market | LP pool (?) · ↻ ⤢ at the right. */
.live-controls[hidden],.live-info[hidden]{display:none}
.live-controls .live-timeframes{display:flex;gap:2px}
.live-controls .live-axis{display:inline-flex;align-items:center;gap:2px;color:rgb(var(--z-muted));white-space:nowrap}
.live-controls .live-axis:empty,.live-controls .live-axis[hidden]{display:none}
.live-controls .live-tools{display:inline-flex;gap:2px;margin-left:auto}
.live-controls .live-tools button:hover{color:rgb(var(--z-text))}
.live-controls .live-tools button:disabled{opacity:.45;cursor:default}
/* Market | LP pool segmented control (market-chart.js), inside the toolbar */
.market-source-controls{display:inline-flex;align-items:center;flex-shrink:0;gap:2px;padding:1px;border:1px solid var(--z-border);border-radius:7px;font-size:.647059rem;white-space:nowrap}
.market-source-controls[hidden],.market-source-note{display:none}
.chart-toolbar .market-source-controls button:not(.tip){padding:3px 8px;border-radius:5px;font-size:.588235rem;line-height:1.3}
.chart-toolbar .market-source-controls button[aria-pressed=true]{color:rgb(var(--z-text));background:var(--z-surface3);box-shadow:inset 0 -1px rgb(var(--z-accent))}
.market-source-controls button:disabled{opacity:.45}
.market-source-controls select{min-width:0;max-width:200px;margin-left:4px;padding:2px 19px 2px 7px;border:0;border-radius:5px;appearance:none;cursor:pointer;font:inherit;font-size:.588235rem;color:rgb(var(--z-text));background:var(--z-surface3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a1a1aa' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 6px center/9px}
.market-source-controls a{margin:0 5px 0 3px;color:rgb(var(--z-muted));font-size:.588235rem;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.market-source-controls a:hover{color:rgb(var(--z-text))}
@media(max-width:550px){.live-controls{flex-wrap:wrap;row-gap:4px}.live-controls .live-axis{display:none}.market-source-controls select{max-width:120px}}
/* Market source iframe mode (market-chart.js) */
.market.live-mode.market-source-mode>.market-heading,.market.live-mode.market-source-mode>.live-controls,.market.live-mode.market-source-mode>.chart-legend{display:none}
.market.live-mode.market-source-mode #live-chart{visibility:hidden}
.market.live-mode.market-source-mode #market-chart-frame{visibility:visible;display:block;position:absolute;inset:0;width:100%;height:100%;border:0;z-index:25;background:#0b0b0b}
#market-chart-frame[hidden]{display:none}
/* LP band: fill between the range lines, label at the top; the price lines draw its edges. */
.live-band{position:absolute;left:0;right:56px;z-index:2;pointer-events:none;box-sizing:border-box;background:rgb(var(--z-accent)/.09)}
.live-band[hidden]{display:none}
.live-band-label{position:absolute;left:8px;top:4px;padding:1px 5px;border-radius:4px;background:rgb(var(--z-surface)/.85);color:rgb(var(--z-accent));font-size:.529412rem;letter-spacing:.04em;white-space:nowrap}
.live-band-label[hidden]{display:none}
/* Range grip: drag the free LP edge (24px hit area, line in the middle, handle at the axis, price label on hover). */
.native-range-grip{position:absolute;left:0;right:56px;height:24px;z-index:5;cursor:ns-resize;touch-action:none;user-select:none;outline:none}
.native-range-grip[hidden]{display:none}
.native-range-grip i{position:absolute;left:0;right:0;top:11px;width:auto;height:2px;border-radius:0;background:rgb(var(--z-accent)/0)}
.native-range-grip:hover i,.native-range-grip:focus-visible i,.native-range-grip.dragging i{background:rgb(var(--z-accent)/.8)}
.native-range-grip::after{content:'';position:absolute;right:6px;top:7px;width:18px;height:10px;border-radius:3px;background:rgb(var(--z-accent));box-shadow:0 0 0 1px rgb(var(--z-surface))}
.live-grip-label{position:absolute;right:30px;top:3px;padding:1px 6px;border-radius:4px;background:rgb(var(--z-surface)/.92);border:1px solid rgb(var(--z-accent)/.5);color:rgb(var(--z-text));font-size:.588235rem;white-space:nowrap;font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;transition:opacity .12s}
.native-range-grip:hover .live-grip-label,.native-range-grip:focus-visible .live-grip-label,.native-range-grip.dragging .live-grip-label{opacity:1}
.native-range-grip:focus-visible::after{outline:2px solid rgb(var(--z-accent));outline-offset:1px}
/* Action notice in the live chart header (window.ZyperNotice), like Solana's .sol-notice */
.market-heading .live-notice{flex:0 1 auto;min-width:0;max-width:min(560px,60%);margin:0 auto;display:flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--z-border);border-radius:999px;font-size:.647059rem;font-weight:500;color:rgb(var(--z-text));background:var(--z-surface2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:live-notice-in .18s ease-out}
.market-heading .live-notice[hidden]{display:none}
.market-heading .live-notice::before{content:'';flex-shrink:0;width:7px;height:7px;border-radius:50%;background:currentColor}
.live-notice-busy{border-color:rgb(var(--z-accent)/.5)!important;background:rgb(var(--z-accent)/.10)!important}
.live-notice-busy::before{background:rgb(var(--z-accent))!important;animation:live-pulse 1s ease-in-out infinite}
.live-notice-ok{border-color:rgb(var(--z-success)/.45)!important;background:rgb(var(--z-success)/.08)!important}
.live-notice-ok::before{background:rgb(var(--z-success))!important}
.live-notice-bad{border-color:rgb(var(--z-danger)/.5)!important;background:rgb(var(--z-danger)/.08)!important}
.live-notice-bad::before{background:rgb(var(--z-danger))!important}
@keyframes live-notice-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes live-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.market-heading .live-notice,.live-notice-busy::before{animation:none!important}}
/* Share PnL (header button + dialog) */
.market-heading .live-share{flex-shrink:0;margin-left:auto;padding:5px 12px;font-size:.647059rem;font-weight:500;border-color:rgb(var(--z-accent)/.45);box-shadow:inset 0 -1px rgb(var(--z-success)/.4)}
.market-heading .live-share[hidden]{display:none}
.market-heading:has(.live-share:not([hidden])) .live-notice{margin-right:12px}
#rh-share,#zyper-share{width:min(720px,calc(100vw - 24px));max-width:none;padding:0;border:1px solid var(--z-borderHi);border-radius:10px;background:rgb(var(--z-surface));color:rgb(var(--z-text))}
#rh-share::backdrop,#zyper-share::backdrop{background:rgb(var(--z-bg)/.6)}
.rh-share-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--z-border)}
.rh-share-head h2{margin:0;font-size:.882353rem;font-weight:500}
.rh-share-close{width:1.8rem;height:1.8rem;padding:0;font-size:1.05rem;background:transparent;box-shadow:none;border-color:var(--z-ghost-border);color:var(--z-ghost-text)}
.rh-share-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;font-size:.705882rem}
.rh-share-img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--z-border)}
.rh-share-note{margin:0;color:rgb(var(--z-textDim));line-height:1.5}
.rh-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.rh-share-actions button{flex:1;font-size:.705882rem;padding:8px}
.rh-share-actions .primary{margin-top:0;width:auto}
.rh-share-opts{display:flex;flex-wrap:wrap;gap:6px 14px}
.rh-share-opts[hidden]{display:none}
.rh-share-opt{display:inline-flex;align-items:center;gap:6px;color:rgb(var(--z-textDim));cursor:pointer}
.rh-share-opt input{width:auto;margin:0;accent-color:rgb(var(--z-accent))}

/* Trade panel ------------------------------------------------------------------------------------------------ */
.trade-panel.live-mode>:not(.live-info){display:none}
.trade-panel.live-mode{overflow:auto}.trade-panel.live-mode>.live-info{flex-shrink:0}
.live-info{padding:16px 17px 18px;font-size:.705882rem;line-height:1.5;overflow-wrap:anywhere;color:rgb(var(--z-textDim))}
.live-info h3{margin:0 0 8px;font-size:.823529rem;font-weight:500}.live-info strong,.live-info b{color:rgb(var(--z-text));font-weight:500}.live-info small{font-size:.647059rem}
.live-info input[disabled]{color:rgb(var(--z-muted))}
/* Pool facts: the Robinhood pool card (rh-card.js) above the LP form; snapshot pools list a few rows instead. */
.live-info.live-facts{padding:14px 17px 13px;border-bottom:1px solid var(--z-border);font-size:.705882rem;line-height:1.5}
.live-facts h3{margin:0 0 4px;font-size:.764706rem}.live-facts .live-row{padding:2px 0}
/* Label/value rows: label left and dim, value right and bright. */
.live-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:3px 0;font-size:.647059rem;color:rgb(var(--z-muted))}.live-row>span{display:inline-flex;align-items:center;flex-shrink:0}.live-row>b{min-width:0;text-align:right;font-weight:400;color:rgb(var(--z-textDim))}
.live-info .live-ok{color:rgb(var(--z-success))!important}.live-info .live-bad,.live-error{color:rgb(var(--z-danger))!important}.live-warn{color:rgb(var(--z-warn))}
.lp-need{display:inline-block;margin:2px 0 2px 4px;padding:0 6px;border-radius:4px;background:rgb(var(--z-warn)/.12);color:rgb(var(--z-warn));font-size:.647059rem;white-space:nowrap}
.live-lock{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.647059rem;color:rgb(var(--z-muted))}
.beta-badge{display:inline-block;margin-left:8px;padding:0 6px;border:1px solid rgb(var(--z-warn)/.35);border-radius:4px;background:rgb(var(--z-warn)/.08);color:rgb(var(--z-warn));font-size:.588235rem;letter-spacing:.04em;line-height:1.6;vertical-align:1px;white-space:nowrap}.beta-badge[hidden]{display:none}
/* LP form */
.lp-preview-form label{display:block;margin:0;font-size:.705882rem;color:var(--z-body-text)}
.lp-preview-form label>input{display:block;width:100%;margin-top:8px}
.lp-preview-form p{font-size:.705882rem}.lp-preview-form button{max-width:100%;white-space:normal}
.lp-preview-form pre{font-size:.647059rem;white-space:pre-wrap;overflow-wrap:anywhere}.lp-preview-form summary{cursor:pointer;font-size:.705882rem}
.lp-preview-form .lp-modes{margin:0 0 12px}.lp-preview-form .lp-modes button{padding:7px 0}
/* Label rows exactly as .sol-form .label-row: 16px above, 8px below, body text, caption small and muted on the right. */
.lp-preview-form .label-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:16px 0 8px;font-size:.705882rem;color:var(--z-body-text)}
.lp-preview-form .label-row>.label-text,.lp-preview-form .label-row>.lp-amount-title{display:inline-flex;align-items:center;font-size:inherit;color:inherit;margin-right:auto}
.lp-preview-form .label-row>small{font-size:.588235rem;color:rgb(var(--z-muted))}
.lp-preview-form .lp-amount-label,.lp-preview-form .lp-width-label{margin:0}
.lp-preview-form .lp-amount-title{min-width:0}
.lp-preview-form .lp-amount-box{display:block;padding:12px;background:var(--z-input-bg);border:1px solid var(--z-borderHi);border-radius:7px}
.lp-preview-form .lp-amount-box:focus-within{border-color:rgb(var(--z-accent)/.55)}
.lp-preview-form .lp-amount-row{display:flex;align-items:center;gap:8px}
.lp-preview-form .lp-amount-sym{flex-shrink:0;font-size:.705882rem;font-weight:500;color:rgb(var(--z-text))}
.lp-preview-form .lp-amount-row input{flex:1;min-width:0;width:auto;margin:0;padding:0;border:0;background:transparent;text-align:right;font-size:1.176471rem;letter-spacing:-.04em;color:rgb(var(--z-text))}
.lp-preview-form .lp-amount-row input:focus-visible{outline:none}
.lp-preview-form .lp-max{flex-shrink:0;padding:3px 6px;border:1px solid var(--z-border);border-radius:4px;background:transparent;box-shadow:none;color:rgb(var(--z-textDim));font-size:.529412rem;letter-spacing:.08em}
.lp-preview-form .lp-swap{flex-shrink:0;padding:2px 7px;font-size:.705882rem;line-height:1.2;border-radius:7px;background:transparent;box-shadow:none;border:1px solid var(--z-ghost-border);color:rgb(var(--z-textDim))}
.lp-preview-form .lp-swap[hidden]{display:none}
.lp-preview-form .lp-max:hover,.lp-preview-form .lp-swap:hover{color:rgb(var(--z-text));border-color:rgb(var(--z-accent)/.5);background:transparent}
.lp-preview-form .lp-balance,.lp-preview-form .lp-derived{display:block;text-align:right;font-size:.588235rem;color:rgb(var(--z-textDim));font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lp-preview-form .lp-derived{margin-top:6px}
.lp-preview-form .lp-balance:empty,.lp-preview-form .lp-derived[hidden]{display:none}
.lp-preview-form .lp-widths{display:flex;gap:6px}
.lp-preview-form .lp-widths button{flex:1;min-width:0;padding:8px 0;background:transparent;box-shadow:none;font-size:.705882rem;color:rgb(var(--z-textDim));white-space:nowrap}
.lp-preview-form .lp-widths button.active{background:var(--z-surface3);border-color:var(--z-borderHi);color:rgb(var(--z-text));box-shadow:inset 0 -1px rgb(var(--z-accent))}
.lp-preview-form .lp-custom{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 4px;border:1px solid var(--z-btn-border);border-radius:7px;background:transparent;color:rgb(var(--z-textDim))}
.lp-preview-form .lp-custom.active{background:var(--z-surface3);border-color:var(--z-borderHi);color:rgb(var(--z-text));box-shadow:inset 0 -1px rgb(var(--z-accent))}
.lp-preview-form .lp-custom:focus-within{outline:2px solid rgb(var(--z-accent));outline-offset:2px}
.lp-preview-form .lp-custom input{width:100%;min-width:0;margin:0;padding:8px 0;border:0;background:transparent;text-align:center;font-size:.705882rem;color:inherit;outline:none;appearance:textfield}
.lp-preview-form .lp-custom input::-webkit-inner-spin-button,.lp-preview-form .lp-custom input::-webkit-outer-spin-button{appearance:none;margin:0}
.lp-preview-form .lp-unit{font-size:.647059rem;color:rgb(var(--z-muted))}
/* Range line under the width row: .lp-range-line in pool-liq.css (dist/pool-liq.js paintRangeLine). */
.lp-preview-form .active-wallet-hint{margin-top:6px}
/* Settings and costs rows (.costs from style.css, as .sol-form .costs) and the plan notes (.plan-notes) */
.lp-preview-form .costs{margin-top:16px}
.lp-preview-form .costs select{color:rgb(var(--z-textDim))}
.lp-preview-form .costs>div>span{display:inline-flex;align-items:center}
/* Robinhood ↔ Solana parity (dist/sol.css): static chips with the footprint of Solana's controls in the same rows (the
   ⚡ speed select beside Beta, the Spot · Curve · Bid-Ask group right of Range width), and the cost line under the range
   with .sol-plancost's spacing and type. */
.lp-preview-form .rh-chip{display:inline-flex;align-items:center;white-space:nowrap;cursor:default;color:rgb(var(--z-textDim))}
.lp-preview-form .rh-speed{box-sizing:border-box;height:18px;margin-left:8px;padding:0 6px;border:1px solid var(--z-border);border-radius:5px;background:var(--z-surface2);font-size:.529412rem;line-height:16px}
.lp-preview-form .rh-shape-box{display:inline-flex;align-items:center;margin-left:auto;min-width:0}
.lp-preview-form .rh-shape{box-sizing:border-box;padding:3px 7px;border:1px solid var(--z-btn-border);border-radius:6px;font-size:.588235rem;line-height:1.25}
.lp-preview-form .rh-shape-box .tip{margin-left:4px}
.lp-preview-form .lp-width-head{flex-wrap:nowrap;gap:6px}
.lp-preview-form .lp-width-head>.label-text{flex-shrink:0;white-space:nowrap}
.lp-preview-form .rh-plancost{margin:8px 0 0;font-size:.647059rem;line-height:1.5;color:rgb(var(--z-muted))}.rh-plancost[hidden]{display:none}
.rh-plancost .rh-sep{color:rgb(var(--z-muted)/.7)}
.lp-preview-form>.primary{margin-top:12px}
.lp-preview-form>.primary:disabled{opacity:.55}
.lp-preview-form .preview-refresh{margin-top:8px;font-size:.705882rem;padding:8px}
.lp-preview-out{margin-top:14px;padding-top:12px;border-top:1px solid var(--z-border);font-size:.647059rem;color:rgb(var(--z-muted))}.lp-preview-out:empty{display:none}.lp-preview-out .lp-note{margin:4px 0 0;color:rgb(var(--z-muted))}
.lp-preview-out .live-row{padding:0;margin-bottom:9px}.lp-preview-out .live-row:last-child{margin-bottom:0}
.lp-preview-out .live-error{display:block;margin-top:6px;line-height:1.5}
.lp-preview-form .lp-open-position{margin-top:6px;font-size:.705882rem;padding:8px}
.lp-approvals{margin-top:12px;padding-top:10px;border-top:1px solid var(--z-border)}.lp-approvals[hidden]{display:none}.lp-approvals .lp-approvals-head{display:flex;align-items:center;margin:0 0 4px;color:rgb(var(--z-text));font-weight:500}
.lp-step{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.705882rem}.lp-step+.lp-step{border-top:1px dashed var(--z-border)}.lp-step-n{flex-shrink:0;width:26px;color:rgb(var(--z-muted));font-variant-numeric:tabular-nums}.lp-step-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.lp-step-text small{color:rgb(var(--z-muted));font-size:.647059rem}.lp-step-done .lp-step-text{color:rgb(var(--z-muted))}.lp-step-state{color:rgb(var(--z-accent));font-size:.647059rem}.lp-preview-form .lp-step button{flex-shrink:0;padding:5px 9px;font-size:.647059rem;white-space:nowrap}
@media(min-width:1550px) and (min-height:700px){.live-info{padding:18px 20px 20px}.live-info.live-facts{padding:13px 20px}}
@media(max-width:550px){.live-info{padding:14px 15px 16px}.live-info.live-facts{padding:12px 15px}.live-position-grid{grid-template-columns:1fr 1fr}.market-heading .live-notice{max-width:70%}}

/* Robinhood pool card (dist/rh-card.js), in the live facts panel above the LP form ------------------------------ */

/* On-chain position dialog (dist/live-positions.js): Claim · Withdraw (25 · 50 · 75% · ✕) · Close · Rebalance (Both ·
   Lower · Upper · ✕), the same inline pickers as the Solana positions table. ----------------------------------- */
#live-position-dialog{padding:20px 22px 18px;border-color:var(--z-borderHi);box-shadow:var(--z-panel-shadow)}
#live-position-dialog .live-position-head{align-items:flex-start}
#live-position-dialog .lp-eyebrow{margin:0 0 4px;color:rgb(var(--z-muted));font-size:.588235rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.4}
#live-position-dialog h2{font-size:1.058824rem;font-weight:500;letter-spacing:-.02em}
#live-position-dialog #lp-close{flex-shrink:0;width:1.8rem;height:1.8rem;min-height:0;padding:0;font-size:1.05rem;line-height:1;background:transparent;box-shadow:none;border-color:var(--z-ghost-border);color:var(--z-ghost-text)}
#live-position-dialog #lp-close:hover{color:var(--z-ghost-hover-text);border-color:var(--z-ghost-hover-border)}
#live-position-dialog #lp-position-form{margin:16px 0 14px}
#live-position-dialog #lp-position-form .primary{margin-top:2px;padding:10px;font-size:.705882rem}
#live-position-dialog #lp-position-status{margin:0 0 10px;font-size:.705882rem}
#live-position-dialog #lp-position-result{margin:10px 0;font-size:.705882rem}
#live-position-dialog #lp-position-summary{margin:0 0 12px;font-size:.705882rem;color:rgb(var(--z-textDim))}
#live-position-dialog #lp-position-actions{padding-top:12px;border-top:1px solid var(--z-border)}
#live-position-dialog .lp-row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
#live-position-dialog .lp-row-actions>button{flex:0 1 auto;min-width:max-content;padding:6px 10px;font-size:.647059rem;white-space:nowrap}
#live-position-dialog .lp-pick{flex:1 1 auto;display:flex;gap:6px;min-width:0}
#live-position-dialog .lp-pick[hidden]{display:none}
#live-position-dialog .lp-pick button{flex:1;min-width:0;padding:6px 8px;font-size:.647059rem;border-color:rgb(var(--z-accent)/.5);color:rgb(var(--z-text));white-space:nowrap}
#live-position-dialog .lp-pick button:hover{background:rgb(var(--z-accent)/.12)}
#live-position-dialog .lp-pick .lp-pick-cancel{flex:0 0 auto;padding-left:8px;padding-right:8px;background:transparent;box-shadow:none;border-color:var(--z-btn-border);color:rgb(var(--z-muted))}
#live-position-dialog #lp-close-position,#live-position-dialog #lp-rebalance{flex:0 0 auto}
/* Rebalance picker (Both · Lower · Upper · ✕): Both is the default */
#live-position-dialog .lp-rebalance-pick .lp-pick-default{border-color:rgb(var(--z-success)/.6);box-shadow:inset 0 -1px rgb(var(--z-success))}
#live-position-dialog .lp-rebalance-pick .lp-warn{align-self:center;font-size:.647059rem}
#live-position-dialog .lp-review-actions{margin-top:10px}
#live-position-dialog .lp-review-actions button{padding:6px 10px;font-size:.647059rem}
#live-position-dialog details{margin:12px 0}
#live-position-dialog>p.muted{margin:12px 0 0;font-size:.588235rem;line-height:1.5}
@media(max-width:550px){#live-position-dialog{padding:16px 14px 14px}#live-position-dialog .lp-pick{flex-basis:100%;order:3}#live-position-dialog .lp-row-actions>button{flex:1 1 auto}}
/* Network pill on phones: just "BETA" (the chain button names the chain), as Solana does in sol.css. */
@media(max-width:550px){body:not([data-chain=solana]) .demo-pill{font-size:0}body:not([data-chain=solana]) .demo-pill::before{content:'BETA';font-size:.588235rem}}
/* Bottom panel (dist/app.js rows, dist/live-positions.js tools): the shared .panel-tools / .panel-empty from style.css,
   plus the row details that mirror the Solana panel (.sol-actions); History is style.css .ch-*. */
.positions-section .panel-tools .lp-lookup{font-weight:600}
.positions-section td.empty{padding:0;text-align:center;color:rgb(var(--z-muted))}
/* Positions rows: the Solana .sol-pos-table / .sol-actions rules (sol.css) under rh- names, Robinhood accent. */
.rh-pos-table th{position:sticky;top:0;z-index:1;background:rgb(var(--z-surface))}
.rh-pos-table td{vertical-align:middle}
.rh-pos-table td:first-child small,.rh-pos-table td small{display:block;margin-top:2px;font-size:.588235rem;font-weight:400;color:rgb(var(--z-muted))}
.rh-pos-table .rh-actions{display:flex;gap:6px;justify-content:flex-end}
.rh-pos-table .rh-actions button{font-size:.647059rem;padding:5px 9px;white-space:nowrap}
.rh-pos-table .rh-pos-id{all:unset;cursor:pointer;color:inherit;font:inherit;text-decoration:underline dotted;text-underline-offset:2px}
.rh-pos-table .rh-pos-id:hover,.rh-pos-table .rh-pos-id:focus-visible{color:rgb(var(--z-text))}
.rh-pos-table .rh-pos-id:focus-visible{outline:1px solid rgb(var(--z-accent));outline-offset:2px}
.rh-mobile-status{display:none!important}
.rh-actions .rh-pick{border-color:rgb(var(--z-accent)/.5);color:rgb(var(--z-text))}
.rh-actions .rh-pick:hover{background:rgb(var(--z-accent)/.12)}
.rh-actions .rh-pick-default{box-shadow:inset 0 -1px rgb(var(--z-accent))}
.rh-actions .rh-pick-cancel{padding-left:8px;padding-right:8px;background:transparent;box-shadow:none;color:rgb(var(--z-muted))}
.rh-actions .rh-pick-note{align-self:center;font-size:.588235rem;color:rgb(var(--z-muted));white-space:nowrap}
@media(min-width:1151px) and (min-height:700px){.rh-pos-table th{font-size:.588235rem;padding:10px 12px}.rh-pos-table td{font-size:.647059rem;padding:9px 12px}.rh-pos-table td:first-child{font-size:.705882rem}}
/* Phones: the Positions rows become stacked cards (style.css, shared with Solana). */
#activity{padding:0;line-height:1.5}
/* Legend shows only warnings, errors and Retry (like Solana's quiet chart); the info line is hidden, and the row collapses when nothing is left. */
/* The stream label repeats the title's LIVE/POLLING chip, so it is hidden too. */
.market.live-mode .chart-legend>:not(.live-warn):not(.live-error):not(.live-retry),.market.live-mode .chart-legend>.live-stream{display:none}
.market.live-mode .chart-legend:not(:has(>.live-warn:not(.live-stream),>.live-error,>.live-retry)){display:none}
/* "Chart data busy" over a thin chart (live-chart.js showBusy), centred like Solana's .sol-chart-state. */
.live-chart-state{position:absolute;inset:0;z-index:24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;color:rgb(var(--z-muted));font-size:.705882rem;background:rgb(var(--z-surface)/.55)}
.market.live-mode .chart-wrap>.live-chart-state{visibility:visible}
.live-chart-state[hidden]{display:none}
.live-chart-state button{font-size:.705882rem;padding:6px 12px}
