/* Pool context, selection controls and the desktop workspace composition. */
#inline-pools{min-width:0}.pool-table-caption{font-size:.647059rem;color:rgb(var(--z-textDim));padding:10px 14px;border-bottom:1px solid var(--z-border)}.pool-comparison{width:100%;min-width:590px;border-collapse:collapse}.pool-comparison th{font-size:.588235rem;padding:10px 12px;white-space:nowrap}.pool-comparison td{font-size:.705882rem;padding:12px;white-space:nowrap}.pool-comparison td strong{display:block;font-size:.705882rem;font-weight:500}.pool-comparison td small{display:block;font-size:.588235rem;color:rgb(var(--z-muted));margin-top:3px}.pool-comparison tr.pool-selected{background:var(--z-surface2);box-shadow:inset 2px 0 rgb(var(--z-accent))}.pool-pick{padding:5px 9px;border:1px solid var(--z-btn-border);border-radius:6px;background:var(--z-btn-bg);color:var(--z-btn-text);font-size:.647059rem}.pool-selected .pool-pick{background:var(--z-surface3);color:rgb(var(--z-text));border-color:var(--z-borderHi)}.positions-section .table-scroll{min-height:0;overflow:auto}.positions-section .section-header{flex-shrink:0}
.presets .custom-preset{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--z-btn-border);border-radius:7px;background:transparent;padding:0 4px;cursor:text;color:rgb(var(--z-textDim))}.presets .custom-preset.active{background:var(--z-surface3);border-color:var(--z-borderHi);box-shadow:inset 0 -1px rgb(var(--z-accent));color:rgb(var(--z-text))}.presets .custom-preset:focus-within{outline:2px solid rgb(var(--z-accent));outline-offset:2px}.presets .custom-preset input{width:100%;min-width:0;border:0;padding:8px 0;background:transparent;font-size:.705882rem;color:inherit;text-align:center;outline:none;appearance:textfield}.custom-preset input::-webkit-inner-spin-button,.custom-preset input::-webkit-outer-spin-button{appearance:none;margin:0}.presets .custom-preset input::placeholder{color:rgb(var(--z-muted));opacity:1}.custom-preset .percent-unit{display:none;font-size:.647059rem}.custom-preset.active .percent-unit{display:inline}#custom-width-error:not(:empty){display:block;margin-top:6px;font-size:.647059rem}.custom-width-field{margin-top:10px}.custom-width-field>label{display:block;font-size:.705882rem;margin-bottom:5px}.custom-width-field>div{display:flex;align-items:center;border:1px solid var(--z-input-border);border-radius:7px;background:var(--z-input-bg);padding-right:12px}.custom-width-field input{border:0;background:transparent;flex:1;width:100%;padding:8px 10px;font-size:.823529rem}.custom-width-field small{display:block;font-size:.647059rem;line-height:1.4;margin-top:5px}#custom-width-error{color:rgb(var(--z-danger))}#custom-width-error:empty{display:none}.range-line-hit{position:absolute;left:0;height:16px;z-index:2;cursor:ns-resize;touch-action:none;user-select:none;background:transparent}.range-line-hit:hover{background:rgb(var(--z-accent) / .08)}.chart-wrap.dragging-range,.chart-wrap.dragging-range *{cursor:ns-resize!important;user-select:none}.range-inputs label{position:relative}.range-inputs .boundary-percent{position:absolute;top:9px;right:9px;margin:0;color:rgb(var(--z-textDim));font-size:.588235rem;line-height:16px;font-variant-numeric:tabular-nums;pointer-events:none}.range-limit-note{color:rgb(var(--z-textDim));font-size:.647059rem;line-height:1.5;margin:7px 0 0}.range-limit-note:empty{display:none}
.market-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--z-border);color:rgb(var(--z-text))}.market-heading b{font-size:.764706rem;font-weight:500}.market-heading span{font-size:.588235rem;color:rgb(var(--z-muted))}.distribution{display:none}
@media(min-width:1151px) and (min-height:700px){html,body{height:100%;overflow:hidden}.shell{height:100dvh;display:flex;flex-direction:column}header{flex:0 0 64px}main{flex:1;min-height:0;overflow:auto}main[data-view="terminal"]{display:grid;grid-template-columns:minmax(0,1fr) 304px;grid-template-rows:minmax(265px,1fr) clamp(165px,23vh,220px) 28px;gap:12px;padding:18px 20px 0;overflow:hidden}main[data-view="terminal"] #terminal-view:not([hidden]),main[data-view="terminal"] .terminal-grid{display:contents}main[data-view="terminal"] .market{grid-column:1;grid-row:1}main[data-view="terminal"] .side-column{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}main[data-view="terminal"] .positions-section{grid-column:1;grid-row:2;min-height:0;margin:0;display:flex;flex-direction:column}main[data-view="terminal"] footer{grid-column:1/-1;grid-row:3;padding:0 0 9px;font-size:.529412rem}main[data-view="terminal"] footer>span:last-child:not(:has(a)){display:none}.market{min-height:0}.chart-wrap{flex:1;height:auto;min-height:180px}.market-heading{padding:13px 14px}.market-heading span{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend{flex-shrink:0;font-size:.529412rem;padding:9px 12px;gap:10px}.chart-legend .push{display:none}.trade-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.panel-tabs{flex-shrink:0}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:16px}.panel-body .helper{font-size:.647059rem;margin:10px 0 18px}.costs{margin-top:17px}.section-header{min-height:43px;padding:0 9px}.section-header>.muted{display:none}.table-tab{font-size:.647059rem;padding:13px 8px}.table-scroll{flex:1;min-height:0}th{position:sticky;top:0;z-index:1;background:rgb(var(--z-surface));font-size:.588235rem;padding:10px 12px}td{font-size:.647059rem;padding:11px 12px}td:first-child{font-size:.705882rem}td small{font-size:.588235rem;margin-top:3px}.pool-comparison td{padding:10px 12px}.positions-section.full-height{min-height:65vh}}
@media(min-width:1550px) and (min-height:700px){main[data-view="terminal"]{grid-template-columns:minmax(0,1fr) 330px;padding-left:28px;padding-right:28px;grid-template-rows:minmax(265px,1fr) clamp(180px,23vh,250px) 28px}.panel-body{padding:20px}}
@media(max-width:1150px){.market-heading{padding:14px}.market-heading span{display:none}}
@media(max-width:550px){.market-heading{padding:13px}.market-heading b{font-size:.705882rem}}
#live-position-dialog{width:min(560px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:24px;background:rgb(var(--z-surface));color:var(--z-body-text);border:1px solid var(--z-panel-border);border-radius:10px}#live-position-dialog::backdrop{background:rgb(var(--z-bg) / .8);backdrop-filter:blur(6px)}.live-position-head{display:flex;align-items:center;justify-content:space-between;gap:16px}#live-position-dialog h2{margin:0}#live-position-dialog label{display:flex;flex-direction:column;gap:6px;font-size:.705882rem}#live-position-dialog input{width:100%;min-width:0;padding:10px;margin:0;background:var(--z-input-bg);color:rgb(var(--z-text));border:1px solid var(--z-input-border);border-radius:7px}#lp-position-form{display:grid;gap:12px;margin:18px 0}.live-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#live-position-dialog p{font-size:.705882rem;line-height:1.65}#live-position-dialog pre{font-size:.647059rem;white-space:pre-wrap;overflow-wrap:anywhere}#live-position-dialog details{margin:16px 0}#live-position-dialog button:disabled{opacity:.5;cursor:wait}

/* Dense copy: the terminal has no page title (pools are picked in the header search), explanations sit behind (?) tooltips. */
main[data-view="terminal"] .page-title{display:none}
#strategy-help,#range-caption,#range-limit-note{display:none}
.panel-body>#strategy{margin-bottom:18px}
.label-row>label+.tip{margin-left:-3px;margin-right:auto}
.strategy-tag{margin-left:6px;font-size:.588235rem;font-weight:400;color:rgb(var(--z-muted));white-space:nowrap}
.metric strong{margin:14px 0 0}
dialog .summary-row{align-items:center}
dialog .summary-row select{width:auto;margin:0;padding:4px 8px;font-size:inherit}
@media(max-width:850px){.range-inputs .boundary-percent{top:8px;right:8px}}

/* Right column (dist/index.html .side-column): the trade panel never shrinks or scrolls because of the card below and
   stretches to the column's bottom; the optional position card is content-sized (its chart shrinks to fit). The height
   left over goes to the pool card's Volume | Security | Swap panes: --pl-grow from dist/side-panel.js (dist/form-fit.js
   fill, 176px up to 380px; a size container, so the panes fit their content to it), so there is no blank block under
   Open position. Recent trades are the bottom panel's Trades tab. */
@media(min-width:1151px) and (min-height:700px){main[data-view="terminal"] .side-column{min-height:0;overflow:hidden}main[data-view="terminal"] .side-column>.trade-panel{flex:1 0 auto;align-self:stretch;max-height:none}main[data-view="terminal"] .side-column>.side-pos{flex:0 0 auto}main[data-view="terminal"] .side-column .pl-panes{height:calc(176px + var(--pl-grow,0px));container-type:size;overflow:hidden}}
/* The TradingView attribution belongs with the chart: Terminal only (other views lay the footer out over their cards). */
main:not([data-view="terminal"]) footer{display:none}

/* Trades belongs to the Terminal (the pool being viewed); the Positions page shows only Positions and History. */
main[data-view="positions"] #trades-tab,main[data-view="positions"] .trades-tab-btn{display:none}
