*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0b1020;color:#e8edf7}.app{min-height:100vh}.topbar{height:76px;border-bottom:1px solid #25304a;background:#11182b;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.topbar h1{font-size:21px;margin:0 0 3px}.muted{color:#8490a9;font-size:12px}.walletArea{display:flex;align-items:center;gap:9px}.dot{width:9px;height:9px;border-radius:50%;background:#6b7280}.dot.on{background:#22c55e}.wallet{font-family:monospace;color:#cbd5e1;font-size:12px}button{border:1px solid #34415f;background:#1a2440;color:#eef2ff;padding:9px 13px;border-radius:8px;cursor:pointer}button:hover{background:#243154}button:disabled{opacity:.55;cursor:not-allowed}.warning{border-color:#9a6b19}.layout{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 76px)}.sidebar{border-right:1px solid #25304a;padding:16px;background:#0e1526}.contractBtn{width:100%;text-align:left;margin-bottom:8px;padding:12px 13px;display:flex;flex-direction:column;gap:4px}.contractBtn.active{border-color:#667eea;background:#222d51}.contractBtn small{color:#7e8aa5}.content{padding:22px;max-width:1600px;width:100%;margin:auto}.contractHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.contractHeader h2{margin:0 0 7px;font-size:22px}.contractHeader code{font-size:11px;color:#9ba8c2}.contractHeader a{color:#9db3ff;text-decoration:none}.tabs{display:flex;gap:8px;border-bottom:1px solid #25304a;margin-bottom:18px}.tabs button{border-radius:8px 8px 0 0;border-bottom:0}.tabs .selected{background:#667eea;border-color:#667eea}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:15px}.card{background:#11182b;border:1px solid #26314c;border-radius:12px;padding:15px;min-width:0}.fnHead{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.fnHead h3{font-size:15px;margin:0 0 5px}.fnHead code{font-size:10px;color:#7f8ba4;word-break:break-all}.badge{font-size:10px;height:max-content;padding:4px 7px;border-radius:5px}.badge.read{background:#123c2c;color:#72e6b1}.badge.write{background:#3c2812;color:#ffc56b}.inputs{display:flex;flex-direction:column;gap:10px}.inputs label{display:flex;flex-direction:column;gap:5px}.inputs span{font-size:11px;color:#b5bfd2}.inputs em{font-style:normal;color:#707d98;margin-left:5px}.inputs input,.inputs select{width:100%;background:#0a1020;color:#edf2ff;border:1px solid #2d3956;border-radius:7px;padding:9px;font:inherit;font-size:12px}.execute{margin-top:13px;width:100%;background:#5369df;border-color:#5369df}.noInput{font-size:12px;color:#78859e;padding:5px 0}.result{white-space:pre-wrap;word-break:break-word;background:#080d19;border:1px solid #202a41;border-radius:7px;padding:10px;margin:12px 0 0;font-size:11px;color:#b9c5db;max-height:280px;overflow:auto}.alert{padding:10px 12px;border-radius:8px;margin-bottom:16px;font-size:12px;white-space:pre-wrap;word-break:break-word}.alert.success{background:#0d2d22;color:#82e6b8;border:1px solid #1d5c45}.alert.error{background:#35191e;color:#ffabb4;border:1px solid #6b2b35}.missing{border:1px solid #5b4b22;background:#201b0e;padding:20px;border-radius:10px;color:#d7c58e}.missing h3{margin-top:0}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #25304a;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.contractBtn{margin:0}.topbar{height:auto;min-height:76px;gap:10px;flex-wrap:wrap}.walletArea{flex-wrap:wrap}.grid{grid-template-columns:1fr}}.heroCard{background:linear-gradient(180deg,#131b31,#0d1527);border:1px solid #233152;border-radius:16px;padding:22px 24px;margin-bottom:22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 24px #00000040}.heroMain{display:flex;align-items:flex-start;gap:18px}.heroIcon{width:52px;height:52px;border-radius:12px;background:#1b2645;border:1px solid #2f3f6c;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 12px #0003}.heroInfo{flex:1;min-width:0}.heroTitleRow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.heroInfo h2{margin:0 0 3px;font-size:22px;font-weight:700;color:#f8fafc}.heroSubtitle{color:#94a3b8;font-size:13px;margin:0 0 14px}.heroAddresses{display:flex;flex-wrap:wrap;gap:28px;font-size:12px}.heroAddrGroup{display:flex;flex-direction:column;gap:3px}.heroAddrLabel{color:#64748b;font-size:11px;font-weight:500}.heroAddrValue{display:flex;align-items:center;gap:6px;font-family:monospace;color:#cbd5e1;font-size:12px}.iconBtn{background:transparent;border:none;padding:3px 5px;color:#718096;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;transition:all .15s}.iconBtn:hover{background:#233152;color:#f1f5f9}.heroBadges{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:4px}.heroPill{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}.heroPill.read{background:#142842;color:#60a5fa;border:1px solid #1e3a5f}.heroPill.write{background:#38250f;color:#fbbf24;border:1px solid #573b18}.heroPill.events{background:#211a3b;color:#c084fc;border:1px solid #3b2c63}.heroPill.integrated{background:#0d3226;color:#34d399;border:1px solid #14533d}.holdingsSection{margin-bottom:24px}.holdingsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:10px}.holdingsHeaderTitle{margin:0 0 2px;font-size:18px;font-weight:700;color:#f8fafc}.holdingsHeaderSub{color:#8fa0bd;font-size:12px;margin:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.refreshBtn{background:#141d33;border:1px solid #2a3758;color:#cbd5e1;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s}.refreshBtn:hover:not(:disabled){background:#1e2b4b;border-color:#3f5280;color:#fff}.holdingsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.holdingCard{background:#11182c;border:1px solid #222e4d;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;min-height:102px;box-shadow:0 4px 12px #0000002e;transition:transform .15s,border-color .15s}.holdingCard:hover{border-color:#32436d}.holdingCard.totalHighlight{border-color:#3b82f6;background:linear-gradient(180deg,#121e3a,#0d172e)}.holdingCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.holdingCardLabel{font-size:12px;font-weight:600;color:#8fa0bd;text-transform:capitalize}.holdingCardAddr{font-family:monospace;font-size:11px;color:#64748b;display:flex;align-items:center;gap:3px}.holdingAmount{font-size:22px;font-weight:700;color:#f8fafc;margin:8px 0 2px;letter-spacing:-.5px}.holdingSymbol{font-size:13px;font-weight:600;color:#8fa0bd;margin-left:6px}.holdingWei{font-family:monospace;font-size:11px;color:#55657e;word-break:break-all}.totalsSection{background:#0d1425;border:1px solid #202c49;border-radius:14px;padding:16px 20px;margin-bottom:22px}.totalsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}.totalsHeader h3{margin:0 0 3px;font-size:16px;font-weight:700;color:#e2e8f0}.totalsHeader p{margin:0;font-size:12px;color:#718096}.totalsTableContainer{margin-top:14px;border-top:1px solid #1f2c48;padding-top:12px;overflow-x:auto}.breakdownTable{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.breakdownTable th{padding:8px 12px;color:#718096;font-weight:600;border-bottom:1px solid #222e4c}.breakdownTable td{padding:10px 12px;color:#cbd5e1;border-bottom:1px solid #172138;font-family:monospace}.breakdownTable td:first-child{font-family:inherit;font-weight:600;color:#f1f5f9}.breakdownTable tr:hover td{background:#141c33}.tableSelectBtn{background:#1b2644;border:1px solid #2e3e6b;color:#93c5fd;padding:3px 8px;border-radius:5px;font-size:11px;cursor:pointer;font-family:inherit}.tableSelectBtn:hover{background:#273761}.copiedToast{position:fixed;bottom:24px;right:24px;background:#10b981;color:#fff;font-weight:600;padding:8px 16px;border-radius:8px;font-size:12px;box-shadow:0 4px 16px #0006;z-index:999;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
