/* font-display: swap — ensure text remains visible during webfont load */
:root{
  --bg:#09090b;--card:rgba(16,16,20,.75);--glass:rgba(255,255,255,.03);--glass-border:rgba(255,255,255,.06);
  --cyan:#f97316;--purple:#f97316;--green:#4ade80;--red:#fb7185;--orange:#f97316;--pink:#f0abfc;--yellow:#fbbf24;
  --text1:#fafafa;--text2:#a1a1aa;--text3:#52525b;
  --sg:'Space Grotesk',sans-serif;--inter:'Inter',sans-serif;--mono:'JetBrains Mono',monospace;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--inter);background:var(--bg);color:var(--text1);min-height:100vh;overflow-x:hidden;}
::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px;}

/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s;}
#loader.done{opacity:0;visibility:hidden;}
.loader-logo{font-family:var(--sg);font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--orange),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:20px;}
.loader-bar{width:200px;height:3px;background:var(--glass);border-radius:2px;overflow:hidden;}
.loader-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--cyan));border-radius:2px;animation:loadBar 1.5s ease forwards;}
@keyframes loadBar{to{width:100%}}
.loader-text{margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--text3);animation:pulse 1s infinite alternate;}
@keyframes pulse{from{opacity:.4}to{opacity:1}}

/* HEADER */
.header{position:sticky;top:0;z-index:100;background:rgba(5,5,16,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border);padding:0 20px;}
.hdr-left{display:flex;align-items:center;gap:16px;}
.logo{font-family:var(--sg);font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--orange),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer;text-decoration:none;}
.logo sub{font-size:11px;font-weight:400;-webkit-text-fill-color:var(--text3);margin-left:4px;vertical-align:baseline;}
.net-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);font-size:11px;color:var(--green);font-family:var(--mono);}
.net-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hdr-right{display:flex;align-items:center;gap:10px;}
.price-tick{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);font-family:var(--mono);font-size:12px;}
.price-tick .p{color:var(--text1);font-weight:500;}
.chg{font-size:11px;}.chg.up{color:var(--green);}.chg.down{color:var(--red);}
.gas-b{padding:4px 10px;border-radius:8px;background:var(--glass);border:1px solid var(--glass-border);font-family:var(--mono);font-size:10px;color:var(--text2);}

/* WALLET BTN */
.w-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;border:1px solid var(--glass-border);background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(249,115,22,.12));color:var(--text1);font-family:var(--sg);font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;}
.w-btn:hover{border-color:var(--orange);background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(249,115,22,.2));transform:translateY(-1px);}
.w-btn.connected{border-color:var(--green);background:linear-gradient(135deg,rgba(74,222,128,.08),rgba(249,115,22,.08));}
.w-btn svg{width:16px;height:16px;flex-shrink:0;}

/* WALLET MODAL */
.mo{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all .3s;display:flex;align-items:center;justify-content:center;}
.mo.open{opacity:1;visibility:visible;}
.wm{background:rgba(13,13,35,.97);border:1px solid var(--glass-border);border-radius:20px;padding:28px;width:400px;max-width:92vw;transform:scale(.9);transition:transform .3s;box-shadow:0 24px 80px rgba(0,0,0,.6);}
.mo.open .wm{transform:scale(1);}
.wm-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.wm-title{font-family:var(--sg);font-size:18px;font-weight:600;}
.wm-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text2);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.wm-close:hover{border-color:var(--red);color:var(--red);}
.wm-sub{font-size:12px;color:var(--text3);margin-bottom:16px;font-family:var(--mono);}
.wm-section{font-size:10px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px;padding-left:4px;}
.wo{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);cursor:pointer;transition:all .2s;margin-bottom:8px;}
.wo:hover{border-color:var(--cyan);background:rgba(249,115,22,.06);transform:translateX(4px);}
.wo-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.wo-info{flex:1;}
.wo-name{font-family:var(--sg);font-size:14px;font-weight:500;}
.wo-desc{font-size:11px;color:var(--text3);}
.wo-tag{font-size:10px;padding:2px 8px;border-radius:6px;font-family:var(--mono);}
.wo-tag.installed{background:rgba(74,222,128,.1);color:var(--green);}
.wo-tag.popular{background:rgba(249,115,22,.1);color:var(--cyan);}
.wm-div{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:11px;color:var(--text3);}
.wm-div::before,.wm-div::after{content:'';flex:1;height:1px;background:var(--glass-border);}
.wm-input-row{display:flex;gap:8px;}
.wm-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text1);font-family:var(--mono);font-size:12px;outline:none;}
.wm-input:focus{border-color:var(--cyan);}
.wm-input::placeholder{color:var(--text3);}
.wm-go{padding:10px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;font-family:var(--sg);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;}

/* TABS */
.tab-bar{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tab-bar::-webkit-scrollbar{display:none;}
.tab{padding:6px 14px;border-radius:8px;font-family:var(--sg);font-size:12px;font-weight:500;color:var(--text3);cursor:pointer;transition:all .2s;white-space:nowrap;border:1px solid transparent;}
.tab:hover{color:var(--text2);background:var(--glass);}
.tab.active{color:var(--text1);background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.3);}

/* MAIN */
.main{padding:20px;max-width:1400px;margin:0 auto;}

/* CARDS */
.card{background:var(--card);border:1px solid var(--glass-border);border-radius:var(--radius);padding:20px;backdrop-filter:blur(12px);}
.card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.card-t{font-family:var(--sg);font-size:15px;font-weight:600;}
.cbadge{font-size:10px;padding:3px 10px;border-radius:8px;font-family:var(--mono);}
.bg-g{background:rgba(74,222,128,.1);color:var(--green);border:1px solid rgba(74,222,128,.2);}
.bg-o{background:rgba(249,115,22,.1);color:var(--orange);border:1px solid rgba(249,115,22,.2);}
.bg-c{background:rgba(249,115,22,.1);color:var(--cyan);border:1px solid rgba(249,115,22,.2);}
.bg-p{background:rgba(249,115,22,.1);color:var(--purple);border:1px solid rgba(249,115,22,.2);}

/* GRIDS */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}

/* STAT */
.sbox{padding:16px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);}
.slbl{font-size:11px;color:var(--text3);font-family:var(--mono);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;}
.sval{font-family:var(--sg);font-size:22px;font-weight:700;}
.sval.sm{font-size:16px;}
.ssub{font-size:11px;color:var(--text3);margin-top:4px;font-family:var(--mono);}

/* TABLE */
.twrap{overflow-x:auto;border-radius:12px;border:1px solid var(--glass-border);}
table{width:100%;border-collapse:collapse;font-size:12px;}
th{background:rgba(255,255,255,.03);padding:10px 14px;text-align:left;font-family:var(--sg);font-weight:500;color:var(--text2);border-bottom:1px solid var(--glass-border);white-space:nowrap;}
td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.03);font-family:var(--mono);color:var(--text2);white-space:nowrap;}
tr:hover td{background:rgba(255,255,255,.02);}

/* BUTTONS */
.btn{padding:8px 18px;border-radius:10px;border:none;font-family:var(--sg);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;}
.btn-p{background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;}
.btn-p:hover{box-shadow:0 4px 16px rgba(249,115,22,.3);transform:translateY(-1px);}
.btn-s{background:var(--glass);border:1px solid var(--glass-border);color:var(--text1);}
.btn-s:hover{border-color:var(--cyan);}
.btn-sm{padding:5px 12px;font-size:11px;border-radius:8px;}
.btn-o{background:transparent;border:1px solid var(--glass-border);color:var(--text2);}
.btn-o:hover{border-color:var(--orange);color:var(--orange);}

/* INPUT */
.inp{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text1);font-family:var(--mono);font-size:13px;outline:none;transition:border-color .2s;}
.inp:focus{border-color:var(--cyan);}.inp::placeholder{color:var(--text3);}
.inp-grp{margin-bottom:12px;}
.inp-lbl{display:block;font-size:11px;color:var(--text3);margin-bottom:6px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;}

/* CHART */
.chart-c{position:relative;width:100%;height:220px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2);}
.chart-c canvas{width:100%!important;height:100%!important;}
.chart-ctrl{display:flex;gap:4px;margin-bottom:10px;}
.chart-btn{padding:4px 12px;border-radius:6px;border:1px solid var(--glass-border);background:transparent;color:var(--text3);font-family:var(--mono);font-size:10px;cursor:pointer;transition:all .2s;}
.chart-btn.active,.chart-btn:hover{border-color:var(--orange);color:var(--orange);background:rgba(249,115,22,.08);}

/* PROGRESS */
.prog{height:6px;border-radius:3px;background:var(--glass);overflow:hidden;}
.prog-fill{height:100%;border-radius:3px;transition:width .6s ease;}

/* PROTOCOL CARD */
.pcard{padding:20px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border);transition:all .3s;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;display:block;color:var(--text1);}
.pcard:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.3);}
.pcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--purple));opacity:0;transition:opacity .3s;}
.pcard:hover::before{opacity:1;}
.pc-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;}
.pc-name{font-family:var(--sg);font-size:14px;font-weight:600;margin-bottom:4px;}
.pc-desc{font-size:11px;color:var(--text3);line-height:1.5;margin-bottom:12px;}
.pc-stats{display:flex;gap:16px;}
.pc-sl{font-size:9px;color:var(--text3);font-family:var(--mono);text-transform:uppercase;}
.pc-sv{font-family:var(--sg);font-size:13px;font-weight:600;margin-top:2px;}

/* WHALE */
.wh-row{display:grid;grid-template-columns:100px 1fr 140px 70px;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.03);align-items:center;font-size:12px;transition:background .2s;}
.wh-row:hover{background:rgba(255,255,255,.02);}
.wh-act{font-family:var(--sg);font-weight:500;font-size:11px;padding:3px 8px;border-radius:6px;text-align:center;}
.wh-act.buy{background:rgba(74,222,128,.1);color:var(--green);}
.wh-act.sell{background:rgba(249,115,22,.1);color:var(--red);}
.wh-det{font-family:var(--mono);color:var(--text2);font-size:11px;}
.wh-amt{font-family:var(--mono);color:var(--text1);font-size:12px;text-align:right;}
.wh-time{font-family:var(--mono);color:var(--text3);font-size:10px;text-align:right;}

/* TAB CONTENT */
.tc{display:none;content-visibility:auto;}.tc.active{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* STRATEGY */
.str-card{padding:20px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border);margin-bottom:12px;}
.str-hdr{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.str-pct{font-family:var(--sg);font-size:24px;font-weight:700;min-width:60px;}
.str-name{font-family:var(--sg);font-size:14px;font-weight:600;}
.str-desc{font-size:11px;color:var(--text3);margin-top:2px;}

/* RISK */
.risk-m{display:flex;gap:3px;align-items:center;}
.risk-b{width:20px;height:8px;border-radius:2px;background:var(--glass-border);}

/* TOAST */
#toastC{position:fixed;bottom:80px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none;}

/* BOTTOM NAV */
.bnav-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:rgba(5,5,16,.95);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:6px 8px;justify-content:space-around;}
.bnav{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:8px;cursor:pointer;transition:all .2s;font-size:9px;color:var(--text3);font-family:var(--mono);border:none;background:none;}
.bnav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;}
.bnav.active{color:var(--orange);}

/* CARD HOVER GLOW */
.card{transition:border-color .3s,box-shadow .3s;}
.card:hover{border-color:rgba(255,255,255,.12);box-shadow:0 4px 24px rgba(0,0,0,.2);}
.sbox{transition:all .3s;}.sbox:hover{border-color:rgba(249,115,22,.2);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2);}
/* MODAL ANIMATION */
.mo{transition:all .35s cubic-bezier(.16,1,.3,1);}
.wm{transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s;}
.mo:not(.open) .wm{transform:scale(.92) translateY(10px);opacity:0;}
.mo.open .wm{transform:scale(1) translateY(0);opacity:1;}
/* PULSE GLOW for live elements */
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.15);}50%{box-shadow:0 0 12px 2px rgba(74,222,128,.1);}}
.sbox:has(.live-d){animation:pulseGlow 3s infinite;}
/* Tab underline slide */
.tab{position:relative;}.tab::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--orange);transition:all .3s;border-radius:1px;transform:translateX(-50%);}
.tab.active::after{width:60%;}
/* Shimmer loading */
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
.shimmer{background:linear-gradient(90deg,var(--glass) 25%,rgba(255,255,255,.06) 50%,var(--glass) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}
/* Fade up entrance */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.card,.sbox,.pcard,.str-card{animation:fadeUp .5s ease both;}
.card:nth-child(2){animation-delay:.05s;}.card:nth-child(3){animation-delay:.1s;}
.sbox:nth-child(2){animation-delay:.05s;}.sbox:nth-child(3){animation-delay:.1s;}.sbox:nth-child(4){animation-delay:.15s;}

.gap{margin-bottom:16px;}
.live-d{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px;animation:blink 2s infinite;}
.flex-b{display:flex;align-items:center;justify-content:space-between;}
.flex-c{display:flex;align-items:center;gap:8px;}

/* CONNECTED WALLET INFO */
.wallet-info{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);}
.wallet-info .wbal{font-family:var(--mono);font-size:11px;color:var(--green);}

/* ===== FISHING ANALYTICS ===== */
.fish-dash{font-family:var(--inter);}
.fish-ticker{display:flex;justify-content:center;gap:16px;padding:8px 12px;background:rgba(0,0,0,.25);border-radius:10px;margin-bottom:12px;font-size:12px;border:1px solid var(--glass-border);}
.fish-ticker span{color:var(--text2);}
.fish-ticker .fp{color:var(--green);font-weight:600;font-family:var(--mono);}
.fish-tabs{display:flex;gap:2px;background:var(--glass);padding:3px;border-radius:10px;margin-bottom:12px;border:1px solid var(--glass-border);overflow-x:auto;}
.fish-tabs::-webkit-scrollbar{display:none;}
.ftab{flex:1;padding:8px 10px;background:0;border:0;border-radius:8px;color:var(--text2);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--sg);transition:all .2s;}
.ftab:hover{color:var(--text1);}
.ftab.fon{background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;}
.fpg{display:none;}.fpg.fon{display:block;animation:fadeIn .3s ease;}
.fish-search{display:flex;gap:6px;margin-bottom:12px;}
.fish-search .fiw{flex:1;position:relative;}
.fish-search .fiw::before{content:'🔍';position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.5;font-size:12px;}
.fish-search input{width:100%;padding:10px 12px 10px 32px;border:1px solid var(--glass-border);border-radius:10px;background:rgba(0,0,0,.3);color:var(--text1);font-size:12px;font-family:var(--mono);outline:0;}
.fish-search input:focus{border-color:var(--purple);}
.fish-search input::placeholder{color:var(--text3);}
.fbtn{padding:8px 14px;background:linear-gradient(135deg,var(--cyan),var(--purple));border:0;border-radius:10px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--sg);transition:all .2s;}
.fbtn:hover{opacity:.9;transform:translateY(-1px);}
.fbtn:disabled{opacity:.5;}
.fbtn-o{background:0;border:1px solid var(--glass-border);color:var(--text2);}
.fbtn-o:hover{border-color:var(--purple);color:var(--text1);}
.fbtn-o.fon{background:rgba(249,115,22,.15);border-color:var(--purple);color:var(--purple);}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;}
@media(max-width:800px){.fgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr;}.fish-search{flex-direction:column;}.fcalc-g{grid-template-columns:1fr!important;}.ftool-inputs{grid-template-columns:1fr!important;}.falert-form{grid-template-columns:1fr!important;}}
.fcard{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:12px;position:relative;overflow:hidden;transition:all .3s;}
.fcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .2s;}
.fcard:hover::before{opacity:1;}
.fcard:hover{border-color:rgba(255,255,255,.15);transform:translateY(-2px);}
.fcard.fc-g{--fac:var(--green);}.fcard.fc-b{--fac:var(--cyan);}.fcard.fc-p{--fac:var(--purple);}.fcard.fc-o{--fac:var(--orange);}
.fcard::before{background:var(--fac);}
.fcard .fi{font-size:14px;margin-bottom:4px;}
.fcard .fv{font-size:18px;font-weight:700;font-family:var(--mono);}
.fcard.fc-g .fv{color:var(--green);}.fcard.fc-b .fv{color:var(--cyan);}.fcard.fc-p .fv{color:var(--purple);}.fcard.fc-o .fv{color:var(--orange);}
.fcard .fl{color:var(--text2);font-size:10px;margin-top:2px;}
.fcard .fu{font-size:9px;color:var(--text3);}
.fpnl{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:10px;overflow:hidden;}
.fpnl-h{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--glass-border);background:rgba(0,0,0,.15);font-size:13px;font-weight:600;font-family:var(--sg);}
.fpnl-b{font-size:10px;padding:2px 8px;background:rgba(249,115,22,.15);color:var(--purple);border-radius:6px;font-family:var(--mono);}
.fdr{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--glass-border);font-size:12px;}
.fdr:last-child{border-bottom:0;}
.fdr:hover{background:rgba(255,255,255,.02);}
.fdl{color:var(--text2);display:flex;align-items:center;gap:5px;}
.fdv{font-weight:600;font-family:var(--mono);}
.fdv.fhi{color:var(--green);}
.fdv.fw{color:var(--orange);}
.fprog{display:flex;align-items:center;gap:6px;}
.fpbar{width:60px;height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;}
.fpfill{height:100%;border-radius:3px;}
.fpfill.fg{background:var(--green);}.fpfill.fy{background:var(--orange);}.fpfill.fr{background:var(--red);}
.fcalc{background:linear-gradient(135deg,rgba(249,115,22,.06),rgba(249,115,22,.06));border:1px solid rgba(249,115,22,.12);border-radius:12px;padding:12px;margin-top:10px;}
.fcalc-t{font-weight:600;margin-bottom:10px;color:var(--purple);font-size:13px;font-family:var(--sg);}
.fcalc-g{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.fcalc-i{background:rgba(0,0,0,.2);padding:8px;border-radius:8px;border:1px solid var(--glass-border);}
.fcalc-l{font-size:10px;color:var(--text2);margin-bottom:2px;}
.fcalc-v{font-size:14px;font-weight:600;font-family:var(--mono);}
.frnk{background:linear-gradient(135deg,rgba(251,191,36,.06),rgba(245,158,11,.06));border-color:rgba(251,191,36,.15);}
.frnk .fpnl-h{color:var(--yellow);}
.fhist{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;}
.fhist-i{padding:4px 8px;background:var(--glass);border:1px solid var(--glass-border);border-radius:6px;font-size:10px;color:var(--text2);cursor:pointer;font-family:var(--mono);transition:all .2s;}
.fhist-i:hover{color:var(--text1);border-color:var(--purple);}
.fhist-x{color:var(--red);margin-left:3px;cursor:pointer;}
.falert-box{background:linear-gradient(135deg,rgba(255,62,138,.06),rgba(249,115,22,.06));border:1px solid rgba(255,62,138,.15);border-radius:12px;padding:14px;margin-bottom:12px;}
.falert-t{font-weight:600;color:var(--pink);margin-bottom:10px;font-size:13px;font-family:var(--sg);}
.falert-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;}
.falert-form label{display:block;font-size:10px;color:var(--text2);margin-bottom:3px;}
.falert-form input,.falert-form select{width:100%;padding:8px;background:rgba(0,0,0,.3);border:1px solid var(--glass-border);border-radius:8px;color:var(--text1);font-size:12px;}
.falert-item{display:flex;justify-content:space-between;padding:6px 10px;background:rgba(0,0,0,.2);border-radius:6px;margin-bottom:4px;font-size:11px;}
.falert-item .fdel{color:var(--red);cursor:pointer;}
.fport-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(0,0,0,.2);border-radius:8px;margin-bottom:6px;font-size:12px;}
.fport-item .faddr{font-family:var(--mono);color:var(--text2);font-size:11px;}
.fport-item .fpval{font-weight:600;color:var(--green);}
.fport-item .fpdel{color:var(--red);cursor:pointer;padding:2px 6px;}
.fport-total{background:linear-gradient(135deg,rgba(74,222,128,.08),rgba(249,115,22,.08));border:1px solid rgba(74,222,128,.15);border-radius:10px;padding:14px;text-align:center;margin-top:10px;}
.fport-total .fplbl{font-size:11px;color:var(--text2);}
.fport-total .fpv{font-size:22px;font-weight:700;color:var(--green);font-family:var(--mono);}
.fport-total .fpusd{font-size:13px;color:var(--text2);font-family:var(--mono);}
.ftool-box{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:14px;margin-bottom:12px;}
.ftool-box h3{font-size:13px;margin-bottom:10px;font-family:var(--sg);}
.ftool-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;}
.ftool-inputs label{display:block;font-size:10px;color:var(--text2);margin-bottom:3px;}
.ftool-inputs input{width:100%;padding:8px;background:rgba(0,0,0,.3);border:1px solid var(--glass-border);border-radius:8px;color:var(--text1);font-size:12px;font-family:var(--mono);}
.ftool-result{background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.15);border-radius:8px;padding:10px;text-align:center;}
.ftool-result .fcost{font-size:16px;font-weight:700;color:var(--green);font-family:var(--mono);}
.ftool-result .fsub{font-size:10px;color:var(--text3);margin-top:2px;}
.fwarn{margin-top:12px;padding:10px 12px;background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.12);border-radius:10px;font-size:10px;color:var(--orange);}
.fwarn a{color:var(--orange);}
.flb-table{width:100%;border-collapse:collapse;font-size:12px;}
.flb-table th,.flb-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--glass-border);}
.flb-table th{color:var(--text2);font-weight:500;background:rgba(0,0,0,.2);font-size:11px;}
.flb-table tr:hover{background:rgba(255,255,255,.02);}
.flb-rank{font-weight:700;color:var(--orange);}
.floader{text-align:center;padding:40px;}
.fspinner{width:36px;height:36px;border:3px solid var(--glass-border);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 12px;}
@keyframes spin{to{transform:rotate(360deg)}}
.ferr{text-align:center;padding:30px;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.12);border-radius:12px;font-size:12px;}
.fempty{text-align:center;padding:30px;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;}
.fs2-info{background:linear-gradient(135deg,rgba(249,115,22,.06),rgba(249,115,22,.06));border:1px solid rgba(249,115,22,.15);border-radius:12px;padding:14px;margin-bottom:12px;}
.fs2-info h3{font-size:14px;color:var(--orange);margin-bottom:8px;font-family:var(--sg);}
.fs2-info p{font-size:11px;color:var(--text2);line-height:1.5;}
.fs2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;}
@media(max-width:600px){.fs2-grid{grid-template-columns:1fr;}}
.fs2-item{background:rgba(0,0,0,.2);padding:8px;border-radius:8px;border:1px solid var(--glass-border);text-align:center;}
.fs2-item .fs2-v{font-size:16px;font-weight:700;color:var(--orange);font-family:var(--mono);}
.fs2-item .fs2-l{font-size:9px;color:var(--text3);margin-top:2px;}
.fshare{display:flex;gap:6px;max-width:450px;margin:10px auto;}
.fshare input{flex:1;padding:8px;font-size:11px;background:rgba(0,0,0,.3);border:1px solid var(--glass-border);border-radius:8px;color:var(--text1);font-family:var(--mono);}
.flinks{display:flex;justify-content:center;gap:10px;margin:10px 0;flex-wrap:wrap;}
.flinks a{color:var(--text2);text-decoration:none;padding:5px 10px;border:1px solid var(--glass-border);border-radius:8px;font-size:11px;transition:all .2s;}
.flinks a:hover{color:var(--text1);border-color:var(--purple);}
.fts{display:flex;justify-content:space-between;padding:6px 10px;background:rgba(0,0,0,.15);border-radius:8px;margin-top:10px;font-size:10px;color:var(--text3);}
.flive{width:5px;height:5px;background:var(--green);border-radius:50%;animation:blink 2s infinite;display:inline-block;margin-right:4px;}
.frarity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px;}
@media(max-width:600px){.frarity-grid{grid-template-columns:repeat(3,1fr);}}
.frarity-item{text-align:center;padding:6px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(0,0,0,.15);}
.frarity-item .frn{font-size:10px;font-weight:600;}
.frarity-item .frm{font-size:14px;font-weight:700;font-family:var(--mono);}
.fhalving-bar{display:flex;gap:2px;margin-top:8px;}
.fhalving-seg{flex:1;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;font-family:var(--mono);}

/* APP HEADER (mobile) */
.app-header{display:none;position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(5,5,16,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);height:54px;padding:0 14px;align-items:center;justify-content:space-between;}
.ah-left{display:flex;align-items:center;gap:10px;}
.ah-logo{font-size:18px;}
.ah-title{font-family:var(--sg);font-size:17px;font-weight:700;background:linear-gradient(135deg,var(--orange),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.ah-live{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--green);font-family:var(--mono);padding:2px 8px;border-radius:10px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);}
.ah-live .dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:blink 2s infinite;}
.ah-right{display:flex;align-items:center;gap:8px;}
.ah-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;color:var(--text1);text-decoration:none;transition:all .2s;}
.ah-btn:hover{border-color:var(--orange);}
.ah-upd{position:absolute;bottom:2px;left:14px;font-size:8px;color:var(--text3);font-family:var(--mono);}
/* TOKEN/NFT PAGINATION */
.pg-bar{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;padding:8px 0;}
.pg-btn{padding:5px 12px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text2);font-size:11px;font-family:var(--mono);cursor:pointer;transition:all .2s;}
.pg-btn:hover{border-color:var(--cyan);color:var(--text1);}
.pg-btn.active{background:rgba(249,115,22,.15);border-color:var(--orange);color:var(--orange);}
.pg-btn:disabled{opacity:.3;cursor:default;}
.pg-info{font-size:10px;color:var(--text3);font-family:var(--mono);}
/* TOKEN ROW */
.tk-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s;}
.tk-row:hover{background:rgba(255,255,255,.02);}
.tk-icon{width:32px;height:32px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;overflow:hidden;}
.tk-icon img{width:100%;height:100%;object-fit:cover;}
.tk-info{flex:1;min-width:0;}
.tk-name{font-family:var(--sg);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tk-sub{font-size:10px;color:var(--text3);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tk-right{text-align:right;flex-shrink:0;}
.tk-bal{font-family:var(--mono);font-size:12px;font-weight:600;}
.tk-usd{font-size:10px;color:var(--text3);font-family:var(--mono);}
.tk-tags{display:flex;gap:4px;margin-top:2px;justify-content:flex-end;}
.tk-tag{font-size:8px;padding:1px 5px;border-radius:4px;font-family:var(--mono);}
.tk-tag.val{background:rgba(74,222,128,.1);color:var(--green);border:1px solid rgba(74,222,128,.2);}
/* NFT GRID */
.nft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;}
.nft-card{border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);overflow:hidden;transition:all .3s;cursor:pointer;}
.nft-card:hover{border-color:var(--purple);transform:translateY(-2px);}
.nft-img{width:100%;aspect-ratio:1;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;}
.nft-img img{width:100%;height:100%;object-fit:cover;}
.nft-meta{padding:8px;}
.nft-meta-name{font-family:var(--sg);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nft-meta-coll{font-size:9px;color:var(--text3);font-family:var(--mono);}
/* PORTFOLIO TABS */
.port-tabs{display:flex;gap:2px;background:var(--glass);padding:3px;border-radius:10px;margin-bottom:12px;border:1px solid var(--glass-border);}
.port-tab{flex:1;padding:8px 10px;background:0;border:0;border-radius:8px;color:var(--text2);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--sg);transition:all .2s;text-align:center;}
.port-tab:hover{color:var(--text1);}
.port-tab.active{background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;}
.port-sec{display:none;}.port-sec.active{display:block;animation:fadeIn .3s ease;}

/* RESPONSIVE */
@media(max-width:1024px){.g4{grid-template-columns:repeat(2,1fr);}.g5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){
  html,body{overflow-x:hidden!important;max-width:100vw!important;}
  .header{display:none!important;}
  .app-header{display:flex!important;}
  .tab-bar{display:none!important;}
  .glow-banner{display:none!important;}
  .marquee-banner{position:fixed!important;top:54px!important;left:0!important;right:0!important;z-index:99!important;font-size:9px!important;padding:4px 0!important;}
  .main{padding:12px!important;padding-top:80px!important;padding-bottom:76px!important;}
  .g2,.g3,.g4,.g5{grid-template-columns:1fr!important;}
  .bnav-bar{display:flex!important;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;}
  body{padding-bottom:0!important;}
  .wh-row{grid-template-columns:auto 1fr auto;font-size:11px;}
  .sval{font-size:18px;}
  .card{padding:14px!important;}
  .sbox{padding:12px!important;}
  *:hover{transform:none!important;}
  .wm{max-width:95vw!important;margin:0 10px!important;}
  .nft-grid{grid-template-columns:repeat(2,1fr)!important;}
  .fish-rarity,.fish-tiers{grid-template-columns:repeat(3,1fr)!important;}
  .mo{align-items:flex-end!important;}
  .wm{border-radius:20px 20px 0 0!important;max-width:100vw!important;margin:0!important;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;}
  .fish-modal .fish-card{border-radius:20px 20px 0 0!important;max-width:100vw!important;margin:0!important;}
  .fish-modal{align-items:flex-end!important;}
}
@media(max-width:480px){
  .nft-grid{grid-template-columns:repeat(2,1fr)!important;}
  .mm-grid{grid-template-columns:repeat(3,1fr)!important;}
  .fish-rarity{grid-template-columns:repeat(3,1fr)!important;}
}

/* GLOWING ANNOUNCEMENT BANNER */
.glow-banner{position:relative;overflow:hidden;padding:10px 20px;background:linear-gradient(90deg,rgba(249,115,22,.12),rgba(249,115,22,.12),rgba(249,115,22,.12));border-bottom:1px solid var(--glass-border);text-align:center;font-size:12px;font-family:var(--mono);color:var(--text2);}
.glow-banner::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(249,115,22,.15),rgba(249,115,22,.15),transparent);animation:bannerGlow 4s ease-in-out infinite;}
@keyframes bannerGlow{0%{left:-60%;}100%{left:100%;}}
.glow-banner a{color:var(--cyan);text-decoration:none;font-weight:600;}
.glow-banner a:hover{text-decoration:underline;}
.glow-banner .fire{animation:fireFlicker 1s ease infinite alternate;}
@keyframes fireFlicker{0%{opacity:.7;transform:scale(1);}100%{opacity:1;transform:scale(1.15);}}
.banner-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text3);cursor:pointer;font-size:14px;padding:4px;}
.banner-close:hover{color:var(--text1);}

/* SECOND MOVING BANNER (MARQUEE) */
.marquee-banner{overflow:hidden;white-space:nowrap;background:linear-gradient(90deg,rgba(74,222,128,.05),rgba(249,115,22,.08),rgba(249,115,22,.05));border-bottom:1px solid var(--glass-border);padding:6px 0;font-size:11px;font-family:var(--mono);color:var(--text3);}
.marquee-inner{display:inline-block;animation:marqueeScroll 40s linear infinite;}
@keyframes marqueeScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.marquee-inner .item{display:inline-block;padding:0 24px;}
.marquee-inner .sep{color:var(--orange);margin:0 4px;}
.marquee-inner .hl{color:var(--cyan);font-weight:500;}
.marquee-inner .gr{color:var(--green);}
.marquee-inner .pr{color:var(--purple);}
.marquee-inner .og{color:var(--orange);}

/* FISHING POPUP MODAL */
.fish-modal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:all .4s;display:flex;align-items:center;justify-content:center;}
.fish-modal.open{opacity:1;visibility:visible;}
.fish-card{background:linear-gradient(145deg,rgba(13,13,35,.98),rgba(25,15,45,.98));border:1px solid rgba(249,115,22,.3);border-radius:24px;padding:32px;width:480px;max-width:92vw;max-height:85vh;overflow-y:auto;transform:translateY(30px) scale(.95);transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 0 60px rgba(249,115,22,.15),0 0 120px rgba(249,115,22,.08);}
.fish-modal.open .fish-card{transform:translateY(0) scale(1);}
.fish-card::-webkit-scrollbar{width:4px;}.fish-card::-webkit-scrollbar-thumb{background:var(--purple);border-radius:2px;}
.fish-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.fish-title{font-family:var(--sg);font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--orange),var(--purple),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.fish-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);font-size:10px;color:var(--green);font-family:var(--mono);animation:pulse 1.5s infinite alternate;}
.fish-sub{font-size:12px;color:var(--text3);margin-bottom:20px;font-family:var(--mono);}
.fish-section{margin-bottom:18px;}
.fish-section-title{font-family:var(--sg);font-size:13px;font-weight:600;color:var(--text2);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;}
.fish-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fish-stat{padding:12px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);}
.fish-stat-label{font-size:10px;color:var(--text3);font-family:var(--mono);margin-bottom:4px;}
.fish-stat-val{font-family:var(--sg);font-size:16px;font-weight:600;}
.fish-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.fish-tier{padding:10px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);text-align:center;transition:all .3s;}
.fish-tier:hover{border-color:var(--purple);transform:translateY(-2px);}
.fish-tier-name{font-family:var(--sg);font-size:12px;font-weight:600;margin-bottom:4px;}
.fish-tier-req{font-size:10px;color:var(--text3);font-family:var(--mono);}
.fish-rarity{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px;}
.fish-r{text-align:center;padding:8px 4px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border);font-size:10px;}
.fish-r-name{font-family:var(--sg);font-weight:600;margin-bottom:2px;}
.fish-r-mult{font-family:var(--mono);font-size:11px;font-weight:600;}
.fish-cta{display:block;width:100%;padding:14px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--purple));color:#fff;font-family:var(--sg);font-size:15px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;margin-top:16px;transition:all .3s;}
.fish-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(249,115,22,.3);}
.fish-dismiss{display:block;text-align:center;margin-top:10px;font-size:11px;color:var(--text3);cursor:pointer;font-family:var(--mono);background:none;border:none;}
.fish-dismiss:hover{color:var(--text2);}

/* ENHANCED CARD ANIMATIONS */
.card{animation:fadeUp .5s ease both;}
.sbox{transition:all .3s ease;}
.sbox:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3);border-color:var(--cyan);}

/* PULSE GLOW ON STAT VALUES */
.sval{transition:all .3s ease;}
.sbox:hover .sval{text-shadow:0 0 12px currentColor;}
