:root{--bg-base:#09090b;--bg-panel:#0c0c0e;--bg-input:#050506;--border:#27272a;--border-focus:#3f3f46;--text-100:#fafafa;--text-50:#71717a;--accent:#3b82f6;--accent-dim:#1e3a5f;--success:#22c55e;--error:#ef4444}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100dvh}body{background:var(--bg-base);color:var(--text-100);-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.4}.app{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.screen{width:100%;max-width:480px;margin:0 auto;padding:24px 16px 40px}.screen.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}h1,h2,h3{letter-spacing:-.02em;font-weight:600}h2{color:var(--text-100);font-size:16px}.muted{color:var(--text-50);margin:0;font-size:12px;line-height:1.5}.error{color:var(--error);margin:0;font-size:12px}.badge{width:48px;height:48px;color:var(--text-100);border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex}.badge.ok{background:var(--success)}.badge.bad{background:var(--error)}.swap-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:100%;padding:20px}.swap-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.swap-title{color:var(--text-50);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-100);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;font-size:13px;transition:border-color .12s;display:flex}.select:hover{border-color:var(--border-focus)}.select-icon{border-radius:50%;flex-shrink:0;width:20px;height:20px}.select-text{text-align:left;flex:1;font-weight:500}.select-arrow{color:var(--text-50);font-size:10px}.input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-100);outline:none;padding:14px 16px;font-family:inherit;font-size:20px;font-weight:500;transition:border-color .12s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-50)}.amount-usd{color:var(--text-50);margin-top:6px;padding:0 2px;font-size:11px}.swap-toggle{z-index:1;justify-content:center;margin:-8px 0;padding:4px 0;display:flex;position:relative}.swap-toggle-btn{background:var(--bg-panel);border:1px solid var(--border);width:36px;height:36px;color:var(--text-50);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .15s,border-color .15s,color .15s;display:flex}.swap-toggle-btn:hover{border-color:var(--border-focus);color:var(--text-100);transform:rotate(180deg)}.section-label{color:var(--text-50);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-size:11px;font-weight:600}.provider-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:100%;margin-top:16px}.provider-panel-header{color:var(--text-50);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;font-weight:600;display:flex}.provider-item{cursor:pointer;color:inherit;font:inherit;text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;transition:background .12s;display:flex}.provider-item:last-child{border-bottom:none}.provider-item:hover{background:var(--bg-input)}.provider-item.selected{background:var(--accent-dim)}.provider-left{align-items:center;gap:10px;display:flex}.provider-icon{border-radius:4px;width:20px;height:20px}.provider-name{font-size:13px;font-weight:600}.provider-right{text-align:right}.provider-amount{color:var(--text-100);font-size:14px;font-weight:600}.provider-meta{color:var(--text-50);margin-top:2px;font-size:11px}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-50);background:var(--bg-base);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.tag.best{color:#052e16;background:var(--success)}.tag.warn{color:#fef3c7;background:#92400e}.radio{border:2px solid var(--text-50);border-radius:50%;flex:none;width:16px;height:16px;transition:all .12s}.provider-item.selected .radio{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.quote-metrics{background:var(--bg-input);border:1px solid var(--border);flex-direction:column;gap:6px;margin-top:12px;padding:10px 12px;display:flex}.quote-metric{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.quote-metric-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-50);font-size:10px}.quote-metric-value{color:var(--text-100);text-align:right}.execute-btn{background:var(--accent);width:100%;color:var(--text-100);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s}.execute-btn:hover:not(:disabled){background:#2563eb}.execute-btn:disabled{background:var(--bg-input);color:var(--text-50);cursor:not-allowed}.status{color:var(--text-50);align-items:center;gap:6px;font-size:11px;display:flex}.status.live{color:var(--accent)}.status-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.skeleton{background:linear-gradient(90deg, var(--bg-input) 0, var(--border-focus) 50px, var(--bg-input) 100px);background-size:200px 100%;border-radius:4px;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.token-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.token-sheet{background:var(--bg-panel);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:70vh;display:flex}.token-sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.token-sheet-title{color:var(--text-50);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.token-sheet-close{color:var(--text-50);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px}.token-search{background:var(--bg-input);border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-100);outline:none;padding:12px 16px;font-family:inherit;font-size:13px}.token-search::placeholder{color:var(--text-50)}.token-list{flex:1;overflow-y:auto}.token-row{cursor:pointer;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-100);font:inherit;text-align:left;background:0 0;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.token-row:hover{background:var(--bg-input)}.token-row:last-child{border-bottom:none}.token-logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.token-info{flex:1;min-width:0}.token-sym{font-size:13px;font-weight:600}.token-name{color:var(--text-50);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.token-price{color:var(--text-50);text-align:right;flex-shrink:0;font-size:12px}.spinner{border:2px solid var(--text-50);border-top-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.spinner.small{vertical-align:-2px;border-width:2px;width:12px;height:12px;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:var(--bg-input);border-radius:2px;width:100%;height:3px;overflow:hidden}.progress-bar{background:var(--success);height:100%;transition:width .5s}.primary-btn{background:var(--accent);width:100%;color:var(--text-100);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;border-radius:8px;margin-top:16px;padding:14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s}.primary-btn:hover:not(:disabled){background:#2563eb}.primary-btn:disabled{background:var(--bg-input);color:var(--text-50);cursor:not-allowed}
