.swap-page{min-height:100vh}
.swap-page .site-header{position:relative}
.swap-nav{display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:.9375rem}
.swap-nav a[aria-current]{color:var(--purple)}
.swap-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:7%;max-width:1200px;padding:64px var(--pad) 75px;margin:auto}
.swap-intro{padding-top:14px;min-width:0}
.swap-intro h1{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.08;letter-spacing:-.035em;font-weight:800}
.swap-intro h1 em{font-style:normal;color:var(--purple)}
.swap-intro>p:not(.chapter-label){font-size:1.0625rem;line-height:1.7;margin-top:22px;max-width:30rem}
.swap-destination{border-left:3px solid var(--purple);padding:3px 0 3px 18px;margin-top:30px}
.swap-destination>span{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;color:var(--muted);letter-spacing:.08em}
.swap-destination strong{display:block;font-size:1.25rem;margin-top:10px;line-height:1.5}
.swap-destination strong span{font-size:1rem;font-weight:400}
.swap-destination p{font-size:.875rem;color:var(--muted);margin-top:6px}
.swap-intro .swap-next{font-size:1rem!important;color:var(--muted)}
.swap-intro .text-link{margin-top:20px}
.swap-workspace{min-width:0}
.swap-status{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;font-size:1rem;line-height:1.65}
.swap-status h2{font-size:1.35rem;font-weight:700;line-height:1.35;letter-spacing:-.02em;margin-bottom:12px}
.swap-status p+p{margin-top:12px}
.swap-preview-row{padding:20px;border:1px solid var(--line);border-radius:14px;margin-top:15px;background:var(--ink)}
.swap-preview-row>span{display:block;color:var(--muted);font-size:.8125rem}
.swap-preview-row strong{display:block;font-size:1.25rem;margin-top:8px}
.swap-preview-row small{display:block;font-size:.875rem;font-weight:400;color:var(--muted)}
.swap-preview-arrow{text-align:center;margin:8px 0 -7px;color:var(--purple)}
.swap-preview-row+h2{margin-top:28px}
.swap-status .button{margin-top:22px}
.swap-caption{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:22px}
.swap-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px var(--pad);border-top:1px solid var(--line);color:var(--muted);font-size:.875rem;line-height:1.6}
.swap-footer>span{color:var(--paper)}
.wallet-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 4px 18px;font-size:.875rem}
.wallet-strip button,.wallet-disconnect{color:var(--purple);background:transparent;border:0;padding:7px;min-height:40px;font-size:.875rem}
.wallet-strip p{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;color:var(--muted)}
.swap-progress{border:1px solid var(--purple);border-radius:14px;background:var(--surface);margin-top:20px;padding:20px;line-height:1.65;font-size:1rem}
.swap-progress p+p{margin-top:10px}
.swap-progress a{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
.swap-progress h2{font-size:1.125rem;line-height:1.4;margin-bottom:8px}
.wallet-dialog{background:var(--surface);color:var(--paper);border:1px solid var(--purple);border-radius:20px;padding:25px;max-width:420px;width:calc(100% - 40px)}
.wallet-dialog::backdrop{background:#000b}
.wallet-dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.wallet-dialog-header h2{font-size:1.25rem;font-weight:600}
.wallet-dialog-header button{background:transparent;border:0;padding:8px;font-size:1.25rem}
.wallet-options{display:grid;gap:12px}
.wallet-options button{padding:15px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--paper);font-size:1rem;min-height:50px}
.wallet-options button:hover{border-color:var(--purple)}
.wallet-options button:disabled{opacity:.6;cursor:wait}
.wallet-dialog p{font-size:.9375rem;line-height:1.65;margin-top:17px;color:var(--muted)}
.wallet-dialog .wallet-error{color:#f9b7b7}
.refund-wallet{padding:18px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.refund-wallet label{display:block;font-weight:600;font-size:.9375rem}
.refund-wallet p{font-size:.8125rem;color:var(--muted);line-height:1.5;margin:8px 0 12px}
.refund-wallet input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--paper);font-size:.875rem}
@media(max-width:800px){.swap-layout{grid-template-columns:1fr;padding-top:32px;gap:30px;max-width:650px}.swap-intro{padding:0}.swap-intro h1{font-size:2.25rem}.swap-intro h1 br{display:none}.swap-intro .chapter-label{margin-bottom:14px}.swap-destination{margin-top:20px}.swap-intro .swap-next{margin-top:18px}.swap-workspace{grid-row:2}.swap-nav{gap:16px;font-size:.875rem}.swap-footer{font-size:.8125rem}}
@media(max-width:480px){.swap-page .site-header{align-items:flex-start;flex-wrap:wrap}.swap-nav{width:100%;justify-content:space-between}.swap-intro h1{font-size:2rem}.swap-layout{padding-top:23px}.swap-status{padding:23px}.swap-footer{gap:13px}}
