.wjk-swap{--bg:var(--background);--bg-elev:var(--muted);--bg-input:var(--input);--card:var(--card);--border:var(--border);--border-strong:var(--primary);--text:var(--foreground);--text-dim:var(--muted-foreground);--text-faint:var(--muted-foreground);--accent:var(--primary);--accent-dim:var(--primary);--accent-soft:rgb(var(--phosphor)/0.12);--danger:var(--destructive);--radius:6px;--glass-bg:rgb(var(--phosphor)/0.03);--glass-bg-strong:rgb(var(--phosphor)/0.06);--glass-border:var(--border);--glass-hi:rgb(var(--phosphor)/0.12);--glass-blur:20px}.wjk-swap *{box-sizing:border-box}.wjk-swap{margin:0;padding:0;background:radial-gradient(820px 520px at 8% -8%,rgb(var(--phosphor)/.16),transparent 60%),radial-gradient(760px 520px at 100% 4%,rgb(var(--phosphor)/.1),transparent 55%),radial-gradient(700px 640px at 50% 116%,rgb(var(--phosphor-amber)/.08),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;min-height:100vh}.wjk-swap a{color:var(--accent);text-decoration:none}.wjk-swap a:hover{text-decoration:underline}.wjk-swap code{background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.85em}.wjk-swap .page{width:100%;max-width:480px;margin:0 auto;padding:28px 16px 80px}.wjk-swap .topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.wjk-swap .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--accent);text-shadow:0 0 10px rgb(var(--phosphor)/.5)}.wjk-swap .brand-logo{width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--glass-hi),0 0 22px rgb(var(--phosphor)/.35)}.wjk-swap .btn{border:none;cursor:pointer;font-weight:600;border-radius:6px;transition:filter .15s ease,transform .05s ease,background .15s ease;font-size:15px}.wjk-swap .btn:active{transform:translateY(1px)}.wjk-swap .btn:disabled{cursor:not-allowed;opacity:.55}.wjk-swap .btn-accent{background:var(--accent);color:var(--primary-foreground);box-shadow:0 0 26px -6px rgb(var(--phosphor)/.55),inset 0 1px 0 rgb(var(--phosphor)/.3)}.wjk-swap .btn-accent:hover:not(:disabled){filter:brightness(1.1)}.wjk-swap .btn-ghost{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text);border:1px solid var(--glass-border)}.wjk-swap .btn-ghost:hover:not(:disabled){border-color:var(--border-strong)}.wjk-swap .btn-connect{padding:9px 16px}.wjk-swap .btn-pill{display:flex;align-items:center;gap:8px;padding:8px 13px;border-radius:6px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-hi);font-size:14px;color:var(--text);cursor:pointer}.wjk-swap .btn-pill .addr-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px 1px rgb(var(--phosphor)/.6)}.wjk-swap .card{position:relative;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--primary);border-radius:var(--radius);padding:16px;box-shadow:0 0 0 1px rgb(var(--phosphor)/.15),0 0 40px -8px rgb(var(--phosphor)/.25),0 24px 60px -20px rgb(0 0 0/.8),inset 0 1px 0 var(--glass-hi)}.wjk-swap .card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(155deg,rgb(var(--phosphor)/.05),transparent 40%);pointer-events:none}.wjk-swap .card-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 14px}.wjk-swap .card-head h2{margin:0;font-size:17px;font-weight:700;color:var(--accent);text-shadow:0 0 8px rgb(var(--phosphor)/.5)}.wjk-swap .gear-btn{background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:18px;line-height:1;width:34px;height:34px;border-radius:6px;cursor:pointer;transition:color .15s,background .15s,transform .4s}.wjk-swap .gear-btn:hover{color:var(--text);background:var(--bg-elev)}.wjk-swap .gear-btn.on{color:var(--accent);background:var(--accent-soft);transform:rotate(60deg)}.wjk-swap .settings-panel{position:relative;background:rgb(var(--phosphor)/.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:6px;padding:4px 14px;margin-bottom:12px}.wjk-swap .set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);width:100%}.wjk-swap .set-row:last-child{border-bottom:none}.wjk-swap .set-row.expandable{background:transparent;border-top:none;border-left:none;border-right:none;cursor:pointer;font-family:inherit;text-align:left}.wjk-swap .set-label{font-size:14.5px;font-weight:600;color:var(--text)}.wjk-swap .set-hint{font-size:11.5px;font-weight:400;color:var(--text-faint);margin-top:2px;max-width:200px}.wjk-swap .set-value{font-size:14px;color:var(--text-dim);display:flex;align-items:center;gap:4px}.wjk-swap .caret{display:inline-block;transition:transform .18s}.wjk-swap .caret.open{transform:rotate(90deg)}.wjk-swap .slip-control{display:flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:3px}.wjk-swap .auto-pill{border:none;background:transparent;color:var(--text-dim);font-weight:700;font-size:13.5px;padding:5px 12px;border-radius:4px;cursor:pointer;font-family:inherit}.wjk-swap .auto-pill.on{background:var(--accent-soft);color:var(--accent)}.wjk-swap .slip-custom{display:flex;align-items:center;gap:1px;padding:4px 12px 4px 4px;color:var(--text);font-weight:600;border-radius:4px}.wjk-swap .slip-custom.on{color:var(--text)}.wjk-swap .slip-input{width:42px;background:transparent;border:none;outline:none;color:inherit;font-size:14px;font-weight:600;text-align:right;font-family:inherit}.wjk-swap .deadline-control{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:6px 14px;color:var(--text-dim);font-size:13.5px}.wjk-swap .deadline-input{width:30px;background:transparent;border:none;outline:none;color:var(--text);font-size:15px;font-weight:600;text-align:right;font-family:inherit}.wjk-swap .trade-opts{padding:0 0 12px;display:flex;flex-direction:column;gap:7px}.wjk-swap .to-line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--text-faint)}.wjk-swap .to-line span:last-child{color:var(--text-dim);text-align:right}.wjk-swap .toggle{width:50px;height:28px;border-radius:6px;border:none;background:var(--border);cursor:pointer;padding:0;position:relative;transition:background .18s;flex:none}.wjk-swap .toggle.on{background:var(--accent);box-shadow:0 0 14px -2px rgb(var(--phosphor)/.6)}.wjk-swap .toggle .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:4px;background:var(--primary-foreground);transition:transform .18s}.wjk-swap .toggle.on .knob{transform:translateX(22px)}.wjk-swap .field{background:rgb(var(--phosphor)/.035);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 rgb(var(--phosphor)/.05);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,background .15s}.wjk-swap .field:focus-within{border-color:var(--primary);background:rgb(var(--phosphor)/.06)}.wjk-swap .field-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.wjk-swap .field-label{font-size:12.5px;color:var(--text-faint)}.wjk-swap .amount-input{background:transparent;border:none;outline:none;color:var(--accent);font-size:30px;font-weight:600;width:100%;min-width:0;letter-spacing:-.02em;text-shadow:0 0 8px rgb(var(--phosphor)/.35)}.wjk-swap .amount-input::placeholder{color:var(--text-faint);text-shadow:none}.wjk-swap .amount-input:disabled{color:var(--text-dim);text-shadow:none}.wjk-swap .usd-value{font-size:12.5px;color:var(--text-faint);min-height:15px;margin-top:-3px;letter-spacing:.01em}.wjk-swap .token-badge{display:flex;align-items:center;gap:8px;background:var(--glass-bg-strong);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-hi);border-radius:6px;padding:6px 13px 6px 7px;font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;flex:none}.wjk-swap .token-ic{border-radius:50%;object-fit:cover;flex:none;box-shadow:inset 0 0 0 1px rgb(var(--phosphor)/.18),0 1px 3px rgb(0 0 0/.4)}.wjk-swap .token-select{position:relative;flex:none}.wjk-swap .token-badge.selectable{cursor:pointer;font-family:inherit}.wjk-swap .token-badge.selectable:hover{border-color:var(--border-strong)}.wjk-swap .chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-dim);margin-left:3px;flex:none}.wjk-swap .picker-backdrop{position:fixed;inset:0;z-index:20}.wjk-swap .token-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:248px;background:var(--popover);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--primary);border-radius:6px;padding:6px;box-shadow:0 0 40px -8px rgb(var(--phosphor)/.25),0 24px 56px -12px rgb(0 0 0/.85),inset 0 1px 0 var(--glass-hi);display:flex;flex-direction:column;gap:2px}.wjk-swap .token-menu-item{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:9px 10px;border:none;background:transparent;border-radius:4px;cursor:pointer;text-align:left;color:var(--text);font-family:inherit}.wjk-swap .token-menu-item:hover{background:var(--bg-input)}.wjk-swap .token-menu-item.active{background:var(--accent-soft)}.wjk-swap .token-menu-item .token-ic{grid-column:1;grid-row:1/3;align-self:center}.wjk-swap .tm-sym{grid-column:2;grid-row:1;font-weight:700;font-size:14.5px}.wjk-swap .tm-name{grid-column:2;grid-row:2;font-size:11.5px;color:var(--text-dim);margin-top:-1px}.wjk-swap .balance-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text-dim)}.wjk-swap .max-btn{background:var(--accent-soft);color:var(--accent);border:1px solid rgb(var(--phosphor)/.4);border-radius:4px;padding:2px 7px;font-size:11.5px;font-weight:700;cursor:pointer}.wjk-swap .flip-wrap{display:flex;justify-content:center;margin:-10px 0;position:relative;z-index:2}.wjk-swap .flip-btn{width:40px;height:40px;border-radius:6px;background:var(--glass-bg-strong);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--border);box-shadow:0 6px 18px -4px rgb(0 0 0/.55),inset 0 1px 0 var(--glass-hi);color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:16px;transition:transform .2s ease,color .15s ease}.wjk-swap .flip-btn:hover{color:var(--accent);border-color:var(--primary);transform:rotate(180deg)}.wjk-swap .quote-info{margin-top:14px;padding:12px 14px;background:rgb(var(--phosphor)/.03);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:6px;font-size:13px;display:flex;flex-direction:column;gap:8px}.wjk-swap .quote-line{display:flex;justify-content:space-between;color:var(--text-dim)}.wjk-swap .quote-line span:last-child{color:var(--text);font-weight:500}.wjk-swap .action{width:100%;padding:16px;margin-top:14px;font-size:17px;border-radius:6px}.wjk-swap .status{margin-top:12px;font-size:13.5px;text-align:center;color:var(--text-dim)}.wjk-swap .status.error{color:var(--danger)}.wjk-swap .status.success{color:var(--accent);text-shadow:0 0 8px rgb(var(--phosphor)/.5)}.wjk-swap .spinner{display:inline-block;width:14px;height:14px;border:2px solid rgb(var(--phosphor)/.25);border-top-color:var(--primary-foreground);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:7px}@keyframes spin{to{transform:rotate(1turn)}}.wjk-swap .footer-note{margin-top:22px;text-align:center;font-size:12px;color:var(--text-faint);line-height:1.6;overflow-wrap:anywhere}.wjk-swap .config-needed{max-width:520px;margin:80px auto;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);line-height:1.6}.wjk-swap .config-needed h1{margin-top:0;color:var(--accent);text-shadow:0 0 8px rgb(var(--phosphor)/.5)}