/* Curve workspace: compact controls, consistent rhythm, no forced card heights. */
:root{color-scheme:dark;--bg:var(--tp-n0b0b0c);--panel:var(--tp-n0b0b0c);--panel2:var(--tp-n0b0b0c);--line:var(--tp-n121214);--muted:var(--tp-n9a9aa3);--text:var(--tp-nf4f4f5);--accent:#FC6602}
body.relay-terminal{font-size:15px;background:var(--bg);line-height:1.5}
.app-header{height:66px;padding:0 26px;position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--tp-n0b0b0c) 96.1%, transparent);}
.app-header .brand{font-size:27px;letter-spacing:-1.2px}.app-header .mark{width:29px;height:29px}.app-header .chain-switch{border-radius:5px;padding:3px}.app-header .chain-switch a{font-size:12px;padding:6px 12px}.app-header .small-button{font-size:11px;padding:6px 11px}.header-help{font-size:11px}
body.relay-terminal main{max-width:1540px;padding:20px 26px 32px}.relay-terminal .heading{margin:10px 0 20px;align-items:center}.relay-terminal .heading h1{font-size:25px;letter-spacing:-.8px;margin:4px 0 6px}.relay-terminal .heading .subtitle{font-size:12px;margin:0;color:var(--muted)}.relay-terminal .heading .help{font-size:11px;max-width:690px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 0 5px}
.relay-terminal .strategy-tabs,.relay-terminal .rh-tabs{gap:4px;margin:0 0 18px;padding:0 0 12px;scrollbar-width:thin}.relay-terminal .strategy-tabs button,.relay-terminal .rh-tabs button{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:8px 12px;border-radius:4px;line-height:20px}.tool-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.relay-terminal .workspace{grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}body[data-workspace=tools] .workspace>.tool-setup-flow{display:block;min-width:0}.tool-setup-flow #config-fields{display:flex!important;flex-direction:column;gap:14px;padding:0;margin:0;border:0;min-width:0}body[data-workspace=tools] #config-fields>.card{margin:0}.account-connection-backing{display:none!important}
.relay-terminal .step{display:none}
.relay-terminal input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:var(--accent)}
body[data-workspace=tools] .tool-setup-flow .two-col,.relay-terminal .two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.relay-terminal .three-col{gap:12px}.relay-terminal .help{font-size:11px;line-height:1.65;margin:9px 0;color:var(--muted)}.relay-terminal .optional{font-size:10px;color:var(--muted)}.relay-terminal .check{font-size:11px;gap:8px;line-height:1.7}.relay-terminal .check span{color:var(--muted);font-size:10px}
.relay-terminal button{transition:background .15s,border-color .15s,color .15s}
.account-connection-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.account-connection-strip p{font-size:11px;color:var(--muted);margin:0}.account-connection-strip span{margin-left:10px;font-size:10px;color:var(--muted)}.account-connection-strip button{white-space:nowrap}
.relay-terminal details>summary{font-size:11px;cursor:pointer}.relay-terminal .advanced>summary{padding:0}.relay-terminal .advanced .details-content{padding:18px 0 0}.relay-terminal .advanced[open]{padding-bottom:18px}.relay-terminal .input-unit>span{font-size:10px}.relay-terminal .sizing-row{gap:18px;margin-top:12px}.relay-terminal .sizing-row p{font-size:11px;line-height:1.6}.relay-terminal .fee-settings{align-items:center;margin-top:12px}.relay-terminal .fee-total{font-size:11px;padding-top:12px;margin-top:16px}.relay-terminal .fee-total strong{font-size:13px}.relay-terminal .fee-total span{font-size:10px}.relay-terminal .run-bar{gap:12px;padding:14px;margin:14px 0 0;border-radius:5px}.relay-terminal .run-bar .primary{flex:1}.relay-terminal .run-bar .stop{font-size:12px;padding:8px 16px;border-radius:4px;min-height:37px}.relay-terminal .run-note,.relay-terminal .fee-note{font-size:10px;line-height:1.6;margin:8px 0 12px}.relay-terminal .preset-bar{gap:12px;font-size:10px;padding:12px 0;margin:0}.relay-terminal .preset-bar span{font-size:10px}.relay-terminal .live-mode{font-size:11px}.relay-terminal .run-status{padding:9px 12px;font-size:11px}.relay-terminal .run-status small{font-size:10px}.relay-terminal .run-overview{gap:8px;margin-bottom:14px}.relay-terminal .run-overview button{font-size:11px}
.relay-terminal .wallet-actions{gap:10px;flex-wrap:wrap;margin-top:12px}.relay-terminal .wallet{gap:10px;padding:12px}.relay-terminal .wallet-key{font-size:11px}.relay-terminal .wallet-address{font-size:9px}.relay-terminal .wallet-generation{gap:10px}.relay-terminal .rh-wallet-menu,.relay-terminal .manual-wallet-menu{padding:10px;margin:12px 0;border-radius:4px}.relay-terminal .rh-wallet-row{padding:9px 0;font-size:11px}.relay-terminal .rh-actions{gap:10px;margin:12px 0}.relay-terminal .rh-actions label{max-width:95px}#rh-tool-fields,#rh-advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#rh-tool-fields>label,#rh-advanced-fields>label{margin:0;min-width:0}#rh-tool-fields>label:has(textarea),#rh-tool-fields>label.check{grid-column:1/-1}#rh-tool-fields+details{margin-top:18px}#rh-advanced-fields{margin:14px 0}.relay-terminal .strategy-profiles{gap:8px}.relay-terminal .strategy-profiles button{padding:10px;font-size:11px}.relay-terminal .strategy-summary{font-size:11px;padding:10px}
.relay-terminal .position-summary{gap:9px}.relay-terminal .position-summary strong{font-size:18px}.relay-terminal .position-summary span,.relay-terminal .position-summary small{font-size:9px}.relay-terminal .event{padding:12px 0;font-size:11px;gap:12px}.relay-terminal .event time{font-size:9px}.relay-terminal .event p{margin:6px 0;line-height:1.6}.relay-terminal .level{font-size:9px}.relay-terminal .metric strong{font-size:30px}.relay-terminal .metric span{font-size:11px}.relay-terminal .stats strong{font-size:20px}.relay-terminal .stats span{font-size:9px}.relay-terminal .aside-note{font-size:11px;padding:12px}.relay-terminal .aside-note p{font-size:10px}.relay-terminal .empty{padding:22px 10px;font-size:11px}.relay-terminal .manual-side{margin:12px 0}.relay-terminal .manual-side button{padding:8px;font-size:12px}.relay-terminal .manual-preview{font-size:11px}.relay-terminal .manual-percent button{font-size:11px;padding:6px}.relay-terminal #events{max-height:440px}
.terminal-search-heading{display:grid;grid-template-columns:minmax(280px,1fr) minmax(380px,1.2fr);column-gap:28px;align-items:center;margin:6px 0 14px}.terminal-search-heading .terminal-heading{margin:0;display:block}.terminal-heading h1{font-size:26px;margin:4px 0 7px;letter-spacing:-.8px}.terminal-heading .subtitle{font-size:12px}.terminal-search-heading .terminal-live{display:inline-flex;margin-top:12px;font-size:9px;padding:4px 8px;border-radius:5px}.terminal-search-heading #token-feedback{grid-column:2;margin:6px 0;min-height:18px;font-size:10px}.token-search>label{font-size:10px;margin-bottom:7px}.token-search>div{padding:6px 7px 6px 12px;gap:8px;border-radius:5px}.token-search input{font-size:12px}.token-search .primary{min-height:34px;font-size:11px}.token-search>div>span{font-size:20px}.terminal-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.market-heading{padding:16px 18px 12px}.market-heading .eyebrow{font-size:8px}.market-heading h2{font-size:16px!important}.muted-address{font-size:9px}.market-metrics{min-height:66px}.market-metrics:empty{display:none}.market-metrics>div{padding:11px 16px}.market-metrics span{font-size:9px}.market-metrics strong{font-size:15px}.chart-toolbar{padding:8px 14px}.chart-toolbar label{font-size:10px}.chart-toolbar select{font-size:10px;padding:5px 9px;min-height:30px}.chart-status{font-size:9px!important;margin:7px 0 0!important}.chart-refresh{font-size:10px!important;padding:4px 14px}.token-chart{height:380px}.chart-empty strong{font-size:14px}.chart-empty p{font-size:11px}.chart-empty span{font-size:42px;margin-bottom:14px}.market-credit{font-size:9px;padding:8px 14px}.market-tabs{padding:0 16px;gap:20px}.market-tabs button{font-size:11px;padding:13px 0 11px}.detail-heading{padding:10px 16px}.terminal-table td,.terminal-table th{padding:10px 14px}.terminal-table{font-size:11px}.terminal-empty{font-size:11px;padding:26px 14px}.terminal-rail .card{padding:16px}.terminal-rail .card h2{font-size:13px}.terminal-rail .bot-row{padding:12px 0}.bot-row strong{font-size:11px}.bot-row small{font-size:9px}.bot-state{font-size:8px}.terminal-rail .two-col{grid-template-columns:1fr}.market-switch-link{display:inline-block;margin-left:8px;color:var(--accent);font-weight:600;text-decoration:none}
.relay-terminal .account-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:90dvh;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);box-shadow:0 28px 90px color-mix(in srgb, var(--tp-n000000) 60%, transparent)}.account-dialog::backdrop{background:color-mix(in srgb, var(--tp-n0b0b0c) 78.8%, transparent);}.account-dialog>.card-heading{margin-bottom:18px}.account-dialog h2{font-size:19px}.account-dialog h3{font-size:14px;letter-spacing:-.2px}.account-tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin-bottom:18px}.account-tabs :is(button,a){border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:8px 0 12px;font-size:12px;cursor:pointer;text-decoration:none;white-space:nowrap}.account-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.account-overview .account-section{padding:16px 0}.account-overview .account-username,#rh-username{font-size:16px;margin:0 0 14px}.account-overview .account-address{font-size:11px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--inset)}.account-overview .account-actions{gap:8px;flex-wrap:wrap}.account-overview .account-footer{margin-top:16px}.account-dialog label{margin-bottom:10px}.account-dialog input{width:100%}.account-dialog input[type=checkbox]{width:15px}.connections-intro h3{font-size:19px;margin:5px 0 8px}.connections-intro .help{max-width:620px}.connection-chains{display:flex;gap:8px;margin:18px 0}.connection-chains button{flex:1;padding:9px}.connection-chains button[aria-pressed=true]{border-color:var(--muted);background:var(--tp-n1f1f23);color:var(--accent)}.connection-group{border-top:1px solid var(--line);padding:15px 0}.connection-group h4{font-size:12px;margin:0 0 12px}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.connection-field{min-width:0;margin:0!important}.connection-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.connection-badge{font-size:9px;color:var(--muted);font-weight:400}.connection-input{display:flex;align-items:center;gap:8px;min-width:0}.connection-input input,.connection-input select{width:100%;min-width:0}.connection-input button{font-size:10px;white-space:nowrap}.connection-field>.help{display:block;margin:7px 0 0;font-size:10px;font-weight:400}.connection-check{display:flex;align-items:start;gap:8px;flex-wrap:wrap}.connection-check>span{flex:1;margin:0}.connection-check>.help{flex-basis:100%}.connection-check input{margin-top:2px}.connection-group[open] summary{margin-bottom:14px}.connection-actions{display:flex;align-items:center;gap:16px;margin:14px 0}.connection-status{min-height:20px}.hosted-data-note{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:12px 14px;margin-top:18px}.hosted-data-note strong{font-size:11px;color:var(--accent)}.hosted-data-note .help{margin:5px 0 0;font-size:10px}
.relay-terminal footer{font-size:9px;padding:18px 26px}.sessions-layout{gap:16px}.session-user{padding:12px;font-size:12px}.session-facts strong{font-size:23px}
@media(min-width:1100px){body[data-workspace=tools] .workspace>aside{position:sticky;top:84px;max-height:calc(100dvh - 102px);overflow:auto;scrollbar-width:thin;padding-right:2px}.tool-setup-flow .card .two-col{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.terminal-search-heading{grid-template-columns:1fr;gap:16px}.terminal-search-heading #token-feedback{grid-column:1;margin-top:-8px}.terminal-search-heading .terminal-heading{display:flex;align-items:center}.terminal-search-heading .terminal-live{margin:0}.terminal-grid{grid-template-columns:minmax(0,1fr) 290px}.relay-terminal .workspace{grid-template-columns:minmax(0,1fr) 300px}.account-connection-strip span{display:none}}
@media(max-width:850px){.app-header{min-height:100px;height:auto;padding:12px 20px;row-gap:10px}.app-header .brand{font-size:25px}.relay-terminal .workspace,.terminal-grid{grid-template-columns:1fr}.terminal-rail{display:grid;grid-template-columns:1fr 1fr;gap:14px}.relay-terminal .three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.relay-terminal .workspace>aside{position:static;max-height:none;overflow:visible}}
@media(max-width:560px){body.relay-terminal main{padding:14px 12px 24px}.app-header{padding:12px;gap:10px}.app-header .local{gap:6px}.app-header .small-button{max-width:136px}.app-header .chain-switch{max-width:100%}.app-header .chain-switch a{font-size:11px}.relay-terminal .heading{margin:4px 0 16px;display:block}.relay-terminal .heading h1{font-size:23px}.relay-terminal .run-status{margin-top:12px}.relay-terminal .strategy-tabs button,.relay-terminal .rh-tabs button{padding:7px 10px;font-size:11px;gap:6px}.tool-icon{width:14px;height:14px}.relay-terminal .two-col,body[data-workspace=tools] .tool-setup-flow .two-col{grid-template-columns:1fr}.relay-terminal .three-col{gap:8px}.relay-terminal .three-col label{font-size:10px}.relay-terminal .run-bar{gap:8px}.relay-terminal .live-mode{flex-basis:100%}.account-connection-strip{padding:10px;font-size:10px}.account-connection-strip button{font-size:10px}.terminal-heading h1{font-size:23px}.terminal-heading .subtitle{font-size:11px}.terminal-search-heading .terminal-live{display:none}.terminal-search-heading{gap:12px;margin:2px 0 12px}.terminal-rail{display:block}.token-chart{height:320px}.market-metrics{grid-template-columns:1fr 1fr}.market-metrics>div{padding:10px 13px}.market-metrics strong{font-size:14px}.chart-toolbar{padding:9px 12px}.chart-toolbar select{font-size:10px;min-height:28px}.relay-terminal .market-card,.relay-terminal .market-detail{padding:0}.token-search input{font-size:12px;min-width:0}.token-search .primary{font-size:10px;padding:7px}.token-search>div>span{display:none}.token-search+ .help{font-size:10px}.relay-terminal .account-dialog{padding:17px;width:calc(100vw - 20px);max-height:92dvh}.connection-grid{grid-template-columns:1fr}.connection-group{padding:13px 0}.account-overview .account-actions>*{font-size:10px}.connections-intro h3{font-size:18px}.connection-actions .primary{flex:1}#rh-tool-fields,#rh-advanced-fields{grid-template-columns:1fr}.relay-terminal .preset-bar{gap:10px}.relay-terminal .preset-bar span{flex-basis:100%}.market-switch-link{margin:5px 0;display:block}.relay-terminal footer{font-size:9px;padding:15px 12px;gap:12px}}

.connection-provider-link{display:inline-block;margin-top:8px;color:var(--accent);font-size:11px;text-decoration:none}.connection-provider-link:hover{text-decoration:underline}#token-feedback .text-button,#chart-context .text-button{margin-left:10px}.tutorial{max-width:980px!important}.tutorial>p{font-size:14px}.tutorial .card{padding:22px}.tutorial li,.tutorial .card p,.tutorial dd{font-size:13px;line-height:1.8}

/* Profile menu shares the signed-in header control across every page. */
body[data-navigation=top] .header-profile-menu{position:relative;flex:0 0 auto;min-width:0}
body[data-navigation=top] .header-profile-menu>.header-account{cursor:pointer}
body[data-navigation=top] .header-account-chevron{width:12px;height:12px;flex:0 0 12px;opacity:.75}
body[data-navigation=top] .header-profile-dropdown{position:absolute;z-index:45;right:0;top:calc(100% + 10px);width:220px;max-width:calc(100vw - 24px);padding:6px;border:1px solid color-mix(in srgb, var(--tp-nffffff) 8.6%, transparent);border-radius:8px;background:var(--glass-bg,color-mix(in srgb, var(--tp-n0b0b0c) 80%, transparent));box-shadow:var(--shadow-elevated,0 18px 50px color-mix(in srgb, var(--tp-n000000) 80%, transparent));transform-origin:100% 0;animation:curve-menu-in 200ms var(--motion-ease,ease)}
@keyframes curve-menu-in{from{opacity:0;transform:translateY(-6px) scale(.98)}}
body[data-navigation=top] .header-profile-dropdown[hidden]{display:none!important}
body[data-navigation=top] .app-header .header-profile-dropdown>:is(a,button){display:flex;align-items:center;width:100%;box-sizing:border-box;min-height:40px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--text);font:500 14px var(--sans);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}
body[data-navigation=top] .app-header .header-profile-dropdown>:is(a,button):hover{background:var(--hover,var(--tp-n18181b));color:var(--text)}body[data-navigation=top] .app-header .header-profile-dropdown>:is(a,button):focus-visible{background:var(--hover,var(--tp-n18181b));color:var(--text);outline:2px solid var(--sunrise-gold,#FF8E4A);outline-offset:-2px}
body[data-navigation=top] .app-header .header-profile-dropdown>button:disabled{cursor:wait;opacity:.6}
body[data-navigation=top] .app-header .header-profile-message{margin:4px 0 0;padding:6px 14px;color:var(--danger,#ff8fa3);font:400 12px/1.5 var(--sans);white-space:normal}
body[data-navigation=top] .header-profile-menu>[aria-expanded=true]{border-color:var(--tp-n4a4a53);background:var(--tp-n18181b)}
@media(max-width:640px){body[data-navigation=top] .header-profile-dropdown{width:210px;top:calc(100% + 10px)}body[data-navigation=top] .app-header .header-profile-dropdown>:is(a,button){min-height:44px}}
@media(prefers-reduced-motion:reduce){body[data-navigation=top] .header-profile-dropdown{animation:none}}

/* ===== v71.26 design system (makeover v2), base sizes. Specificity stays at (0,2,0)/(0,1,1) so page CSS
   loaded after this file can resize a control with an equal selector; brand colours live in curve-theme.css.
   Spec: DESIGN-SYSTEM.md (tokens --control-h*, --input-h, --radius-*, --space-*, --card-pad in curve-theme.css).
   Buttons 40px (36 small, 48 large CTA), inputs 44px, cards 18px radius with 24px padding (18 on phones). ===== */
.relay-terminal .primary{height:auto;min-height:var(--control-h,40px);padding:8px 18px;gap:8px;justify-content:center;border-radius:var(--radius-control,12px);font-size:14px;font-weight:600;line-height:1.2;letter-spacing:0;text-decoration:none}
.relay-terminal .small-button{min-height:var(--control-h,40px);padding:8px 16px;border-radius:var(--radius-control,12px);font-size:14px;font-weight:600;line-height:1.2;letter-spacing:0;text-decoration:none}
.relay-terminal :where(a.small-button){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.relay-terminal .text-button{min-height:0;padding:0;border:0;background:none;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer}
.relay-terminal .cv-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h,40px);padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-control,12px);background:transparent;color:var(--muted);font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer}
.relay-terminal :is(.primary,.small-button,.cv-ghost).cv-lg{min-height:var(--control-h-lg,48px);padding:11px 24px;font-size:16px}
.relay-terminal :is(.primary,.small-button,.cv-ghost).cv-sm{min-height:var(--control-h-sm,36px);padding:6px 13px;font-size:13px;border-radius:6px}
.relay-terminal :is(.primary,.small-button,.cv-ghost).cv-icon{width:var(--control-h,40px);min-width:var(--control-h,40px);padding:0;flex:0 0 auto}
.relay-terminal :is(.primary,.small-button,.cv-ghost).cv-icon.cv-sm{width:var(--control-h-sm,36px);min-width:var(--control-h-sm,36px)}
.relay-terminal label{font-size:13px;font-weight:500;line-height:1.5}
.relay-terminal :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden],[type=color],[type=button],[type=submit],[type=image])),select,textarea){min-height:var(--input-h,44px);padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius-control,12px);background:var(--inset);color:var(--text);font-size:15px;line-height:1.4}
.relay-terminal textarea{min-height:96px;padding:11px 14px;line-height:1.5}
.relay-terminal :is(input,textarea)::placeholder{color:var(--tp-n7a7a85);opacity:1}
.relay-terminal .card{padding:var(--card-pad,24px);margin-bottom:var(--space-5,20px);border:1px solid var(--line-card,var(--line));border-radius:var(--radius-card,18px);background:var(--panel);box-shadow:var(--shadow-card,none)}
.relay-terminal .card-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3,12px);margin-bottom:var(--space-5,20px)}
.relay-terminal .card h2{margin:0;font-size:var(--text-card,17px);font-weight:600;letter-spacing:-.012em;line-height:1.3}
.relay-terminal .count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb, var(--tp-nffffff) 3.9%, transparent);color:var(--muted);font:600 12px/1 var(--sans);letter-spacing:0;font-variant-numeric:tabular-nums}
.relay-terminal .tag{font-size:12px;letter-spacing:.02em;color:var(--muted)}
@media(max-width:640px){.relay-terminal .card{padding:var(--card-pad,18px)}}
.relay-terminal .help{font-size:13px;line-height:1.6}.relay-terminal .heading .subtitle,.terminal-heading .subtitle{font-size:15px}.relay-terminal .heading .help{font-size:13px}.eyebrow{font-size:12px;letter-spacing:.08em}.relay-terminal .heading{min-height:0}
