.is-invalid{border-color:#ff5876!important;box-shadow:0 0 0 3px rgba(255,88,118,.12)!important}
.pv-logo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* Launch sequence captured from the supplied reference frames. */
.launch-processing{padding:2px 0}
.launch-list{list-style:none;margin:24px 0 0;padding:0;position:relative}
.launch-list::before{content:"";position:absolute;left:14px;top:15px;bottom:15px;width:1px;background:#302249}
.launch-list li{position:relative;display:flex;align-items:center;gap:15px;min-height:58px;color:var(--text-faint);transition:color .25s}
.launch-list li>span:last-child{display:flex;flex-direction:column;line-height:1.3}
.launch-list li b{font-size:.91rem;color:inherit}.launch-list li small{margin-top:4px;font-size:.75rem;color:var(--text-faint)}
.launch-dot{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border:1px solid #44305f;background:#0b0713;box-shadow:0 0 0 5px #100a1c}
.launch-list li.is-working{color:var(--neon)}
.launch-list li.is-working .launch-dot{border-color:var(--neon);box-shadow:0 0 14px rgba(223,255,38,.18),0 0 0 5px #100a1c}
.launch-list li.is-working .launch-dot::after{content:"";width:9px;height:9px;border:2px solid var(--neon);border-top-color:transparent;border-radius:50%!important;animation:spin .65s linear infinite}
.launch-list li.is-done{color:var(--text)}
.launch-list li.is-done .launch-dot{background:var(--neon);border-color:var(--neon);color:#08040e}
.launch-list li.is-done .launch-dot::after{content:"✓";font-weight:900;font-size:14px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Liquidity position */
.liq-body{padding-top:18px}.lp-card{width:100%;background:#0b0713;border:1px solid #2c1d43;box-shadow:0 18px 65px rgba(0,0,0,.23);overflow:hidden}
.lp-card.is-open{border-color:#382652}.lp-summary{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(3,minmax(110px,.75fr)) auto auto 42px;gap:24px;align-items:center;min-height:98px;padding:19px 22px}
.lp-token{display:flex;align-items:center;gap:13px;min-width:0}.lp-token img{width:57px;height:57px;object-fit:cover;border:1px solid #493466;box-shadow:0 0 18px rgba(168,85,247,.16)}
.lp-token>span{display:flex;flex-direction:column;min-width:0}.lp-token b{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-token small{color:var(--text-faint);font-family:var(--font-mono);font-size:.71rem;letter-spacing:.06em;text-transform:uppercase}
.lp-head-stat{display:flex;flex-direction:column}.lp-head-stat small,.lp-metrics small,.remove-values small{font-size:.64rem;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.lp-head-stat b{font-family:var(--font-mono);font-size:.86rem;white-space:nowrap}
.live-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(61,222,132,.25);background:rgba(36,198,111,.08);color:#64e79c;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.live-pill i{width:6px;height:6px;background:#42dd88;box-shadow:0 0 9px #42dd88;border-radius:50%!important}
.lp-manage{padding:10px 17px;font-size:.68rem}.lp-toggle{width:38px;height:38px;border:1px solid #33234a;background:#100a1b;color:var(--text);display:grid;place-items:center}
.lp-toggle span{width:8px;height:8px;border-right:2px solid #ab9dbc;border-bottom:2px solid #ab9dbc;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}.lp-card.is-open .lp-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
.lp-expanded{border-top:1px solid #2a1b40}.lp-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #2a1b40}
.lp-metrics>div{min-height:77px;padding:14px 20px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #241736;border-bottom:1px solid #241736}.lp-metrics>div:nth-child(4n){border-right:0}.lp-metrics>div:nth-child(n+5){border-bottom:0}
.lp-metrics b{margin-top:4px;font-family:var(--font-mono);font-size:.93rem;color:#f5effe}.lp-metrics b.lime{color:var(--neon)}
.liq-create{text-align:center;padding:25px 0 70px}.liq-create .btn{min-width:230px}

/* Trading chart */
.chart-shell{background:#07100f;border-top:1px solid rgba(255,255,255,.02)}
.chart-topbar{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 11px 0 46px;border-bottom:1px solid #221731;background:#0b0814}
.chart-periods,.chart-modes{display:flex;align-items:center;gap:3px}.chart-topbar button{height:27px;padding:0 9px;border:1px solid transparent;background:transparent;color:#9285a7;font-size:.66rem;font-family:var(--font-mono)}.chart-topbar button:hover,.chart-topbar button.active{color:#f5efff;background:#181126;border-color:#34244c}.chart-modes span{color:#756985;font-size:.62rem;font-family:var(--font-mono);margin-right:5px}
.chart-title{height:54px;padding:9px 14px 7px 51px;display:flex;align-items:flex-start;gap:12px;position:relative;border-bottom:1px solid #1d142a}.chart-title::before{content:"";position:absolute;left:36px;top:16px;width:6px;height:6px;background:#37cf7d;border-radius:50%!important}.chart-title b{font-family:var(--font-mono);font-size:.69rem}.chart-title>span{font-family:var(--font-mono);font-size:.61rem;color:#44ce87}.chart-title small{position:absolute;left:51px;bottom:7px;color:#8b7d9f;font-family:var(--font-mono);font-size:.58rem}
.chart-workspace{height:462px;position:relative;padding-left:38px}.chart-workspace #liquidityChart{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.chart-tools{position:absolute;z-index:3;left:0;top:0;bottom:0;width:38px;display:flex;flex-direction:column;align-items:center;padding:5px 0;background:#0b0814;border-right:1px solid #21162f}.chart-tools button{width:30px;height:32px;border:0;background:transparent;color:#756a88;font-size:15px}.chart-tools button:hover,.chart-tools button.active{background:#1a1227;color:#e5dcee}.chart-tools button:last-child{margin-top:auto;color:#7c657c}
.chart-zoom{position:absolute;right:88px;bottom:35px;display:flex;box-shadow:0 3px 12px #000}.chart-zoom button{width:30px;height:28px;border:1px solid #332544;background:#100c1a;color:#b3a7c5;font-size:16px}.chart-zoom button+button{border-left:0}

/* Remove liquidity modal */
.remove-modal{max-width:520px}.remove-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.remove-values>div{padding:15px;background:#07040d;border:1px solid #2d1e44;display:flex;flex-direction:column}.remove-values b{margin-top:5px;font-family:var(--font-mono);color:var(--neon);font-size:1rem}.remove-label{display:flex;justify-content:space-between;margin:18px 0 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.remove-label b{color:var(--neon);font-family:var(--font-mono)}
.remove-range{width:100%;height:5px;appearance:none;background:#332247;outline:none;margin:9px 0 17px;border-radius:3px!important}.remove-range::-webkit-slider-thumb{appearance:none;width:17px;height:17px;background:var(--neon);border:3px solid #10100c;box-shadow:0 0 0 2px var(--neon);border-radius:50%!important}.remove-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:19px}.remove-presets button{padding:9px;border:1px solid #332248;background:#0b0712;color:#a99cbc;font-family:var(--font-mono);font-size:.72rem}.remove-presets button.active,.remove-presets button:hover{border-color:var(--neon);color:var(--neon);background:rgba(223,255,38,.06)}
.remove-destination{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;color:var(--text-faint);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.remove-destination input{height:44px;padding:0 13px;background:#07040d;border:1px solid #302047;color:var(--text);font-family:var(--font-mono);font-size:.76rem}.remove-destination input:focus{outline:0;border-color:#7050a0}
.remove-progress,.remove-success{text-align:center}.remove-progress .remove-values{text-align:left}.remove-progress .liq-spinner{display:block;width:45px;height:45px;margin:28px auto 20px;border:3px solid #38264d;border-top-color:var(--neon);animation:spin .75s linear infinite}
.remove-progress-bar{height:9px;margin:0 auto 8px;overflow:hidden;background:#21162f}.remove-progress-bar i{display:block;height:100%;width:58%;background:repeating-linear-gradient(-45deg,var(--neon) 0 8px,#b6d600 8px 16px);animation:removebar 1.2s ease-in-out infinite alternate;box-shadow:0 0 14px rgba(223,255,38,.3)}@keyframes removebar{to{width:92%}}
.remove-success .pay-success-mark{font-weight:900;font-size:25px}

@media(max-width:1050px){.lp-summary{grid-template-columns:minmax(170px,1.35fr) repeat(3,minmax(76px,.65fr)) auto auto 38px;gap:12px}.lp-head-stat b{font-size:.78rem}}
@media(max-width:720px){.lp-summary{grid-template-columns:1fr auto auto;gap:12px}.lp-head-stat{display:none}.lp-token{grid-column:1}.live-pill{display:none}.lp-manage{padding:9px 12px}.lp-metrics{grid-template-columns:repeat(2,1fr)}.lp-metrics>div:nth-child(2n){border-right:0}.lp-metrics>div:nth-child(4){border-bottom:1px solid #241736}.chart-modes span{display:none}.chart-periods button:nth-child(4),.chart-periods button:last-child{display:none}.chart-workspace{height:390px}.chart-title>span{display:none}.remove-values{grid-template-columns:1fr}.remove-modal{padding:22px}}

/* Original homepage motion language */
.hero-particles{display:block;opacity:.95;mix-blend-mode:screen}
.motion-ready .scroll-reveal{opacity:0;translate:0 34px;filter:blur(5px);transition:opacity .72s ease,translate .82s cubic-bezier(.2,.72,.2,1),filter .72s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,translate,filter}
.motion-ready .scroll-reveal.from-left{translate:-92px 0}
.motion-ready .scroll-reveal.from-right{translate:92px 0}
.motion-ready .scroll-reveal.is-visible{opacity:1;translate:0 0;filter:none}
.motion-ready .token-tile.scroll-reveal.is-visible{opacity:var(--op,.9)}

@media(prefers-reduced-motion:reduce){
  .hero-particles{opacity:.55}
  .motion-ready .scroll-reveal,.motion-ready .scroll-reveal.from-left,.motion-ready .scroll-reveal.from-right{opacity:1;translate:0 0;filter:none;transition:none}
  .motion-ready .token-tile.scroll-reveal{opacity:var(--op,.9)}
}
