:root{--bg:#0a0a12;--surface:#ffffff0a;--surface2:#ffffff14;--border:#ffffff1a;--text:#e8e8f0;--text2:#9898b0;--accent:#6c5ce7;--accent2:#a29bfe;--success:#00b894;--danger:#ff6b6b;--gold:gold;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:960px;margin:0 auto;padding:16px}header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 0;display:flex}header h1{color:var(--text);font-size:24px;font-weight:800}header h1 span{color:var(--accent2)}.dashboard{grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}.left-col{position:sticky;top:16px}.right-col{gap:16px;display:flex}@media (width<=768px){.dashboard{grid-template-columns:1fr}.left-col{position:static}.right-col{flex-direction:column}}.panel{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel h3{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.swap-panel{width:100%}.swap-mode{gap:4px;margin-bottom:12px;display:flex}.swap-mode button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;background:0 0;flex:1;padding:6px;font-size:12px;transition:all .2s}.swap-mode button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.swap-input input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);outline:none;padding:10px 12px;font-size:14px}.swap-input input:focus{border-color:var(--accent)}.balances{color:var(--text2);justify-content:space-between;margin:8px 0 12px;font-size:11px;display:flex}.btn-primary{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px;font-size:13px;font-weight:600;transition:background .2s;display:flex}.btn-primary:hover{background:var(--accent2)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .2s;display:flex}.btn-sm:hover{background:var(--surface2);border-color:var(--accent)}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{border-color:var(--danger);color:var(--danger)}.success{color:var(--success);margin-top:8px;font-size:12px;display:block}.collection-panel,.staked-panel{flex:1;min-width:0}.nft-scroll{flex-direction:column;gap:8px;max-height:500px;padding-right:4px;display:flex;overflow-y:auto}.nft-scroll::-webkit-scrollbar{width:4px}.nft-scroll::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:2px}.empty{color:var(--text2);text-align:center;padding:20px 0;font-size:12px}.nft-card{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);align-items:center;gap:10px;padding:8px;transition:border-color .2s;display:flex}.nft-card:hover{border-color:var(--accent)}.nft-image-wrapper{background:var(--surface2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.nft-image{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.nft-placeholder{color:var(--accent2);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.nft-info{flex:1;min-width:0}.nft-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;display:block;overflow:hidden}.nft-tier{color:var(--text2);font-size:10px;display:block}.nft-state{border-radius:4px;margin-top:2px;padding:1px 6px;font-size:9px;display:inline-block}.state-0{color:var(--accent2);background:#6c5ce733}.state-1{color:var(--success);background:#00b89433}.state-2{color:var(--gold);background:#ffd70033}.state-3{color:var(--danger);background:#ff6b6b33}.nft-actions{flex-shrink:0}.connect-prompt{text-align:center;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:80px 20px}.connect-prompt h2{margin-bottom:8px;font-size:20px}.connect-prompt p{color:var(--text2);margin-bottom:20px;font-size:14px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
