@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{--bg-color: #f8fafc;--panel-bg: rgba(255, 255, 255, .7);--panel-border: rgba(15, 23, 42, .08);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--font-sans: "Outfit", "Inter", ui-sans-serif, system-ui, sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--glass-blur: blur(16px);--color-danger: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--color-info: #3b82f6;--primary-color: #10b981;--primary-hover: #059669;--primary-light: rgba(16, 185, 129, .1);--theme-accent: #06b6d4;--theme-glow: 0 0 25px rgba(16, 185, 129, .2);--theme-gradient: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--best-bg: rgba(16, 185, 129, .06)}.basedex-theme{--primary-color: #10b981;--primary-hover: #059669;--primary-light: rgba(16, 185, 129, .1);--theme-accent: #06b6d4;--theme-glow: 0 0 25px rgba(16, 185, 129, .2);--theme-gradient: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--best-bg: rgba(16, 185, 129, .06)}.bscdex-theme{--primary-color: #f59e0b;--primary-hover: #d97706;--primary-light: rgba(245, 158, 11, .1);--theme-accent: #d946ef;--theme-glow: 0 0 25px rgba(245, 158, 11, .2);--theme-gradient: linear-gradient(135deg, #f59e0b 0%, #d946ef 100%);--best-bg: rgba(245, 158, 11, .06)}*{box-sizing:border-box}body{margin:0;min-width:320px;background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);background-image:radial-gradient(at 0% 0%,rgba(99,102,241,.06) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(16,185,129,.05) 0px,transparent 45%),radial-gradient(at 100% 0%,rgba(6,182,212,.05) 0px,transparent 45%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#00000003}::-webkit-scrollbar-thumb{background:#0f172a26;border-radius:99px;border:2px solid var(--bg-color)}::-webkit-scrollbar-thumb:hover{background:#0f172a40}h1{margin:0 0 6px;font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.02em;background:linear-gradient(to right,#0f172a,var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}p{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.5}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.walletBox,.swapPanel,.productPanel{border:1px solid var(--panel-border);border-radius:16px;background-color:var(--panel-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 8px 32px #0f172a0a;transition:var(--transition-smooth)}.walletBox:hover,.swapPanel:hover,.productPanel:hover{border-color:#0f172a1f;box-shadow:0 12px 40px #0f172a0f}.appShell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0}.topBar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}button{border:0;border-radius:12px;background:var(--theme-gradient);color:#fff;cursor:pointer;min-height:44px;padding:0 20px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #0000001a;transition:var(--transition-smooth)}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--theme-glow)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}button.secondary{background:#0f172a0d;border:1px solid rgba(15,23,42,.06);color:var(--text-primary);box-shadow:none}button.secondary:hover:not(:disabled){background:#0f172a17;box-shadow:none}button.textButton{min-height:0;padding:0;background:transparent;color:var(--primary-color);font-weight:700;box-shadow:none}button.textButton:hover{color:var(--primary-hover);text-decoration:underline;transform:none;box-shadow:none}button.copyButton{min-height:30px;padding:0 10px;border:1px solid var(--panel-border);background:#0f172a08;color:var(--text-primary);font-size:12px;border-radius:6px;box-shadow:none}button.copyButton:hover{background:var(--primary-light);border-color:var(--primary-color);box-shadow:none}.walletBox{display:flex;align-items:center;gap:16px;padding:14px 18px;min-width:380px}.walletStatus{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text-primary);font-size:15px}.walletActions{display:flex;gap:10px;margin-left:auto}.label,label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.networkSwitcher{display:inline-flex;overflow:hidden;border:1px solid var(--panel-border);border-radius:10px;background:#0f172a08;padding:3px}.networkSwitcher button{min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);padding:0 12px;font-size:13px;font-weight:700;box-shadow:none}.networkSwitcher button:hover{transform:none;box-shadow:none;color:var(--text-primary)}.networkSwitcher button.active{background:var(--theme-gradient);color:#fff;box-shadow:0 2px 8px #0000001a}.swapPanel,.productPanel{padding:24px}.swapForm,.stackForm{display:grid;gap:20px}.formGrid{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:12px;align-items:start}.formGrid.two{grid-template-columns:minmax(0,1fr) 180px}.formGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field input,.field select,.field textarea{width:100%;border:1px solid var(--panel-border);border-radius:12px;background:#fffc;color:var(--text-primary);padding:0 16px;outline:none;font-weight:600;transition:var(--transition-smooth)}.field input,.field select{min-height:48px}.field textarea{min-height:96px;padding:12px 16px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-color);box-shadow:var(--theme-glow)}.tokenSelector{position:relative}.tokenButton{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;width:100%;min-height:54px;border:1px solid var(--panel-border);background:#ffffffd9;color:var(--text-primary);text-align:left;gap:12px;border-radius:12px;box-shadow:none}.tokenButton:hover{transform:none;box-shadow:none;border-color:#0f172a26;background:#fffffff2}.tokenButton span{display:grid;min-width:0}.tokenButton strong{font-size:16px}.tokenButton small,.tokenOption small{color:var(--text-secondary);font-size:12px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tokenLogo,.tokenLogoFallback{width:32px;height:32px;border-radius:50%;flex:0 0 auto}.tokenLogo{object-fit:cover;border:1px solid rgba(0,0,0,.08)}.tokenLogoFallback{display:inline-grid;place-items:center;background:#0f172a0f;color:var(--text-primary);font-size:11px;font-weight:900}.tokenMenu{position:absolute;z-index:200;top:calc(100% + 8px);left:0;right:0;border:1px solid var(--panel-border);border-radius:16px;background:#fff;box-shadow:0 16px 48px #0f172a14;padding:12px}.tokenMenu input{margin-bottom:8px}.tokenList{display:grid;gap:4px;max-height:260px;margin-top:8px;overflow-y:auto;padding-right:4px}.tokenOption{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;min-height:48px;padding:8px 12px;border-radius:8px;background:transparent;color:var(--text-primary);gap:12px;text-align:left;box-shadow:none}.tokenOption:hover{background:#0f172a0a;transform:none;box-shadow:none}.tokenOption code{color:var(--text-muted);font-size:11px}.tokenEmpty{padding:16px;color:var(--text-secondary);text-align:center}.customTokenTitle{margin:16px 0 8px;color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase}.customTokenBox{display:grid;gap:8px;background:#0f172a05;padding:10px;border-radius:10px}.customTokenInline{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:8px}.switchButton{align-self:end;min-width:48px;max-width:48px;height:48px;padding:0;border-radius:50%;background:#0f172a08;border:1px solid var(--panel-border);color:var(--primary-color);box-shadow:none}.switchButton:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-hover);transform:scale(1.1) rotate(180deg)}.switchButton.rotating svg{animation:spin .5s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.tokenAddressCollapsible{display:grid;gap:8px;margin-top:-4px}.toggleAddressesBtn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:38px;padding:0 16px;background:#0f172a05;border:1px solid var(--panel-border);border-radius:10px;color:var(--text-secondary);font-size:13px;font-weight:600;box-shadow:none}.toggleAddressesBtn:hover{background:#0f172a0d;color:var(--text-primary);transform:none;box-shadow:none}.toggleAddressesBtn .arrow{color:var(--primary-color);font-size:11px}.tokenAddressGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tokenAddressRow{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px 12px;border:1px solid var(--panel-border);border-radius:10px;background:#0f172a05;color:var(--text-secondary);font-size:13px}.tokenAddressRow code{color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appTabs{display:flex;gap:8px;margin-bottom:24px;background:#0f172a05;padding:6px;border-radius:14px;border:1px solid var(--panel-border);overflow-x:auto;scrollbar-width:none}.appTabs::-webkit-scrollbar{display:none}.appTabs button{flex:1 0 auto;min-height:38px;border-radius:9px;background:transparent;color:var(--text-secondary);box-shadow:none;font-weight:600;font-size:14px;padding:0 16px;transition:var(--transition-smooth)}.appTabs button:hover{background:#0f172a0d;color:var(--text-primary);transform:none;box-shadow:none}.appTabs button.active{background:var(--theme-gradient);color:#fff;box-shadow:0 4px 12px #0000001a}.routeVisualizerCard{border:1px solid var(--panel-border);border-radius:14px;background:#0f172a03;padding:16px;margin-top:10px;display:grid;gap:12px}.routeVisualizerHeader{display:flex;justify-content:space-between;align-items:center}.routeVisualizerHeader span{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.routeVisualizerBadge{background:var(--primary-light);border:1px solid var(--primary-color);color:var(--primary-color);font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;text-transform:uppercase;animation:pulse-border 2s infinite}.routeVisualizerBody{display:flex;align-items:center;justify-content:space-between;gap:16px}.routeNode{display:flex;align-items:center;gap:10px;background:#ffffffd9;padding:8px 14px;border-radius:12px;border:1px solid var(--panel-border)}.routeNode strong{font-size:15px}.routePathLine{flex:1;display:flex;align-items:center;position:relative;height:48px}.routePathLine:before{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(to right,rgba(15,23,42,.05),var(--primary-color),rgba(15,23,42,.05));z-index:1}.routeConnector{position:relative;z-index:2;display:flex;align-items:center}.routeConnectorPulse{width:8px;height:8px;background:var(--primary-color);border-radius:50%;box-shadow:0 0 8px var(--primary-color)}.routeDEXDetails{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:grid;place-items:center;background:#fff;border:1px solid rgba(15,23,42,.08);padding:4px 12px;border-radius:99px;min-width:140px;text-align:center}.routeDEXName{font-weight:800;font-size:13px;color:var(--text-primary)}.routeDEXPool{font-size:10px;color:var(--text-secondary);font-weight:500}.alert,.notice,.txLink,.tableEmpty{display:block;margin-top:16px;border-radius:12px;padding:14px 18px;font-size:14px;font-weight:600}.alert{border:1px solid rgba(239,68,68,.2);background:#ef44440d;color:#b91c1c}.notice{border:1px solid rgba(16,185,129,.2);background:#10b9810d;color:#047857}.txLink{border:1px solid rgba(59,130,246,.2);background:#3b82f60d;color:#1d4ed8;text-decoration:none;text-align:center;transition:var(--transition-smooth)}.txLink:hover{background:#3b82f61a;box-shadow:0 0 15px #3b82f61a}.tableEmpty{border:1px dashed var(--panel-border);color:var(--text-muted);text-align:center;background:#0f172a03}.tableWrap{margin-top:24px;overflow-x:auto;border-radius:12px;border:1px solid var(--panel-border);background:#ffffffd9}table{width:100%;border-collapse:collapse;min-width:900px}th,td{border-bottom:1px solid var(--panel-border);padding:14px 16px;text-align:left;vertical-align:middle}th{color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#0f172a08}.sortHeader{min-height:0;padding:0;background:transparent;color:inherit;font-size:inherit;font-weight:700;text-align:left;text-transform:inherit;box-shadow:none}.sortHeader:hover{color:var(--text-primary);transform:none;box-shadow:none}.bestRow{background:var(--best-bg)}.dexCell{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--text-primary)}.bestBadge{border-radius:99px;background:var(--primary-color);color:#fff;padding:2px 8px;font-size:10px;font-weight:800;text-transform:uppercase}.modelBadge{display:inline-flex;align-items:center;min-height:22px;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase}.modelBadge.concentrated{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#1d4ed8}.modelBadge.classic{background:#0f172a0a;border:1px solid rgba(15,23,42,.08);color:var(--text-secondary)}.poolSizeCell{display:grid;gap:2px;font-size:13px}.poolSizeCell strong{color:var(--text-primary);font-size:14px}.poolSizeCell span{color:var(--text-muted)}.statusOk{color:var(--color-success);font-weight:700}.statusBad{color:var(--color-danger);font-weight:700}.rowActions button{min-height:32px;padding:0 14px;border-radius:8px;font-size:13px}.mobileResults{display:none}@media(max-width:760px){.tableWrap{display:none}.mobileResults{display:grid;gap:12px;margin-top:20px}.mobileRouteCard{border:1px solid var(--panel-border);border-radius:16px;background:#fffffff2;padding:16px;display:grid;gap:12px;transition:var(--transition-smooth);position:relative;overflow:hidden}.mobileRouteCard:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:transparent;transition:var(--transition-smooth)}.bestRouteCard{border-color:#10b98140;background:#10b98105;box-shadow:0 4px 20px #0f172a08}.bscdex-theme .bestRouteCard{border-color:#f59e0b40;background:#f59e0b05}.bestRouteCard:before{background:var(--primary-color)}.mobileRouteHeader{display:flex;justify-content:space-between;align-items:center}.mobileRouteDex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dexName{font-weight:800;font-size:15px;color:var(--text-primary)}.pctBadge{font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px}.pctBadge.positive{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.pctBadge.negative{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.poolTypeLabel{font-size:12px;color:var(--text-secondary);font-weight:600;background:#0f172a0a;padding:2px 8px;border-radius:6px}.mobileRouteBody{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#0f172a05;padding:12px;border-radius:12px}.mobileRouteOutput{display:grid;gap:2px}.mobileRouteOutput small{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.mobileRouteOutput strong{font-size:20px;color:var(--text-primary);font-weight:800}.mobileRouteAction button{min-height:38px;padding:0 16px;border-radius:8px;font-size:13px}.mobileRouteFooter{display:flex;justify-content:center}.detailsToggleBtn{min-height:0;background:transparent;border:0;box-shadow:none;color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px;display:flex;align-items:center;gap:6px}.detailsToggleBtn:hover{color:var(--text-primary);transform:none;box-shadow:none}.detailsToggleBtn .arrow{color:var(--primary-color)}.mobileRouteExpandedDetails{background:#0f172a05;border-radius:12px;padding:12px;display:grid;gap:8px;border:1px solid rgba(15,23,42,.04)}.detailRow{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detailRow>span:first-child{color:var(--text-secondary)}.detailRow>span:last-child,.detailRow>strong{color:var(--text-primary);font-weight:600}}.animateFadeIn{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-border{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.poolCard{border:1px solid var(--panel-border);border-radius:14px;background:#ffffffb3;padding:18px;display:grid;gap:12px}.poolCardHeader{display:flex;align-items:center;justify-content:space-between}.poolStats{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--text-secondary);font-size:13px}.poolStats strong{color:var(--text-primary)}.poolEstimate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#0f172a05;border-radius:10px;padding:12px;border:1px solid rgba(15,23,42,.04)}.poolInfoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.poolInfoGrid span{background:#ffffffe6;border:1px solid var(--panel-border);border-radius:10px;padding:10px;font-size:13px;color:var(--text-primary);overflow-wrap:anywhere}.discoveryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;margin-bottom:24px}.discoveryCard{border:1px solid var(--panel-border);border-radius:14px;background:#ffffffbf;padding:16px;display:grid;gap:6px}.discoveryCard span{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.discoveryCard strong{font-size:26px;font-weight:800;color:var(--text-primary)}.discoveryCard small{font-size:12px;color:var(--text-muted)}.splitColumns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.miniCard{border:1px solid var(--panel-border);border-radius:12px;background:#ffffffd9;padding:14px;display:grid;gap:6px}.clickableMiniCard{width:100%;cursor:pointer;text-align:left}.clickableMiniCard:hover{border-color:var(--primary-color);background:var(--primary-light)}.miniCard strong{font-size:16px;display:flex;justify-content:space-between;align-items:center}.miniCard strong span{font-size:11px;font-weight:700;color:var(--primary-color);text-transform:uppercase;background:var(--primary-light);padding:2px 8px;border-radius:99px}.miniCard p{font-size:13px;color:var(--text-secondary)}.miniCard code{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0}.feeButton{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:12px 8px!important;min-height:70px!important;border:1px solid var(--panel-border)!important;border-radius:12px!important;background:#0f172a08!important;color:var(--text-primary)!important;box-shadow:none!important;cursor:pointer!important;transition:var(--transition-smooth)!important}.feeButton strong{font-size:15px!important;font-weight:800!important;display:block!important;color:var(--text-primary)!important}.feeButton span{font-size:11px!important;font-weight:500!important;color:var(--text-secondary)!important;margin-top:4px!important;text-transform:none!important}.feeButton:hover{background:#0f172a0f!important;border-color:#0f172a26!important;transform:translateY(-2px)!important;box-shadow:none!important}.feeButton.active{background:var(--theme-gradient)!important;border-color:var(--primary-color)!important;color:#fff!important;box-shadow:var(--theme-glow)!important}.feeButton.active strong{color:#fff!important}.feeButton.active span{color:#fffc!important}@media(max-width:760px){.appShell{width:min(100% - 24px,1120px);padding:20px 0}.topBar{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:24px}.walletBox{min-width:0;flex-direction:column;align-items:stretch;padding:14px}.walletActions{margin-left:0;display:grid;grid-template-columns:1fr;gap:8px}.networkSwitcher{display:grid;grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr}.switchButton{justify-self:center;align-self:center;margin:8px 0;transform:rotate(90deg)}.switchButton:hover{transform:scale(1.1) rotate(270deg)}.tokenAddressGrid{grid-template-columns:1fr}.tokenAddressRow{grid-template-columns:1fr auto}.tokenAddressRow code{grid-column:1 / -1}.formGrid.two{grid-template-columns:1fr}.submitRow{display:flex;flex-direction:column;align-items:stretch}.tokenListStatus{flex-direction:column;align-items:flex-start;gap:8px}.routeVisualizerBody{flex-direction:column;gap:20px}.routePathLine{width:100%;height:60px}.routePathLine:before{inset:0 auto 0 50%;width:2px;height:100%;transform:translate(-50%);background:linear-gradient(to bottom,rgba(15,23,42,.05),var(--primary-color),rgba(15,23,42,.05))}.routeDEXDetails{min-width:120px}.poolEstimate,.poolInfoGrid,.discoveryGrid{grid-template-columns:1fr}.splitColumns{grid-template-columns:1fr;gap:16px}.feeGrid{grid-template-columns:repeat(2,1fr)}}
