.terminal-page{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.surface-card{background:var(--surface-1);border-radius:var(--radius-md);box-shadow:var(--shadow-surface);padding:var(--space-lg);color:var(--text-primary);font-family:var(--font-body)}.surface-card__title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px}.surface-card__sub{margin:0 0 var(--space-md);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5}.swap{gap:var(--space-md);flex-direction:column;display:flex}.swap__segmented{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:0;padding:2px;display:grid}.swap__segment{padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none}.swap__segment:hover{color:var(--text-secondary)}.swap__segment.is-active{color:#fff;background:var(--accent)}.swap__row{gap:4px;display:grid}.swap__row label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.swap__input,.swap__select{background:var(--surface-2);border:1px solid var(--hairline);width:100%;color:var(--text-primary);font-family:var(--font-mono);min-height:36px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none;font-size:16px}.swap__input:focus,.swap__select:focus{border-color:var(--accent)}.swap__hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.swap__hint--error{color:var(--danger)}.swap__quote{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--text-xs);flex-direction:column;gap:4px;display:flex}.swap__quote-row{justify-content:space-between;gap:var(--space-sm);color:var(--text-secondary);display:flex}.swap__quote-strong{color:var(--text-primary)}.swap__actions{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.route-swap{--wallet-flow-footer-h:52px;--route-pool-panel-h:220px;--route-swap-slip-col:minmax(112px, 144px);gap:var(--space-md);-webkit-user-select:none;user-select:none;flex-direction:column;height:100%;min-height:0;display:flex}.route-swap__paste,.route-swap__target{flex-direction:column;gap:6px;display:flex}.route-swap__target{margin-top:var(--space-xs);grid-template-columns:minmax(0, 1fr) var(--route-swap-slip-col);column-gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-xs);border-radius:var(--radius-sm);background:#7aa8ff0a;border:1px solid #8fc5ff33;row-gap:0;display:grid;box-shadow:0 0 28px #7aa8ff1a,inset 0 0 24px #7aa8ff0a}.route-swap__target-field{flex-direction:column;gap:4px;min-width:0;display:flex}.route-swap__target-field--slip .route-swap__slip-select{width:100%}.route-swap__slip-caption--under{text-align:center}.route-swap__input--target{box-sizing:border-box;background:#7aa8ff12;border-color:#8fc5ff6b;height:40px;min-height:40px;box-shadow:0 0 18px #7aa8ff24}.route-swap__input--target:focus{border-color:#8fc5ff9e;box-shadow:0 0 22px #7aa8ff38}.route-swap__target-caption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.route-swap__paste label,.route-swap__paste .route-swap__hint:not(.route-swap__hint--error){display:none}.route-swap__paste--inline{flex-direction:column;gap:4px;min-width:0;display:flex}.route-swap__amount{grid-template:"label balance""input presets"/minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.route-swap__amount-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);grid-area:label;min-width:0}.route-swap__amount-balance{grid-area:balance;place-self:baseline end}.route-swap__amount-presets{flex-wrap:nowrap;flex-shrink:0;grid-area:presets;align-self:stretch;align-items:stretch;gap:4px;display:inline-flex}.route-swap__amount-input-row{grid-area:input;min-width:0}.route-swap__amount-input-row .route-swap__input--amount{width:100%;min-width:0}.route-swap__amount .route-swap__amount-chip{box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;min-width:2.1rem;height:40px;min-height:40px;padding:0 5px;font-size:.62rem;display:inline-flex}.route-swap__amount-row{grid-template-columns:minmax(0, 1fr) var(--route-swap-slip-col);align-items:stretch;gap:var(--space-sm);display:grid}.route-swap__amount-footer{grid-template-columns:minmax(0, 1fr) var(--route-swap-slip-col);align-items:center;gap:var(--space-sm);display:grid}.route-swap__slip-caption{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.route-swap__amount-balance{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:.68rem}.route-swap__amount-usd{color:var(--text-muted);font-weight:400}.route-swap__input{background:var(--surface-2);border:1px solid var(--hairline);width:100%;color:var(--text-primary);font-family:var(--font-mono);min-height:36px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);-webkit-user-select:text;user-select:text;outline:none;font-size:16px}.route-swap__input:focus{border-color:var(--accent)}.route-swap__input--amount,.route-swap__slip-trigger{height:40px;min-height:40px;padding:0 var(--space-md);box-sizing:border-box}.route-swap__slip-select{width:100%;position:relative}.route-swap__slip-trigger{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);justify-content:space-between;align-items:center;gap:4px;font-size:16px;display:flex}.route-swap__slip-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.route-swap__slip-trigger:hover{border-color:#8fc5ff66}.route-swap__slip-trigger:focus-visible{border-color:var(--accent);outline:none}.route-swap__slip-caret{width:12px;height:12px;color:var(--text-muted);flex-shrink:0}.route-swap__slip-caret svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.route-swap__slip-menu{z-index:30;scrollbar-width:none;-ms-overflow-style:none;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;max-height:220px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.route-swap__slip-menu::-webkit-scrollbar{width:0;height:0;display:none}.route-swap__slip-option{width:100%;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-bottom:1px solid #ffffff0d;padding:8px 12px}.route-swap__slip-option:last-child{border-bottom:none}.route-swap__slip-option:hover,.route-swap__slip-option:focus-visible{color:var(--text-primary);background:#7aa8ff14;outline:none}.route-swap__slip-option.is-selected{color:var(--text-primary);background:#7aa8ff14}.route-swap__slip-trigger--none,.route-swap__slip-trigger--none:hover,.route-swap__slip-trigger--none:focus-visible{color:var(--danger);border-color:#dc26268c}.route-swap__slip-option--none{color:var(--danger)}.route-swap__slip-option--none:hover,.route-swap__slip-option--none:focus-visible,.route-swap__slip-option--none.is-selected{color:var(--danger);background:#dc26261a}.route-swap__slip-caption--none{color:var(--danger)}.route-swap__amount-chip{border:1px solid var(--hairline);background:var(--surface-2);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-xs);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);padding:4px 8px;font-size:.68rem}.route-swap__amount-chip:hover:not(:disabled):not(.is-disabled){color:var(--text-primary);border-color:#8fc5ff66}.route-swap__amount-chip--max{color:var(--text-primary);border-color:#8fc5ff70}.route-swap__amount-chip.is-disabled,.route-swap__amount-chip:disabled{opacity:.5;cursor:not-allowed}.route-swap__hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);min-height:1.2em}.route-swap__hint--error{color:var(--danger)}.route-swap__panel{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);min-height:160px;padding:var(--space-sm) var(--space-md);flex-direction:column;flex:auto;gap:6px;display:flex}.route-swap__panel-title{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:8px;display:flex}.route-swap__panel-head{justify-content:space-between;align-items:center;gap:8px;min-height:1.25em;display:flex}.route-swap__panel-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:55%;font-size:10px;overflow:hidden}@media (max-width:480px){.route-swap__panel-head{flex-wrap:wrap}.route-swap__panel-hint{text-align:left;width:100%;max-width:none;min-height:1.25em}}.route-swap__live-dot{letter-spacing:.12em;color:#6ee7a0;text-transform:uppercase;align-items:center;gap:4px;font-size:9px;display:inline-flex}.route-swap__live-dot:before{content:"";background:#6ee7a0;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite route-live-pulse;box-shadow:0 0 6px #6ee7a0a6}@keyframes route-live-pulse{0%,to{opacity:1}50%{opacity:.45}}.route-swap__panel-empty{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center;padding:var(--space-md);flex:1;justify-content:center;align-items:center;display:flex}.route-swap__panel--routes{flex:1 1 var(--route-pool-panel-h);min-height:var(--route-pool-panel-h);overflow:hidden}.route-swap__panel--routes .route-swap__cards-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.route-swap__panel--routes .route-swap__cards-scroll::-webkit-scrollbar{width:4px}.route-swap__panel--routes .route-swap__cards-scroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.route-swap__panel--routes .route-swap__panel-empty{flex:1;min-height:0}.route-swap__cards-scroll{gap:var(--space-xs);flex-direction:column;display:flex}.route-swap__cards{flex-wrap:wrap;place-content:flex-start center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.route-card.is-multihop{aspect-ratio:2;flex:0 0 300px;width:300px}.route-card{aspect-ratio:1;text-align:left;border:1px solid var(--hairline);background:linear-gradient(165deg, var(--surface-1) 0%, #12121aeb 100%);width:150px;height:auto;min-height:0;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;flex:0 0 150px;justify-content:flex-start;gap:4px;padding:8px 10px;display:flex;overflow:hidden}.route-card:hover{border-color:#ff007a47;box-shadow:0 2px 12px #0003}.route-card.is-selected{background:linear-gradient(165deg,#ff007a14 0%,#12121af5 100%);border-color:#ff007a8c;box-shadow:0 0 0 1px #ff007a1f,0 4px 16px #00000038}.route-card.is-best:not(.is-selected){border-color:#8fc5ff52}.route-card__header{align-items:center;gap:8px;min-width:0;display:flex}.route-card__logo{object-fit:contain;flex-shrink:0;width:22px;height:22px}.route-card__version{min-width:0;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:4px;font-size:.7rem;display:inline-flex}.route-card__fee{color:#ff6eb4;letter-spacing:.02em;background:#ff007a1f;border-radius:0;padding:0 4px;font-size:.58rem;line-height:1.4}.route-card__version--wrap{flex:1;min-width:0}.route-card__badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--success);background:rgba(var(--success-rgb), .12);border:1px solid rgba(var(--success-rgb), .28);border-radius:0;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:.55rem}.route-card__diagram{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.route-hop-diagram{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.route-hop-diagram svg{width:100%;height:100%;max-height:88px;display:block}.route-hop-particle{fill:#ff6eb4;opacity:0;pointer-events:none}.route-hop-diagram.is-selected .route-hop-particle{fill:#ffc8e8}@keyframes route-hop-particle-single{0%,10%{opacity:0;cx:40px}12%{opacity:1}48%{opacity:1;cx:71px}54%,to{opacity:0;cx:71px}}@keyframes route-hop-particle-multi-0{0%,8%{opacity:0;cx:40px}10%{opacity:1}30%{opacity:1;cx:95px}36%,to{opacity:0;cx:95px}}@keyframes route-hop-particle-multi-1{0%,40%{opacity:0;cx:140px}42%{opacity:1}62%{opacity:1;cx:195px}68%,to{opacity:0;cx:195px}}@keyframes route-hop-node-single-0{0%,8%{stroke:#ff6eb4;filter:drop-shadow(0 0 5px #ff6eb4bf)}12%,to{filter:none}}@keyframes route-hop-node-single-1{0%,48%{filter:none}50%,58%{stroke:#ff6eb4;filter:drop-shadow(0 0 5px #ff6eb4bf)}62%,to{filter:none}}@keyframes route-hop-node-multi-0{0%,6%{stroke:#ff6eb4;filter:drop-shadow(0 0 5px #ff6eb4bf)}10%,to{filter:none}}@keyframes route-hop-node-multi-1{0%,30%{filter:none}32%,38%{stroke:#ff6eb4;filter:drop-shadow(0 0 5px #ff6eb4bf)}42%,to{filter:none}}@keyframes route-hop-node-multi-2{0%,62%{filter:none}64%,70%{stroke:#ff6eb4;filter:drop-shadow(0 0 5px #ff6eb4bf)}74%,to{filter:none}}.route-hop-diagram--flow{--hop-duration:3.2s;--hop-delay:0s}.route-hop-diagram--flow-multihop{--hop-duration:4s}.route-hop-diagram--flow-single .route-hop-particle--single{animation:route-hop-particle-single var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-single .route-hop-node--single-0 .route-hop-node__ring{animation:route-hop-node-single-0 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-single .route-hop-node--single-1 .route-hop-node__ring{animation:route-hop-node-single-1 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-multihop .route-hop-particle--multi-0{animation:route-hop-particle-multi-0 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-multihop .route-hop-particle--multi-1{animation:route-hop-particle-multi-1 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-multihop .route-hop-node--multi-0 .route-hop-node__ring{animation:route-hop-node-multi-0 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-multihop .route-hop-node--multi-1 .route-hop-node__ring{animation:route-hop-node-multi-1 var(--hop-duration) ease-in-out var(--hop-delay) infinite}.route-hop-diagram--flow-multihop .route-hop-node--multi-2 .route-hop-node__ring{animation:route-hop-node-multi-2 var(--hop-duration) ease-in-out var(--hop-delay) infinite}@media (prefers-reduced-motion:reduce){.route-hop-diagram--flow .route-hop-particle,.route-hop-diagram--flow .route-hop-node__ring{animation:none!important}}.route-card__quote{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.25;overflow:hidden}.route-card__quote.is-pending{color:var(--text-muted)}.route-card__wrap-flow{letter-spacing:.04em;color:var(--text-secondary,#a8b0c0);justify-content:center;align-items:center;gap:.65rem;font-size:.82rem;font-weight:600;display:flex}.route-card__logo--direct{opacity:.85;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.route-swap__load-more{margin-top:var(--space-xs);padding:6px var(--space-sm);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);align-self:stretch}.route-swap__load-more:hover{color:var(--text-primary);border-color:#8fc5ff5c}@media (max-width:1199px){.terminal-page:has(.center-tabs__panel.is-active>.route-swap){height:100%;min-height:0;max-height:100dvh}.terminal-page:has(.center-tabs__panel.is-active>.route-swap) .center-tabs{flex:1;height:100%;min-height:0;max-height:100%}.center-tabs__panel.is-active:has(>.route-swap){flex:1;min-height:0;overflow:hidden}.route-swap{gap:var(--space-sm);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;flex:1;min-height:0;max-height:100%;overflow:hidden auto}.route-swap::-webkit-scrollbar{display:none}.route-swap__panel--routes .route-swap__cards-scroll{-ms-overflow-style:none;scrollbar-width:none}.route-swap__panel--routes .route-swap__cards-scroll::-webkit-scrollbar{display:none}.route-swap__cta{flex-shrink:0;margin-top:0}.route-swap__target{gap:var(--space-sm);box-shadow:none;background:0 0;border:none;flex-direction:column;margin-top:0;padding:0;display:flex}.route-swap__target-field--paste .route-swap__input--target{background:#7aa8ff12;border-color:#8fc5ff6b;box-shadow:0 0 14px #7aa8ff1f}.route-swap__target-field--slip .route-swap__slip-caption--under{text-align:left}.route-swap__amount{grid-template:"label presets""balance balance""input input"/minmax(0,1fr) auto;gap:4px 6px}.route-swap__amount-label,.route-swap__amount-presets{align-self:center}.route-swap__amount .route-swap__amount-chip{letter-spacing:.02em;min-width:1.85rem;height:32px;min-height:32px;padding:0 3px;font-size:.58rem}.route-swap__amount-balance{justify-self:end;font-size:.62rem}.route-swap__bal{min-width:0;padding:4px 8px}.route-swap__panel.route-swap__panel--routes{gap:4px;padding:6px 8px}.route-swap__panel--routes .route-swap__panel-head{gap:4px;min-height:0}.route-swap__panel--routes .route-swap__panel-title{letter-spacing:.06em;gap:4px}.route-swap__panel--routes .route-swap__panel-hint{font-size:9px}.route-swap__panel--routes .route-swap__cards-scroll{align-items:center;gap:4px}.route-swap__panel--routes .route-swap__cards{justify-content:center;gap:6px;width:100%}.route-swap__panel--routes .route-swap__load-more{align-self:center;width:auto;min-width:8rem}.route-swap__panel--routes .route-card{gap:2px;padding:5px 6px}.route-swap__panel--routes .route-card__header{gap:6px}.route-swap__panel--routes .route-swap__panel-empty{padding:8px}.route-swap__panel--routes .route-swap__load-more{margin-top:4px;padding:4px 8px;font-size:.62rem}.route-swap__panel--routes .route-hop-diagram svg{max-height:76px}}.route-hop-diagram--multihop svg{max-height:88px}@media (max-width:480px){.route-card.is-multihop{flex-basis:260px;width:260px}.route-card{flex-basis:130px;width:130px}.route-swap__panel.route-swap__panel--routes{padding:4px 6px}.route-swap__panel--routes .route-swap__cards{justify-content:center;gap:4px}.route-swap__panel--routes .route-card{padding:4px 5px}.route-swap__panel--routes .route-hop-diagram svg{max-height:68px}}.route-swap__cta{gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.route-swap__wallet-gate{justify-content:center;width:100%;padding-top:2px;display:flex}.route-swap__cta .wallet-probe-loading{min-height:var(--wallet-flow-footer-h);padding:var(--space-md) var(--space-sm);flex:none;justify-content:center}.route-swap__wallet-gate .wallet-panel__deploy-btn{width:100%;max-width:100%;min-height:var(--wallet-flow-footer-h)}.route-swap__btn{width:100%;min-height:var(--wallet-flow-footer-h,52px);max-height:var(--wallet-flow-footer-h,52px);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff05;border:1px solid #7db3ff52;justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #7db3ff0d}.route-swap__btn:hover:not(:disabled){background:#7aa8ff14;border-color:#8fc5ff75;transform:translateY(-1px);box-shadow:0 0 0 1px #8fc5ff42}.route-swap__btn:active:not(:disabled){transform:translateY(0)}.route-swap__btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.route-swap__btn:focus-visible{outline:none;box-shadow:0 0 0 1px #8fc5ff66,0 0 0 4px #7aa8ff29}.route-swap__btn--ready{background:#64c8b40f;border-color:#64c8b480;animation:2s ease-in-out infinite route-cta-ready-pulse}@keyframes route-cta-ready-pulse{0%,to{box-shadow:0 0 #64c8b400}50%{box-shadow:0 0 12px 2px #64c8b42e}}@media (prefers-reduced-motion:reduce){.route-swap__btn--ready{animation:none}}.route-swap__btn--success{background:var(--success);color:#fff;box-shadow:0 2px 16px rgba(var(--success-rgb), .32);text-decoration:none}.route-swap__btn--success:hover{background:var(--success);filter:brightness(1.05)}.route-swap__btn--error{background:rgba(var(--danger-rgb), .22);border:1px solid rgba(var(--danger-rgb), .45);color:#f87171;box-shadow:0 2px 12px rgba(var(--danger-rgb), .18);text-decoration:none}.route-swap__btn--error:hover{background:rgba(var(--danger-rgb), .3);filter:brightness(1.05)}.route-swap__btn-mark{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.9rem;line-height:1;display:inline-flex}.route-swap__btn-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.route-swap__error{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--danger);overflow-wrap:break-word}.route-swap__pay-with{flex-direction:column;gap:6px;display:flex}.route-swap__pay-with-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.route-swap__pay-with-chips{flex-wrap:wrap;gap:6px;display:flex}.route-swap__chip{background:var(--surface-2);border:1px solid var(--hairline);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-xs);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;padding:6px 10px;display:inline-flex}.route-swap__chip:hover{color:var(--text-primary);border-color:#8fc5ff5c}.route-swap__chip.is-active{color:var(--text-primary);background:#7aa8ff14;border-color:#8fc5ff8f}.route-swap__chip--clear{color:#ff6eb4e0;background:#ff007a0f;border-color:#ff6eb447}.route-swap__chip--clear:hover{color:#ff6eb4;background:#ff007a1a;border-color:#ff6eb47a}.route-swap__input--token{width:100%}.route-swap__pay-with-custom{display:block}.route-swap__pay-with-custom .route-swap__input{width:100%}.route-swap__chip-action{border:1px solid var(--hairline);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:0 var(--space-md);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;align-self:stretch}.route-swap__chip-action:hover:not(:disabled){color:var(--text-primary);border-color:#8fc5ff5c}.route-swap__chip-action:disabled{opacity:.5;cursor:not-allowed}.portfolio{gap:var(--space-sm);flex-direction:column;display:flex;position:relative}.portfolio__toast-stack{top:var(--space-sm);left:var(--space-sm);right:var(--space-sm);z-index:2;pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute}.portfolio__toast{pointer-events:auto;margin:0;box-shadow:0 6px 20px #00000059}.portfolio__header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.portfolio__toolbar{min-height:28px;margin-bottom:var(--space-xs);align-items:center;display:flex}.portfolio__toolbar-toggle{border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;padding:4px 10px}.portfolio__toolbar-toggle:hover,.portfolio__toolbar-toggle.is-open{color:var(--text-secondary);border-color:var(--text-muted);background:var(--surface-2)}.portfolio__total{padding:var(--space-md) var(--space-lg);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--hairline);flex-direction:column;gap:2px;display:flex}.portfolio__total-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.portfolio__total-value{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.portfolio__list{border:1px solid var(--hairline);border-radius:var(--radius-md);gap:0;display:grid;overflow:hidden}.portfolio-row{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--surface-1);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);font-size:var(--text-xs);transition:background var(--transition-fast);grid-template-columns:24px minmax(0,1fr) minmax(72px,auto) 22px;display:grid}.portfolio-row:last-child{border-bottom:none}.portfolio-row:hover{background:var(--surface-2)}.portfolio-row--hidden{opacity:.55}.portfolio-row--hidden:hover{background:var(--surface-2);opacity:.7}.portfolio-row--tradeable{cursor:pointer}.portfolio-row__logo{background:var(--surface-2);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;display:flex;overflow:hidden}.portfolio-row__logo img{object-fit:cover;width:100%;height:100%}.portfolio-row__name{flex-direction:column;gap:2px;min-width:0;display:flex}.portfolio-row__head{align-items:center;gap:8px;min-width:0;display:flex}.portfolio-row__meta{flex-shrink:1;align-items:center;gap:3px;min-width:0;display:inline-flex}.portfolio-row__ca{color:var(--text-muted);letter-spacing:0;white-space:nowrap;font-size:.65rem;font-weight:400;text-decoration:none}.portfolio-row__copy{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.portfolio-row__copy svg{fill:none;stroke:currentColor;stroke-width:2px;width:12px;height:12px}.portfolio-row__copy:focus-visible{border-radius:2px;outline:none;box-shadow:0 0 0 1px #8fc5ff47}.portfolio-row__symbol{color:var(--text-primary);letter-spacing:.02em;align-items:center;gap:6px;font-weight:700;display:inline-flex}.portfolio-row__badge{border-radius:var(--radius-xs);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--hairline);align-items:center;padding:1px 5px;font-size:.55rem;font-weight:600;display:inline-flex}.portfolio-row__badge--auto{color:var(--accent);border-color:var(--accent-dim);background:#dc26260f}.portfolio-row__sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.65rem;overflow:hidden}@media (max-width:1199px){.portfolio-row{gap:var(--space-sm);padding:var(--space-sm)}.portfolio-row__head{flex-direction:column;align-items:flex-start;gap:2px}.portfolio-row__sub{display:none}.portfolio-row__meta{max-width:100%}.portfolio-row__ca{font-size:.62rem}}.portfolio-row__amount{color:var(--text-primary);text-align:right}.portfolio-row__values{min-width:0}.portfolio-row__usd{color:var(--text-muted);text-align:right;font-size:.65rem}.portfolio-row__remove-slot{justify-self:end;width:22px;height:22px}.portfolio-row__remove{color:var(--text-muted);font-family:var(--font-mono);border-radius:var(--radius-sm);cursor:pointer;width:22px;height:22px;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;font-size:.85rem;display:flex}.portfolio-row__remove:hover{color:var(--accent);border-color:var(--accent)}.portfolio-row__unhide{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:22px;height:22px;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;padding:0;display:flex}.portfolio-row__unhide svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.portfolio-row__unhide:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.portfolio-row__unhide:disabled{opacity:.45;cursor:not-allowed}.portfolio-row.portfolio-row--add{padding:var(--space-sm) var(--space-md);min-height:55px;display:block;position:relative}.portfolio-row--add{--add-ease:cubic-bezier(.33, 1, .68, 1);--add-duration:.24s;background:var(--surface-1)}.portfolio-row--add:hover:not(.is-open){background:var(--surface-2)}.portfolio-row__add-pane{transition:opacity var(--add-duration) var(--add-ease), transform var(--add-duration) var(--add-ease), visibility var(--add-duration) var(--add-ease)}.portfolio-row__add-pane--trigger{opacity:1;visibility:visible;min-height:calc(55px - 2 * var(--space-sm));align-items:center;display:flex;transform:translateY(0)}.portfolio-row__add-pane--form{padding:var(--space-sm) var(--space-md);opacity:0;visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;right:0;transform:translateY(4px)}.portfolio-row--add.is-open .portfolio-row__add-pane--trigger{opacity:0;visibility:hidden;pointer-events:none;height:0;position:absolute;top:0;left:0;right:0;overflow:hidden;transform:translateY(-4px)}.portfolio-row--add.is-open .portfolio-row__add-pane--form{min-height:calc(55px - 2 * var(--space-sm));opacity:1;visibility:visible;pointer-events:auto;padding:0;position:relative;transform:translateY(0)}.portfolio-row__add-trigger{align-items:center;gap:var(--space-md);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;grid-template-columns:24px minmax(0,1fr) 22px;width:100%;padding:0;display:grid}.portfolio-row__add-trigger:hover .portfolio-row__add-label{color:var(--accent)}.portfolio-row__add-form-grid{align-items:center;gap:var(--space-md);width:100%;min-height:calc(55px - 2 * var(--space-sm));grid-template-columns:24px minmax(0,1fr) minmax(72px,auto) 22px;display:grid}.portfolio-row__add-form-grid .portfolio-row__add-input,.portfolio-row__add-form-grid .portfolio-row__add-action{transition:opacity calc(var(--add-duration) - 40ms) var(--add-ease) 50ms, transform calc(var(--add-duration) - 40ms) var(--add-ease) 50ms, border-color var(--transition-fast)}.portfolio-row--add:not(.is-open) .portfolio-row__add-form-grid .portfolio-row__add-input,.portfolio-row--add:not(.is-open) .portfolio-row__add-form-grid .portfolio-row__add-action{opacity:0;transform:translateY(4px)}.portfolio-row--add.is-open .portfolio-row__add-form-grid .portfolio-row__add-input,.portfolio-row--add.is-open .portfolio-row__add-form-grid .portfolio-row__add-action{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.portfolio-row__add-pane,.portfolio-row__add-form-grid .portfolio-row__add-input,.portfolio-row__add-form-grid .portfolio-row__add-action{transition:none}.portfolio-row__add-pane--form,.portfolio-row--add.is-open .portfolio-row__add-pane--trigger{transform:none}}.portfolio-row__logo--add{color:var(--accent);font-size:.85rem;font-weight:700}.portfolio-row__add-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--transition-fast);grid-column:2;font-weight:600}.portfolio-row__add-body{flex-direction:column;grid-column:2;justify-content:center;gap:4px;min-width:0;display:flex}.portfolio-row__add-input{background:var(--surface-2);border:1px solid var(--hairline);width:100%;min-height:36px;color:var(--text-primary);font-family:var(--font-mono);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none;padding:8px 10px;font-size:16px;line-height:1.2}.portfolio-row__add-input:focus{border-color:var(--accent)}.portfolio-row__add-error{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--danger);line-height:1.2}.portfolio-row__add-actions{flex-shrink:0;grid-column:3;align-self:center;align-items:center;gap:6px;display:flex}.delta-up{color:var(--success)}.delta-down{color:var(--danger)}.portfolio__empty{padding:var(--space-lg);text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.add-token{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.add-token__title{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.add-token__row{gap:var(--space-sm);display:flex}.add-token__input{flex:1;min-height:36px;font-size:16px}.ai-screen{width:100%;padding:var(--space-md) 0;justify-content:center;align-items:flex-start;display:flex}.ai-card{background:var(--surface-1);border-radius:var(--radius-md);width:min(720px,100%);box-shadow:0 0 0 1px var(--hairline), 0 0 40px #dc26260a;padding:var(--space-xl);gap:var(--space-md);flex-direction:column;display:flex}.ai-card__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.ai-card__headline{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:700;line-height:1.2}.ai-card__sub{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;line-height:1.6}.ai-card__textarea{background:var(--surface-2);border:1px solid var(--hairline);width:100%;min-height:120px;color:var(--text-primary);font-family:var(--font-mono);border-radius:var(--radius-sm);padding:var(--space-md);resize:vertical;transition:border-color var(--transition-fast);outline:none;font-size:16px}.ai-card__textarea:focus{border-color:var(--accent)}.ai-card__row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.ai-card__hint{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.ai-result{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--space-md)}.ai-result__rows{margin-bottom:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);gap:4px;display:grid}.ai-result__rows strong{color:var(--text-primary)}.ai-locked{text-align:center;padding:var(--space-xl) var(--space-md);gap:var(--space-md);flex-direction:column;align-items:center;display:flex}.ai-locked__badge{border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;display:inline-flex}.ai-locked__title{font-family:var(--font-heading);color:var(--text-primary);font-size:var(--text-lg);margin:0;font-weight:700}.ai-locked__copy{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);max-width:460px;margin:0;line-height:1.6}
