*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=dark]{--bg: #010101;--surface: rgba(255, 255, 255, .08);--surface-2: rgba(255, 255, 255, .12);--surface-3: rgba(255, 255, 255, .16);--border: rgba(255, 255, 255, .14);--primary: #ffffff;--primary-hover: #f2f2f2;--primary-fg: #010101;--secondary: rgba(255, 255, 255, .12);--secondary-hover: rgba(255, 255, 255, .16);--text: #ffffff;--text-muted: rgba(255, 255, 255, .6);--ring: rgba(255, 255, 255, .25);--success: #4ade80;--info: #60a5fa;--warning: #fbbf24;--error: #ef4444;color-scheme:dark}[data-theme=light]{--bg: #fafafa;--surface: rgba(0, 0, 0, .04);--surface-2: rgba(0, 0, 0, .06);--surface-3: rgba(0, 0, 0, .08);--border: rgba(0, 0, 0, .1);--primary: #111111;--primary-hover: #222222;--primary-fg: #ffffff;--secondary: rgba(0, 0, 0, .08);--secondary-hover: rgba(0, 0, 0, .12);--text: #111111;--text-muted: rgba(0, 0, 0, .6);--ring: rgba(0, 0, 0, .2);--success: #16a34a;--info: #2563eb;--warning: #d97706;--error: #dc2626;color-scheme:light}body{font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app{max-width:1440px;margin:0 auto;padding:1.5rem 1rem 3rem;min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 1.5rem}.brand{display:flex;align-items:center;gap:.75rem}.header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.network-badge{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.4rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.top-nav{display:flex;gap:.5rem;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:999px}.nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:600;padding:.55rem .9rem;border-radius:999px;transition:background .15s,color .15s,transform .15s}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link:active{transform:scale(.98)}.nav-link.active{background:var(--surface-3);color:var(--text)}.nav-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.main{flex:1;display:grid;grid-template-columns:1fr;gap:1rem}.main-left,.main-right{display:flex;flex-direction:column;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 24px 60px #00000073}.card h2{font-size:1.125rem;margin-bottom:.75rem;color:var(--text)}.card h3{font-size:1rem;margin-bottom:.5rem}.card p{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.card.warning{border-color:var(--warning)}.card.connected{border-color:var(--success)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:10px;font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;text-decoration:none;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:var(--primary-fg);box-shadow:0 2px 8px #00000040,inset 0 1px #ffffff40}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 100%);box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff59;transform:translateY(-1px)}.btn-secondary{background:var(--secondary);color:var(--text);border:1px solid var(--border);box-shadow:0 2px 6px #0003}.btn-secondary:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--ring);box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--surface);border-color:var(--ring)}.btn-small{padding:.6rem 1.1rem;font-size:.8rem;border-radius:8px}.btn-action{width:100%;padding:1rem 1.5rem;font-size:.95rem;border-radius:12px;text-transform:none;letter-spacing:.01em}.error{color:var(--error);margin-top:1rem;font-size:.875rem}.key-display{margin:1rem 0}.key-display label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.key-value{display:flex;align-items:center;gap:.75rem;background:#ffffff0f;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border)}.key-value code{flex:1;font-family:SF Mono,Monaco,monospace;font-size:.9rem}.actions{display:flex;gap:.75rem;margin-top:1rem}.contract-list{list-style:none;font-size:.875rem;color:var(--text-muted);margin:0;padding:0}.contract-list li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8rem}.contract-list .contract-label{color:var(--text-muted);min-width:3.5rem}.contract-list code{font-family:SF Mono,Monaco,monospace;color:var(--text);background:#ffffff0f;padding:.2rem .4rem;border-radius:4px;font-size:.75rem}.contract-list .link-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:#ffffff14;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);text-decoration:none;font-size:.7rem;transition:all .15s}.contract-list .link-btn:hover{background:#ffffff1f;color:var(--info);border-color:var(--info)}.input-group{margin-bottom:1rem}.input-group label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.input-row{display:flex;align-items:center;gap:.5rem}.input-row input{flex:1;min-width:0;padding:.75rem 1rem;background:#ffffff0f;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-family:SF Mono,Monaco,monospace;transition:border-color .2s,box-shadow .2s}.input-row input:focus{outline:none;border-color:#ffffff4d;box-shadow:0 0 0 4px var(--ring)}.input-row input:disabled{opacity:.5}.input-row.input-error input{border-color:var(--error);box-shadow:0 0 0 3px #ef44442e}.input-row .btn-max{padding:.5rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#ffffff14;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s;white-space:nowrap}.input-row .btn-max:hover:not(:disabled){background:#ffffff1f;color:var(--text);border-color:#fff3}.input-row .btn-max:disabled{opacity:.4;cursor:not-allowed}.input-row .input-unit{font-size:.875rem;color:var(--text-muted);font-weight:500;min-width:50px}.input-group input{width:100%;padding:.75rem 1rem;background:#ffffff0f;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-family:SF Mono,Monaco,monospace;transition:border-color .2s,box-shadow .2s}.input-group input:focus{outline:none;border-color:#ffffff4d;box-shadow:0 0 0 4px var(--ring)}.input-group input:disabled{opacity:.5}.input-suffix{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem;text-align:right}.leverage-selector{display:flex;gap:.5rem}.leverage-btn{flex:1;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.leverage-btn:hover:not(:disabled){border-color:var(--primary)}.leverage-btn.active{background:var(--primary);border-color:var(--primary)}.leverage-btn:disabled{opacity:.5;cursor:not-allowed}.btn-group{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.btn-group .btn{width:100%}.btn-group.single{grid-template-columns:1fr}.divider{height:1px;background:#ffffff1a;margin:1rem 0}.hint{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.tx-status-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.step-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.step{display:flex;flex-direction:column;gap:.5rem}.step-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.balance-display{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;background:#ffffff0f;border-radius:8px;border:1px solid var(--border);font-size:.875rem}.balance-display span{color:var(--text-muted)}.balance-display strong{font-family:SF Mono,Monaco,monospace}.balances{margin-bottom:1rem}.balance-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.balance-row:last-child{border-bottom:none}.balance-row span{color:var(--text-muted)}.balance-row strong{font-family:SF Mono,Monaco,monospace}.info-row{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0 1rem;padding:.75rem 1rem;background:#ffffff0f;border-radius:8px;border:1px solid var(--border);font-size:.875rem}.info-row span{color:var(--text-muted)}.info-row strong{font-family:SF Mono,Monaco,monospace}.position-summary{background:#ffffff0f;border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.position-summary h3{margin-bottom:.75rem;color:var(--success)}.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.position-item{display:flex;flex-direction:column;gap:.25rem}.position-item .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.position-item .value{font-family:SF Mono,Monaco,monospace;font-size:.9rem}.warning-box{background:#fbbf241a;border:1px solid var(--warning);border-radius:8px;padding:.75rem 1rem;font-size:.75rem;color:var(--warning);margin-bottom:1rem;line-height:1.4}.no-position{text-align:center;color:var(--text-muted);padding:1rem}.tx-status{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;margin-top:.5rem}.tx-signing{background:#60a5fa1f;color:var(--info)}.tx-pending{background:#fbbf241a;color:var(--warning)}.tx-success{background:#4ade801a;color:var(--success)}.tx-error{background:#ef44441a;color:var(--error)}.tx-label{font-weight:600}.tx-state{flex:1}.tx-link{color:inherit;text-decoration:underline}.tx-list{display:flex;flex-direction:column;gap:.5rem}.tx-list-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff0f;border:1px solid var(--border);border-radius:12px}.tx-list-left{display:flex;align-items:center;gap:.75rem}.tx-pill{display:inline-flex;align-items:center;height:1.5rem;padding:0 .6rem;border-radius:999px;background:#ffffff1f;border:1px solid var(--border);font-size:.75rem;font-weight:700;letter-spacing:.02em}.tx-list-status{color:var(--text-muted);font-size:.85rem;text-transform:capitalize}.tx-list-link{color:#ffffffe6;font-family:SF Mono,Monaco,monospace;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.info-card h3{font-size:1rem;margin-bottom:.25rem}.info-card p{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.info-card ul{list-style:none;font-size:.875rem;color:var(--text-muted)}.info-card li{padding:.25rem 0 .25rem 1rem;position:relative}.info-card li:before{content:"•";position:absolute;left:0;color:var(--primary)}.footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:.75rem}@media (min-width: 640px){.app{padding:1.75rem 1.5rem 3.5rem}}@media (min-width: 768px){.app{padding:2rem 2rem 4rem}}@media (min-width: 1024px){.main{grid-template-columns:1.35fr .65fr;gap:1.25rem;align-items:start}.main-right{position:sticky;top:1rem}}@media (max-width: 520px){.header{flex-direction:column;align-items:flex-start}.top-nav{width:100%;overflow-x:auto;justify-content:space-between}.actions{flex-wrap:wrap}}.landing{display:flex;flex-direction:column;gap:3rem;padding:2rem 0 4rem;max-width:1000px;margin:0 auto}.landing-hero{text-align:center;padding:3rem 1rem}.landing-title{font-size:clamp(2rem,6vw,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .landing-title{background:linear-gradient(135deg,#111,#111111bf)}.landing-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-muted);max-width:600px;margin:0 auto 2rem;line-height:1.6}.landing-ctas{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-large{padding:1rem 2rem;font-size:1rem;border-radius:12px}.landing-metrics{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 520px){.landing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.landing-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;transition:transform .2s,border-color .2s}.metric-card:hover{border-color:var(--ring);transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.metric-card:hover{transform:none}}.metric-value{font-size:2rem;font-weight:700;color:var(--text)}.metric-label{font-size:.875rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.metric-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-top:.25rem}.landing-features{display:grid;gap:1.5rem;margin-top:1rem;grid-template-columns:1fr}@media (min-width: 640px){.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-features .feature-item:last-child{grid-column:1 / -1;max-width:520px;justify-self:center}}@media (min-width: 960px){.landing-features{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-features .feature-item:last-child{grid-column:auto;max-width:none;justify-self:stretch}}.feature-item{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-align:center}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--primary);color:var(--primary-fg);border-radius:50%;font-weight:700;font-size:1rem;margin-bottom:1rem}.feature-item h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.feature-item p{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin:0}.onboarding-stepper{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.25rem}.stepper-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stepper-header h3{font-size:1rem;font-weight:600;margin:0}.stepper-progress-text{font-size:.75rem;color:var(--text-muted)}.stepper-progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:1rem}.stepper-progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .3s ease}@media (prefers-reduced-motion: reduce){.stepper-progress-fill{transition:none}}.stepper-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.stepper-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem;border-radius:8px;transition:background-color .15s}.stepper-item:hover{background:#ffffff08}.stepper-indicator{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.stepper-item--complete .stepper-indicator{background:var(--success);color:#000}.stepper-item--current .stepper-indicator{background:var(--primary);color:var(--primary-fg)}.stepper-item--pending .stepper-indicator,.stepper-item--blocked .stepper-indicator{background:#ffffff1a;color:var(--text-muted)}.stepper-check{font-size:.875rem}.stepper-content{flex:1;min-width:0}.stepper-label{font-size:.875rem;font-weight:600;color:var(--text)}.stepper-item--pending .stepper-label,.stepper-item--blocked .stepper-label{color:var(--text-muted)}.stepper-description{font-size:.75rem;color:var(--text-muted);margin-top:.125rem;line-height:1.4}.stepper-hint{font-size:.7rem;color:var(--warning);margin-top:.25rem}.stepper-action{margin-top:.5rem;padding:.4rem .75rem;font-size:.75rem}.stepper-demo-hint{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);text-align:center}.stepper-demo-link{background:none;border:none;color:var(--info);cursor:pointer;font-size:.75rem;text-decoration:underline;padding:0}.stepper-demo-link:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.guardrail-hint{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:8px;font-size:.8rem;color:var(--warning);margin-top:.5rem}.guardrail-hint-icon{flex-shrink:0}.guardrail-hint a{color:var(--warning);text-decoration:underline}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;display:flex;flex-direction:column-reverse;gap:.75rem;max-width:400px;width:calc(100% - 3rem)}@media (max-width: 520px){.toast-container{bottom:1rem;right:1rem;left:1rem;width:auto}}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0006;animation:toast-enter .2s ease-out}@keyframes toast-enter{0%{opacity:0;transform:translateY(1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--exiting{animation:toast-exit .2s ease-in forwards}@keyframes toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(.5rem) scale(.95)}}@media (prefers-reduced-motion: reduce){.toast,.toast--exiting{animation:none}}.toast-icon{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.toast--info .toast-icon{background:#60a5fa33;color:var(--info)}.toast--success .toast-icon{background:#4ade8033;color:var(--success)}.toast--warning .toast-icon{background:#fbbf2433;color:var(--warning)}.toast--error .toast-icon{background:#ef444433;color:var(--error)}.toast-content{flex:1;min-width:0}.toast-title{font-size:.875rem;font-weight:600;color:var(--text)}.toast-message{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;line-height:1.4}.toast-hash{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.toast-hash code{font-size:.75rem;background:#ffffff0f;padding:.2rem .4rem;border-radius:4px}.toast-explorer-link{font-size:.75rem;color:var(--info);text-decoration:underline}.toast-action-btn{margin-top:.5rem;padding:.35rem .6rem;font-size:.75rem;background:#ffffff1a;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;transition:background .15s}.toast-action-btn:hover{background:#ffffff26}.toast-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s,color .15s}.toast-dismiss:hover{background:#ffffff1a;color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modal-overlay-enter .15s ease-out}@keyframes modal-overlay-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.modal-overlay{animation:none}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:480px;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 24px 60px #00000080;animation:modal-enter .2s ease-out}@keyframes modal-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.modal{animation:none}}.modal:focus{outline:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-title{font-size:1.125rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s,color .15s}.modal-close:hover{background:#ffffff1a;color:var(--text)}.modal-body{padding:1.5rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border)}.tx-modal-status{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.tx-modal-icon{font-size:1.5rem}.tx-modal-hint{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin-bottom:1rem}.tx-modal-hash-section{margin-bottom:1rem}.tx-modal-hash-section label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.tx-modal-hash{display:flex;align-items:center;gap:.5rem;background:#ffffff0f;padding:.75rem;border-radius:8px;border:1px solid var(--border)}.tx-modal-hash code{flex:1;font-size:.75rem;word-break:break-all}.tx-modal-error{margin-top:1rem}.tx-modal-error label{display:block;font-size:.75rem;color:var(--error);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.tx-modal-error-text{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:.75rem;font-size:.8rem;color:var(--error);word-break:break-word}.skeleton{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:#ffffff14}}.skeleton-text{display:flex;flex-direction:column;gap:.5rem}.skeleton-card{padding:1rem}.skeleton-card .skeleton-title{margin-bottom:1rem}.skeleton-body{display:flex;flex-direction:column;gap:.75rem}.skeleton-row{display:flex;justify-content:space-between;align-items:center}.skeleton-vault-summary{padding:.5rem 0}.skeleton-vault-summary .skeleton-title{margin-bottom:1rem}.skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.skeleton-item{display:flex;flex-direction:column;gap:.5rem}.skeleton-balance-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.skeleton-activity-list{display:flex;flex-direction:column;gap:.75rem}.skeleton-activity-item{display:flex;align-items:center;gap:.75rem}.skeleton-activity-content{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem}.empty-state-icon{margin-bottom:1rem}.empty-state-emoji{font-size:3rem;line-height:1}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.empty-state-description{font-size:.875rem;color:var(--text-muted);max-width:280px;margin:0 0 1rem;line-height:1.5}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem}.error-boundary-content{text-align:center;max-width:400px}.error-boundary-icon{width:4rem;height:4rem;margin:0 auto 1.5rem;background:#ef444426;border:2px solid var(--error);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--error)}.error-boundary-title{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.error-boundary-message{font-size:.9rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.error-boundary-details{text-align:left;margin-bottom:1.5rem;background:#ffffff0a;border:1px solid var(--border);border-radius:8px;padding:.75rem}.error-boundary-details summary{cursor:pointer;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.error-boundary-details pre{font-size:.75rem;color:var(--error);margin:0;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:.75rem;justify-content:center}.btn-full{width:100%}.btn-loading{position:relative;pointer-events:none}.btn-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-spinner{animation:none;opacity:.5}}.btn-icon{display:inline-flex;margin-right:.5rem}.btn-ghost{background:transparent;border:none;color:var(--text-muted);padding:.5rem}.btn-ghost:hover{color:var(--text);background:#ffffff0d}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-title{font-size:1.125rem;font-weight:600;margin:0}.card-action{flex-shrink:0}.card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.card-padding-none{padding:0}.card-padding-small{padding:.75rem}.card-padding-large{padding:2rem}.input-wrapper{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.8rem;font-weight:500;color:var(--text-muted)}.input-field{flex:1;padding:.75rem;background:#ffffff0a;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #ffffff1a}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-hint{font-size:.75rem;color:var(--text-muted)}.input-error .input-field{border-color:var(--error)}.input-error-text{font-size:.75rem;color:var(--error)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;background:#ffffff1a;color:var(--text)}.badge-small{padding:.15rem .4rem;font-size:.7rem}.badge-success{background:#4ade8026;color:var(--success)}.badge-warning{background:#fbbf2426;color:var(--warning)}.badge-error{background:#ef444426;color:var(--error)}.badge-info{background:#60a5fa26;color:var(--info)}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}@media (prefers-reduced-motion: reduce){.hover-lift:hover{transform:none;box-shadow:none}}.btn:focus-visible,.nav-link:focus-visible,.input-field:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.font-semibold{font-weight:600}.font-mono{font-family:ui-monospace,monospace}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.8rem;cursor:pointer;transition:background-color .15s,border-color .15s}.theme-toggle:hover{background:var(--surface-2);border-color:var(--border)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle-icon{font-size:1rem;line-height:1}.theme-toggle-label{font-weight:500}[data-theme=light] .card{box-shadow:0 1px 3px #00000014}[data-theme=light] .toast{box-shadow:0 4px 16px #0000001f}[data-theme=light] .modal{box-shadow:0 16px 48px #00000029}[data-theme=light] .input-field:focus{box-shadow:0 0 0 2px #0000001a}.demo-banner{position:fixed;top:0;left:0;right:0;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:.875rem}.demo-banner-content{display:flex;align-items:center;gap:.75rem}.demo-banner-icon{font-size:1.25rem}.demo-banner-text strong{font-weight:600}.demo-banner-exit{padding:.4rem .75rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s}.demo-banner-exit:hover{background:#ffffff4d}body.demo-mode{padding-top:3rem}.demo-mode .app{margin-top:1rem}.dashboard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.25rem}.dashboard-title{font-size:1rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.dashboard-demo-badge{font-size:.7rem;padding:.15rem .4rem;background:#8b5cf633;color:#a78bfa;border-radius:4px;font-weight:500}.dashboard-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.kpi-card{background:var(--surface-2);border-radius:8px;padding:.75rem;text-align:center}.kpi-value{font-size:1.25rem;font-weight:700;color:var(--text)}.kpi-label{font-size:.7rem;color:var(--text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.03em}.dashboard-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.mini-chart{background:var(--surface-2);border-radius:8px;padding:.75rem}.mini-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.mini-chart-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.mini-chart-change{font-size:.7rem;font-weight:600}.mini-chart-change.positive{color:var(--success)}.mini-chart-change.negative{color:var(--error)}.mini-chart-svg{display:block;width:100%;height:auto}.mini-chart-empty{background:var(--surface-2);border-radius:8px;padding:1rem;text-align:center;font-size:.75rem;color:var(--text-muted)}.dashboard-summary{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.summary-row span{color:var(--text-muted)}.summary-row strong{color:var(--text)}.how-it-works{max-width:800px;margin:0 auto;padding:2rem 0}.how-header{text-align:center;margin-bottom:3rem}.how-header h2{font-size:2rem;font-weight:700;margin-bottom:1rem}.how-subtitle{font-size:1.1rem;color:var(--text-muted);max-width:600px;margin:0 auto;line-height:1.6}.how-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.how-section h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.how-section>p{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem}.how-diagram-container{background:var(--surface-2);border-radius:12px;padding:1rem;margin-bottom:1rem;overflow-x:auto}.how-diagram{width:100%;max-width:400px;height:auto;display:block;margin:0 auto}.how-list{list-style:none;padding:0;margin:0}.how-list li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--text-muted)}.how-list li:before{content:"•";position:absolute;left:.5rem;color:var(--primary)}.how-list li strong{color:var(--text)}.how-cta{text-align:center;margin-top:2rem}
