*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0e14;--bg-card: #10151d;--bg-card-hover: #161c28;--bg-input: #0e1420;--bg-elevated: #1a2233;--accent: #fd1693;--accent-dim: rgba(253, 22, 147, .12);--accent-border: rgba(253, 22, 147, .3);--text: #e8f9ff;--text-muted: #7a8fa6;--text-dim: #4a5a6a;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--green: #5bd88c;--yellow: #fbcd24;--red: #fb8f8f;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px}html,body{height:100%;width:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{height:100%;width:100%;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.app{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tab-bar{display:flex;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.tab-btn{flex:1;padding:14px 12px;background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;transition:color .15s}.tab-btn--active{color:var(--text)}.tab-btn--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.tab-badge{background:var(--accent);color:#0b0e14;font-size:11px;font-weight:700;border-radius:10px;padding:1px 6px;line-height:16px}.earn-view{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.token-selector{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.token-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.token-btn:active{transform:scale(.97)}.token-btn--active{border-color:var(--accent-border);background:var(--accent-dim);color:var(--text)}.token-icon{font-size:18px;line-height:1}.token-name{font-size:12px;font-weight:600;letter-spacing:.03em}.token-balance{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.token-btn--active .token-balance{color:var(--text-muted)}.vault-list{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.vault-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.vault-list__title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.sort-bar{display:flex;gap:4px}.sort-btn{padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.sort-btn--active{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent)}.vault-cards{display:flex;flex-direction:column;gap:8px}.vault-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;outline:none}.vault-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.vault-card:active{transform:scale(.99)}.vault-card:focus-visible{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-dim)}.vault-card--disabled{opacity:.5;cursor:default;pointer-events:none}.vault-card__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vault-logo{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#0b0e14;flex-shrink:0}.vault-logo--sm{width:28px;height:28px;font-size:13px}.vault-logo-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.vault-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.vault-protocol{font-size:12px;color:var(--text-muted)}.vault-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-apy-main{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.vault-apy-value{font-size:20px;font-weight:700;color:var(--accent);line-height:1}.vault-apy-label{font-size:11px;color:var(--text-muted)}.vault-card__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vault-stat{display:flex;flex-direction:column;gap:3px}.vault-stat__label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.vault-stat__value{font-size:12px;font-weight:600;color:var(--text)}.risk-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px}.risk-badge:before{content:"●";font-size:8px}.risk-badge--green{color:var(--green);background:#5bd88c1f}.risk-badge--yellow{color:var(--yellow);background:#fbcd241f}.vault-stat__depositors{display:flex;align-items:center;gap:5px}.vault-depositors__avatars{display:flex;flex-direction:row}.depositor-avatar{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--bg-card);background:var(--bg-elevated);margin-left:-5px;flex-shrink:0}.depositor-avatar:first-child{margin-left:0}.vault-depositors__count{font-size:12px;font-weight:600;color:var(--text)}.vault-card__no-balance{margin-top:8px;font-size:11px;color:var(--text-dim);text-align:center}.deposit-screen{flex:1;display:flex;flex-direction:column;overflow-y:auto}.deposit-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.back-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px 8px 4px 0;line-height:1;transition:color .15s}.back-btn:hover{color:var(--text)}.deposit-vault-name{font-size:14px;font-weight:600;color:var(--text)}.deposit-vault-apy{font-size:12px;color:var(--accent)}.deposit-body{flex:1;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.amount-field{display:flex;flex-direction:column;gap:6px}.amount-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.amount-input-wrap{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s}.amount-input-wrap:focus-within{border-color:var(--accent-border)}.amount-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:18px;font-weight:600;padding:12px;min-width:0}.amount-input::placeholder{color:var(--text-dim)}.amount-input::-webkit-inner-spin-button,.amount-input::-webkit-outer-spin-button{-webkit-appearance:none}.max-btn{background:var(--accent-dim);border:none;color:var(--accent);font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer;border-radius:4px;margin:0 8px;letter-spacing:.03em;transition:background .15s}.max-btn:hover{background:#fd169333}.amount-token{font-size:13px;font-weight:600;color:var(--text-muted);padding:0 12px 0 4px;white-space:nowrap}.amount-balance{font-size:12px;color:var(--text-dim)}.deposit-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.preview-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text)}.preview-row>span:first-child{color:var(--text-muted)}.preview-row--fee>span:last-child{color:var(--text-muted)}.preview-divider{height:1px;background:var(--border)}.muted{color:var(--text-muted)}.position-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.deposit-footer{padding:12px 16px 16px;flex-shrink:0;border-top:1px solid var(--border)}.deposit-btn{width:100%;padding:14px;background:var(--accent);color:#0b0e14;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:opacity .15s,transform .1s}.deposit-btn:hover:not(:disabled){opacity:.92}.deposit-btn:active:not(:disabled){transform:scale(.99)}.deposit-btn:disabled{opacity:.4;cursor:not-allowed}.deposit-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;gap:12px;text-align:center}.success-icon{width:56px;height:56px;border-radius:50%;background:#5bd88c26;border:2px solid var(--green);color:var(--green);font-size:24px;display:flex;align-items:center;justify-content:center}.success-title{font-size:18px;font-weight:700;color:var(--text)}.success-body{font-size:14px;color:var(--text-muted);max-width:280px}.tx-link{font-size:13px;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-border)}.deposit-error{background:#fb8f8f14;border:1px solid rgba(251,143,143,.25);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;color:var(--red)}.tx-pending{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-card);border-radius:var(--radius-sm);font-size:13px;color:var(--text-muted)}.wallet-notice{text-align:center;font-size:13px;color:var(--text-dim);padding:12px}.no-fee-notice{text-align:center;font-size:12px;color:var(--green);padding:4px 0}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.positions-list{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.positions-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;text-align:center;color:var(--text-muted)}.positions-empty__icon{font-size:40px;opacity:.3;margin-bottom:4px}.positions-empty p{font-size:14px}.position-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.position-card__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.position-meta{flex:1;display:flex;flex-direction:column;gap:2px}.position-protocol{font-size:12px;color:var(--text-muted)}.position-vault{font-size:14px;font-weight:600;color:var(--text)}.position-apy{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.position-apy__value{font-size:18px;font-weight:700;color:var(--accent);line-height:1}.position-apy__label{font-size:11px;color:var(--text-muted)}.position-card__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.position-stat{display:flex;flex-direction:column;gap:2px}.position-stat__label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.position-stat__value{font-size:13px;font-weight:600;color:var(--text)}.position-stat__value--green{color:var(--green)}.position-stat__value--red{color:var(--red)}.position-stat__sub{font-size:11px;color:var(--text-dim)}.position-card__footer{border-top:1px solid var(--border);padding-top:12px}.withdraw-btn{width:100%;padding:10px;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.withdraw-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-border)}.green{color:var(--green)}.red{color:var(--red)}.vault-skeleton,.position-skeleton{height:108px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);animation:pulse 1.5s ease-in-out infinite}.position-skeleton{height:160px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}.vault-skeletons{display:flex;flex-direction:column;gap:8px}.list-error{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;color:var(--red);font-size:13px;text-align:center}.list-empty{text-align:center;padding:32px 16px;color:var(--text-dim);font-size:13px}.retry-btn{background:none;border:1px solid var(--border-strong);color:var(--text-muted);padding:6px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.skeleton{display:inline-block;background:var(--border);border-radius:4px;animation:pulse 1.5s ease-in-out infinite}.skeleton--sm{width:48px;height:10px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.app-header__title{font-size:15px;font-weight:700;color:var(--accent);letter-spacing:-.01em}.wallet-btn-wrap{position:relative}.wallet-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:20px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.wallet-btn:hover{background:#fd169333}.wallet-btn--connected{color:var(--text);background:var(--bg-card);border-color:var(--border-strong)}.wallet-btn--connected:hover{border-color:var(--accent-border);background:var(--bg-card-hover)}.wallet-btn--connecting{opacity:.6;cursor:default}.wallet-btn__dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.wallet-btn__chevron{font-size:9px;color:var(--text-muted)}.wallet-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;z-index:100;box-shadow:0 8px 24px #0006}.wallet-dropdown__name{padding:10px 14px 4px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.wallet-dropdown__address{padding:4px 14px 10px;font-size:11px;color:var(--text-dim);word-break:break-all;border-bottom:1px solid var(--border)}.wallet-dropdown__disconnect{width:100%;padding:11px 14px;background:none;border:none;color:var(--red);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.wallet-dropdown__disconnect:hover{background:#fb8f8f0f}.wallet-dropdown__empty{padding:14px;font-size:13px;color:var(--text-muted);text-align:center;line-height:1.6}.wallet-dropdown__option{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.wallet-dropdown__option:last-child{border-bottom:none}.wallet-dropdown__option:hover{background:var(--bg-card-hover)}.wallet-option__icon{width:22px;height:22px;border-radius:4px;flex-shrink:0}.spinner--xs{width:12px;height:12px;border-width:1.5px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.deposit-feed{margin-top:20px;padding-bottom:16px}.deposit-feed__header{margin-bottom:8px}.deposit-feed__title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.deposit-feed__list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--bg-card)}.feed-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);min-height:32px}.feed-item:last-child{border-bottom:none}.feed-item__avatar{display:block;align-self:center;width:18px;height:18px;border-radius:50%;flex-shrink:0;background:var(--bg-secondary)}.feed-item__text{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-item__wallet{color:var(--text);font-weight:600;font-family:SF Mono,monospace;font-size:11px}.feed-item__token-logo{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin:0 2px -1px;flex-shrink:0}.feed-item__amount{color:var(--text);font-weight:500}.feed-item__time{color:var(--muted)}.deposit-feed__skeleton-wrap{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);overflow:hidden}.deposit-feed__skeleton{height:32px;background:var(--bg-card);border-bottom:1px solid var(--border);animation:pulse 1.5s ease-in-out infinite}.deposit-feed__skeleton:last-child{border-bottom:none}
