/* Full-bleed artwork and header, with constrained content above the artwork. */
.swap-page main{max-width:none;width:100%;overflow:hidden;min-height:calc(100vh - 150px)}

.swap-page .wave-art{left:0;transform:none;width:100%;max-width:none}
.swap-page .wave-art img{display:block;object-fit:fill}
.page-heading{max-width:850px;margin:0 auto 36px}
.swap-page .page-heading h1{font-size:var(--text-hero)}
.swap-page .page-heading h1 span{color:var(--hero-accent)}
.swap-page h2{font-size:var(--text-title);margin-bottom:8px}
.swap-page .swap-card{margin-top:0}
.swap-page .swap-card label,.launch-layout label{display:block;font-size:var(--text-field-label);font-weight:var(--weight-field-label);line-height:var(--leading-body);color:var(--swap-ink);margin-bottom:8px}

.support-note{font-size:var(--text-meta);color:var(--swap-muted)}
.workspace{max-width:1000px;margin:0 auto 32px;text-align:left;background:var(--swap-panel);border:1px solid var(--swap-border);padding:32px;border-radius:2px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.section-heading p{margin:0;font-size:var(--text-small)}
.tag{display:inline-block;font:var(--text-meta) var(--font-mono);color:var(--swap-muted);border:1px solid var(--swap-border);padding:7px 10px;white-space:nowrap}
.pool-row{display:grid;grid-template-columns:2fr 1fr 1fr 145px;gap:16px;align-items:center;border-bottom:1px solid var(--swap-border);padding:20px 0;font-size:var(--text-small)}.pool-row small{display:block;color:var(--swap-muted);font-size:var(--text-meta);margin-top:4px}.pool-labels{font-size:var(--text-meta);color:var(--swap-muted);padding-top:0}
.position-empty{text-align:center;padding:40px 16px}.position-empty p{max-width:440px;margin:0 auto 24px;font-size:var(--text-small)}
.network-grid{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:12px;margin:24px 0}.network-grid select{width:100%;padding:10px 8px}.network-grid>span{text-align:center}.details{font-size:var(--text-meta)}.details div{display:flex;justify-content:space-between;padding:8px 0}.details dt{color:var(--swap-muted)}.details dd{margin:0}.swap-page .field{background:var(--swap-field);border-color:var(--swap-border)}.field select{margin-bottom:16px}
.launch-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:transparent;border:0;padding-top:16px}.launch-copy h2{font-size:var(--text-display);margin-top:24px;line-height:1.15}.launch-copy p{max-width:330px;font-size:var(--text-small)}.steps{padding-left:20px;color:var(--swap-muted);font-size:var(--text-small)}.steps li{padding:10px 0}.launch-layout .panel{background:var(--swap-panel);border-color:var(--swap-border)}.launch-layout input,.launch-layout textarea{width:100%;background:var(--swap-field);border:1px solid var(--swap-border);border-radius:2px;font:inherit;color:inherit;padding:12px;margin-bottom:16px}.launch-layout label{margin-top:16px}.launch-layout small{display:block;color:var(--swap-muted);margin-top:-10px}.launch-layout textarea{resize:vertical}.launch-layout .connect{margin-top:8px}
.balance-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0 32px}.balance{font-size:var(--text-display);margin:0;line-height:1.2}.balance span{font-size:var(--text-small);color:var(--swap-muted)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--swap-border)}.swap-page .tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0}.swap-page .tabs button[aria-selected="true"]{border-bottom-color:var(--accent)}
.swap-page footer{padding:16px 24px}.swap-page dialog input{width:100%}.swap-page button:focus-visible,.swap-page a:focus-visible,.swap-page textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:1050px){.workspace{padding:24px}}
@media(max-width:850px){.swap-page main{min-height:calc(100vh - 200px)}.launch-layout{gap:32px}.pool-row{grid-template-columns:2fr 1fr 1fr 130px}}
@media(max-width:600px){.workspace{padding:20px 16px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.pool-row{grid-template-columns:minmax(0,1fr) 120px}.pool-row>span,.pool-labels{display:none}.launch-layout{grid-template-columns:1fr;padding:0;gap:20px}.launch-copy h2{font-size:var(--text-large)}.launch-copy p{max-width:none}.steps{display:none}.balance-summary{flex-wrap:wrap;gap:24px}.balance-summary>div{flex:1;min-width:120px}.balance-summary>button{width:100%}.page-heading{margin-bottom:28px}.swap-page .wave-art{height:500px}.pool-row button{font-size:var(--text-meta);padding:8px}}

/* Recent launches: first card is the entry to token creation. */
.recent-launches{max-width:var(--content-max-width);margin:48px auto 16px;text-align:left}
.launches-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.swap-page .launches-heading h2{margin:0;font-size:var(--text-title)}.launches-note{font-size:var(--text-meta);color:var(--swap-muted)}
.launches-track{display:flex;gap:24px;overflow-x:auto;padding:4px 4px 16px;scroll-snap-type:x proximity;scroll-padding:4px;overscroll-behavior-x:contain}
.launches-track:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.launch-tile{flex:0 0 calc((100% - 24px)/2);min-width:440px;aspect-ratio:139/86;display:flex;flex-direction:column;border:1px solid var(--swap-border);border-radius:2px;background:var(--swap-panel);overflow:hidden;scroll-snap-align:start}
.create-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;text-decoration:none;background:var(--canvas);padding:20px}
.create-launch:hover{border-color:var(--gold);background:var(--soft)}
.create-launch .icon-plus{width:48px;height:48px;color:var(--swap-muted);mask-image:url('../assets/icon-plus.svg')}
.swap-page .launch-tile h3{font-size:var(--text-title);font-weight:var(--weight-semibold);margin:0}.create-label{font-size:var(--text-small);color:var(--muted)}.create-label .icon{margin-left:4px}
.launch-art{flex:1;min-height:0;overflow:hidden;background:#0D0F10;display:grid;place-items:center}.launch-banner{width:100%;height:100%;object-fit:cover}.token-art>img{width:140px;height:140px}
.launch-caption{flex:0 0 88px;display:flex;align-items:center;gap:16px;padding:16px}.launch-caption>img{width:48px;height:48px;flex-shrink:0}.launch-caption>span{margin-left:auto;color:var(--muted)}
@media(max-width:600px){.recent-launches{margin-top:36px}.launch-tile{flex-basis:100%;min-width:0;aspect-ratio:auto;height:240px}.launch-caption{flex-basis:76px;padding:12px;gap:12px}.launch-caption>img{width:40px;height:40px}.swap-page .launch-tile h3{font-size:var(--text-title)}.create-launch .icon-plus{width:40px;height:40px}.token-art>img{width:104px;height:104px}.swap-page .launches-heading h2{font-size:var(--text-title)}}

.order-toolbar{justify-content:flex-start}
.order-toolbar #order-type{min-height:44px;text-transform:none}

/* Pulse Pump snapshot cards; the trailing blur reveals horizontal overflow. */
.launches-viewport{position:relative}

.launches-fade{position:absolute;top:4px;bottom:16px;width:var(--launch-bleed);pointer-events:none;backdrop-filter:blur(5px)}
.launches-fade-right{left:100%;background:linear-gradient(90deg,transparent,var(--swap-canvas));mask-image:linear-gradient(90deg,transparent,#000 85%)}
.launches-fade-left{right:100%;background:linear-gradient(270deg,transparent,var(--swap-canvas));mask-image:linear-gradient(270deg,transparent,#000 85%)}
.launches-viewport.at-end .launches-fade-right,.launches-viewport.at-start .launches-fade-left{opacity:0}
.launch-tile{position:relative;flex-basis:calc((100% - 24px)/2);min-width:490px}
.launch-trade-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.launch-caption{gap:12px}
.launch-price{margin-left:auto;font-size:var(--text-trading);white-space:nowrap}
.launch-price b{font-weight:var(--weight-semibold)}.launch-price sub{font-size:var(--text-subscript)}
.launch-caption .trade-exchange{width:26px;height:26px;flex-shrink:0;mask-image:url('../assets/launches/trade-exchange.svg')}
.launch-socials{position:absolute;right:12px;bottom:100px;display:flex;gap:0;flex-wrap:nowrap;background:var(--accent);color:#101114;border:1px solid var(--line);border-radius:2px;z-index:1}
.swap-page .launch-socials a{width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;border:0}
.launch-socials .icon{width:20px;height:20px}.social-x{mask-image:url('../assets/launches/social-x.svg')}.social-website{mask-image:url('../assets/launches/social-website.svg')}.social-discord{mask-image:url('../assets/launches/social-discord.svg')}
html[data-theme="dark"] .launch-socials{background:var(--swap-panel);color:var(--accent);border-color:var(--accent)}
.create-launch{overflow:visible;gap:0}.create-launch:hover{background:var(--canvas);border-color:var(--swap-border)}
.create-launch-action{display:flex;flex-direction:column;align-items:center;gap:16px;color:inherit;text-decoration:none}.create-launch-action:after{content:"";position:absolute;inset:0;z-index:0}
.create-launch-action:focus-visible:after{outline:2px solid var(--gold);outline-offset:2px}
.create-launch .launch-trail{position:absolute;right:24px;top:24px;width:60px;height:32px;opacity:.25;mask-image:url('../assets/launches/logo-trail.svg')}
.launch-cost{position:relative;z-index:1;display:flex;align-items:center;gap:4px;font-size:var(--text-small);margin-top:8px}
.swap-page .cost-info{display:grid;place-items:center;border:0;width:44px;height:44px;padding:12px;background:transparent}
.cost-info .icon{width:18px;height:18px;mask-image:url('../assets/launches/cost-info.svg')}
.cost-breakdown{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:240px;margin:0;padding:16px;background:var(--swap-panel);border:1px solid var(--swap-border);box-shadow:2px 3px 0 #0002;z-index:3;font-size:var(--text-meta)}
.cost-breakdown div{display:flex;justify-content:space-between;gap:16px}.cost-breakdown dd{margin:0;font-weight:var(--weight-semibold)}
@media(max-width:600px){.launch-tile{flex-basis:100%;min-width:0}.launch-caption{display:grid;grid-template-columns:40px 1fr 26px;grid-template-rows:auto auto;gap:0 10px}.launch-caption>img{grid-row:1/3}.launch-caption h3{grid-column:2}.launch-caption .launch-price{grid-column:2;grid-row:2;margin:0;font-size:var(--text-trading)}.launch-caption .trade-exchange{grid-column:3;grid-row:1/3}.launch-socials{bottom:88px}.create-launch .launch-trail{width:40px;height:24px;top:16px;right:16px}.cost-breakdown{width:220px}}

/* Raised form surface: solid interior, directional edge light and soft depth. */
.swap-page form:is(.swap-card,.panel){
  border:1px solid transparent;
  background:
    linear-gradient(135deg,var(--form-sheen),transparent 48%) padding-box,
    linear-gradient(var(--swap-panel),var(--swap-panel)) padding-box,
    linear-gradient(135deg,var(--form-edge) 0%,var(--form-edge-warm) 12%,var(--swap-border) 38%,var(--swap-border) 100%) border-box;
  box-shadow:var(--form-inset),var(--form-shadow);
}
.swap-page form :is(.swap-field,.field){box-shadow:var(--field-inset)}

.swap-page main{padding-inline:var(--page-gutter)}

/* Token selectors share logos, right-aligned balances and keyboard behavior. */
.asset-picker{min-width:0}.token-balance{margin:0 0 8px;text-align:right;font-size:var(--text-meta);line-height:1.4;color:var(--swap-muted)}
.token-dropdown{position:relative}.swap-page .token-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;background:var(--swap-panel);font-weight:var(--weight-semibold)}
.token-trigger img,.token-options img{flex-shrink:0;width:28px;height:28px;object-fit:contain;border-radius:50%}.token-chevron{margin-left:auto;color:var(--swap-muted)}
.token-options{position:absolute;top:calc(100% + 6px);right:0;min-width:100%;width:max-content;padding:4px;z-index:10;background:var(--swap-panel);border:1px solid var(--swap-border);border-radius:var(--radius);box-shadow:var(--form-shadow)}
.token-options:not([hidden]){display:grid;gap:4px}.swap-page .token-options button{display:flex;align-items:center;gap:12px;min-width:148px;padding:10px 12px;border-color:transparent;text-align:left;background:var(--swap-panel)}
.swap-page .token-options button:hover,.swap-page .token-options button:focus-visible{background:var(--swap-field);border-color:var(--gold);outline-offset:0}.swap-page .token-options button[aria-selected="true"]{border-color:var(--swap-border);font-weight:var(--weight-bold)}
#bridge-form .asset-picker{max-width:174px;margin:0 0 16px auto}

/* Keep numeric entry without browser stepper buttons in Sell. */
#swap-form #amount{appearance:textfield;-moz-appearance:textfield}
#swap-form #amount::-webkit-inner-spin-button,
#swap-form #amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Artwork-led launch cards with readable trading prices. */
.launch-tile{box-shadow:var(--launch-card-shadow)}
.launch-art{position:relative}.launch-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgb(0 0 0 / .18))}
.launch-caption{display:grid;grid-template-columns:52px minmax(0,1fr) var(--launch-action-size);grid-template-rows:auto auto;gap:2px 16px;flex-basis:108px;padding:20px;background:var(--launch-caption-fill);border-top:1px solid var(--swap-border)}
.launch-caption>img{grid-row:1/3;width:52px;height:52px;border-radius:var(--radius);box-shadow:0 2px 6px #0002}
.swap-page .launch-caption h3{grid-column:2;font-size:var(--text-token);line-height:1.2}
.launch-caption .launch-price{grid-column:2;grid-row:2;margin:0;font-size:var(--text-trading);line-height:1.5;color:var(--swap-muted)}
.launch-price b{font-size:var(--text-price);font-weight:var(--weight-semibold);color:var(--swap-ink)}.launch-price sub{font-size:var(--text-subscript)}
.launch-caption .trade-exchange{grid-column:3;grid-row:1/3;margin:0;color:var(--swap-ink)}
.launch-socials{bottom:120px;box-shadow:0 3px 12px #0003}
.token-launch:hover,.token-launch:focus-within{border-color:var(--form-edge)}
.create-launch,.create-launch:hover{background:radial-gradient(ellipse at 50% 35%,var(--launch-card-glow),transparent 68%),var(--swap-panel)}
.create-launch .icon-plus{width:64px;height:64px;padding:16px;color:var(--hero-accent)}
.create-launch .launch-trail{opacity:.4}.create-launch:hover .icon-plus{color:var(--swap-ink)}
@media(max-width:600px){
  .launch-caption{grid-template-columns:40px minmax(0,1fr) var(--launch-action-size);gap:2px 10px;flex-basis:96px;padding:14px 12px}
  .launch-caption>img{width:40px;height:40px}.swap-page .launch-caption h3{font-size:var(--text-token)}
  .launch-caption .launch-price{font-size:var(--text-trading)}.launch-price b{font-size:var(--text-price)}.launch-price sub{font-size:var(--text-subscript)}
  .launch-caption .trade-exchange{width:22px;height:22px}.launch-socials{bottom:108px}
  .create-launch .icon-plus{width:48px;height:48px}
}

/* Social and trade actions share one neutral icon-button treatment. */
.launch-socials,html[data-theme="dark"] .launch-socials{gap:6px;background:transparent;color:var(--swap-ink);border:0;box-shadow:none}
.launch-icon-action,.swap-page .launch-socials a{display:grid;place-items:center;width:var(--launch-action-size);height:var(--launch-action-size);padding:0;border:1px solid var(--swap-border);border-radius:var(--radius);background:var(--swap-panel);color:var(--swap-ink)}
.launch-caption .launch-icon-action{grid-column:3;grid-row:1/3;margin:0;color:var(--swap-ink)}
.launch-caption .trade-exchange,.launch-socials .icon{width:var(--launch-action-icon-size);height:var(--launch-action-icon-size);margin:0;grid-column:auto;grid-row:auto}
.launch-trade-link:hover .launch-icon-action,.launch-trade-link:focus-visible .launch-icon-action,.swap-page .launch-socials a:hover,.swap-page .launch-socials a:focus-visible{background:var(--swap-field);border-color:var(--form-edge)}
@media(max-width:600px){
  .launch-caption>img,.launch-caption .launch-icon-action{grid-row:1}
  .launch-caption .launch-price{grid-column:1/4;grid-row:2}
}

/* Outer spacing follows the original left padding; field interiors use half. */
:is(#swap-form,#bridge-form){display:grid;gap:var(--swap-space);padding:var(--swap-space)}
:is(#swap-form,#bridge-form) .order-toolbar{margin:0;gap:var(--swap-space)}
:is(#swap-form,#bridge-form) .swap-fields{position:relative;display:grid;gap:var(--swap-space)}
:is(#swap-form,#bridge-form) .swap-field{padding:var(--swap-inner-space);gap:var(--swap-inner-space)}
:is(#swap-form,#bridge-form) .amount-column,:is(#swap-form,#bridge-form) .asset-picker{display:grid;gap:var(--swap-inner-space)}
:is(#swap-form,#bridge-form) :is(label,.fiat,.token-balance,.notice){margin:0}
:is(#swap-form,#bridge-form) :is(.token-trigger,.token-options button){gap:var(--swap-inner-space);padding:var(--swap-inner-space)}
:is(#swap-form,#bridge-form) .token-options{padding:var(--swap-inner-space);gap:var(--swap-inner-space);top:calc(100% + var(--swap-inner-space))}
:is(#swap-form,#bridge-form) #order-type{padding:var(--swap-space);max-width:none}
:is(#swap-form,#bridge-form)>.connect{height:auto;min-height:52px;padding:var(--swap-space);margin:0}
:is(#swap-form,#bridge-form) .reverse-wrap{position:absolute;top:50%;left:50%;width:50px;height:50px;transform:translate(-50%,-50%);z-index:2}
:is(#swap-form,#bridge-form) .reverse{width:50px;height:50px}

/* Blurred overflow lives in the gutters, outside the shared content width. */
.launches-viewport{--launch-bleed:min(88px,max(var(--page-gutter),calc((100vw - var(--content-max-width))/2)))}
.launches-track{width:calc(100% + 2 * var(--launch-bleed));margin-inline:calc(-1 * var(--launch-bleed));padding-inline:var(--launch-bleed);scroll-padding-inline:var(--launch-bleed)}

#bridge-form .asset-picker{max-width:none;margin:0}

#bridge-form .bridge-fee{margin:0;font-size:var(--text-small);color:var(--swap-muted)}
#bridge-amount{appearance:textfield;-moz-appearance:textfield}
#bridge-amount::-webkit-inner-spin-button,#bridge-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Network names are static labels; only token selectors have chevrons. */
#bridge-form .bridge-network{appearance:none;background:none;padding:0;cursor:default}
#bridge-form .bridge-network::before,#bridge-form .bridge-network::after{content:none}

.bridge-hero h1{display:flex;align-items:center;justify-content:center;gap:12px}
.swap-page .bridge-hero h1{font-size:var(--text-display);font-weight:var(--weight-regular)}
.bridge-hero-icon{width:84px;height:84px;flex-shrink:0;color:var(--hero-accent)}
.bridge-hero p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--swap-muted);margin:0}
@media(max-width:600px){.swap-page .bridge-hero h1{font-size:var(--text-large)}.bridge-hero-icon{width:60px;height:60px}}

/* Dark surfaces separate by tone rather than bright nested edges. */
html[data-theme="dark"] .swap-page .swap-field{background:var(--swap-field);border-color:var(--field-border)}
html[data-theme="dark"] .swap-page .wave-art{opacity:.55}
/* Size the visible controls explicitly as well as their dropdown wrappers. */
.swap-page .token-dropdown .token-trigger{width:var(--token-selector-width,144px);min-width:var(--token-selector-width,144px);max-width:var(--token-selector-width,144px)}
