/* One retained layout; colour belongs to numerical values and the chart. */
.ride-purchase-intro[hidden],.holding-strip[hidden],.holding-moves-host[hidden],.holding-chart-panel[hidden]{display:none!important}
.holding-strip{position:fixed;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:24px 32px;align-items:center;gap:0 8px;padding:7px 12px;contain:layout paint;text-align:left;pointer-events:none}
.holding-score,.holding-strip-details,.holding-strip .trade-portal-pnl{display:contents}
.holding-strip-identity{grid-area:1/1/2/3;display:flex;align-items:center;gap:6px;min-width:0}.holding-strip-avatar{width:24px;height:24px;flex:none;border-radius:50%;object-fit:cover}
.holding-ticker{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 15px/20px var(--font);color:var(--text)}
.holding-strip .ride-score-amount{grid-area:2/1;display:flex;min-width:0;font:700 28px/32px var(--font);color:var(--positive);white-space:pre}
.holding-strip .ride-score-percent{grid-area:2/2;display:flex;font:500 12px/16px var(--font);color:var(--positive);white-space:pre}
.holding-strip[data-tone=down] :is(.ride-score-amount,.ride-score-percent){color:var(--negative-text)}
.holding-strip-price{grid-area:1/3;font:500 12px/16px var(--font);color:var(--tertiary);white-space:nowrap}
.holding-strip-spark{grid-area:2/3;justify-self:end;width:56px;height:20px;fill:none;overflow:hidden}.holding-strip-spark path{stroke:rgba(255,255,255,.7);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.holding-moves-host{position:fixed;z-index:11;pointer-events:none;contain:layout}
.holding-chart-panel{position:fixed;z-index:12;display:flex;flex-direction:column;gap:8px;padding:12px;overflow:hidden;contain:layout paint;pointer-events:none;touch-action:none}
.trade-portal-header{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,max-content);align-items:center;column-gap:6px;flex:0 0 40px;min-width:0}
.portal-token-avatar{width:24px;height:24px;flex:none;border-radius:50%;object-fit:cover}
.portal-token-identity{min-width:0}.portal-token-ticker{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;font:600 15px/20px var(--font);white-space:nowrap}
.portal-token-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 11px/14px var(--font);color:var(--muted)}
.portal-price{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:right;white-space:nowrap;align-self:start;margin-top:3px;font:600 15px/20px var(--font)}
.portal-chart-box{position:relative;flex:1 1 auto;min-height:var(--portal-chart-min,60%);overflow:hidden;isolation:isolate}.portal-full-chart{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.portal-chart-controls{display:flex;align-items:center;gap:8px;flex:0 0 32px;height:32px;touch-action:none}.ride-layer .portal-chart-controls,.ride-layer .portal-chart-controls *{pointer-events:auto!important}
.portal-ranges{position:relative;display:flex;flex:1;min-width:0;height:32px;padding:2px;isolation:isolate}.portal-ranges:before{content:'';position:absolute;left:2px;top:2px;bottom:2px;width:calc((100% - 4px)/4);background:rgba(20,20,24,.72);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border:0;border-radius:20px;transform:translateX(calc(var(--range-index,0)*100%));transition:transform 220ms cubic-bezier(.32,.72,0,1);z-index:-1}
.portal-ranges button{flex:1;min-width:0;height:28px;border:0;border-radius:20px;background:none;padding:0;color:var(--muted);font:500 11px/28px var(--font)}.portal-ranges button[aria-pressed=true]{color:var(--text)}.portal-ranges button:disabled{opacity:.3}
.portal-chart-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:32px;flex:none;padding:4px;border:0;border-radius:8px;background:none;color:var(--muted)}.portal-chart-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.portal-chart-toggle:focus-visible,.portal-ranges button:focus-visible{outline:1px solid var(--text);outline-offset:1px}
.portal-stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex:0 0 52px;min-width:0;border-top:1px solid rgba(255,255,255,.08);padding-top:6px}.portal-stats-row[hidden],.portal-momentum[hidden]{display:none!important}.portal-stats-row>div{display:flex;flex-direction:column;gap:2px;min-width:0;white-space:nowrap}.portal-caption{font:500 11px/14px var(--font);letter-spacing:0;color:var(--muted)}.portal-stats-row strong{font:600 15px/20px var(--font)}.portal-entry-return{font:500 12px/16px var(--font);color:var(--positive)}.portal-entry-tile[data-tone=down] .portal-entry-return{color:var(--negative-text)}.portal-drawdown-tile>.portal-drawdown{font:500 12px/16px var(--font)}.portal-drawdown-tile[data-loss=true]>.portal-drawdown{color:var(--negative-text)}.portal-peak-caption{font:500 11px/14px var(--font);color:var(--tertiary)}
.portal-momentum{display:flex;gap:4px;flex:0 0 24px;min-width:0}.portal-momentum-chip{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0;white-space:nowrap;height:24px;font:500 11px/24px var(--font);color:var(--muted)}.portal-momentum-value{color:var(--positive)}.portal-momentum-chip[data-tone=down] .portal-momentum-value{color:var(--negative-text)}
.trade-portal-footer{display:flex;align-items:center;gap:4px;flex:0 0 14px;white-space:nowrap;font:500 11px/14px var(--font);color:var(--tertiary)}
.ride-purchase-intro{position:fixed;inset:0;z-index:20;pointer-events:none;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:center}
.purchase-mark-anchor{position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.purchase-mark-motion,.purchase-confirmation-mark{display:block;width:44px;height:44px}.purchase-confirmation-mark{overflow:visible;transform-origin:50% 50%;color:rgba(255,255,255,.9)}
.purchase-confirmation-copy{position:absolute;top:calc(50% + 22px);left:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:8px}
.ride-intro-lead{font:600 15px/20px var(--font);color:rgba(255,255,255,.85)}.ride-intro-token{display:flex;align-items:center;justify-content:center;gap:8px}.ride-intro-ticker{font:700 28px/34px var(--font);color:var(--positive)}.ride-intro-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}
.purchase-retry{font:500 12px/16px var(--font);color:var(--tertiary)}
.portal-big-moves{position:absolute;left:0;pointer-events:none;z-index:2}.portal-move-window{position:absolute;left:0;right:0;height:36px;display:flex;align-items:center;gap:6px;padding:3px 8px 3px 10px;color:var(--text);transition:opacity 220ms;overflow:hidden}.portal-move-window:before{content:'';position:absolute;left:3px;top:5px;bottom:5px;width:2px;border-radius:1px;background:var(--positive)}.portal-move-window[data-kind=close]:before{background:var(--negative)}.portal-move-window.is-leaving{opacity:0}.portal-move-avatar{width:20px;height:20px;flex:none;border-radius:50%;object-fit:cover;font:500 11px/20px var(--font);text-align:center}.portal-move-copy{display:block;min-width:0;flex:1}.portal-move-main{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px/14px var(--font)}.portal-move-meta{display:flex;align-items:center;gap:4px;font:500 11px/12px var(--font);color:var(--muted);white-space:nowrap}.portal-move-practice{font:500 11px/12px var(--font)}
.holding-chart-panel[data-short=true]{padding:8px 12px;gap:5px}.holding-chart-panel[data-short=true] .trade-portal-header{flex-basis:32px;min-height:0}
.holding-chart-panel[data-tight=true]{padding:6px;gap:4px}.holding-chart-panel[data-tight=true] .trade-portal-header{flex-basis:24px}.holding-chart-panel[data-tight=true] .portal-token-name{display:none}.holding-chart-panel[data-tight=true] .portal-chart-controls,.holding-chart-panel[data-tight=true] .portal-ranges{height:28px;flex-basis:28px}.holding-chart-panel[data-tight=true] .portal-ranges button{height:24px;line-height:24px}.holding-chart-panel[data-tight=true] .portal-chart-toggle{height:28px}.holding-chart-panel[data-tiny=true]{padding:4px}.holding-chart-panel[data-tiny=true] .trade-portal-header{flex-basis:24px}
@media(max-width:360px){.holding-strip{padding:7px 8px;gap:0 6px}.trade-portal-footer{white-space:normal;flex-basis:28px}}

.holding-chart-panel[data-tight=true] .portal-price{align-self:center;margin-top:0}

/* The portal alone has three age slots; feed activity keeps its own fades. */
.ride-layer .portal-move-window{background:rgba(28,28,32,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:rgba(255,255,255,.9)}
.ride-layer .portal-move-window:before{opacity:.8}
.ride-layer .portal-move-window .portal-move-meta{color:inherit}
.portal-move-window[data-slot="0"]{opacity:1;scale:1}.portal-move-window[data-slot="1"]{opacity:.55;scale:1}.portal-move-window[data-slot="2"]{opacity:.25;scale:.97;transform-origin:center}.portal-move-window.is-leaving{opacity:0}
