/* Shared presentation layer. No execution, balance or authentication changes. */
:root{--jamd-ease:cubic-bezier(.2,.8,.2,1);--jamd-focus:#65dfd0;--jamd-duration:180ms}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{transition:background-color var(--jamd-duration),border-color var(--jamd-duration),box-shadow var(--jamd-duration),transform var(--jamd-duration) var(--jamd-ease);touch-action:manipulation}
button:active:not(:disabled){transform:scale(.975)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--jamd-focus);outline-offset:3px}
input,textarea,select{transition:border-color var(--jamd-duration),box-shadow var(--jamd-duration);caret-color:var(--accent,#8b5cf6)}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #8b5cf61a}
input::placeholder,textarea::placeholder{opacity:.8}
.app{isolation:isolate;border-color:rgba(145,155,185,.18);box-shadow:0 28px 90px #0005}
.topbar{background:linear-gradient(115deg,rgba(139,92,246,.05),transparent 65%);border-bottom-color:rgba(145,155,185,.14)}
.sidebar{background:linear-gradient(180deg,rgba(139,92,246,.035),transparent 45%)}
.side-action,.pill-btn,.icon-btn{border-radius:12px}
.side-action{transition:background-color .18s,transform .18s var(--jamd-ease)}
.side-action:focus-visible{background:var(--accent-soft,#8b5cf620)}
.conversation-heading b{letter-spacing:-.03em}
.composer{box-shadow:0 -12px 32px #0000000c}
.message{animation:jamd-message-in .24s var(--jamd-ease) both}
.message pre{border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff08}
dialog[open]{animation:jamd-dialog-in .24s var(--jamd-ease) both;box-shadow:0 28px 100px #0006}
dialog::backdrop{background:rgba(3,7,15,.64);backdrop-filter:blur(5px)}
[role=tab]{transition:background-color .18s,color .18s,box-shadow .18s}
[role=tab][aria-selected=true]{box-shadow:inset 0 -2px var(--accent,#8b5cf6)}
[role=status]{line-height:1.6;overflow-wrap:anywhere}
details>summary{cursor:pointer;touch-action:manipulation}
details[open]>summary{margin-bottom:12px}
.card,.market-wallet-card{transition:border-color .2s,box-shadow .2s}
.market-wallet-card{font-variant-numeric:tabular-nums}
@media(hover:hover) and (pointer:fine){
 button:hover:not(:disabled){filter:brightness(1.08)}
 .side-action:hover{transform:translateX(2px)}
 .card:hover{border-color:#4a667d}
}
@media(max-width:600px){
 .top-actions{gap:6px}.pill-btn,.icon-btn{min-height:40px}
 dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
 input,textarea,select{font-size:16px}
}
body.light .app{box-shadow:0 24px 70px #27354a18}
body.light dialog::backdrop{background:rgba(24,35,55,.3)}
@keyframes jamd-message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes jamd-dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
[data-finance-motion=false] *,[data-finance-motion=false] *::before,[data-finance-motion=false] *::after{animation:none!important;transition:none!important}
