:root{--bg:#07070b;--panel:#0f0f17;--panel2:#13131d;--line:#23232f;--txt:#f4f4f7;--mut:#8b8ba3;--p:#9945FF;--g:#14F195;--b:#00C2FF;--bad:#ff4d6d;--grad:linear-gradient(90deg,#9945FF,#14F195)}
/* safety checks + spoken confirmation on the order ticket */
.safety{margin:8px 0;padding:8px 10px;border-radius:8px;border:1px solid #2a2a38;font-size:13px}
.safety.ok{border-color:#14F19566}.safety.warn{border-color:#ffb02e;background:#ffb02e14}.safety.danger{border-color:#ff4d6d;background:#ff4d6d1a}
.safety .flag{margin-top:4px}.safety .flag.danger{color:#ff8fa3}.safety .flag.warn{color:#ffcf7a}
.phrase{margin:8px 0;padding:8px 10px;border:1px dashed #2a2a38;border-radius:8px}.phrase .ok{color:#14F195}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(900px 500px at -5% -10%,rgba(153,69,255,.18),transparent 60%),radial-gradient(800px 500px at 105% 0,rgba(20,241,149,.10),transparent 55%),var(--bg);color:var(--txt);font:14px/1.5 Inter,system-ui,-apple-system,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}
header{display:flex;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line);background:rgba(7,7,11,.75);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.logo{width:34px;height:34px;border-radius:9px;box-shadow:0 0 14px rgba(153,69,255,.55),0 0 0 1px rgba(0,194,255,.35)}
.mark{display:inline-flex;flex-direction:column;gap:3px;width:22px}.mark i{display:block;height:5px;border-radius:1px;background:var(--grad);transform:skewX(-25deg)}.mark i:nth-child(2){transform:skewX(25deg)}
.net{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--g);border:1px solid rgba(20,241,149,.35);border-radius:999px;padding:1px 8px}
.grow{flex:1}.auth{display:flex;gap:6px;align-items:center}
.badge{border:1px solid rgba(153,69,255,.5);color:#c9a6ff;border-radius:999px;padding:3px 11px;font-size:11px;font-weight:600;letter-spacing:.08em}
main{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.6fr) minmax(310px,1fr);gap:16px;padding:18px 22px}
@media(max-width:1100px){main{grid-template-columns:1fr}}
.col{display:flex;flex-direction:column;gap:16px;min-width:0}
.card{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.card:hover{border-color:#2f2f3e}
.card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
h2{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c8c8d8}
.row{display:flex;gap:8px;align-items:center;margin:6px 0;flex-wrap:wrap}.row input{flex:1;min-width:0}.row.center{justify-content:center}
button,.filebtn{background:var(--grad);border:0;color:#07070b;border-radius:10px;padding:9px 15px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer;transition:filter .15s,transform .05s}
button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:disabled{opacity:.35;cursor:not-allowed;filter:none}
.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}.ghost:hover{border-color:var(--p)}
.login-btn{background:linear-gradient(90deg,#9945FF 0%,#7962e7 35%,#19FB9B 100%);color:#fff;font-weight:700;letter-spacing:.2px;padding:9px 18px;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 6px 20px -8px rgba(153,69,255,.7);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.login-btn:hover{filter:brightness(1.12);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 8px 26px -8px rgba(25,251,155,.6)}
.login-btn[aria-busy=true]{opacity:.7;cursor:progress}
.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:999px;background:linear-gradient(#0d0d14,#0d0d14) padding-box,linear-gradient(90deg,#9945FF,#19FB9B) border-box;border:1px solid transparent;font:600 13px Inter,system-ui,sans-serif;color:var(--txt)}
.user-chip[hidden]{display:none}.user-chip .dot{width:8px;height:8px;border-radius:50%;background:#19FB9B;box-shadow:0 0 8px #19FB9B}
.user-chip #privyAddr{cursor:pointer}.ghost.sm{padding:5px 11px;border-radius:999px;font-size:12px}
.wallet{background:transparent;color:var(--txt);border:1px solid transparent;background-image:linear-gradient(var(--panel),var(--panel)),var(--grad);background-origin:border-box;background-clip:padding-box,border-box}
.small{font-size:12px}.muted{color:var(--mut)}
input,select{background:#0a0a11;border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:9px 11px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(153,69,255,.18)}
.pill{font-size:11px;padding:3px 9px;border-radius:999px;background:#1a1a26;color:var(--mut);font-weight:600}.pill.on{background:var(--grad);color:#07070b}
.orbwrap{display:flex;justify-content:center;padding:10px 0 6px}
.orb{width:112px;height:112px;border-radius:26px;padding:3px;background:conic-gradient(from var(--a,0deg),#9945FF,#00C2FF,#14F195,#9945FF);opacity:.7;transition:opacity .3s,box-shadow .3s,transform .2s;animation:spin 8s linear infinite}
.orb img{width:100%;height:100%;border-radius:23px;display:block;background:#07070b;object-fit:cover}
.orb.live{opacity:1;box-shadow:0 0 34px rgba(153,69,255,.5),0 0 60px rgba(0,194,255,.25)}
.orb.talk{animation:spin 1.6s linear infinite,pulse .9s ease-in-out infinite;box-shadow:0 0 44px rgba(20,241,149,.45),0 0 80px rgba(153,69,255,.4)}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes pulse{50%{transform:scale(1.06)}}
@keyframes spin{to{--a:360deg}}
.ptt{background:linear-gradient(90deg,#00C2FF,#14F195)}.ptt.down{box-shadow:0 0 0 3px rgba(20,241,149,.4)}
.toggle{display:flex;gap:6px;align-items:center;color:var(--mut)}
.meter{height:4px;background:#1a1a26;border-radius:4px;overflow:hidden}#meterBar{height:100%;width:0;background:var(--grad)}
.transcript{height:200px;overflow:auto;background:#0a0a11;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px}
.msg{margin:4px 0}.msg.you{color:var(--b)}.msg.agent{color:var(--txt)}.msg.sys{color:var(--mut);font-size:12px}
.toollog{font-size:12px;color:var(--mut);max-height:90px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
canvas{width:100%;border-radius:12px;background:#0a0a11;border:1px solid var(--line);margin-top:8px}
.results{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#14141f;border:1px solid var(--line);border-radius:999px;padding:4px 11px;cursor:pointer;font-size:12px}.chip:hover{border-color:var(--g)}
.quoteline{display:flex;gap:14px;align-items:baseline;margin-top:10px}#sym{font-weight:700;font-size:18px}#px{font-size:28px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tf.on{border-color:var(--g);color:var(--g)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.stats div{background:#0a0a11;border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column}.stats b{font-size:15px}
table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}th,td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:right}th{color:var(--mut);font-weight:600}th:first-child,td:first-child{text-align:left}
.pos{color:var(--g)}.neg{color:var(--bad)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid2 label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mut)}.span2{grid-column:span 2}
.grid2 input,.grid2 select{width:100%;min-width:0}
.ticket{margin-top:12px;border:1px solid transparent;border-radius:14px;padding:14px;background:linear-gradient(#0c0c14,#0c0c14) padding-box,var(--grad) border-box}
.ticket.empty{background:#0a0a11;border:1px dashed var(--line);color:var(--mut);font-size:12px}
.ticket .big{font-size:20px;font-weight:800}.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:10px 0 0;font-size:12px}.ticket dt{color:var(--mut)}.ticket dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.route{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g);border:1px solid rgba(20,241,149,.35);border-radius:999px;padding:2px 9px}
.confirm{flex:1;padding:11px}
.risk{font-size:12px;color:var(--mut);border-color:rgba(153,69,255,.3)}
.err{color:var(--bad)}#visionOut{max-height:220px;overflow:auto;white-space:pre-wrap;margin-top:6px}
.dlg{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:16px;padding:20px;width:min(380px,92vw)}.dlg::backdrop{background:rgba(0,0,0,.6)}.dlg input{width:100%;margin:6px 0}
a{color:var(--b)}

.login-btn[aria-busy="true"]{opacity:.75;cursor:progress}.login-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){header{padding:10px 12px;gap:8px}header .grow{display:none}.brand{width:100%}.auth{order:3}.wallet{order:4}.login-btn,.wallet{white-space:nowrap}.brand span:not(.net){font-size:15px}#mode{order:5;width:100%;text-align:center}.auth,.wallet{flex:1}.login-btn,.wallet{width:100%}
.user-chip{width:100%;justify-content:space-between}#privyAddr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw}main{padding:12px}}
.admin{margin:0 22px 16px}
.ac select{background:#0a0a11;color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font:500 12px Inter,system-ui,sans-serif;flex:1}
.ro{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--g);border:1px solid rgba(20,241,149,.35);border-radius:999px;padding:2px 8px}
.tabs{display:flex;gap:4px;overflow:auto;margin:4px 0}.tabs .tab{font:500 11px ui-monospace,Menlo,monospace;background:#0a0a11;border:1px solid var(--line);color:var(--mut);border-radius:8px 8px 0 0;padding:4px 9px;white-space:nowrap;cursor:pointer}.tabs .tab.on{color:var(--txt);border-color:var(--p);box-shadow:inset 0 -2px 0 var(--g)}
.urlbar input{font:12px ui-monospace,Menlo,monospace;background:#0a0a11}.quick{gap:6px}.filebtn.sm{padding:5px 11px;border-radius:999px;font-size:12px}
.viewport{position:relative}.viewport iframe{width:100%;aspect-ratio:16/10;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:#0a0a11}
.aclog{max-height:110px;border-top:1px dashed var(--line);padding-top:6px;margin-top:6px}.aclog div::before{content:"› ";color:var(--p)}
.strip{margin-top:8px;font:11px ui-monospace,Menlo,monospace;color:var(--g);background:#05050a;border:1px solid rgba(20,241,149,.25);border-radius:8px;padding:6px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.foot{text-align:center;color:var(--mut);font-size:12px;padding:10px 22px 24px}.foot a{color:#c9a6ff}
#acLiveWrap{pointer-events:none}

/* voice agent polish: live captions, thinking ring, reactive orb */
.caption{margin:.4rem auto 0;max-width:34rem;min-height:1.4em;text-align:center;font-size:.95rem;line-height:1.35;opacity:.92;
  padding:.35rem .6rem;border-radius:.6rem;background:rgba(0,0,0,.35)}
.orb{transition:transform 60ms linear;box-shadow:0 0 calc(8px + var(--lvl,0)*60px) rgba(255,120,60,calc(.25 + var(--lvl,0)))}
.orb.thinking{animation:clawdThink 1.1s ease-in-out infinite}
@keyframes clawdThink{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35) hue-rotate(20deg)}}
.tape{display:flex;gap:.6rem;align-items:center;overflow:hidden;white-space:nowrap;font-variant-numeric:tabular-nums;margin:.4rem 0;
  padding:.3rem .5rem;border-radius:.5rem;background:rgba(255,255,255,.03)}
.tape.off{opacity:.45}.tape .up{color:#3ee08f}.tape .dn{color:#ff5d7a}
.tapebar{display:inline-block;width:4rem;height:.4rem;border-radius:.2rem;background:#ff5d7a;overflow:hidden}.tapebar i{display:block;height:100%;background:#3ee08f}
.ticket table.alts{width:100%;margin-top:10px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.ticket table.alts th,.ticket table.alts td{padding:3px 4px;text-align:right;border-top:1px solid var(--line)}.ticket table.alts th:first-child,.ticket table.alts td:first-child{text-align:left}.ticket table.alts th{color:var(--mut);font-weight:600}.ticket tr.chosen td{font-weight:700}.ticket .badge{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--grad);color:#000}

/* ---- Agent wallet desk (replaces ElevenLabs text chat + devnet transfer) ---- */
.agent-desk{overflow:hidden}
.guide{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 12px;flex-wrap:wrap}
.guide li{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:4px 9px;opacity:.55;transition:opacity .2s,border-color .2s,color .2s}
.guide li.on{opacity:1;color:var(--g);border-color:rgba(20,241,149,.45)}
.guide li.done{opacity:.85;color:#c9a6ff;border-color:rgba(153,69,255,.4)}
.agent-setup{margin-bottom:10px}
.addr-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.addr{font:12px ui-monospace,Menlo,monospace;background:#0a0a11;border:1px solid var(--line);border-radius:10px;padding:8px 10px;word-break:break-all}
.agent-tabs{margin:10px 0 8px}
.agent-panel{animation:fadein .25s ease}
.agent-stats{grid-template-columns:repeat(2,1fr)}
@media(min-width:420px){.agent-stats{grid-template-columns:repeat(4,1fr)}}
.token-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}
.token-row{display:flex;justify-content:space-between;gap:8px;background:#0a0a11;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px}
.token-row .sym{font-weight:700}
.fund-block{border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0;background:#0a0a11}
.subh{margin:0 0 6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#c8c8d8}
.fund-addr{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.fund-qr{width:132px;height:132px;margin-top:8px;border-radius:12px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--mut);font-size:11px;background:#05050a}
.fund-qr canvas,.fund-qr img{width:120px;height:120px;border-radius:8px}
@keyframes fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .orb{animation:none!important}
  .agent-panel{animation:none}
  button,.filebtn{transition:none}
}
.empty-state{padding:18px 10px;text-align:center;color:var(--mut);font-size:12px;border:1px dashed var(--line);border-radius:12px;margin-top:8px}

/* Verified wallet states: keyboard-visible controls and readable multi-source addresses. */
.agent-desk :focus-visible{outline:2px solid #14f195;outline-offset:4px}
.agent-desk .tabs{flex-wrap:wrap;gap:.35rem}
.agent-desk .addr{overflow-wrap:anywhere;white-space:normal;user-select:all}
.deposit-account{border:1px solid var(--line,#34414a);border-radius:10px;padding:1rem;margin:.75rem 0}
.deposit-account h4{margin:0 0 .5rem}.deposit-account code{display:block;margin:.6rem 0}
.agent-desk [role=status],.agent-desk [role=alert]{overflow-wrap:anywhere}
.agent-desk button:disabled{cursor:not-allowed;opacity:.55}
@media(prefers-reduced-motion:reduce){.agent-desk *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
