aegis-swap-widget 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +114 -43
- package/dist/abis.d.ts +0 -73
- package/dist/aegis-swap-widget.js +3468 -2344
- package/dist/config/chains.d.ts +11 -0
- package/dist/config/constants.d.ts +8 -0
- package/dist/config/contracts.d.ts +6 -0
- package/dist/config/createMarket.d.ts +3 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/markets.d.ts +3 -0
- package/dist/config/tokens.d.ts +11 -0
- package/dist/{config.d.ts → config/types.d.ts} +5 -26
- package/dist/core.d.ts +3 -15
- package/dist/core.js +4 -64
- package/dist/encoding.d.ts +0 -29
- package/dist/hooks/useSubmitSwap.d.ts +11 -29
- package/dist/hooks/useSwapQuote.d.ts +3 -2
- package/dist/index.d.ts +3 -1
- package/dist/markets-LIeOtFf_.js +229 -0
- package/dist/permit.d.ts +1 -47
- package/dist/quote/aggregatedSwapQuote.d.ts +5 -0
- package/dist/services/kyberSwap.d.ts +84 -0
- package/dist/styles.css +1 -1
- package/dist/types/aggregatedSwap.d.ts +29 -0
- package/dist/widget/AegisAggregatedSwapWidget.d.ts +3 -0
- package/dist/widget/AmountField.d.ts +5 -1
- package/dist/widget/SwapWidgetShell.d.ts +51 -0
- package/dist/widget/TokenSelector.d.ts +13 -0
- package/dist/widget/types.d.ts +23 -2
- package/dist/widget/useAggregatedSwapController.d.ts +74 -0
- package/dist/widget/useRailAutoReset.d.ts +11 -0
- package/dist/widget/useStatusSurface.d.ts +32 -0
- package/dist/widget/useSwapController.d.ts +13 -14
- package/dist/widget/useWidgetStyle.d.ts +13 -0
- package/dist/widget/viewState.d.ts +21 -1
- package/package.json +23 -21
- package/dist/polling-BI4pZg8Z.js +0 -1252
- package/dist/swap/authorizePermit.d.ts +0 -30
- package/dist/swap/executeSwapTransaction.d.ts +0 -39
- package/dist/swap/types.d.ts +0 -7
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type Address, type Hex } from 'viem';
|
|
2
|
+
export type KyberSwapFeeParams = {
|
|
3
|
+
feeAmount: string;
|
|
4
|
+
chargeFeeBy: 'currency_in' | 'currency_out';
|
|
5
|
+
isInBps: boolean;
|
|
6
|
+
feeReceiver: Address;
|
|
7
|
+
};
|
|
8
|
+
export type KyberSwapRouteLeg = {
|
|
9
|
+
pool?: string;
|
|
10
|
+
tokenIn?: Address;
|
|
11
|
+
tokenOut?: Address;
|
|
12
|
+
swapAmount?: string;
|
|
13
|
+
amountOut?: string;
|
|
14
|
+
exchange?: string;
|
|
15
|
+
poolType?: string;
|
|
16
|
+
};
|
|
17
|
+
export type KyberSwapRouteSummary = {
|
|
18
|
+
tokenIn: Address;
|
|
19
|
+
tokenOut: Address;
|
|
20
|
+
amountIn: string;
|
|
21
|
+
amountOut: string;
|
|
22
|
+
amountInUsd?: string;
|
|
23
|
+
amountOutUsd?: string;
|
|
24
|
+
gas?: string;
|
|
25
|
+
gasEstimate?: string;
|
|
26
|
+
gasUsd?: string;
|
|
27
|
+
priceImpact?: number;
|
|
28
|
+
route?: KyberSwapRouteLeg[][];
|
|
29
|
+
routeComposition?: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
part: number;
|
|
32
|
+
}>;
|
|
33
|
+
extraFee?: KyberSwapFeeParams | Record<string, unknown>;
|
|
34
|
+
};
|
|
35
|
+
export type KyberSwapRoute = {
|
|
36
|
+
routeSummary: KyberSwapRouteSummary;
|
|
37
|
+
routerAddress: Address;
|
|
38
|
+
requestId?: string;
|
|
39
|
+
};
|
|
40
|
+
export type KyberSwapBuild = {
|
|
41
|
+
amountIn: string;
|
|
42
|
+
amountOut: string;
|
|
43
|
+
gas?: string;
|
|
44
|
+
gasUsd?: string;
|
|
45
|
+
data: Hex;
|
|
46
|
+
routerAddress: Address;
|
|
47
|
+
transactionValue?: string;
|
|
48
|
+
requestId?: string;
|
|
49
|
+
};
|
|
50
|
+
export type KyberSwapError = {
|
|
51
|
+
code?: number;
|
|
52
|
+
message?: string;
|
|
53
|
+
};
|
|
54
|
+
export declare class KyberSwapApiError extends Error {
|
|
55
|
+
readonly status: number;
|
|
56
|
+
readonly statusText: string;
|
|
57
|
+
readonly code?: number;
|
|
58
|
+
readonly body?: unknown;
|
|
59
|
+
constructor({ status, statusText, code, message, body }: {
|
|
60
|
+
status: number;
|
|
61
|
+
statusText: string;
|
|
62
|
+
code?: number;
|
|
63
|
+
message: string;
|
|
64
|
+
body?: unknown;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export declare function isRetryableKyberSwapError(error: unknown): boolean;
|
|
68
|
+
export declare function fetchKyberSwapRoute({ tokenIn, tokenOut, amountIn, chainId, origin, fee, signal }: {
|
|
69
|
+
tokenIn: Address;
|
|
70
|
+
tokenOut: Address;
|
|
71
|
+
amountIn: string;
|
|
72
|
+
chainId?: number;
|
|
73
|
+
origin?: Address | null;
|
|
74
|
+
fee?: KyberSwapFeeParams | null;
|
|
75
|
+
signal?: AbortSignal;
|
|
76
|
+
}): Promise<KyberSwapRoute>;
|
|
77
|
+
export declare function buildKyberSwapRoute({ routeSummary, sender, recipient, slippageBps, chainId, signal }: {
|
|
78
|
+
routeSummary: KyberSwapRouteSummary;
|
|
79
|
+
sender: Address;
|
|
80
|
+
recipient: Address;
|
|
81
|
+
slippageBps: number;
|
|
82
|
+
chainId?: number;
|
|
83
|
+
signal?: AbortSignal;
|
|
84
|
+
}): Promise<KyberSwapBuild>;
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.aegis-swap-widget{--aegis-swap-bg: oklch(16.4% .006 165);--aegis-swap-panel: oklch(20% .008 165);--aegis-swap-panel-raised: oklch(24.2% .011 165);--aegis-swap-panel-soft: oklch(27% .013 165);--aegis-swap-text: oklch(97.6% .005 165);--aegis-swap-muted: oklch(68.3% .014 165);--aegis-swap-subtle: oklch(65.6% .014 165);--aegis-swap-border: oklch(29.3% .013 165);--aegis-swap-border-strong: oklch(36.5% .015 165);--aegis-swap-danger: oklch(78.7% .12 33);--aegis-swap-success: oklch(67.5% .15 157);--aegis-swap-accent: oklch(78.6% .158 156.5);--aegis-swap-accent-text: oklch(17% .02 162);--aegis-swap-accent-soft: color-mix(in srgb, var(--aegis-swap-accent) 11%, transparent);--aegis-swap-accent-line: color-mix(in srgb, var(--aegis-swap-accent) 46%, var(--aegis-swap-border));--aegis-swap-accent-glow: color-mix(in srgb, var(--aegis-swap-accent) 24%, transparent);--aegis-swap-ring: color-mix(in srgb, var(--aegis-swap-accent) 55%, transparent);--aegis-swap-shell: color-mix(in srgb, var(--aegis-swap-bg) 84%, var(--aegis-swap-panel));--aegis-_seam: color-mix(in srgb, var(--aegis-swap-border) 50%, transparent);--aegis-r-lg: 8px;--aegis-r-md: 8px;--aegis-r-sm: 6px;--aegis-ease: cubic-bezier(.2, 0, 0, 1);--aegis-spring: cubic-bezier(.22, 1, .36, 1);--aegis-switch-dur: .26s;--aegis-seg-active-border: var(--aegis-swap-accent-line);--aegis-seg-active-bg: linear-gradient(180deg, var(--aegis-swap-accent-soft), transparent 78%), var(--aegis-swap-panel-raised);--aegis-seg-active-shadow: 0 0 0 1px color-mix(in srgb, var(--aegis-swap-accent-line) 58%, transparent), 0 10px 22px -17px var(--aegis-swap-accent-glow), inset 0 1px 0 rgba(255, 255, 255, .07);--aegis-rail-height: 3px;--aegis-rail-hold: 3s;--aegis-rail-fade: .42s;box-sizing:border-box;container-type:inline-size;width:100%;max-width:468px;min-width:300px;position:relative;isolation:isolate;overflow-anchor:none;border:0;border-radius:var(--aegis-r-lg);background:radial-gradient(90% 62% at 50% -20%,var(--aegis-swap-accent-soft),transparent 62%),linear-gradient(180deg,#ffffff0b,#fff0 25%),linear-gradient(150deg,#141a18,#0b0f0e 68%,#0d100c);box-shadow:0 1px #ffffff0b inset,0 34px 78px -34px #000000c7;color:var(--aegis-swap-text);font-family:var(--aegis-swap-font-family, system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:20px}.aegis-swap-widget:before{content:"";position:absolute;inset:0 18% auto;top:-1px;height:1px;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--aegis-swap-accent-line),transparent);opacity:.5;pointer-events:none}.aegis-swap-widget__progress-rail{--aegis-swap-rail-color: var(--aegis-swap-accent, #38d98a);--aegis-swap-rail-ease: var(--aegis-ease, cubic-bezier(.2, 0, 0, 1));position:absolute;inset:0 0 auto;z-index:3;display:block;height:var(--aegis-rail-height, 3px);overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit;background:color-mix(in srgb,var(--aegis-swap-rail-color) 10%,transparent);pointer-events:none}.aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-active{position:absolute;top:0;bottom:0;display:block}.aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-active:after{background:linear-gradient(90deg,color-mix(in srgb,var(--aegis-swap-rail-color) 62%,white),var(--aegis-swap-rail-color));box-shadow:0 0 10px color-mix(in srgb,var(--aegis-swap-rail-color) 54%,transparent)}.aegis-swap-widget__progress-complete{left:0;width:var(--aegis-swap-progress-complete, 0%);transition:width .36s var(--aegis-swap-rail-ease),background .22s var(--aegis-swap-rail-ease),box-shadow .22s var(--aegis-swap-rail-ease)}.aegis-swap-widget__progress-active{left:0;width:var(--aegis-swap-progress-active-width, 100%);overflow:hidden}.aegis-swap-widget__progress-active:after{content:"";display:block;width:0;height:100%;transform-origin:left center;transition:width .36s var(--aegis-swap-rail-ease),transform .36s var(--aegis-swap-rail-ease),background .22s var(--aegis-swap-rail-ease),box-shadow .22s var(--aegis-swap-rail-ease)}.aegis-swap-widget__progress-rail[data-state=pending] .aegis-swap-widget__progress-active:after{width:58%;animation:aegis-swap-progress-sweep 1.35s linear infinite}.aegis-swap-widget__progress-rail[data-state=mining] .aegis-swap-widget__progress-active:after{width:58%;animation:aegis-swap-progress-sweep 1.18s linear infinite}.aegis-swap-widget__progress-rail[data-state=success]{--aegis-swap-rail-color: var(--aegis-swap-success, #21b26f)}.aegis-swap-widget__progress-rail[data-state=error]{--aegis-swap-rail-color: var(--aegis-swap-danger, #ff9b85)}.aegis-swap-widget__progress-rail[data-state=success],.aegis-swap-widget__progress-rail[data-state=error]{background:color-mix(in srgb,var(--aegis-swap-rail-color) 14%,transparent)}.aegis-swap-widget__progress-rail[data-state=success] .aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-rail[data-state=error] .aegis-swap-widget__progress-complete{width:100%}.aegis-swap-widget__progress-rail[data-state=success],.aegis-swap-widget__progress-rail[data-state=error]{animation:aegis-swap-rail-dismiss var(--aegis-rail-fade, .42s) var(--aegis-swap-rail-ease) var(--aegis-rail-hold, 3s) forwards}@keyframes aegis-swap-rail-dismiss{to{opacity:0}}@keyframes aegis-swap-progress-sweep{0%{transform:translate(-115%)}to{transform:translate(320%)}}.aegis-swap-widget--light{--aegis-swap-bg: oklch(97% .005 165);--aegis-swap-panel: oklch(99.5% .003 165);--aegis-swap-panel-raised: oklch(99.5% .003 165);--aegis-swap-panel-soft: oklch(95% .006 160);--aegis-swap-text: oklch(17.5% .012 165);--aegis-swap-muted: oklch(47% .014 165);--aegis-swap-subtle: oklch(49.5% .012 165);--aegis-swap-border: oklch(91.5% .006 165);--aegis-swap-border-strong: oklch(87% .008 165);--aegis-swap-danger: oklch(53% .14 33);background:radial-gradient(90% 62% at 50% -20%,var(--aegis-swap-accent-soft),transparent 62%),linear-gradient(180deg,#ffffffd9,#fff0 30%),linear-gradient(150deg,#fff,#f3f6f1 66%,#f8f4ec);box-shadow:0 1px #fffc inset,0 30px 64px -30px #19262047}.aegis-swap-widget *,.aegis-swap-widget *:before,.aegis-swap-widget *:after{box-sizing:border-box}:where(.aegis-swap-widget) button,:where(.aegis-swap-widget) input{font:inherit}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__progress-rail[data-state=pending] .aegis-swap-widget__progress-active:after,.aegis-swap-widget__progress-rail[data-state=mining] .aegis-swap-widget__progress-active:after{width:100%;animation:none;transform:none}}.aegis-swap-widget :focus-visible{outline:2px solid var(--aegis-swap-ring);outline-offset:2px}.aegis-swap-widget__amount-row input:focus-visible,.aegis-swap-widget__slippage-input input:focus-visible{outline:none}.aegis-swap-widget__header,.aegis-swap-widget__amount-row,.aegis-swap-widget__field-label,.aegis-swap-widget__settings label,.aegis-swap-widget__pool{display:flex;align-items:center}.aegis-swap-widget__header{justify-content:space-between;gap:16px;margin-bottom:17px}.aegis-swap-widget__brand{min-width:0}.aegis-swap-widget__eyebrow,.aegis-swap-widget__chain,.aegis-swap-widget__meta,.aegis-swap-widget__settings,.aegis-swap-widget__pool{color:var(--aegis-swap-muted);font-size:12px}.aegis-swap-widget__eyebrow{display:block;margin-bottom:2px;overflow:hidden;color:var(--aegis-swap-subtle);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.aegis-swap-widget h2{margin:0;overflow:hidden;padding-bottom:1px;color:var(--aegis-swap-text);font-size:24px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__network{position:relative;display:flex;flex:0 0 auto}.aegis-swap-widget__chain{position:relative;flex:0 0 auto;display:inline-flex;min-width:40px;min-height:32px;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-radius:var(--aegis-r-lg);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),color-mix(in srgb,var(--aegis-swap-panel) 74%,transparent);padding:0 8px 0 6px;color:var(--aegis-swap-text);font-weight:700;box-shadow:inset 0 1px #ffffff09;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease)}.aegis-swap-widget__chain:before{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.aegis-swap-widget__chain-mark{display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:50%;background:transparent;box-shadow:none}.aegis-swap-widget__chain-logo{width:21px;height:21px;grid-area:1 / 1;color:#f7fbf8}.aegis-swap-widget--light .aegis-swap-widget__chain-logo{color:#101714}@media(hover:hover){.aegis-swap-widget__chain:hover{border-color:color-mix(in srgb,var(--aegis-swap-text) 14%,transparent);background:color-mix(in srgb,var(--aegis-swap-panel-raised) 80%,transparent)}}.aegis-swap-widget__chain-caret{display:grid;width:14px;place-items:center;color:var(--aegis-swap-subtle);transition:transform .17s var(--aegis-ease)}.aegis-swap-widget__chain-caret svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.aegis-swap-widget__chain[data-open] .aegis-swap-widget__chain-caret{transform:rotate(180deg)}.aegis-swap-widget__network-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:232px;transform-origin:top right;transform:scale(.97);opacity:0;pointer-events:none;border:1px solid var(--aegis-swap-border-strong);border-radius:calc(var(--aegis-r-sm) + 5px);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-panel-raised);box-shadow:inset 0 1px #ffffff0d,0 4px 12px #0000003d,0 24px 48px -18px #0009;padding:5px;transition:transform .25s var(--aegis-ease),opacity .25s var(--aegis-ease);will-change:transform,opacity}.aegis-swap-widget__network-menu.is-open{transform:scale(1);opacity:1;pointer-events:auto}.aegis-swap-widget__network-menu.is-closing{transform:scale(.99);opacity:0;pointer-events:none;transition:transform .15s var(--aegis-ease),opacity .15s var(--aegis-ease)}.aegis-swap-widget--light .aegis-swap-widget__network-menu{box-shadow:inset 0 1px #fffc,0 4px 12px #1926201a,0 24px 48px -18px #19262042}.aegis-swap-widget__network-option{display:flex;width:100%;min-height:42px;align-items:center;gap:9px;border:0;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-text);padding:8px 9px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__network-option:hover:not(:disabled){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent)}}.aegis-swap-widget__network-option:disabled{cursor:not-allowed}.aegis-swap-widget__network-option:disabled .aegis-swap-widget__network-mark,.aegis-swap-widget__network-option:disabled .aegis-swap-widget__network-name{opacity:.62}.aegis-swap-widget__network-mark{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--aegis-swap-panel-soft) 90%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 80%,transparent)}.aegis-swap-widget__network-mark .aegis-swap-widget__chain-logo{width:14px;height:14px}.aegis-swap-widget__network-label{flex:1;min-width:0;display:grid;gap:1px;text-align:left}.aegis-swap-widget__network-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__network-status{color:var(--aegis-swap-subtle);font-size:11px;font-weight:600;line-height:1.2}.aegis-swap-widget__network-check{color:var(--aegis-swap-accent)}.aegis-swap-widget__network-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.aegis-swap-widget__network-soon{margin:3px 2px 4px;padding:0 9px;color:var(--aegis-swap-subtle);font-size:12px;font-weight:600;line-height:1.4}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__network-menu{transition:none!important}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option,.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-soon{animation:aegis-swap-menu-item-enter .16s var(--aegis-ease) backwards}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(2){animation-delay:30ms}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(3){animation-delay:60ms}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(n+4),.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-soon{animation-delay:90ms}}@keyframes aegis-swap-menu-item-enter{0%{opacity:0;transform:translateY(-4px)}}.aegis-swap-widget__topbar{display:flex;align-items:stretch;gap:6px;margin-bottom:14px}.aegis-swap-widget__topbar .aegis-swap-widget__targets{flex:1;min-width:0;margin-bottom:0}.aegis-swap-widget__topbar .aegis-swap-widget__target-pair{display:none}.aegis-swap-widget__targets{--aegis-seg-gap: 4px;--aegis-seg-pad: 4px;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--aegis-seg-gap);margin-bottom:14px;border:1px solid transparent;border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:transparent;padding:var(--aegis-seg-pad)}.aegis-swap-widget__targets:before,.aegis-swap-widget__execution-view-toggle:before,.aegis-swap-widget__approval-options:before{content:"";position:absolute;inset:var(--aegis-seg-pad) auto var(--aegis-seg-pad) var(--aegis-seg-pad);width:calc((100% - 2 * var(--aegis-seg-pad) - (var(--aegis-seg-count, 4) - 1) * var(--aegis-seg-gap)) / var(--aegis-seg-count, 4));border-radius:var(--aegis-r-sm);transform:translate(calc(var(--aegis-seg-index, 0) * (100% + var(--aegis-seg-gap))));transition:transform var(--aegis-switch-dur) var(--aegis-spring)}.aegis-swap-widget__targets:before{border:1px solid color-mix(in srgb,var(--aegis-seg-active-border) 58%,transparent);background:var(--aegis-seg-active-bg);box-shadow:var(--aegis-seg-active-shadow)}.aegis-swap-widget__target,.aegis-swap-widget__submit,.aegis-swap-widget__max,.aegis-swap-widget__half,.aegis-swap-widget__flip,.aegis-swap-widget__route-action,.aegis-swap-widget__execution-toggle,.aegis-swap-widget__execution-view-toggle button,.aegis-swap-widget__approval-options button{border:0;cursor:pointer}.aegis-swap-widget__target{position:relative;display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-muted);padding:7px 5px;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease),color .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease),transform .17s var(--aegis-ease)}.aegis-swap-widget__target-symbol{min-width:0;overflow:hidden;font-size:13px;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__token-mark,.aegis-swap-widget__pair-icon{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--aegis-token-primary),var(--aegis-token-secondary));color:var(--aegis-token-text);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff14}.aegis-swap-widget__token-mark img,.aegis-swap-widget__pair-icon img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.aegis-swap-widget__target-pair,.aegis-swap-widget__pool-pair{display:inline-flex;flex:0 0 auto;align-items:center}.aegis-swap-widget__pair-icon{width:20px;height:20px;border:2px solid color-mix(in srgb,var(--aegis-swap-panel) 84%,#080b0a);font-size:10px}.aegis-swap-widget__pair-icon--secondary{margin-left:-7px}.aegis-swap-widget__target[aria-checked=true] .aegis-swap-widget__pair-icon{border-color:var(--aegis-swap-panel-raised)}.aegis-swap-widget__target[aria-checked=true]{color:var(--aegis-swap-text)}@media(hover:hover){.aegis-swap-widget__target:hover:not(:disabled):not([aria-checked=true]){transform:translateY(-1px);border-color:color-mix(in srgb,var(--aegis-swap-text) 12%,transparent);background:color-mix(in srgb,var(--aegis-swap-panel-raised) 76%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__target:active:not(:disabled),.aegis-swap-widget__submit:active:not(:disabled),.aegis-swap-widget__max:active:not(:disabled),.aegis-swap-widget__half:active:not(:disabled),.aegis-swap-widget__flip:active:not(:disabled){transform:scale(.96)}.aegis-swap-widget__chain:active:not(:disabled),.aegis-swap-widget__execution-toggle:active:not(:disabled),.aegis-swap-widget__network-option:active:not(:disabled){transform:scale(.98)}.aegis-swap-widget__target:disabled,.aegis-swap-widget__submit:disabled,.aegis-swap-widget__max:disabled,.aegis-swap-widget__half:disabled,.aegis-swap-widget__flip:disabled{cursor:not-allowed;opacity:.5}.aegis-swap-widget__panel{display:grid;gap:6px;padding:0;border-radius:0;background:transparent;box-shadow:none}.aegis-swap-widget--light .aegis-swap-widget__panel{box-shadow:none}.aegis-swap-widget__amount-box{display:grid;gap:11px;border:1px solid transparent;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-panel-raised);padding:15px;box-shadow:inset 0 1px #ffffff0a;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease)}.aegis-swap-widget--light .aegis-swap-widget__amount-box{background:linear-gradient(180deg,#fff9,#fff0),var(--aegis-swap-panel-raised);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 70%,transparent),inset 0 1px #ffffffb3}.aegis-swap-widget__amount-box:focus-within{border-color:color-mix(in srgb,var(--aegis-swap-accent) 58%,var(--aegis-swap-border));background:linear-gradient(180deg,var(--aegis-swap-accent-soft),transparent 68%),var(--aegis-swap-panel-raised);box-shadow:0 0 0 3px var(--aegis-swap-accent-soft),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-accent) 46%,transparent),inset 0 1px #ffffff0d,0 14px 28px -24px var(--aegis-swap-accent-glow)}.aegis-swap-widget__amount-box:has(input[aria-invalid=true]){border-color:color-mix(in srgb,var(--aegis-swap-danger) 62%,var(--aegis-swap-border))}.aegis-swap-widget__amount-box:has(input[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--aegis-swap-danger) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-danger) 46%,transparent),inset 0 1px #ffffff0d}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__amount-box[data-refreshed] input{animation:aegis-swap-value-refresh .62s var(--aegis-ease)}}@keyframes aegis-swap-value-refresh{30%{color:color-mix(in srgb,var(--aegis-swap-accent) 64%,var(--aegis-swap-text))}}.aegis-swap-widget__amount-box{position:relative}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__amount-box[data-refreshing]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 36%,color-mix(in srgb,var(--aegis-swap-accent) 24%,transparent) 50%,transparent 64%);background-size:220% 100%;background-repeat:no-repeat;animation:aegis-swap-quote-shimmer 1.35s linear infinite}}@keyframes aegis-swap-quote-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.aegis-swap-widget__field-label{justify-content:space-between;color:var(--aegis-swap-muted);font-size:12px;font-weight:600;line-height:1}.aegis-swap-widget__max,.aegis-swap-widget__half{position:relative;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:color-mix(in srgb,var(--aegis-swap-accent) 13%,transparent);color:var(--aegis-swap-accent);padding:4px 7px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .15s var(--aegis-ease),border-color .15s var(--aegis-ease),color .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__max:hover:not(:disabled),.aegis-swap-widget__half:hover:not(:disabled){background:color-mix(in srgb,var(--aegis-swap-accent) 22%,transparent)}}.aegis-swap-widget__max:before,.aegis-swap-widget__half:before{position:absolute;top:-8px;right:0;bottom:-8px;left:0;content:""}.aegis-swap-widget__quick{display:inline-flex;align-items:center;gap:6px}.aegis-swap-widget__half{background:color-mix(in srgb,var(--aegis-swap-accent) 7%,transparent)}.aegis-swap-widget__amount-row{justify-content:space-between;gap:12px}.aegis-swap-widget__amount-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--aegis-swap-text);font-size:clamp(23px,8.7cqi,33px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.05;-webkit-mask-image:linear-gradient(to right,#000 90%,transparent);mask-image:linear-gradient(to right,#000 90%,transparent)}.aegis-swap-widget__amount-row input::placeholder{color:color-mix(in srgb,var(--aegis-swap-muted) 50%,transparent);-webkit-text-fill-color:color-mix(in srgb,var(--aegis-swap-muted) 50%,transparent)}.aegis-swap-widget__amount-row input:disabled{opacity:1;-webkit-text-fill-color:var(--aegis-swap-text)}.aegis-swap-widget__token{display:inline-flex;flex:0 0 auto;min-width:96px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;background:linear-gradient(180deg,#ffffff0d,#fff0),var(--aegis-swap-panel-soft);color:var(--aegis-swap-text);padding:7px 11px 7px 8px;text-align:center;box-shadow:inset 0 1px #ffffff0f,0 2px 6px -3px #00000080;animation:aegis-swap-token-in var(--aegis-switch-dur) var(--aegis-spring)}.aegis-swap-widget--light .aegis-swap-widget__token{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 75%,transparent),inset 0 1px #ffffffb3}@keyframes aegis-swap-token-in{0%{opacity:0;transform:translateY(2px) scale(.96);filter:blur(2px)}}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__targets:before,.aegis-swap-widget__approval-options:before{transition:none}.aegis-swap-widget__token{animation:none}}.aegis-swap-widget__token-symbol{display:inline-block;min-width:44px;color:var(--aegis-swap-text);font-size:13px;font-weight:700;line-height:1;text-align:left;text-transform:uppercase}.aegis-swap-widget__token-mark{width:22px;height:22px;font-size:11px}.aegis-swap-widget__meta{overflow-wrap:anywhere;color:var(--aegis-swap-subtle);font-variant-numeric:tabular-nums}.aegis-swap-widget__flip{z-index:1;display:grid;justify-self:center;width:38px;height:38px;margin:-13px 0;place-items:center;border:2px solid color-mix(in srgb,var(--aegis-swap-bg) 86%,transparent);border-radius:50%;background:linear-gradient(180deg,#ffffff0f,#fff0),var(--aegis-swap-panel-soft);color:var(--aegis-swap-accent);box-shadow:0 6px 16px -10px #000000b3;transition:color .2s var(--aegis-ease),box-shadow .2s var(--aegis-ease),transform .17s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__flip:hover:not(:disabled){color:var(--aegis-swap-text);box-shadow:0 0 0 1px var(--aegis-swap-accent-line),0 10px 22px -10px var(--aegis-swap-accent-glow)}}.aegis-swap-widget__flip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .32s var(--aegis-ease)}.aegis-swap-widget__flip[data-direction=sell] svg{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__flip svg{transition:none}}.aegis-swap-widget__execution{display:grid;gap:0;margin-top:6px;overflow:hidden;border-radius:var(--aegis-r-md);background:transparent}.aegis-swap-widget__execution-header{display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:6px}.aegis-swap-widget__execution-toggle{display:flex;flex:0 1 auto;min-height:42px;min-width:0;align-items:center;justify-content:flex-start;gap:8px;background:transparent;color:var(--aegis-swap-muted);padding:0 8px;font-size:13px;font-weight:700;border-radius:var(--aegis-r-sm);transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease)}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-toggle{color:var(--aegis-swap-text)}.aegis-swap-widget__execution-view-toggle{--aegis-seg-pad: 3px;--aegis-seg-gap: 0px;--aegis-seg-count: 2;position:relative;display:inline-grid;flex:0 1 174px;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;min-width:156px;border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:color-mix(in srgb,var(--aegis-swap-shell) 60%,transparent);padding:var(--aegis-seg-pad)}.aegis-swap-widget__execution-view-toggle:before{background:color-mix(in srgb,var(--aegis-swap-accent) 20%,transparent)}.aegis-swap-widget__execution-view-toggle button{position:relative;min-width:58px;min-height:34px;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-subtle);padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__execution-view-toggle button:hover:not([data-active]){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__execution-view-toggle button:active{transform:scale(.96)}.aegis-swap-widget__execution-view-toggle button[data-active]{color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white)}@media(hover:hover){.aegis-swap-widget__execution-toggle:hover{background:color-mix(in srgb,var(--aegis-swap-text) 5%,transparent);color:var(--aegis-swap-text)}.aegis-swap-widget__execution-toggle:hover .aegis-swap-widget__execution-toggle-icon{border-color:color-mix(in srgb,var(--aegis-swap-accent) 34%,transparent);background:color-mix(in srgb,var(--aegis-swap-accent) 10%,transparent);color:var(--aegis-swap-accent)}.aegis-swap-widget__execution-toggle:hover .aegis-swap-widget__execution-chevron{background:color-mix(in srgb,var(--aegis-swap-text) 7%,transparent);color:var(--aegis-swap-accent)}}.aegis-swap-widget__execution-toggle-label{display:inline-flex;min-width:0;align-items:center;gap:9px;white-space:nowrap}.aegis-swap-widget__execution-toggle-icon{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border:1px solid transparent;border-radius:9px;background:color-mix(in srgb,var(--aegis-swap-panel-soft) 60%,transparent);color:var(--aegis-swap-subtle);transition:border-color .15s var(--aegis-ease),color .15s var(--aegis-ease),background .15s var(--aegis-ease)}.aegis-swap-widget__execution-toggle-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__execution-chevron{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--aegis-swap-subtle);transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .17s var(--aegis-ease)}.aegis-swap-widget__execution-chevron svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-chevron{transform:rotate(180deg)}.aegis-swap-widget__execution-panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .26s var(--aegis-ease),opacity .18s var(--aegis-ease),visibility 0s linear .26s}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-panel{grid-template-rows:1fr;visibility:visible;opacity:1;transition:grid-template-rows .26s var(--aegis-ease),opacity .2s var(--aegis-ease) 40ms,visibility 0s}.aegis-swap-widget__execution-panel-inner{display:grid;min-height:0;overflow:hidden;padding-top:2px;border-top:1px solid var(--aegis-_seam)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__execution-panel,.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-panel{transition:none}}.aegis-swap-widget__settings{margin:0}.aegis-swap-widget__settings label{justify-content:space-between;gap:10px;min-height:38px;padding:0 12px;font-weight:600}.aegis-swap-widget__approval-mode{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;color:var(--aegis-swap-muted);font-size:12px;font-weight:600}.aegis-swap-widget__approval-options{--aegis-seg-pad: 3px;--aegis-seg-gap: 0px;--aegis-seg-count: 2;position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:color-mix(in srgb,var(--aegis-swap-shell) 60%,transparent);padding:var(--aegis-seg-pad)}.aegis-swap-widget__approval-options:before{background:color-mix(in srgb,var(--aegis-swap-accent) 20%,transparent)}.aegis-swap-widget__approval-options button{position:relative;min-width:48px;min-height:26px;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-subtle);padding:3px 10px;font-size:12px;font-weight:700;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}.aegis-swap-widget__approval-options button:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}@media(hover:hover){.aegis-swap-widget__approval-options button:hover:not(:disabled):not([data-active]){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__approval-options button:active:not(:disabled){transform:scale(.96)}.aegis-swap-widget__approval-options button[data-active]{color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white)}.aegis-swap-widget__approval-options button:disabled{cursor:not-allowed;opacity:.55}.aegis-swap-widget__slippage-input{display:inline-flex;align-items:center;gap:2px;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:color-mix(in srgb,var(--aegis-swap-shell) 55%,transparent);padding:4px 8px;color:var(--aegis-swap-text);font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s var(--aegis-ease),box-shadow .15s var(--aegis-ease)}.aegis-swap-widget__slippage-input:focus-within{border-color:color-mix(in srgb,var(--aegis-swap-accent) 58%,var(--aegis-swap-border));box-shadow:0 0 0 3px var(--aegis-swap-accent-soft),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-accent) 46%,transparent)}.aegis-swap-widget__slippage-input input{width:42px;border:0;outline:0;background:transparent;color:var(--aegis-swap-text);font-variant-numeric:tabular-nums;text-align:right}.aegis-swap-widget__slippage-input>span{color:var(--aegis-swap-muted)}.aegis-swap-widget__slippage-input:has(input[aria-invalid=true]){border-color:color-mix(in srgb,var(--aegis-swap-danger) 62%,var(--aegis-swap-border))}.aegis-swap-widget__slippage-input:has(input[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--aegis-swap-danger) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-danger) 46%,transparent)}@media(pointer:coarse){.aegis-swap-widget__slippage-input input{width:56px;font-size:16px}}.aegis-swap-widget__details{display:grid;gap:0;margin:0;padding:0}.aegis-swap-widget__quote-summary{display:grid}.aegis-swap-widget__detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:0 12px;border-bottom:0;color:var(--aegis-swap-muted);font-size:12px;font-weight:600}.aegis-swap-widget__detail-row strong{min-width:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__execution[data-open] .aegis-swap-widget__detail-row strong{animation:aegis-swap-value-swap .17s var(--aegis-ease)}}@keyframes aegis-swap-value-swap{0%{opacity:0;transform:translateY(3px);filter:blur(2px)}}.aegis-swap-widget__empty{margin:0 0 14px;border:0;border-radius:var(--aegis-r-md);background:color-mix(in srgb,var(--aegis-swap-panel-soft) 70%,transparent);color:var(--aegis-swap-muted);font-size:13px;font-weight:600;line-height:1.4;padding:14px}.aegis-swap-widget--light .aegis-swap-widget__empty{background:#10171406}.aegis-swap-widget__pool{justify-content:space-between;gap:12px;min-height:38px;min-width:0;padding:0 12px}.aegis-swap-widget__pool strong,.aegis-swap-widget__pool a{min-width:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__pool a{color:var(--aegis-swap-accent);transition:color .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__pool a:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}.aegis-swap-widget__route-chip{display:inline-flex;max-width:min(252px,100%);min-width:0;align-items:center;gap:6px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--aegis-swap-shell) 55%,transparent);padding:3px 4px 3px 5px;color:var(--aegis-swap-text);transition:border-color .15s var(--aegis-ease),background .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__route-chip:hover{background:color-mix(in srgb,var(--aegis-swap-shell) 85%,transparent)}}.aegis-swap-widget__route-protocol{display:inline-flex;flex:0 0 auto;min-width:0;align-items:center;gap:5px}.aegis-swap-widget__route-version{flex:0 0 auto;display:inline-grid;min-width:24px;height:18px;place-items:center;border:1px solid color-mix(in srgb,var(--aegis-swap-accent) 30%,transparent);border-radius:7px;background:color-mix(in srgb,var(--aegis-swap-accent) 12%,transparent);color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white);font-size:11px;font-weight:700;line-height:1}.aegis-swap-widget__route-kind{flex:0 0 auto;color:var(--aegis-swap-text);font-size:12px;font-weight:700;line-height:1}.aegis-swap-widget__route-id{min-width:0;overflow:hidden;color:var(--aegis-swap-subtle);font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,Roboto Mono,monospace;font-size:12px;font-weight:600;line-height:1;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__route-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px}.aegis-swap-widget__route-action{position:relative;display:grid;width:26px;height:26px;place-items:center;border-radius:9px;background:transparent;color:var(--aegis-swap-subtle);padding:0;text-decoration:none;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}.aegis-swap-widget__route-action:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}@media(hover:hover){.aegis-swap-widget__route-action:hover{background:color-mix(in srgb,var(--aegis-swap-accent) 12%,transparent);color:var(--aegis-swap-accent)}}.aegis-swap-widget__route-action:active{transform:scale(.96);background:color-mix(in srgb,var(--aegis-swap-accent) 16%,transparent)}.aegis-swap-widget__route-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__copy-icon{grid-area:1 / 1;display:grid;place-items:center;transition:opacity .2s var(--aegis-ease),filter .2s var(--aegis-ease),transform .26s cubic-bezier(.34,1.56,.64,1)}.aegis-swap-widget__route-action:not([data-copied]) .aegis-swap-widget__copy-icon[data-icon=check],.aegis-swap-widget__route-action[data-copied] .aegis-swap-widget__copy-icon[data-icon=copy]{opacity:0;filter:blur(2px);transform:scale(.25)}.aegis-swap-widget__route-action[data-copied]{color:var(--aegis-swap-accent);background:color-mix(in srgb,var(--aegis-swap-accent) 14%,transparent)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__copy-icon{transition:none}}.aegis-swap-widget__pool-label{display:inline-flex;min-width:0;align-items:center;gap:8px;font-weight:600}.aegis-swap-widget__pool-pair .aegis-swap-widget__pair-icon{width:18px;height:18px;border-color:color-mix(in srgb,var(--aegis-swap-bg) 76%,var(--aegis-swap-border));font-size:9px}.aegis-swap-widget__error{margin:11px 0 -2px;color:var(--aegis-swap-danger);font-size:12px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__success{margin:11px 0 -2px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__success-check{display:inline-grid;width:14px;height:14px;margin-right:5px;place-items:center;vertical-align:-2.5px}.aegis-swap-widget__success-check svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.aegis-swap-widget__success-check path{stroke-dasharray:24}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__success-check path{stroke-dashoffset:24;animation:aegis-swap-check-draw .42s var(--aegis-ease) .12s forwards}}@keyframes aegis-swap-check-draw{to{stroke-dashoffset:0}}.aegis-swap-widget__submit{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;min-height:52px;margin-top:14px;padding:0 16px;overflow-wrap:anywhere;text-align:center;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,#fff3,#fff0 60%),var(--aegis-swap-accent);color:var(--aegis-swap-accent-text);font-size:15px;font-weight:800;box-shadow:0 1px #ffffff40 inset,0 12px 30px -12px var(--aegis-swap-accent-glow);transition:filter .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease),transform .17s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 1px #ffffff4d inset,0 18px 38px -14px var(--aegis-swap-accent-glow)}}.aegis-swap-widget__submit:disabled{box-shadow:none}.aegis-swap-widget__submit[data-busy]{cursor:progress;opacity:.92}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__submit[data-busy]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%);transform:translate(-100%);animation:aegis-swap-cta-sheen 1.6s var(--aegis-ease) .25s infinite}}@keyframes aegis-swap-cta-sheen{to{transform:translate(100%)}}.aegis-swap-widget__submit-label{display:inline-block}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__submit-label{animation:aegis-swap-value-swap .18s var(--aegis-ease)}}.aegis-swap-widget__tx{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:11px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__tx svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(hover:hover){.aegis-swap-widget__tx:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}.aegis-swap-widget__hint{display:flex;align-items:center;gap:7px;margin:11px 0 -2px;color:var(--aegis-swap-subtle);font-size:12px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__hint-icon{display:grid;flex:0 0 auto;place-items:center;color:var(--aegis-swap-accent)}.aegis-swap-widget__hint-icon svg{width:14px;height:14px}.aegis-swap-widget__receipt{display:grid;gap:12px;margin:8px 10px 12px;padding:14px;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,color-mix(in srgb,var(--aegis-swap-success) 12%,transparent),color-mix(in srgb,var(--aegis-swap-success) 7%,transparent))}.aegis-swap-widget__receipt-head{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--aegis-swap-text);line-height:1.3}.aegis-swap-widget__receipt-head .aegis-swap-widget__success-check{width:20px;height:20px;margin:1px 0 0;color:var(--aegis-swap-success)}.aegis-swap-widget__receipt-head>span:last-child{display:grid;gap:2px;min-width:0}.aegis-swap-widget__receipt-title{color:var(--aegis-swap-subtle);font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}.aegis-swap-widget__receipt-subtitle{color:var(--aegis-swap-text);font-size:13px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.aegis-swap-widget__receipt-head strong{color:var(--aegis-swap-success);font-variant-numeric:tabular-nums}.aegis-swap-widget__receipt-list{display:grid;gap:6px;margin:0}.aegis-swap-widget__receipt-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:36px;padding:4px 0}.aegis-swap-widget__receipt-row:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--aegis-swap-success) 12%,transparent)}.aegis-swap-widget__receipt-metric-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--aegis-swap-success) 11%,transparent);color:color-mix(in srgb,var(--aegis-swap-success) 82%,white)}.aegis-swap-widget__receipt-metric-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__receipt-row-copy{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:baseline;min-width:0}.aegis-swap-widget__receipt-row dt{color:var(--aegis-swap-muted);font-size:12px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__receipt-row dd{min-width:0;margin:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__receipt-link{display:inline-flex;align-items:center;justify-self:start;gap:5px;margin-top:1px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__receipt-link svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(hover:hover){.aegis-swap-widget__receipt-link:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__hint{animation:aegis-swap-status-enter .2s var(--aegis-ease) backwards}.aegis-swap-widget__receipt{animation:aegis-swap-status-enter .22s var(--aegis-ease) backwards}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__success{animation:aegis-swap-status-enter .2s var(--aegis-ease) backwards}.aegis-swap-widget__error{animation:aegis-swap-error-shake .42s var(--aegis-ease) backwards}.aegis-swap-widget__tx{animation:aegis-swap-status-enter .2s var(--aegis-ease) 70ms backwards}}@keyframes aegis-swap-error-shake{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(-5px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(2px)}75%{transform:translate(-1px)}to{opacity:1;transform:translate(0)}}@keyframes aegis-swap-status-enter{0%{opacity:0;transform:translateY(3px)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget{animation:aegisSwapEnter .36s var(--aegis-ease) both}}@keyframes aegisSwapEnter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@container (max-width: 408px){.aegis-swap-widget__targets{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.aegis-swap-widget__targets:before{display:none}.aegis-swap-widget__target[aria-checked=true]:not(.aegis-swap-widget__topbar *){border-color:var(--aegis-seg-active-border);background:var(--aegis-seg-active-bg);box-shadow:var(--aegis-seg-active-shadow)}.aegis-swap-widget__topbar .aegis-swap-widget__targets{--aegis-seg-gap: 2px;grid-auto-flow:column;grid-template-columns:none}.aegis-swap-widget__topbar .aegis-swap-widget__targets:before{display:block}.aegis-swap-widget__topbar .aegis-swap-widget__target{padding:7px 2px}.aegis-swap-widget__topbar .aegis-swap-widget__target-symbol{font-size:11px}.aegis-swap-widget__execution-header{align-items:center;flex-wrap:wrap}.aegis-swap-widget__execution-toggle{width:auto}.aegis-swap-widget__execution-view-toggle{flex:1 1 164px;margin-left:auto;width:auto}.aegis-swap-widget__receipt-row-copy{grid-template-columns:minmax(0,1fr) max-content}.aegis-swap-widget__route-chip{max-width:min(218px,100%)}.aegis-swap-widget__route-kind{display:none}.aegis-swap-widget__route-id{max-width:104px;font-size:11px}.aegis-swap-widget__header{align-items:flex-start}.aegis-swap-widget h2{font-size:21px}.aegis-swap-widget__chain{width:40px;height:42px;padding:0}.aegis-swap-widget__token{min-width:90px}}@container (max-width: 330px){.aegis-swap-widget__execution-header{align-items:stretch}.aegis-swap-widget__execution-toggle,.aegis-swap-widget__execution-view-toggle{flex-basis:100%;width:100%}.aegis-swap-widget__execution-view-toggle{margin-left:0}.aegis-swap-widget__receipt-row-copy{grid-template-columns:minmax(0,1fr);gap:2px}.aegis-swap-widget__receipt-row dd{text-align:left}}@media(max-width:420px){.aegis-swap-widget{min-width:0;padding:16px}}.aegis-swap-widget__powered{display:flex;align-items:center;justify-content:center;gap:5px;margin:14px 0 0;font-size:11px;color:var(--aegis-swap-subtle)}.aegis-swap-widget__powered-link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:var(--aegis-r-sm);color:var(--aegis-swap-subtle);text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__powered-link:before{content:"";position:absolute;top:-11px;right:0;bottom:-11px;left:0}.aegis-swap-widget__powered-mark{display:inline-flex;width:12px;height:12px}.aegis-swap-widget__powered-mark svg{width:100%;height:100%}.aegis-swap-widget__powered-brand{position:relative;font-weight:600;letter-spacing:.06em}.aegis-swap-widget__powered-brand:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;border-radius:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .2s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__powered-link:hover{color:var(--aegis-swap-accent)}.aegis-swap-widget__powered-link:hover .aegis-swap-widget__powered-brand:after{transform:scaleX(1)}}.aegis-swap-widget__powered-link:focus-visible{outline:none;color:var(--aegis-swap-accent);box-shadow:0 0 0 2px var(--aegis-swap-ring)}.aegis-swap-widget__powered-link:focus-visible .aegis-swap-widget__powered-brand:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__powered-brand:after{transition:none}}.aegis-swap-toaster{--aegis-swap-toast-accent: var(--aegis-swap-accent, #38d98a);--aegis-swap-toast-success: var(--aegis-swap-success, #21b26f);--aegis-swap-toast-danger: var(--aegis-swap-danger, #ff9b85);--aegis-swap-toast-bg: var(--aegis-swap-panel-raised, #161d1b);--aegis-swap-toast-text: var(--aegis-swap-text, #f5faf6);--aegis-swap-toast-muted: var(--aegis-swap-muted, #8f9d96);--aegis-swap-toast-border: var(--aegis-swap-border-strong, #34423d);--aegis-swap-toast-ring: color-mix(in srgb, var(--aegis-swap-toast-accent) 55%, transparent);--aegis-swap-toast-ease: var(--aegis-ease, cubic-bezier(.2, 0, 0, 1));--aegis-swap-toast-spring: var(--aegis-spring, cubic-bezier(.22, 1, .36, 1));--aegis-swap-toast-r: var(--aegis-r-lg, 8px);--aegis-swap-toast-gap: 12px;--aegis-swap-toast-width: 356px;--aegis-swap-toast-offset-x: 24px;--aegis-swap-toast-offset-y: 24px;position:fixed;z-index:var(--aegis-swap-toast-z, 9999);width:min(calc(100% - 32px),var(--aegis-swap-toast-width));height:calc(var(--aegis-swap-toast-front-height, 0px) + 2 * var(--aegis-swap-toast-gap));margin:0;padding:0;list-style:none;box-sizing:border-box;pointer-events:none;color:var(--aegis-swap-toast-text);font-family:var(--aegis-swap-font-family, system-ui, sans-serif);text-align:start;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.aegis-swap-toaster *,.aegis-swap-toaster *:before,.aegis-swap-toaster *:after{box-sizing:border-box}.aegis-swap-toaster[data-y-position=bottom]{bottom:calc(var(--aegis-swap-toast-offset-y) + env(safe-area-inset-bottom,0px))}.aegis-swap-toaster[data-y-position=top]{top:calc(var(--aegis-swap-toast-offset-y) + env(safe-area-inset-top,0px))}.aegis-swap-toaster[data-x-position=right]{right:calc(var(--aegis-swap-toast-offset-x) + env(safe-area-inset-right,0px))}.aegis-swap-toaster[data-x-position=left]{left:calc(var(--aegis-swap-toast-offset-x) + env(safe-area-inset-left,0px))}.aegis-swap-toaster[data-x-position=center]{left:50%;transform:translate(-50%)}@media(max-width:600px){.aegis-swap-toaster{--aegis-swap-toast-offset-x: 16px;--aegis-swap-toast-offset-y: 16px}}.aegis-swap-toast{--lift: -1;--lift-amount: calc(var(--lift) * var(--aegis-swap-toast-gap));--slot-y: 0px;--slot-scale: 1;--shift-y: calc(var(--lift) * -100%);--swipe-y: 0px;position:absolute;left:0;right:0;z-index:var(--z, 1);display:flex;align-items:flex-start;gap:10px;width:100%;padding:13px 14px;margin:0;border:1px solid var(--aegis-swap-toast-border);border-radius:var(--aegis-swap-toast-r);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-toast-bg);box-shadow:0 1px #ffffff0d inset,0 4px 12px #0000003d,0 24px 48px -18px #0009,0 0 0 1px #0003;font-size:13px;line-height:1.45;opacity:0;transform:translateY(var(--slot-y)) translateY(var(--shift-y)) translateY(var(--swipe-y)) scale(var(--slot-scale));pointer-events:auto;touch-action:none;interpolate-size:allow-keywords;transition:transform .36s var(--aegis-swap-toast-spring),height .36s var(--aegis-swap-toast-spring),border-color .24s var(--aegis-swap-toast-ease),opacity .24s var(--aegis-swap-toast-ease)}.aegis-swap-toaster[data-y-position=bottom] .aegis-swap-toast{bottom:0;--lift: -1}.aegis-swap-toaster[data-y-position=top] .aegis-swap-toast{top:0;--lift: 1}.aegis-swap-toast[data-mounted]{opacity:1;--shift-y: 0%}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast:not([data-mounted]){--slot-scale: .975}}.aegis-swap-toast:not([data-dismissible]){touch-action:manipulation}.aegis-swap-toaster:not([data-expanded]) .aegis-swap-toast[data-mounted]:not([data-front]){--slot-y: calc(var(--lift-amount) * var(--index));--slot-scale: calc(1 - var(--index) * .05);height:var(--aegis-swap-toast-front-height, auto);overflow:hidden}.aegis-swap-toaster[data-expanded] .aegis-swap-toast[data-mounted]{--slot-y: calc(var(--lift) * var(--offset, 0px));--slot-scale: 1;height:auto}.aegis-swap-toaster[data-expanded] .aegis-swap-toast:after{content:"";position:absolute;left:0;bottom:100%;width:100%;height:calc(var(--aegis-swap-toast-gap) + 1px)}.aegis-swap-toast[data-hidden]{opacity:0;pointer-events:none;visibility:hidden;transition:transform .36s var(--aegis-swap-toast-spring),height .36s var(--aegis-swap-toast-spring),opacity .24s var(--aegis-swap-toast-ease),visibility 0s linear .36s}.aegis-swap-toast[data-swiping]{transition:none;user-select:none;-webkit-user-select:none}.aegis-swap-toast[data-swipe-out]{opacity:0;--shift-y: calc(var(--lift) * -100%);transition:transform .24s var(--aegis-swap-toast-spring),opacity .24s var(--aegis-swap-toast-ease)}.aegis-swap-toast[data-removing]{opacity:0;--shift-y: calc(var(--lift) * -100%)}.aegis-swap-toaster:not([data-expanded]) .aegis-swap-toast[data-removing]:not([data-front]){--shift-y: 0%}.aegis-swap-toast[data-removing]:not([data-front]):before{content:"";position:absolute;inset:0 0 auto;height:calc(var(--initial-height, 100%) + 20%);pointer-events:auto}.aegis-swap-toast__icon{display:grid;place-items:center;flex:none;width:18px;height:18px;margin-top:1px;color:var(--aegis-swap-toast-muted)}.aegis-swap-toast__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-success)}.aegis-swap-toast[data-type=error] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-danger)}.aegis-swap-toast[data-type=info] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-accent)}.aegis-swap-toast[data-type=error]{border-color:color-mix(in srgb,var(--aegis-swap-toast-danger) 35%,var(--aegis-swap-toast-border))}.aegis-swap-toast[data-type=success]{border-color:color-mix(in srgb,var(--aegis-swap-toast-success) 22%,var(--aegis-swap-toast-border))}.aegis-swap-toast__content{flex:1;min-width:0;display:grid;gap:3px}.aegis-swap-toast__title{margin:0;font-size:13px;font-weight:700;color:var(--aegis-swap-toast-text);overflow-wrap:anywhere}.aegis-swap-toast__description{margin:0;font-size:12px;font-weight:600;line-height:1.4;color:var(--aegis-swap-toast-muted);overflow-wrap:anywhere}.aegis-swap-toast__action{flex:none;align-self:center;display:inline-block;max-width:45%;overflow:hidden;text-overflow:ellipsis;padding:5px 9px;border:1px solid color-mix(in srgb,var(--aegis-swap-toast-accent) 46%,var(--aegis-swap-toast-border));border-radius:6px;background:color-mix(in srgb,var(--aegis-swap-toast-accent) 11%,transparent);color:var(--aegis-swap-toast-text);font:inherit;font-size:11px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s var(--aegis-swap-toast-ease),border-color .15s var(--aegis-swap-toast-ease),transform .15s var(--aegis-swap-toast-ease)}.aegis-swap-toast__action:active{transform:scale(.96)}.aegis-swap-toast__close{position:relative;flex:none;align-self:flex-start;display:grid;place-items:center;width:26px;height:26px;margin:-4px -6px -4px -2px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--aegis-swap-toast-muted);cursor:pointer;transition:opacity .15s var(--aegis-swap-toast-ease),color .15s var(--aegis-swap-toast-ease),background .15s var(--aegis-swap-toast-ease),transform .15s var(--aegis-swap-toast-ease)}.aegis-swap-toast__close:active{transform:scale(.96)}.aegis-swap-toast__close:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@media(pointer:coarse){.aegis-swap-toast__close:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.aegis-swap-toast__close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.aegis-swap-toast__action:hover{background:color-mix(in srgb,var(--aegis-swap-toast-accent) 20%,transparent);border-color:color-mix(in srgb,var(--aegis-swap-toast-accent) 62%,var(--aegis-swap-toast-border))}.aegis-swap-toast__close{opacity:0}.aegis-swap-toast:hover .aegis-swap-toast__close,.aegis-swap-toast__close:focus-visible{opacity:1}.aegis-swap-toast__close:hover{color:var(--aegis-swap-toast-text);background:color-mix(in srgb,var(--aegis-swap-toast-border) 55%,transparent)}}.aegis-swap-toaster :focus-visible{outline:2px solid var(--aegis-swap-toast-ring);outline-offset:2px;border-radius:6px}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon svg{animation:aegis-swap-toast-spin .9s linear infinite}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon circle{stroke-dasharray:42 56.6}@keyframes aegis-swap-toast-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast__icon{animation:aegis-swap-toast-icon-in .3s var(--aegis-swap-toast-ease)}}@keyframes aegis-swap-toast-icon-in{0%{opacity:0;transform:scale(.5);filter:blur(2px)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast__title,.aegis-swap-toast__description{animation:aegis-swap-value-swap .18s var(--aegis-swap-toast-ease)}}.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon path{stroke-dasharray:24}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon path{stroke-dashoffset:24;animation:aegis-swap-check-draw .42s var(--aegis-swap-toast-ease) .12s forwards}}.aegis-swap-toaster--light{--aegis-swap-toast-bg: var(--aegis-swap-panel-raised, #ffffff);--aegis-swap-toast-text: var(--aegis-swap-text, #101714);--aegis-swap-toast-muted: var(--aegis-swap-muted, #5d6c65);--aegis-swap-toast-border: var(--aegis-swap-border-strong, #cfd9d2);--aegis-swap-toast-danger: var(--aegis-swap-danger, #b73f2c);--aegis-swap-toast-success: var(--aegis-swap-success, #178a55);--aegis-swap-toast-accent: var(--aegis-swap-accent, #0f8a4e)}.aegis-swap-toaster--light .aegis-swap-toast{background:linear-gradient(180deg,#ffffffd9,#fff0),var(--aegis-swap-toast-bg);box-shadow:0 1px #fffc inset,0 4px 12px #1926201a,0 24px 48px -18px #19262042}@media(prefers-reduced-motion:reduce){.aegis-swap-toast,.aegis-swap-toast[data-hidden],.aegis-swap-toast[data-swipe-out]{transition:opacity .2s var(--aegis-swap-toast-ease)}.aegis-swap-toast[data-hidden]{transition:opacity .2s var(--aegis-swap-toast-ease),visibility 0s linear .2s}.aegis-swap-toast:not([data-mounted]),.aegis-swap-toast[data-removing],.aegis-swap-toast[data-swipe-out]{--shift-y: 0%}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon svg{animation-duration:1.6s}}@media print{.aegis-swap-toaster{display:none}}
|
|
1
|
+
.aegis-swap-widget{--aegis-swap-bg: oklch(16.4% .006 165);--aegis-swap-panel: oklch(20% .008 165);--aegis-swap-panel-raised: oklch(24.2% .011 165);--aegis-swap-panel-soft: oklch(27% .013 165);--aegis-swap-text: oklch(97.6% .005 165);--aegis-swap-muted: oklch(68.3% .014 165);--aegis-swap-subtle: oklch(65.6% .014 165);--aegis-swap-border: oklch(29.3% .013 165);--aegis-swap-border-strong: oklch(36.5% .015 165);--aegis-swap-danger: oklch(78.7% .12 33);--aegis-swap-success: oklch(67.5% .15 157);--aegis-swap-accent: oklch(78.6% .158 156.5);--aegis-swap-accent-text: oklch(17% .02 162);--aegis-swap-accent-soft: color-mix(in srgb, var(--aegis-swap-accent) 11%, transparent);--aegis-swap-accent-line: color-mix(in srgb, var(--aegis-swap-accent) 46%, var(--aegis-swap-border));--aegis-swap-accent-glow: color-mix(in srgb, var(--aegis-swap-accent) 24%, transparent);--aegis-swap-ring: color-mix(in srgb, var(--aegis-swap-accent) 55%, transparent);--aegis-swap-shell: color-mix(in srgb, var(--aegis-swap-bg) 84%, var(--aegis-swap-panel));--aegis-_seam: color-mix(in srgb, var(--aegis-swap-border) 50%, transparent);--aegis-r-lg: 8px;--aegis-r-md: 8px;--aegis-r-sm: 6px;--aegis-ease: cubic-bezier(.2, 0, 0, 1);--aegis-spring: cubic-bezier(.22, 1, .36, 1);--aegis-switch-dur: .26s;--aegis-seg-active-border: var(--aegis-swap-accent-line);--aegis-seg-active-bg: linear-gradient(180deg, var(--aegis-swap-accent-soft), transparent 78%), var(--aegis-swap-panel-raised);--aegis-seg-active-shadow: 0 0 0 1px color-mix(in srgb, var(--aegis-swap-accent-line) 58%, transparent), 0 10px 22px -17px var(--aegis-swap-accent-glow), inset 0 1px 0 rgba(255, 255, 255, .07);--aegis-rail-height: 3px;--aegis-rail-hold: 3s;--aegis-rail-fade: .42s;box-sizing:border-box;container-type:inline-size;width:100%;max-width:468px;min-width:300px;position:relative;isolation:isolate;overflow-anchor:none;border:0;border-radius:var(--aegis-r-lg);background:radial-gradient(90% 62% at 50% -20%,var(--aegis-swap-accent-soft),transparent 62%),linear-gradient(180deg,#ffffff0b,#fff0 25%),linear-gradient(150deg,#141a18,#0b0f0e 68%,#0d100c);box-shadow:0 1px #ffffff0b inset,0 34px 78px -34px #000000c7;color:var(--aegis-swap-text);font-family:var(--aegis-swap-font-family, system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:20px}.aegis-swap-widget:before{content:"";position:absolute;inset:0 0 auto;top:-1px;height:1px;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--aegis-swap-accent-line),transparent);opacity:.5;pointer-events:none}.aegis-swap-widget__progress-rail{--aegis-swap-rail-color: var(--aegis-swap-accent, #38d98a);--aegis-swap-rail-ease: var(--aegis-ease, cubic-bezier(.2, 0, 0, 1));position:absolute;inset:0 0 auto;z-index:3;display:block;height:var(--aegis-rail-height, 3px);overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit;background:color-mix(in srgb,var(--aegis-swap-rail-color) 10%,transparent);pointer-events:none}.aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-active{position:absolute;top:0;bottom:0;display:block}.aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-active:after{background:linear-gradient(90deg,color-mix(in srgb,var(--aegis-swap-rail-color) 62%,white),var(--aegis-swap-rail-color));box-shadow:0 0 10px color-mix(in srgb,var(--aegis-swap-rail-color) 54%,transparent)}.aegis-swap-widget__progress-complete{left:0;width:var(--aegis-swap-progress-complete, 0%);transition:width .36s var(--aegis-swap-rail-ease),background .22s var(--aegis-swap-rail-ease),box-shadow .22s var(--aegis-swap-rail-ease)}.aegis-swap-widget__progress-active{left:0;width:var(--aegis-swap-progress-active-width, 100%);overflow:hidden}.aegis-swap-widget__progress-active:after{content:"";display:block;width:0;height:100%;transform-origin:left center;transition:width .36s var(--aegis-swap-rail-ease),transform .36s var(--aegis-swap-rail-ease),background .22s var(--aegis-swap-rail-ease),box-shadow .22s var(--aegis-swap-rail-ease)}.aegis-swap-widget__progress-rail[data-state=pending] .aegis-swap-widget__progress-active:after{width:58%;animation:aegis-swap-progress-sweep 1.35s linear infinite}.aegis-swap-widget__progress-rail[data-state=mining] .aegis-swap-widget__progress-active:after{width:58%;animation:aegis-swap-progress-sweep 1.18s linear infinite}.aegis-swap-widget__progress-rail[data-state=success]{--aegis-swap-rail-color: var(--aegis-swap-success, #21b26f)}.aegis-swap-widget__progress-rail[data-state=error]{--aegis-swap-rail-color: var(--aegis-swap-danger, #ff9b85)}.aegis-swap-widget__progress-rail[data-state=success],.aegis-swap-widget__progress-rail[data-state=error]{background:color-mix(in srgb,var(--aegis-swap-rail-color) 14%,transparent)}.aegis-swap-widget__progress-rail[data-state=success] .aegis-swap-widget__progress-complete,.aegis-swap-widget__progress-rail[data-state=error] .aegis-swap-widget__progress-complete{width:100%}.aegis-swap-widget__progress-rail[data-state=success],.aegis-swap-widget__progress-rail[data-state=error]{animation:aegis-swap-rail-dismiss var(--aegis-rail-fade, .42s) var(--aegis-swap-rail-ease) var(--aegis-rail-hold, 3s) forwards}@keyframes aegis-swap-rail-dismiss{to{opacity:0}}@keyframes aegis-swap-progress-sweep{0%{transform:translate(-115%)}to{transform:translate(320%)}}.aegis-swap-widget--light{--aegis-swap-bg: oklch(97% .005 165);--aegis-swap-panel: oklch(99.5% .003 165);--aegis-swap-panel-raised: oklch(99.5% .003 165);--aegis-swap-panel-soft: oklch(95% .006 160);--aegis-swap-text: oklch(17.5% .012 165);--aegis-swap-muted: oklch(47% .014 165);--aegis-swap-subtle: oklch(49.5% .012 165);--aegis-swap-border: oklch(91.5% .006 165);--aegis-swap-border-strong: oklch(87% .008 165);--aegis-swap-danger: oklch(53% .14 33);background:radial-gradient(90% 62% at 50% -20%,var(--aegis-swap-accent-soft),transparent 62%),linear-gradient(180deg,#ffffffd9,#fff0 30%),linear-gradient(150deg,#fff,#f3f6f1 66%,#f8f4ec);box-shadow:0 1px #fffc inset,0 30px 64px -30px #19262047}.aegis-swap-widget *,.aegis-swap-widget *:before,.aegis-swap-widget *:after{box-sizing:border-box}:where(.aegis-swap-widget) button,:where(.aegis-swap-widget) input{font:inherit}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__progress-rail[data-state=pending] .aegis-swap-widget__progress-active:after,.aegis-swap-widget__progress-rail[data-state=mining] .aegis-swap-widget__progress-active:after{width:100%;animation:none;transform:none}}.aegis-swap-widget :focus-visible{outline:2px solid var(--aegis-swap-ring);outline-offset:2px}.aegis-swap-widget__amount-row input:focus-visible,.aegis-swap-widget__slippage-input input:focus-visible{outline:none}.aegis-swap-widget__header,.aegis-swap-widget__amount-row,.aegis-swap-widget__field-label,.aegis-swap-widget__settings label,.aegis-swap-widget__pool{display:flex;align-items:center}.aegis-swap-widget__header{justify-content:space-between;gap:16px;margin-bottom:17px}.aegis-swap-widget__brand{min-width:0}.aegis-swap-widget__eyebrow,.aegis-swap-widget__chain,.aegis-swap-widget__meta,.aegis-swap-widget__settings,.aegis-swap-widget__pool{color:var(--aegis-swap-muted);font-size:12px}.aegis-swap-widget__eyebrow{display:block;margin-bottom:2px;overflow:hidden;color:var(--aegis-swap-subtle);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.aegis-swap-widget h2{margin:0;overflow:hidden;padding-bottom:1px;color:var(--aegis-swap-text);font-size:24px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__network{position:relative;display:flex;flex:0 0 auto}.aegis-swap-widget__chain{position:relative;flex:0 0 auto;display:inline-flex;min-width:40px;min-height:32px;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-radius:var(--aegis-r-lg);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),color-mix(in srgb,var(--aegis-swap-panel) 74%,transparent);padding:0 8px 0 6px;color:var(--aegis-swap-text);font-weight:700;box-shadow:inset 0 1px #ffffff09;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease)}.aegis-swap-widget__chain:before{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.aegis-swap-widget__chain-mark{display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:50%;background:transparent;box-shadow:none}.aegis-swap-widget__chain-logo{width:21px;height:21px;grid-area:1 / 1;color:#f7fbf8}.aegis-swap-widget--light .aegis-swap-widget__chain-logo{color:#101714}@media(hover:hover){.aegis-swap-widget__chain:hover{border-color:color-mix(in srgb,var(--aegis-swap-text) 14%,transparent);background:color-mix(in srgb,var(--aegis-swap-panel-raised) 80%,transparent)}}.aegis-swap-widget__chain-caret{display:grid;width:14px;place-items:center;color:var(--aegis-swap-subtle);transition:transform .17s var(--aegis-ease)}.aegis-swap-widget__chain-caret svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.aegis-swap-widget__chain[data-open] .aegis-swap-widget__chain-caret{transform:rotate(180deg)}.aegis-swap-widget__network-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:232px;transform-origin:top right;transform:scale(.97);opacity:0;pointer-events:none;border:1px solid var(--aegis-swap-border-strong);border-radius:calc(var(--aegis-r-sm) + 5px);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-panel-raised);box-shadow:inset 0 1px #ffffff0d,0 4px 12px #0000003d,0 24px 48px -18px #0009;padding:5px;transition:transform .25s var(--aegis-ease),opacity .25s var(--aegis-ease);will-change:transform,opacity}.aegis-swap-widget__network-menu.is-open{transform:scale(1);opacity:1;pointer-events:auto}.aegis-swap-widget__network-menu.is-closing{transform:scale(.99);opacity:0;pointer-events:none;transition:transform .15s var(--aegis-ease),opacity .15s var(--aegis-ease)}.aegis-swap-widget--light .aegis-swap-widget__network-menu{box-shadow:inset 0 1px #fffc,0 4px 12px #1926201a,0 24px 48px -18px #19262042}.aegis-swap-widget__network-option{display:flex;width:100%;min-height:42px;align-items:center;gap:9px;border:0;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-text);padding:8px 9px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__network-option:hover:not(:disabled){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent)}}.aegis-swap-widget__network-option:disabled{cursor:not-allowed}.aegis-swap-widget__network-option:disabled .aegis-swap-widget__network-mark,.aegis-swap-widget__network-option:disabled .aegis-swap-widget__network-name{opacity:.62}.aegis-swap-widget__network-mark{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--aegis-swap-panel-soft) 90%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 80%,transparent)}.aegis-swap-widget__network-mark .aegis-swap-widget__chain-logo{width:14px;height:14px}.aegis-swap-widget__network-label{flex:1;min-width:0;display:grid;gap:1px;text-align:left}.aegis-swap-widget__network-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__network-status{color:var(--aegis-swap-subtle);font-size:11px;font-weight:600;line-height:1.2}.aegis-swap-widget__network-check{color:var(--aegis-swap-accent)}.aegis-swap-widget__network-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.aegis-swap-widget__network-soon{margin:3px 2px 4px;padding:0 9px;color:var(--aegis-swap-subtle);font-size:12px;font-weight:600;line-height:1.4}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__network-menu{transition:none!important}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option,.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-soon{animation:aegis-swap-menu-item-enter .16s var(--aegis-ease) backwards}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(2){animation-delay:30ms}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(3){animation-delay:60ms}.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-option:nth-child(n+4),.aegis-swap-widget__network-menu.is-open .aegis-swap-widget__network-soon{animation-delay:90ms}}@keyframes aegis-swap-menu-item-enter{0%{opacity:0;transform:translateY(-4px)}}.aegis-swap-widget__topbar{display:flex;align-items:stretch;gap:6px;margin-bottom:14px}.aegis-swap-widget__topbar .aegis-swap-widget__targets{flex:1;min-width:0;margin-bottom:0}.aegis-swap-widget__topbar .aegis-swap-widget__target-pair{display:none}.aegis-swap-widget__targets{--aegis-seg-gap: 4px;--aegis-seg-pad: 4px;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--aegis-seg-gap);margin-bottom:14px;border:1px solid transparent;border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:transparent;padding:var(--aegis-seg-pad)}.aegis-swap-widget__targets:before,.aegis-swap-widget__execution-view-toggle:before,.aegis-swap-widget__approval-options:before{content:"";position:absolute;inset:var(--aegis-seg-pad) auto var(--aegis-seg-pad) var(--aegis-seg-pad);width:calc((100% - 2 * var(--aegis-seg-pad) - (var(--aegis-seg-count, 4) - 1) * var(--aegis-seg-gap)) / var(--aegis-seg-count, 4));border-radius:var(--aegis-r-sm);transform:translate(calc(var(--aegis-seg-index, 0) * (100% + var(--aegis-seg-gap))));transition:transform var(--aegis-switch-dur) var(--aegis-spring)}.aegis-swap-widget__targets:before{border:1px solid color-mix(in srgb,var(--aegis-seg-active-border) 58%,transparent);background:var(--aegis-seg-active-bg);box-shadow:var(--aegis-seg-active-shadow)}.aegis-swap-widget__target,.aegis-swap-widget__submit,.aegis-swap-widget__max,.aegis-swap-widget__half,.aegis-swap-widget__flip,.aegis-swap-widget__route-action,.aegis-swap-widget__execution-toggle,.aegis-swap-widget__execution-view-toggle button,.aegis-swap-widget__approval-options button{border:0;cursor:pointer}.aegis-swap-widget__target{position:relative;display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-muted);padding:7px 5px;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease),color .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease),transform .17s var(--aegis-ease)}.aegis-swap-widget__target-symbol{min-width:0;overflow:hidden;font-size:13px;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__token-mark,.aegis-swap-widget__pair-icon{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--aegis-token-primary),var(--aegis-token-secondary));color:var(--aegis-token-text);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff14}.aegis-swap-widget__token-mark img,.aegis-swap-widget__pair-icon img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.aegis-swap-widget__target-pair,.aegis-swap-widget__pool-pair{display:inline-flex;flex:0 0 auto;align-items:center}.aegis-swap-widget__pair-icon{width:20px;height:20px;border:2px solid color-mix(in srgb,var(--aegis-swap-panel) 84%,#080b0a);font-size:10px}.aegis-swap-widget__pair-icon--secondary{margin-left:-7px}.aegis-swap-widget__target[aria-checked=true] .aegis-swap-widget__pair-icon{border-color:var(--aegis-swap-panel-raised)}.aegis-swap-widget__target[aria-checked=true]{color:var(--aegis-swap-text)}@media(hover:hover){.aegis-swap-widget__target:hover:not(:disabled):not([aria-checked=true]){transform:translateY(-1px);border-color:color-mix(in srgb,var(--aegis-swap-text) 12%,transparent);background:color-mix(in srgb,var(--aegis-swap-panel-raised) 76%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__target:active:not(:disabled),.aegis-swap-widget__submit:active:not(:disabled),.aegis-swap-widget__max:active:not(:disabled),.aegis-swap-widget__half:active:not(:disabled),.aegis-swap-widget__flip:active:not(:disabled){transform:scale(.96)}.aegis-swap-widget__chain:active:not(:disabled),.aegis-swap-widget__execution-toggle:active:not(:disabled),.aegis-swap-widget__network-option:active:not(:disabled){transform:scale(.98)}.aegis-swap-widget__target:disabled,.aegis-swap-widget__submit:disabled,.aegis-swap-widget__max:disabled,.aegis-swap-widget__half:disabled,.aegis-swap-widget__flip:disabled{cursor:not-allowed;opacity:.5}.aegis-swap-widget__panel{display:grid;gap:6px;padding:0;border-radius:0;background:transparent;box-shadow:none}.aegis-swap-widget--light .aegis-swap-widget__panel{box-shadow:none}.aegis-swap-widget__amount-box{display:grid;gap:11px;border:1px solid transparent;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-panel-raised);padding:15px;box-shadow:inset 0 1px #ffffff0a;transition:border-color .17s var(--aegis-ease),background .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease)}.aegis-swap-widget--light .aegis-swap-widget__amount-box{background:linear-gradient(180deg,#fff9,#fff0),var(--aegis-swap-panel-raised);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 70%,transparent),inset 0 1px #ffffffb3}.aegis-swap-widget__amount-box:focus-within{border-color:color-mix(in srgb,var(--aegis-swap-accent) 58%,var(--aegis-swap-border));background:linear-gradient(180deg,var(--aegis-swap-accent-soft),transparent 68%),var(--aegis-swap-panel-raised);box-shadow:0 0 0 3px var(--aegis-swap-accent-soft),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-accent) 46%,transparent),inset 0 1px #ffffff0d,0 14px 28px -24px var(--aegis-swap-accent-glow)}.aegis-swap-widget__amount-box:has(input[aria-invalid=true]){border-color:color-mix(in srgb,var(--aegis-swap-danger) 62%,var(--aegis-swap-border))}.aegis-swap-widget__amount-box:has(input[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--aegis-swap-danger) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-danger) 46%,transparent),inset 0 1px #ffffff0d}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__amount-box[data-refreshed] input{animation:aegis-swap-value-refresh .62s var(--aegis-ease)}}@keyframes aegis-swap-value-refresh{30%{color:color-mix(in srgb,var(--aegis-swap-accent) 64%,var(--aegis-swap-text))}}.aegis-swap-widget__amount-box{position:relative}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__amount-box[data-refreshing]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 36%,color-mix(in srgb,var(--aegis-swap-accent) 24%,transparent) 50%,transparent 64%);background-size:220% 100%;background-repeat:no-repeat;animation:aegis-swap-quote-shimmer 1.35s linear infinite}}@keyframes aegis-swap-quote-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.aegis-swap-widget__field-label{justify-content:space-between;color:var(--aegis-swap-muted);font-size:12px;font-weight:600;line-height:1}.aegis-swap-widget__max,.aegis-swap-widget__half{position:relative;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:color-mix(in srgb,var(--aegis-swap-accent) 13%,transparent);color:var(--aegis-swap-accent);padding:4px 7px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .15s var(--aegis-ease),border-color .15s var(--aegis-ease),color .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__max:hover:not(:disabled),.aegis-swap-widget__half:hover:not(:disabled){background:color-mix(in srgb,var(--aegis-swap-accent) 22%,transparent)}}.aegis-swap-widget__max:before,.aegis-swap-widget__half:before{position:absolute;top:-8px;right:0;bottom:-8px;left:0;content:""}.aegis-swap-widget__quick{display:inline-flex;align-items:center;gap:6px}.aegis-swap-widget__half{background:color-mix(in srgb,var(--aegis-swap-accent) 7%,transparent)}.aegis-swap-widget__amount-row{justify-content:space-between;gap:12px}.aegis-swap-widget__amount-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--aegis-swap-text);font-size:clamp(23px,8.7cqi,33px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.05;-webkit-mask-image:linear-gradient(to right,#000 90%,transparent);mask-image:linear-gradient(to right,#000 90%,transparent)}.aegis-swap-widget__amount-row input::placeholder{color:color-mix(in srgb,var(--aegis-swap-muted) 50%,transparent);-webkit-text-fill-color:color-mix(in srgb,var(--aegis-swap-muted) 50%,transparent)}.aegis-swap-widget__amount-row input:disabled{opacity:1;-webkit-text-fill-color:var(--aegis-swap-text)}.aegis-swap-widget__token{display:inline-flex;flex:0 0 auto;min-width:96px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;background:linear-gradient(180deg,#ffffff0d,#fff0),var(--aegis-swap-panel-soft);color:var(--aegis-swap-text);cursor:default;font:inherit;padding:7px 11px 7px 8px;text-align:center;box-shadow:inset 0 1px #ffffff0f,0 2px 6px -3px #00000080;animation:aegis-swap-token-in var(--aegis-switch-dur) var(--aegis-spring)}button.aegis-swap-widget__token{cursor:pointer}button.aegis-swap-widget__token:disabled{cursor:not-allowed;opacity:.7}.aegis-swap-widget--light .aegis-swap-widget__token{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-border) 75%,transparent),inset 0 1px #ffffffb3}@keyframes aegis-swap-token-in{0%{opacity:0;transform:translateY(2px) scale(.96);filter:blur(2px)}}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__targets:before,.aegis-swap-widget__approval-options:before{transition:none}.aegis-swap-widget__token{animation:none}}.aegis-swap-widget__token-symbol{display:inline-block;min-width:44px;color:var(--aegis-swap-text);font-size:13px;font-weight:700;line-height:1;text-align:left;text-transform:uppercase}.aegis-swap-widget__token-mark{width:22px;height:22px;font-size:11px}.aegis-swap-widget__meta{overflow-wrap:anywhere;color:var(--aegis-swap-subtle);font-variant-numeric:tabular-nums}.aegis-swap-widget__flip{z-index:1;display:grid;justify-self:center;width:38px;height:38px;margin:-13px 0;place-items:center;border:2px solid color-mix(in srgb,var(--aegis-swap-bg) 86%,transparent);border-radius:50%;background:linear-gradient(180deg,#ffffff0f,#fff0),var(--aegis-swap-panel-soft);color:var(--aegis-swap-accent);box-shadow:0 6px 16px -10px #000000b3;transition:color .2s var(--aegis-ease),box-shadow .2s var(--aegis-ease),transform .17s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__flip:hover:not(:disabled){color:var(--aegis-swap-text);box-shadow:0 0 0 1px var(--aegis-swap-accent-line),0 10px 22px -10px var(--aegis-swap-accent-glow)}}.aegis-swap-widget__flip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .32s var(--aegis-ease)}.aegis-swap-widget__flip[data-direction=sell] svg{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__flip svg{transition:none}}.aegis-swap-widget__execution{display:grid;gap:0;margin-top:6px;overflow:hidden;border-radius:var(--aegis-r-md);background:transparent}.aegis-swap-widget__execution-header{display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:6px}.aegis-swap-widget__execution-toggle{display:flex;flex:0 1 auto;min-height:42px;min-width:0;align-items:center;justify-content:flex-start;gap:8px;background:transparent;color:var(--aegis-swap-muted);padding:0 8px;font-size:13px;font-weight:700;border-radius:var(--aegis-r-sm);transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease)}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-toggle{color:var(--aegis-swap-text)}.aegis-swap-widget__execution-view-toggle{--aegis-seg-pad: 3px;--aegis-seg-gap: 0px;--aegis-seg-count: 2;position:relative;display:inline-grid;flex:0 1 174px;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;min-width:156px;border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:color-mix(in srgb,var(--aegis-swap-shell) 60%,transparent);padding:var(--aegis-seg-pad)}.aegis-swap-widget__execution-view-toggle:before{background:color-mix(in srgb,var(--aegis-swap-accent) 20%,transparent)}.aegis-swap-widget__execution-view-toggle button{position:relative;min-width:58px;min-height:34px;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-subtle);padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__execution-view-toggle button:hover:not([data-active]){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__execution-view-toggle button:active{transform:scale(.96)}.aegis-swap-widget__execution-view-toggle button[data-active]{color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white)}@media(hover:hover){.aegis-swap-widget__execution-toggle:hover{background:color-mix(in srgb,var(--aegis-swap-text) 5%,transparent);color:var(--aegis-swap-text)}.aegis-swap-widget__execution-toggle:hover .aegis-swap-widget__execution-toggle-icon{border-color:color-mix(in srgb,var(--aegis-swap-accent) 34%,transparent);background:color-mix(in srgb,var(--aegis-swap-accent) 10%,transparent);color:var(--aegis-swap-accent)}.aegis-swap-widget__execution-toggle:hover .aegis-swap-widget__execution-chevron{background:color-mix(in srgb,var(--aegis-swap-text) 7%,transparent);color:var(--aegis-swap-accent)}}.aegis-swap-widget__execution-toggle-label{display:inline-flex;min-width:0;align-items:center;gap:9px;white-space:nowrap}.aegis-swap-widget__execution-toggle-icon{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border:1px solid transparent;border-radius:9px;background:color-mix(in srgb,var(--aegis-swap-panel-soft) 60%,transparent);color:var(--aegis-swap-subtle);transition:border-color .15s var(--aegis-ease),color .15s var(--aegis-ease),background .15s var(--aegis-ease)}.aegis-swap-widget__execution-toggle-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__execution-chevron{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:8px;color:var(--aegis-swap-subtle);transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .17s var(--aegis-ease)}.aegis-swap-widget__execution-chevron svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-chevron{transform:rotate(180deg)}.aegis-swap-widget__execution-panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .26s var(--aegis-ease),opacity .18s var(--aegis-ease),visibility 0s linear .26s}.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-panel{grid-template-rows:1fr;visibility:visible;opacity:1;transition:grid-template-rows .26s var(--aegis-ease),opacity .2s var(--aegis-ease) 40ms,visibility 0s}.aegis-swap-widget__execution-panel-inner{display:grid;min-height:0;overflow:hidden;padding-top:2px;border-top:1px solid var(--aegis-_seam)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__execution-panel,.aegis-swap-widget__execution[data-open] .aegis-swap-widget__execution-panel{transition:none}}.aegis-swap-widget__settings{margin:0}.aegis-swap-widget__settings label{justify-content:space-between;gap:10px;min-height:38px;padding:0 12px;font-weight:600}.aegis-swap-widget__approval-mode{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;color:var(--aegis-swap-muted);font-size:12px;font-weight:600}.aegis-swap-widget__approval-options{--aegis-seg-pad: 3px;--aegis-seg-gap: 0px;--aegis-seg-count: 2;position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:calc(var(--aegis-r-sm) + var(--aegis-seg-pad));background:color-mix(in srgb,var(--aegis-swap-shell) 60%,transparent);padding:var(--aegis-seg-pad)}.aegis-swap-widget__approval-options:before{background:color-mix(in srgb,var(--aegis-swap-accent) 20%,transparent)}.aegis-swap-widget__approval-options button{position:relative;min-width:48px;min-height:26px;border-radius:var(--aegis-r-sm);background:transparent;color:var(--aegis-swap-subtle);padding:3px 10px;font-size:12px;font-weight:700;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}.aegis-swap-widget__approval-options button:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}@media(hover:hover){.aegis-swap-widget__approval-options button:hover:not(:disabled):not([data-active]){background:color-mix(in srgb,var(--aegis-swap-text) 6%,transparent);color:var(--aegis-swap-text)}}.aegis-swap-widget__approval-options button:active:not(:disabled){transform:scale(.96)}.aegis-swap-widget__approval-options button[data-active]{color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white)}.aegis-swap-widget__approval-options button:disabled{cursor:not-allowed;opacity:.55}.aegis-swap-widget__slippage-input{display:inline-flex;align-items:center;gap:2px;border:1px solid transparent;border-radius:var(--aegis-r-sm);background:color-mix(in srgb,var(--aegis-swap-shell) 55%,transparent);padding:4px 8px;color:var(--aegis-swap-text);font-weight:700;font-variant-numeric:tabular-nums;transition:border-color .15s var(--aegis-ease),box-shadow .15s var(--aegis-ease)}.aegis-swap-widget__slippage-input:focus-within{border-color:color-mix(in srgb,var(--aegis-swap-accent) 58%,var(--aegis-swap-border));box-shadow:0 0 0 3px var(--aegis-swap-accent-soft),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-accent) 46%,transparent)}.aegis-swap-widget__slippage-input input{width:42px;border:0;outline:0;background:transparent;color:var(--aegis-swap-text);font-variant-numeric:tabular-nums;text-align:right}.aegis-swap-widget__slippage-input>span{color:var(--aegis-swap-muted)}.aegis-swap-widget__slippage-input:has(input[aria-invalid=true]){border-color:color-mix(in srgb,var(--aegis-swap-danger) 62%,var(--aegis-swap-border))}.aegis-swap-widget__slippage-input:has(input[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--aegis-swap-danger) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--aegis-swap-danger) 46%,transparent)}@media(pointer:coarse){.aegis-swap-widget__slippage-input input{width:56px;font-size:16px}}.aegis-swap-widget__details{display:grid;gap:0;margin:0;padding:0}.aegis-swap-widget__quote-summary{display:grid}.aegis-swap-widget__detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:0 12px;border-bottom:0;color:var(--aegis-swap-muted);font-size:12px;font-weight:600}.aegis-swap-widget__detail-row strong{min-width:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__execution[data-open] .aegis-swap-widget__detail-row strong{animation:aegis-swap-value-swap .17s var(--aegis-ease)}}@keyframes aegis-swap-value-swap{0%{opacity:0;transform:translateY(3px);filter:blur(2px)}}.aegis-swap-widget__empty{margin:0 0 14px;border:0;border-radius:var(--aegis-r-md);background:color-mix(in srgb,var(--aegis-swap-panel-soft) 70%,transparent);color:var(--aegis-swap-muted);font-size:13px;font-weight:600;line-height:1.4;padding:14px}.aegis-swap-widget--light .aegis-swap-widget__empty{background:#10171406}.aegis-swap-widget__pool{justify-content:space-between;gap:12px;min-height:38px;min-width:0;padding:0 12px}.aegis-swap-widget__pool strong,.aegis-swap-widget__pool a{min-width:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__pool a{color:var(--aegis-swap-accent);transition:color .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__pool a:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}.aegis-swap-widget__route-chip{display:inline-flex;max-width:min(252px,100%);min-width:0;align-items:center;gap:6px;border:1px solid transparent;border-radius:10px;background:color-mix(in srgb,var(--aegis-swap-shell) 55%,transparent);padding:3px 4px 3px 5px;color:var(--aegis-swap-text);transition:border-color .15s var(--aegis-ease),background .15s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__route-chip:hover{background:color-mix(in srgb,var(--aegis-swap-shell) 85%,transparent)}}.aegis-swap-widget__route-protocol{display:inline-flex;flex:0 0 auto;min-width:0;align-items:center;gap:5px}.aegis-swap-widget__route-version{flex:0 0 auto;display:inline-grid;min-width:24px;height:18px;place-items:center;border:1px solid color-mix(in srgb,var(--aegis-swap-accent) 30%,transparent);border-radius:7px;background:color-mix(in srgb,var(--aegis-swap-accent) 12%,transparent);color:color-mix(in srgb,var(--aegis-swap-accent) 82%,white);font-size:11px;font-weight:700;line-height:1}.aegis-swap-widget__route-kind{flex:0 0 auto;color:var(--aegis-swap-text);font-size:12px;font-weight:700;line-height:1}.aegis-swap-widget__route-id{min-width:0;overflow:hidden;color:var(--aegis-swap-subtle);font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,Roboto Mono,monospace;font-size:12px;font-weight:600;line-height:1;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__route-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px}.aegis-swap-widget__route-action{position:relative;display:grid;width:26px;height:26px;place-items:center;border-radius:9px;background:transparent;color:var(--aegis-swap-subtle);padding:0;text-decoration:none;transition:background .15s var(--aegis-ease),color .15s var(--aegis-ease),transform .15s var(--aegis-ease)}.aegis-swap-widget__route-action:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}@media(hover:hover){.aegis-swap-widget__route-action:hover{background:color-mix(in srgb,var(--aegis-swap-accent) 12%,transparent);color:var(--aegis-swap-accent)}}.aegis-swap-widget__route-action:active{transform:scale(.96);background:color-mix(in srgb,var(--aegis-swap-accent) 16%,transparent)}.aegis-swap-widget__route-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__copy-icon{grid-area:1 / 1;display:grid;place-items:center;transition:opacity .2s var(--aegis-ease),filter .2s var(--aegis-ease),transform .26s cubic-bezier(.34,1.56,.64,1)}.aegis-swap-widget__route-action:not([data-copied]) .aegis-swap-widget__copy-icon[data-icon=check],.aegis-swap-widget__route-action[data-copied] .aegis-swap-widget__copy-icon[data-icon=copy]{opacity:0;filter:blur(2px);transform:scale(.25)}.aegis-swap-widget__route-action[data-copied]{color:var(--aegis-swap-accent);background:color-mix(in srgb,var(--aegis-swap-accent) 14%,transparent)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__copy-icon{transition:none}}.aegis-swap-widget__pool-label{display:inline-flex;min-width:0;align-items:center;gap:8px;font-weight:600}.aegis-swap-widget__pool-pair .aegis-swap-widget__pair-icon{width:18px;height:18px;border-color:color-mix(in srgb,var(--aegis-swap-bg) 76%,var(--aegis-swap-border));font-size:9px}.aegis-swap-widget__error{margin:11px 0 -2px;color:var(--aegis-swap-danger);font-size:12px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__success{margin:11px 0 -2px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__success-check{display:inline-grid;width:14px;height:14px;margin-right:5px;place-items:center;vertical-align:-2.5px}.aegis-swap-widget__success-check svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.aegis-swap-widget__success-check path{stroke-dasharray:24}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__success-check path{stroke-dashoffset:24;animation:aegis-swap-check-draw .42s var(--aegis-ease) .12s forwards}}@keyframes aegis-swap-check-draw{to{stroke-dashoffset:0}}.aegis-swap-widget__submit{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;min-height:52px;margin-top:14px;padding:0 16px;overflow-wrap:anywhere;text-align:center;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,#fff3,#fff0 60%),var(--aegis-swap-accent);color:var(--aegis-swap-accent-text);font-size:15px;font-weight:800;box-shadow:0 1px #ffffff40 inset,0 12px 30px -12px var(--aegis-swap-accent-glow);transition:filter .17s var(--aegis-ease),box-shadow .17s var(--aegis-ease),transform .17s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 1px #ffffff4d inset,0 18px 38px -14px var(--aegis-swap-accent-glow)}}.aegis-swap-widget__submit:disabled{box-shadow:none}.aegis-swap-widget__submit[data-busy]{cursor:progress;opacity:.92}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__submit[data-busy]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%);transform:translate(-100%);animation:aegis-swap-cta-sheen 1.6s var(--aegis-ease) .25s infinite}}@keyframes aegis-swap-cta-sheen{to{transform:translate(100%)}}.aegis-swap-widget__submit-label{display:inline-block}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__submit-label{animation:aegis-swap-value-swap .18s var(--aegis-ease)}}.aegis-swap-widget__tx{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:11px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__tx svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(hover:hover){.aegis-swap-widget__tx:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}.aegis-swap-widget__hint{display:flex;align-items:center;gap:7px;margin:11px 0 -2px;color:var(--aegis-swap-subtle);font-size:12px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.aegis-swap-widget__hint-icon{display:grid;flex:0 0 auto;place-items:center;color:var(--aegis-swap-accent)}.aegis-swap-widget__hint-icon svg{width:14px;height:14px}.aegis-swap-widget__receipt{display:grid;gap:12px;margin:8px 10px 12px;padding:14px;border-radius:var(--aegis-r-md);background:linear-gradient(180deg,color-mix(in srgb,var(--aegis-swap-success) 12%,transparent),color-mix(in srgb,var(--aegis-swap-success) 7%,transparent))}.aegis-swap-widget__receipt-head{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--aegis-swap-text);line-height:1.3}.aegis-swap-widget__receipt-head .aegis-swap-widget__success-check{width:20px;height:20px;margin:1px 0 0;color:var(--aegis-swap-success)}.aegis-swap-widget__receipt-head>span:last-child{display:grid;gap:2px;min-width:0}.aegis-swap-widget__receipt-title{color:var(--aegis-swap-subtle);font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}.aegis-swap-widget__receipt-subtitle{color:var(--aegis-swap-text);font-size:13px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.aegis-swap-widget__receipt-head strong{color:var(--aegis-swap-success);font-variant-numeric:tabular-nums}.aegis-swap-widget__receipt-list{display:grid;gap:6px;margin:0}.aegis-swap-widget__receipt-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:36px;padding:4px 0}.aegis-swap-widget__receipt-row:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--aegis-swap-success) 12%,transparent)}.aegis-swap-widget__receipt-metric-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--aegis-swap-success) 11%,transparent);color:color-mix(in srgb,var(--aegis-swap-success) 82%,white)}.aegis-swap-widget__receipt-metric-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.aegis-swap-widget__receipt-row-copy{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:baseline;min-width:0}.aegis-swap-widget__receipt-row dt{color:var(--aegis-swap-muted);font-size:12px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__receipt-row dd{min-width:0;margin:0;overflow:hidden;color:var(--aegis-swap-text);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aegis-swap-widget__receipt-link{display:inline-flex;align-items:center;justify-self:start;gap:5px;margin-top:1px;color:var(--aegis-swap-accent);font-size:12px;font-weight:700;text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__receipt-link svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(hover:hover){.aegis-swap-widget__receipt-link:hover{color:color-mix(in srgb,var(--aegis-swap-accent) 80%,white)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__hint{animation:aegis-swap-status-enter .2s var(--aegis-ease) backwards}.aegis-swap-widget__receipt{animation:aegis-swap-status-enter .22s var(--aegis-ease) backwards}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget__success{animation:aegis-swap-status-enter .2s var(--aegis-ease) backwards}.aegis-swap-widget__error{animation:aegis-swap-error-shake .42s var(--aegis-ease) backwards}.aegis-swap-widget__tx{animation:aegis-swap-status-enter .2s var(--aegis-ease) 70ms backwards}}@keyframes aegis-swap-error-shake{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(-5px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(2px)}75%{transform:translate(-1px)}to{opacity:1;transform:translate(0)}}@keyframes aegis-swap-status-enter{0%{opacity:0;transform:translateY(3px)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-widget{animation:aegisSwapEnter .36s var(--aegis-ease) both}}@keyframes aegisSwapEnter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@container (max-width: 408px){.aegis-swap-widget__targets{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.aegis-swap-widget__targets:before{display:none}.aegis-swap-widget__target[aria-checked=true]:not(.aegis-swap-widget__topbar *){border-color:var(--aegis-seg-active-border);background:var(--aegis-seg-active-bg);box-shadow:var(--aegis-seg-active-shadow)}.aegis-swap-widget__topbar .aegis-swap-widget__targets{--aegis-seg-gap: 2px;grid-auto-flow:column;grid-template-columns:none}.aegis-swap-widget__topbar .aegis-swap-widget__targets:before{display:block}.aegis-swap-widget__topbar .aegis-swap-widget__target{padding:7px 2px}.aegis-swap-widget__topbar .aegis-swap-widget__target-symbol{font-size:11px}.aegis-swap-widget__execution-header{align-items:center;flex-wrap:wrap}.aegis-swap-widget__execution-toggle{width:auto}.aegis-swap-widget__execution-view-toggle{flex:1 1 164px;margin-left:auto;width:auto}.aegis-swap-widget__receipt-row-copy{grid-template-columns:minmax(0,1fr) max-content}.aegis-swap-widget__route-chip{max-width:min(218px,100%)}.aegis-swap-widget__route-kind{display:none}.aegis-swap-widget__route-id{max-width:104px;font-size:11px}.aegis-swap-widget__header{align-items:flex-start}.aegis-swap-widget h2{font-size:21px}.aegis-swap-widget__chain{width:40px;height:42px;padding:0}.aegis-swap-widget__token{min-width:90px}}@container (max-width: 330px){.aegis-swap-widget__execution-header{align-items:stretch}.aegis-swap-widget__execution-toggle,.aegis-swap-widget__execution-view-toggle{flex-basis:100%;width:100%}.aegis-swap-widget__execution-view-toggle{margin-left:0}.aegis-swap-widget__receipt-row-copy{grid-template-columns:minmax(0,1fr);gap:2px}.aegis-swap-widget__receipt-row dd{text-align:left}}@media(max-width:420px){.aegis-swap-widget{min-width:0;padding:16px}}.aegis-swap-widget__powered{display:flex;align-items:center;justify-content:center;gap:5px;margin:14px 0 0;font-size:11px;color:var(--aegis-swap-subtle)}.aegis-swap-widget__powered-link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:var(--aegis-r-sm);color:var(--aegis-swap-subtle);text-decoration:none;transition:color .15s var(--aegis-ease)}.aegis-swap-widget__powered-link:before{content:"";position:absolute;top:-11px;right:0;bottom:-11px;left:0}.aegis-swap-widget__powered-mark{display:inline-flex;width:12px;height:12px}.aegis-swap-widget__powered-mark svg{width:100%;height:100%}.aegis-swap-widget__powered-brand{position:relative;font-weight:600;letter-spacing:.06em}.aegis-swap-widget__powered-brand:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;border-radius:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .2s var(--aegis-ease)}@media(hover:hover){.aegis-swap-widget__powered-link:hover{color:var(--aegis-swap-accent)}.aegis-swap-widget__powered-link:hover .aegis-swap-widget__powered-brand:after{transform:scaleX(1)}}.aegis-swap-widget__powered-link:focus-visible{outline:none;color:var(--aegis-swap-accent);box-shadow:0 0 0 2px var(--aegis-swap-ring)}.aegis-swap-widget__powered-link:focus-visible .aegis-swap-widget__powered-brand:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.aegis-swap-widget__powered-brand:after{transition:none}}.aegis-swap-toaster{--aegis-swap-toast-accent: var(--aegis-swap-accent, #38d98a);--aegis-swap-toast-success: var(--aegis-swap-success, #21b26f);--aegis-swap-toast-danger: var(--aegis-swap-danger, #ff9b85);--aegis-swap-toast-bg: var(--aegis-swap-panel-raised, #161d1b);--aegis-swap-toast-text: var(--aegis-swap-text, #f5faf6);--aegis-swap-toast-muted: var(--aegis-swap-muted, #8f9d96);--aegis-swap-toast-border: var(--aegis-swap-border-strong, #34423d);--aegis-swap-toast-ring: color-mix(in srgb, var(--aegis-swap-toast-accent) 55%, transparent);--aegis-swap-toast-ease: var(--aegis-ease, cubic-bezier(.2, 0, 0, 1));--aegis-swap-toast-spring: var(--aegis-spring, cubic-bezier(.22, 1, .36, 1));--aegis-swap-toast-r: var(--aegis-r-lg, 8px);--aegis-swap-toast-gap: 12px;--aegis-swap-toast-width: 356px;--aegis-swap-toast-offset-x: 24px;--aegis-swap-toast-offset-y: 24px;position:fixed;z-index:var(--aegis-swap-toast-z, 9999);width:min(calc(100% - 32px),var(--aegis-swap-toast-width));height:calc(var(--aegis-swap-toast-front-height, 0px) + 2 * var(--aegis-swap-toast-gap));margin:0;padding:0;list-style:none;box-sizing:border-box;pointer-events:none;color:var(--aegis-swap-toast-text);font-family:var(--aegis-swap-font-family, system-ui, sans-serif);text-align:start;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.aegis-swap-toaster *,.aegis-swap-toaster *:before,.aegis-swap-toaster *:after{box-sizing:border-box}.aegis-swap-toaster[data-y-position=bottom]{bottom:calc(var(--aegis-swap-toast-offset-y) + env(safe-area-inset-bottom,0px))}.aegis-swap-toaster[data-y-position=top]{top:calc(var(--aegis-swap-toast-offset-y) + env(safe-area-inset-top,0px))}.aegis-swap-toaster[data-x-position=right]{right:calc(var(--aegis-swap-toast-offset-x) + env(safe-area-inset-right,0px))}.aegis-swap-toaster[data-x-position=left]{left:calc(var(--aegis-swap-toast-offset-x) + env(safe-area-inset-left,0px))}.aegis-swap-toaster[data-x-position=center]{left:50%;transform:translate(-50%)}@media(max-width:600px){.aegis-swap-toaster{--aegis-swap-toast-offset-x: 16px;--aegis-swap-toast-offset-y: 16px}}.aegis-swap-toast{--lift: -1;--lift-amount: calc(var(--lift) * var(--aegis-swap-toast-gap));--slot-y: 0px;--slot-scale: 1;--shift-y: calc(var(--lift) * -100%);--swipe-y: 0px;position:absolute;left:0;right:0;z-index:var(--z, 1);display:flex;align-items:flex-start;gap:10px;width:100%;padding:13px 14px;margin:0;border:1px solid var(--aegis-swap-toast-border);border-radius:var(--aegis-swap-toast-r);background:linear-gradient(180deg,#ffffff0a,#fff0),var(--aegis-swap-toast-bg);box-shadow:0 1px #ffffff0d inset,0 4px 12px #0000003d,0 24px 48px -18px #0009,0 0 0 1px #0003;font-size:13px;line-height:1.45;opacity:0;transform:translateY(var(--slot-y)) translateY(var(--shift-y)) translateY(var(--swipe-y)) scale(var(--slot-scale));pointer-events:auto;touch-action:none;interpolate-size:allow-keywords;transition:transform .36s var(--aegis-swap-toast-spring),height .36s var(--aegis-swap-toast-spring),border-color .24s var(--aegis-swap-toast-ease),opacity .24s var(--aegis-swap-toast-ease)}.aegis-swap-toaster[data-y-position=bottom] .aegis-swap-toast{bottom:0;--lift: -1}.aegis-swap-toaster[data-y-position=top] .aegis-swap-toast{top:0;--lift: 1}.aegis-swap-toast[data-mounted]{opacity:1;--shift-y: 0%}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast:not([data-mounted]){--slot-scale: .975}}.aegis-swap-toast:not([data-dismissible]){touch-action:manipulation}.aegis-swap-toaster:not([data-expanded]) .aegis-swap-toast[data-mounted]:not([data-front]){--slot-y: calc(var(--lift-amount) * var(--index));--slot-scale: calc(1 - var(--index) * .05);height:var(--aegis-swap-toast-front-height, auto);overflow:hidden}.aegis-swap-toaster[data-expanded] .aegis-swap-toast[data-mounted]{--slot-y: calc(var(--lift) * var(--offset, 0px));--slot-scale: 1;height:auto}.aegis-swap-toaster[data-expanded] .aegis-swap-toast:after{content:"";position:absolute;left:0;bottom:100%;width:100%;height:calc(var(--aegis-swap-toast-gap) + 1px)}.aegis-swap-toast[data-hidden]{opacity:0;pointer-events:none;visibility:hidden;transition:transform .36s var(--aegis-swap-toast-spring),height .36s var(--aegis-swap-toast-spring),opacity .24s var(--aegis-swap-toast-ease),visibility 0s linear .36s}.aegis-swap-toast[data-swiping]{transition:none;user-select:none;-webkit-user-select:none}.aegis-swap-toast[data-swipe-out]{opacity:0;--shift-y: calc(var(--lift) * -100%);transition:transform .24s var(--aegis-swap-toast-spring),opacity .24s var(--aegis-swap-toast-ease)}.aegis-swap-toast[data-removing]{opacity:0;--shift-y: calc(var(--lift) * -100%)}.aegis-swap-toaster:not([data-expanded]) .aegis-swap-toast[data-removing]:not([data-front]){--shift-y: 0%}.aegis-swap-toast[data-removing]:not([data-front]):before{content:"";position:absolute;inset:0 0 auto;height:calc(var(--initial-height, 100%) + 20%);pointer-events:auto}.aegis-swap-toast__icon{display:grid;place-items:center;flex:none;width:18px;height:18px;margin-top:1px;color:var(--aegis-swap-toast-muted)}.aegis-swap-toast__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-success)}.aegis-swap-toast[data-type=error] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-danger)}.aegis-swap-toast[data-type=info] .aegis-swap-toast__icon{color:var(--aegis-swap-toast-accent)}.aegis-swap-toast[data-type=error]{border-color:color-mix(in srgb,var(--aegis-swap-toast-danger) 35%,var(--aegis-swap-toast-border))}.aegis-swap-toast[data-type=success]{border-color:color-mix(in srgb,var(--aegis-swap-toast-success) 22%,var(--aegis-swap-toast-border))}.aegis-swap-toast__content{flex:1;min-width:0;display:grid;gap:3px}.aegis-swap-toast__title{margin:0;font-size:13px;font-weight:700;color:var(--aegis-swap-toast-text);overflow-wrap:anywhere}.aegis-swap-toast__description{margin:0;font-size:12px;font-weight:600;line-height:1.4;color:var(--aegis-swap-toast-muted);overflow-wrap:anywhere}.aegis-swap-toast__action{flex:none;align-self:center;display:inline-block;max-width:45%;overflow:hidden;text-overflow:ellipsis;padding:5px 9px;border:1px solid color-mix(in srgb,var(--aegis-swap-toast-accent) 46%,var(--aegis-swap-toast-border));border-radius:6px;background:color-mix(in srgb,var(--aegis-swap-toast-accent) 11%,transparent);color:var(--aegis-swap-toast-text);font:inherit;font-size:11px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s var(--aegis-swap-toast-ease),border-color .15s var(--aegis-swap-toast-ease),transform .15s var(--aegis-swap-toast-ease)}.aegis-swap-toast__action:active{transform:scale(.96)}.aegis-swap-toast__close{position:relative;flex:none;align-self:flex-start;display:grid;place-items:center;width:26px;height:26px;margin:-4px -6px -4px -2px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--aegis-swap-toast-muted);cursor:pointer;transition:opacity .15s var(--aegis-swap-toast-ease),color .15s var(--aegis-swap-toast-ease),background .15s var(--aegis-swap-toast-ease),transform .15s var(--aegis-swap-toast-ease)}.aegis-swap-toast__close:active{transform:scale(.96)}.aegis-swap-toast__close:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@media(pointer:coarse){.aegis-swap-toast__close:before{top:-8px;right:-8px;bottom:-8px;left:-8px}}.aegis-swap-toast__close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.aegis-swap-toast__action:hover{background:color-mix(in srgb,var(--aegis-swap-toast-accent) 20%,transparent);border-color:color-mix(in srgb,var(--aegis-swap-toast-accent) 62%,var(--aegis-swap-toast-border))}.aegis-swap-toast__close{opacity:0}.aegis-swap-toast:hover .aegis-swap-toast__close,.aegis-swap-toast__close:focus-visible{opacity:1}.aegis-swap-toast__close:hover{color:var(--aegis-swap-toast-text);background:color-mix(in srgb,var(--aegis-swap-toast-border) 55%,transparent)}}.aegis-swap-toaster :focus-visible{outline:2px solid var(--aegis-swap-toast-ring);outline-offset:2px;border-radius:6px}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon svg{animation:aegis-swap-toast-spin .9s linear infinite}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon circle{stroke-dasharray:42 56.6}@keyframes aegis-swap-toast-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast__icon{animation:aegis-swap-toast-icon-in .3s var(--aegis-swap-toast-ease)}}@keyframes aegis-swap-toast-icon-in{0%{opacity:0;transform:scale(.5);filter:blur(2px)}}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast__title,.aegis-swap-toast__description{animation:aegis-swap-value-swap .18s var(--aegis-swap-toast-ease)}}.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon path{stroke-dasharray:24}@media(prefers-reduced-motion:no-preference){.aegis-swap-toast[data-type=success] .aegis-swap-toast__icon path{stroke-dashoffset:24;animation:aegis-swap-check-draw .42s var(--aegis-swap-toast-ease) .12s forwards}}.aegis-swap-toaster--light{--aegis-swap-toast-bg: var(--aegis-swap-panel-raised, #ffffff);--aegis-swap-toast-text: var(--aegis-swap-text, #101714);--aegis-swap-toast-muted: var(--aegis-swap-muted, #5d6c65);--aegis-swap-toast-border: var(--aegis-swap-border-strong, #cfd9d2);--aegis-swap-toast-danger: var(--aegis-swap-danger, #b73f2c);--aegis-swap-toast-success: var(--aegis-swap-success, #178a55);--aegis-swap-toast-accent: var(--aegis-swap-accent, #0f8a4e)}.aegis-swap-toaster--light .aegis-swap-toast{background:linear-gradient(180deg,#ffffffd9,#fff0),var(--aegis-swap-toast-bg);box-shadow:0 1px #fffc inset,0 4px 12px #1926201a,0 24px 48px -18px #19262042}@media(prefers-reduced-motion:reduce){.aegis-swap-toast,.aegis-swap-toast[data-hidden],.aegis-swap-toast[data-swipe-out]{transition:opacity .2s var(--aegis-swap-toast-ease)}.aegis-swap-toast[data-hidden]{transition:opacity .2s var(--aegis-swap-toast-ease),visibility 0s linear .2s}.aegis-swap-toast:not([data-mounted]),.aegis-swap-toast[data-removing],.aegis-swap-toast[data-swipe-out]{--shift-y: 0%}.aegis-swap-toast[data-type=loading] .aegis-swap-toast__icon svg{animation-duration:1.6s}}@media print{.aegis-swap-toaster{display:none}}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Address, Hex } from 'viem';
|
|
2
|
+
import type { AegisSwapToken } from '../config';
|
|
3
|
+
export type HopInfo = {
|
|
4
|
+
dex: string;
|
|
5
|
+
inputToken: AegisSwapToken;
|
|
6
|
+
outputToken: AegisSwapToken;
|
|
7
|
+
part: number;
|
|
8
|
+
};
|
|
9
|
+
export type AggregatedSwapQuote = {
|
|
10
|
+
inputToken: AegisSwapToken;
|
|
11
|
+
outputToken: AegisSwapToken;
|
|
12
|
+
amountIn: bigint;
|
|
13
|
+
amountOut: bigint;
|
|
14
|
+
gasEstimate: bigint;
|
|
15
|
+
hops: HopInfo[];
|
|
16
|
+
routerAddress: Address;
|
|
17
|
+
calldata: Hex | null;
|
|
18
|
+
transactionValue: bigint;
|
|
19
|
+
priceImpact: number;
|
|
20
|
+
feeAmount: bigint;
|
|
21
|
+
feeBps: number;
|
|
22
|
+
feeRecipient: Address | null;
|
|
23
|
+
userAmountOutMinimum: bigint;
|
|
24
|
+
amountOutMinimum: bigint;
|
|
25
|
+
};
|
|
26
|
+
export type AggregatedSwapRoute = {
|
|
27
|
+
inputToken: AegisSwapToken;
|
|
28
|
+
outputToken: AegisSwapToken;
|
|
29
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AegisSwapToken } from '../config';
|
|
2
2
|
import { type TokenMetadataByAddress } from '../components/icons';
|
|
3
|
-
export declare function AmountField({ inputId, label, token, value, balance, invalid, busy, refreshEnabled, refreshing, metadataByAddress, onChange, quickActions }: {
|
|
3
|
+
export declare function AmountField({ inputId, label, token, value, balance, invalid, busy, refreshEnabled, refreshing, readOnly, metadataByAddress, onChange, onTokenSelect, tokenSelectLabel, tokenSelectDisabled, quickActions }: {
|
|
4
4
|
inputId: string;
|
|
5
5
|
label: string;
|
|
6
6
|
token: AegisSwapToken;
|
|
@@ -14,8 +14,12 @@ export declare function AmountField({ inputId, label, token, value, balance, inv
|
|
|
14
14
|
/** A quote round-trip is currently in flight; combined with refreshEnabled
|
|
15
15
|
it runs the in-flight shimmer on the derived side only. */
|
|
16
16
|
refreshing?: boolean;
|
|
17
|
+
readOnly?: boolean;
|
|
17
18
|
metadataByAddress: TokenMetadataByAddress;
|
|
18
19
|
onChange: (value: string) => void;
|
|
20
|
+
onTokenSelect?: () => void;
|
|
21
|
+
tokenSelectLabel?: string;
|
|
22
|
+
tokenSelectDisabled?: boolean;
|
|
19
23
|
quickActions?: {
|
|
20
24
|
onHalf: () => void;
|
|
21
25
|
onMax: () => void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from 'react';
|
|
2
|
+
import type { AegisToastPosition } from '../toast/state';
|
|
3
|
+
import type { AegisSwapWidgetTheme } from '../hooks/useResolvedTheme';
|
|
4
|
+
import type { TransactionProgressState } from '../transactionProgress';
|
|
5
|
+
import type { AegisSwapWidgetStyle } from './types';
|
|
6
|
+
export type SwapWidgetShellProps = {
|
|
7
|
+
rootRef: Ref<HTMLElement>;
|
|
8
|
+
resolvedThemeMode: 'light' | 'dark';
|
|
9
|
+
widgetStyle: AegisSwapWidgetStyle;
|
|
10
|
+
className?: string;
|
|
11
|
+
ariaLabel: string;
|
|
12
|
+
progressState: TransactionProgressState | null;
|
|
13
|
+
showRail: boolean;
|
|
14
|
+
railLabel?: string;
|
|
15
|
+
railCompletePct?: number;
|
|
16
|
+
railActiveWidthPct?: number;
|
|
17
|
+
showToast: boolean;
|
|
18
|
+
theme?: AegisSwapWidgetTheme;
|
|
19
|
+
accentColor?: string;
|
|
20
|
+
accentTextColor?: string;
|
|
21
|
+
toastPosition: AegisToastPosition;
|
|
22
|
+
hasBrandText: boolean;
|
|
23
|
+
title?: string;
|
|
24
|
+
subtitle?: string;
|
|
25
|
+
networkSelector: ReactNode;
|
|
26
|
+
/** direct: <PoolSelector/>; aggregated: undefined (network-only topbar). */
|
|
27
|
+
topLeftSlot?: ReactNode;
|
|
28
|
+
/** direct: the "No pools configured" notice; aggregated: undefined. */
|
|
29
|
+
belowTopbarSlot?: ReactNode;
|
|
30
|
+
sellField: ReactNode;
|
|
31
|
+
flipButton: ReactNode;
|
|
32
|
+
buyField: ReactNode;
|
|
33
|
+
executionDetails?: ReactNode;
|
|
34
|
+
errorSlot?: ReactNode;
|
|
35
|
+
approvalHint: string | null;
|
|
36
|
+
canSubmit: boolean;
|
|
37
|
+
busy: boolean;
|
|
38
|
+
primaryAction: string;
|
|
39
|
+
ctaLabel: string;
|
|
40
|
+
onSubmit: () => void;
|
|
41
|
+
inlineTxExplorerHref: string | null;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Shared presentational chrome for both swap widgets (direct + aggregated). The
|
|
45
|
+
* section/rail/toaster/header/topbar/hint/submit/inline-tx/footer that the two
|
|
46
|
+
* views duplicated verbatim lives here once; variant-specific bits (pool tabs vs
|
|
47
|
+
* token selectors, flip semantics, the execution-details panel, the error line)
|
|
48
|
+
* are passed in as opaque `ReactNode` slots, so every divergence stays in its own
|
|
49
|
+
* view. Pure function of props — no hooks, no state.
|
|
50
|
+
*/
|
|
51
|
+
export declare function SwapWidgetShell({ rootRef, resolvedThemeMode, widgetStyle, className, ariaLabel, progressState, showRail, railLabel, railCompletePct, railActiveWidthPct, showToast, theme, accentColor, accentTextColor, toastPosition, hasBrandText, title, subtitle, networkSelector, topLeftSlot, belowTopbarSlot, sellField, flipButton, buyField, executionDetails, errorSlot, approvalHint, canSubmit, busy, primaryAction, ctaLabel, onSubmit, inlineTxExplorerHref }: SwapWidgetShellProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { AegisSwapToken } from '../config';
|
|
3
|
+
import { type TokenMetadataByAddress } from '../components/icons';
|
|
4
|
+
export declare function TokenSelector({ isOpen, onClose, tokens, chainId, disabledToken, selectedToken, onSelect, metadataByAddress }: {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
tokens: AegisSwapToken[];
|
|
8
|
+
chainId: number;
|
|
9
|
+
disabledToken?: Address;
|
|
10
|
+
selectedToken?: Address;
|
|
11
|
+
onSelect: (token: AegisSwapToken) => void;
|
|
12
|
+
metadataByAddress: TokenMetadataByAddress;
|
|
13
|
+
}): import("react").JSX.Element | null;
|
package/dist/widget/types.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { CSSProperties } from 'react';
|
|
2
2
|
import type { Address, Hex } from 'viem';
|
|
3
3
|
import type { AegisToastPosition } from '../toast/state';
|
|
4
|
-
import type { AegisSwapChainConfigInput, AegisSwapPoolConfig } from '../config';
|
|
4
|
+
import type { AegisSwapChainConfigInput, AegisSwapPoolConfig, AegisSwapToken } from '../config';
|
|
5
5
|
import type { AegisSwapApprovalMode, AegisSwapSubmitDetails } from '../hooks/useSubmitSwap';
|
|
6
6
|
import type { AegisSwapWidgetTheme } from '../hooks/useResolvedTheme';
|
|
7
7
|
import type { DirectSwapQuote } from '../quote';
|
|
8
|
+
import type { AggregatedSwapQuote } from '../types/aggregatedSwap';
|
|
8
9
|
import type { AegisSwapStatusSnapshot } from '../transactionProgress';
|
|
9
10
|
import type { AegisSwapProviderResolver, AegisSwapWalletConnection, Eip1193Provider } from '../wallet';
|
|
10
11
|
/**
|
|
@@ -52,7 +53,7 @@ export type AegisDirectSwapWidgetProps = {
|
|
|
52
53
|
explorerUrl: string;
|
|
53
54
|
swap?: AegisSwapSubmitDetails;
|
|
54
55
|
}) => void;
|
|
55
|
-
/** Fires on approval/swap failure after the widget shows its own message; classify with `isUserRejectedError`. */
|
|
56
|
+
/** Fires on approval/swap failure after the widget shows its own message; classify with `isUserRejectedError` from `@aegis-engine/core`. */
|
|
56
57
|
onError?: (error: Error) => void;
|
|
57
58
|
/** Called with every refreshed quote; not fired on mount before the first amount. Useful for host analytics. */
|
|
58
59
|
onQuote?: (quote: DirectSwapQuote) => void;
|
|
@@ -131,3 +132,23 @@ export type AegisDirectSwapWidgetProps = {
|
|
|
131
132
|
};
|
|
132
133
|
/** Alias of {@link AegisDirectSwapWidgetProps}. */
|
|
133
134
|
export type AegisSwapWidgetProps = AegisDirectSwapWidgetProps;
|
|
135
|
+
/**
|
|
136
|
+
* Props for {@link AegisAggregatedSwapWidget}. Supports any-token-to-any-token swaps
|
|
137
|
+
* via KyberSwap routing. Every prop is optional — `<AegisAggregatedSwapWidget />`
|
|
138
|
+
* renders with curated tokens on Ethereum mainnet and auto-detected `window.ethereum`.
|
|
139
|
+
*/
|
|
140
|
+
export type AegisAggregatedSwapWidgetProps = Omit<AegisDirectSwapWidgetProps, 'pools' | 'poolIds' | 'defaultPoolId' | 'onPoolChange' | 'onQuote'> & {
|
|
141
|
+
/** Called with every refreshed aggregated route quote. */
|
|
142
|
+
onQuote?: (quote: AggregatedSwapQuote) => void;
|
|
143
|
+
/** Callback when the selected token pair changes. */
|
|
144
|
+
onRouteChange?: (inputSymbol: string, outputSymbol: string) => void;
|
|
145
|
+
/**
|
|
146
|
+
* Token list exposed in the selector. Defaults to the bundled Wolf Game
|
|
147
|
+
* USDC/WATER/WOOD/GRASS/STONE preset.
|
|
148
|
+
*/
|
|
149
|
+
tokens?: AegisSwapToken[];
|
|
150
|
+
/** Initial input token symbol from the active token list. Defaults to 'USDC'. */
|
|
151
|
+
defaultInputTokenSymbol?: string;
|
|
152
|
+
/** Initial output token symbol from the active token list. Defaults to 'GRASS' for Wolf Game, otherwise 'USDT'. */
|
|
153
|
+
defaultOutputTokenSymbol?: string;
|
|
154
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { type Address } from 'viem';
|
|
2
|
+
import { type AegisSwapToken } from '../config';
|
|
3
|
+
import type { AegisAggregatedSwapWidgetProps } from './types';
|
|
4
|
+
import type { AggregatedSwapQuote } from '../types/aggregatedSwap';
|
|
5
|
+
import { type ExecutionDetailsView, type LatestTransactionSummary } from './viewState';
|
|
6
|
+
export declare function useAggregatedSwapController(props: AegisAggregatedSwapWidgetProps): {
|
|
7
|
+
txHash: `0x${string}` | null;
|
|
8
|
+
metadataByAddress: import("../metadata").TokenMetadataByAddress;
|
|
9
|
+
busy: boolean;
|
|
10
|
+
canSubmit: boolean;
|
|
11
|
+
actionError: string | null;
|
|
12
|
+
progress: import("../transactionProgress").TransactionProgressView | null;
|
|
13
|
+
progressState: import("..").TransactionProgressState | null;
|
|
14
|
+
ctaLabel: string;
|
|
15
|
+
onPrimaryAction: () => Promise<void>;
|
|
16
|
+
showRail: boolean;
|
|
17
|
+
showToast: boolean;
|
|
18
|
+
showExecutionDetails: boolean;
|
|
19
|
+
executionDetailsOpen: boolean;
|
|
20
|
+
executionDetailsView: ExecutionDetailsView;
|
|
21
|
+
onToggleExecutionDetails: () => void;
|
|
22
|
+
onExecutionDetailsViewChange: import("react").Dispatch<import("react").SetStateAction<ExecutionDetailsView>>;
|
|
23
|
+
latestTxSummary: LatestTransactionSummary | null;
|
|
24
|
+
tradeDetailRows: import("./viewState").TradeDetailRow[];
|
|
25
|
+
inlineTxExplorerHref: string | null;
|
|
26
|
+
approvalHint: string | null;
|
|
27
|
+
toastPosition: import("..").AegisToastPosition;
|
|
28
|
+
owner: Address | null;
|
|
29
|
+
walletChainId: number | null;
|
|
30
|
+
setWalletChainId: (chainId: number | null) => void;
|
|
31
|
+
getActiveProvider: () => Promise<import("../wallet").Eip1193Provider | null>;
|
|
32
|
+
connectWallet: () => Promise<import("../hooks/useWalletConnection").ResolvedWalletConnection | null>;
|
|
33
|
+
rootRef: import("react").RefObject<HTMLDivElement | null>;
|
|
34
|
+
sellInputId: string;
|
|
35
|
+
buyInputId: string;
|
|
36
|
+
slippageInputId: string;
|
|
37
|
+
executionDetailsId: string;
|
|
38
|
+
resolvedThemeMode: import("../hooks/useResolvedTheme").ResolvedThemeMode;
|
|
39
|
+
widgetStyle: import("./types").AegisSwapWidgetStyle;
|
|
40
|
+
className: string | undefined;
|
|
41
|
+
hasBrandText: boolean;
|
|
42
|
+
title: string;
|
|
43
|
+
subtitle: string;
|
|
44
|
+
ariaLabel: string;
|
|
45
|
+
theme: import("..").AegisSwapWidgetTheme | undefined;
|
|
46
|
+
accentColor: string | undefined;
|
|
47
|
+
accentTextColor: string | undefined;
|
|
48
|
+
activeChain: import("../config").AegisSwapChainConfig;
|
|
49
|
+
networkOptions: import("./types").AegisSwapNetworkOption[] | undefined;
|
|
50
|
+
inputToken: AegisSwapToken;
|
|
51
|
+
outputToken: AegisSwapToken;
|
|
52
|
+
onSelectInputToken: (token: AegisSwapToken) => void;
|
|
53
|
+
onSelectOutputToken: (token: AegisSwapToken) => void;
|
|
54
|
+
selectableTokens: AegisSwapToken[];
|
|
55
|
+
sellFieldValue: string;
|
|
56
|
+
buyFieldValue: string;
|
|
57
|
+
sellInvalid: boolean;
|
|
58
|
+
buyInvalid: boolean;
|
|
59
|
+
sellRefreshEnabled: boolean;
|
|
60
|
+
buyRefreshEnabled: boolean;
|
|
61
|
+
inputBalance: bigint;
|
|
62
|
+
outputBalance: bigint;
|
|
63
|
+
slippageInput: string;
|
|
64
|
+
slippageInvalid: boolean;
|
|
65
|
+
onSellChange: (value: string) => void;
|
|
66
|
+
onBuyChange: () => void;
|
|
67
|
+
onUseHalfInputBalance: () => void;
|
|
68
|
+
onUseMaxInputBalance: () => void;
|
|
69
|
+
onSlippageChange: (value: string) => void;
|
|
70
|
+
onSlippageBlur: () => void;
|
|
71
|
+
quote: AggregatedSwapQuote | null;
|
|
72
|
+
quoteLoading: boolean;
|
|
73
|
+
quoteError: string;
|
|
74
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { SubmitStatus } from '../transactionProgress';
|
|
3
|
+
/**
|
|
4
|
+
* Success is a transient confirmation: once a swap settles, hold the rail for the
|
|
5
|
+
* host-tunable `--aegis-rail-hold` + `--aegis-rail-fade` window (read live off the
|
|
6
|
+
* root), then run `onReset` so the CTA/rail return to idle on their own and hosts
|
|
7
|
+
* receive the closing snapshot. The timer mechanics are shared; each controller
|
|
8
|
+
* supplies its own reset body via `onReset` (which must be stable, e.g. a
|
|
9
|
+
* `useCallback`, so the hold timer isn't restarted on every render).
|
|
10
|
+
*/
|
|
11
|
+
export declare function useRailAutoReset(status: SubmitStatus, rootRef: RefObject<HTMLElement | null>, onReset: () => void): void;
|