@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Nunito:wght@300;400;600;700;900&display=swap');

:root {
  --bg:#030810; --panel:rgba(6,14,30,0.85); --glass:rgba(255,255,255,0.04); --glass-b:rgba(255,255,255,0.08);
  --border:rgba(0,200,180,0.18); --border-bright:rgba(0,210,190,0.55);
  --teal:#00d4be; --teal-dim:#007a70; --teal-glow:rgba(0,212,190,0.3);
  --gold:#ffd700; --gold-dim:#b89000;
  --text:#c8e0f0; --text-2:#6890aa; --text-3:#304858;
  --danger:#ff4060; --ok:#00e878;
  --r:12px; --r-sm:8px;
  --sh:0 16px 60px rgba(0,0,0,0.75); --sh-sm:0 6px 20px rgba(0,0,0,0.5);
  --ease:0.2s ease;
  --rc:#b0b0b0; --ru:#00d870; --rr:#3a9fff; --re:#cc44ff; --rm:#ff3a3a; --rs:#00f5ff; --rd:#ffaa00; --rj:#8a5020;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{height:100%}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;
  background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(0,80,140,0.25) 0%,transparent 60%);}
button{cursor:pointer;font-family:'Nunito',sans-serif;border:none}
button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
input,select{font-family:'Nunito',sans-serif}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--teal-dim);border-radius:4px}

/* ── HUD ───────────────────────────────────────────────────── */
.hud{position:sticky;top:0;z-index:200;background:rgba(2,6,16,0.95);backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid var(--border);padding:9px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  box-shadow:0 2px 24px rgba(0,0,0,0.6);}
.hud-title{font-family:'Cinzel Decorative',serif;font-size:1.05rem;font-weight:700;
  background:linear-gradient(135deg,var(--gold),#ffee80,var(--gold));-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(255,200,0,0.5));white-space:nowrap;letter-spacing:.04em;}
.hud-stats{display:flex;gap:5px;flex-wrap:wrap;flex:1}
.hud-stat{background:var(--glass);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 10px;
  font-size:.76rem;white-space:nowrap;display:flex;align-items:center;gap:4px;backdrop-filter:blur(8px);transition:border-color var(--ease);}
.hud-stat .stat-val{color:var(--gold);font-weight:700}
.hud-actions{display:flex;gap:6px}
.hud-btn{background:var(--glass);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);
  padding:5px 12px;font-size:.78rem;font-weight:600;transition:all var(--ease);}
.hud-btn:hover{background:var(--glass-b);border-color:var(--teal);color:var(--teal);box-shadow:0 0 12px var(--teal-glow);}
.save-status{font-size:.66rem;color:var(--text-3);white-space:nowrap}
.hud-rod-row{width:100%;padding:3px 16px 5px;font-size:.73rem;color:var(--text-2);
  background:rgba(2,6,16,0.95);border-bottom:1px solid var(--border);backdrop-filter:blur(24px);}
.hud-rod-row .bait-plus{color:var(--teal);font-weight:800;margin:0 3px}
.exp-row{width:100%;display:flex;align-items:center;gap:9px;padding:0 16px 6px;
  background:rgba(2,6,16,0.95);border-bottom:1px solid var(--border);backdrop-filter:blur(24px);}
.exp-label{font-size:.68rem;color:var(--text-3);white-space:nowrap}
.exp-bar{flex:1;height:4px;background:rgba(255,255,255,0.07);border-radius:3px;overflow:hidden}
.exp-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--teal),#a0ffcc);border-radius:3px;box-shadow:0 0 10px var(--teal-glow);}
#exp-text{font-size:.67rem;color:var(--text-3);white-space:nowrap}

/* ── MAIN LAYOUT — scene-first ─────────────────────────────── */
.game-layout{display:grid;grid-template-columns:1fr 260px;gap:10px;padding:10px;max-width:1160px;margin:0 auto;}
@media(max-width:800px){.game-layout{grid-template-columns:1fr}}

/* ── SCENE — large dominant view ──────────────────────────── */
.scene-container{
  position:relative;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--sh),inset 0 0 0 1px rgba(0,212,190,0.06),0 0 60px rgba(0,0,0,0.4);
  /* Tall cinematic scene — POV fills this */
  height: 420px;
  background:#030810;
}
/* Responsive: even bigger on large screens */
@media(min-width:900px){.scene-container{height:460px}}
@media(max-width:600px){.scene-container{height:300px}}

#scene-canvas{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
#scene-canvas canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;}

.scene-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;}
.scene-label{font-family:'Cinzel Decorative',serif;font-size:.75rem;font-weight:400;
  color:rgba(255,255,255,0.92);text-shadow:0 1px 14px rgba(0,0,0,0.98),0 0 6px rgba(0,0,0,0.9);
  padding:12px 16px;background:linear-gradient(180deg,rgba(0,0,0,0.65) 0%,transparent 100%);letter-spacing:.1em;}

/* Cast progress overlay at bottom of scene */
.scene-progress{
  position:absolute;bottom:0;left:0;right:0;
  height:4px;background:rgba(0,0,0,0.4);
}
.scene-progress-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--teal),#60ffee);
  transition:width .1s linear;
  box-shadow:0 0 12px var(--teal-glow);
}

/* ── CONTROLS (below scene) ────────────────────────────────── */
.controls-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);
  padding:12px;backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:9px;box-shadow:var(--sh-sm);}

.action-row{display:flex;gap:10px}
.cast-btn{flex:1;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#005e52 0%,#00a898 50%,var(--teal) 100%);color:#fff;
  font-family:'Cinzel Decorative',serif;font-size:.9rem;font-weight:700;
  padding:14px 16px;border-radius:var(--r-sm);letter-spacing:.06em;
  box-shadow:0 4px 22px rgba(0,170,152,0.45),inset 0 1px 0 rgba(255,255,255,0.12);
  transition:transform var(--ease),box-shadow var(--ease);}
.cast-btn::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,0.2) 0%,transparent 70%);opacity:1;}
.cast-btn::after{content:'';position:absolute;left:-100%;top:0;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);transition:left .5s ease;}
.cast-btn:hover:not(:disabled)::after{left:160%}
.cast-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,212,190,0.55);}
.cast-btn:active:not(:disabled){transform:translateY(1px)}
.auto-btn{flex:.7;background:var(--glass);border:1px solid var(--border);color:var(--text-2);
  font-size:.8rem;font-weight:700;border-radius:var(--r-sm);transition:all var(--ease);}
.auto-btn:hover:not(:disabled){background:var(--glass-b);border-color:var(--teal);color:var(--teal)}
.auto-btn.active{background:linear-gradient(135deg,rgba(0,80,70,0.55),rgba(0,212,190,0.18));
  border-color:var(--teal);color:var(--teal);box-shadow:0 0 20px var(--teal-glow);animation:auto-pulse 2.2s ease-in-out infinite;}
@keyframes auto-pulse{0%,100%{box-shadow:0 0 18px var(--teal-glow)}50%{box-shadow:0 0 30px rgba(0,212,190,0.6)}}

.quick-row{display:flex;gap:6px;flex-wrap:wrap}
.quick-btn{flex:1;min-width:68px;background:var(--glass);border:1px solid var(--border);color:var(--text);
  border-radius:var(--r-sm);padding:7px 5px;font-size:.73rem;font-weight:600;text-align:center;transition:all var(--ease);}
.quick-btn:hover:not(:disabled){background:var(--glass-b);border-color:var(--teal);color:var(--teal);}
.sell-all-btn{border-color:rgba(255,70,50,.3);color:#ff8060;background:rgba(255,70,50,.07)}
.sell-all-btn:hover:not(:disabled){background:rgba(255,70,50,.18);border-color:#ff4030;color:#ffaa88}
.level-up-btn{border-color:rgba(255,215,0,.24);color:var(--gold-dim);background:rgba(255,215,0,.06);font-size:.7rem}
.level-up-btn:hover:not(:disabled){background:rgba(255,215,0,.16);border-color:var(--gold);color:var(--gold)}
.result-box{min-height:36px;background:rgba(0,0,0,0.38);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:8px 13px;font-size:.82rem;line-height:1.5;color:var(--text);}
.result-catch{color:var(--text-2)}.result-fish{font-weight:800}.result-rarity{font-size:.72rem;font-weight:700}
.result-price{color:var(--gold);font-weight:700;margin-left:7px}

/* ── Location bar ─────────────────────────────────────────── */
.location-bar{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:7px;
  display:flex;gap:4px;flex-wrap:wrap;backdrop-filter:blur(16px);box-shadow:var(--sh-sm);}
.loc-btn{flex:1;min-width:55px;background:var(--glass);border:1px solid var(--border);color:var(--text-2);
  border-radius:var(--r-sm);padding:7px 3px;font-size:.7rem;font-weight:600;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:all var(--ease);}
.loc-btn .loc-icon{font-size:1rem;line-height:1}.loc-btn .loc-name{font-size:.62rem;white-space:nowrap}
.loc-btn:hover:not(.locked){background:var(--glass-b);border-color:var(--teal);color:var(--text)}
.loc-btn.active{background:rgba(0,212,190,0.15);border-color:var(--teal);color:var(--teal);
  box-shadow:0 0 14px var(--teal-glow);font-weight:700;}
.loc-btn.locked{opacity:.56;cursor:pointer}.loc-btn.locked:hover{opacity:.80;border-color:var(--gold-dim);color:var(--gold-dim)}
.loc-cost{font-size:.56rem;color:var(--gold-dim);margin-top:1px}

/* ── Sidebar ──────────────────────────────────────────────── */
.sidebar{display:flex;flex-direction:column;gap:10px}
.panel-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);
  padding:12px;backdrop-filter:blur(18px);box-shadow:var(--sh-sm);}
.panel-title{font-family:'Cinzel Decorative',serif;font-size:.7rem;font-weight:400;color:var(--teal);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.stat-cell{background:var(--glass);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px}
.stat-cell .sc-label{color:var(--text-3);font-size:.62rem;margin-bottom:2px}.stat-cell .sc-val{color:var(--gold);font-weight:800;font-size:.85rem}
.booster-chip{background:rgba(0,212,190,0.07);border:1px solid rgba(0,212,190,0.22);border-radius:var(--r-sm);padding:7px 9px;margin-bottom:5px;}
.booster-inner{display:flex;justify-content:space-between;font-size:.76rem;color:var(--teal);margin-bottom:4px}
.booster-time{color:var(--text-2);font-size:.68rem}.booster-bar{height:3px;background:rgba(255,255,255,0.08);border-radius:2px;overflow:hidden}
.booster-fill{height:100%;background:var(--teal);border-radius:2px}.no-booster{color:var(--text-3);font-size:.74rem;font-style:italic}

/* ── Inventory ────────────────────────────────────────────── */
.inventory-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:13px;backdrop-filter:blur(18px);box-shadow:var(--sh-sm);}
.inv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
#inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px;max-height:280px;overflow-y:auto;padding-right:2px;}
.inv-card{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:9px 6px;
  text-align:center;font-size:.73rem;position:relative;overflow:hidden;transition:transform var(--ease);}
.inv-card:hover{transform:translateY(-3px)}.inv-card.locked{opacity:.62}
.inv-emoji{font-size:1.7rem;line-height:1;margin-bottom:3px}.inv-name{font-weight:700;line-height:1.2;font-size:.72rem;margin-bottom:1px}
.inv-count{color:var(--text-2);font-size:.68rem}.inv-price{font-weight:800;font-size:.74rem;margin-top:2px}
.inv-rarity{font-size:.6rem;font-weight:800;margin-top:2px;letter-spacing:.04em}
.inv-actions{display:flex;gap:4px;margin-top:6px;justify-content:center}
.inv-btn{flex:1;padding:4px;border-radius:5px;font-size:.62rem;font-weight:700;transition:all var(--ease)}
.inv-btn.sell{background:rgba(255,70,50,0.14);border:1px solid rgba(255,70,50,0.3);color:#ff8068}.inv-btn.sell:hover{background:rgba(255,70,50,0.28)}
.inv-btn.lock{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text-2)}.inv-btn.lock:hover{background:var(--glass-b)}
.empty-state{grid-column:1/-1;text-align:center;color:var(--text-3);padding:22px;font-size:.82rem}

/* ── Rarity borders ───────────────────────────────────────── */
.rarity-border-common{border-color:var(--rc)!important}
.rarity-border-uncommon{border-color:var(--ru)!important;box-shadow:0 0 8px rgba(0,216,112,.22)}
.rarity-border-rare{border-color:var(--rr)!important;box-shadow:0 0 10px rgba(58,159,255,.3)}
.rarity-border-epic{border-color:var(--re)!important;box-shadow:0 0 12px rgba(204,68,255,.35)}
.rarity-border-mythic{border-color:var(--rm)!important;box-shadow:0 0 14px rgba(255,58,58,.38)}
.rarity-border-secret{border-color:var(--rs)!important;box-shadow:0 0 18px rgba(0,245,255,.48);animation:secret-pulse 2s ease-in-out infinite}
.rarity-border-divine{border-color:var(--rd)!important;box-shadow:0 0 22px rgba(255,170,0,.6);animation:divine-pulse 1.5s ease-in-out infinite}
.rarity-border-junk{border-color:var(--rj)!important}
@keyframes secret-pulse{0%,100%{box-shadow:0 0 18px rgba(0,245,255,.48)}50%{box-shadow:0 0 30px rgba(0,245,255,.78)}}
@keyframes divine-pulse{0%,100%{box-shadow:0 0 22px rgba(255,170,0,.6)}50%{box-shadow:0 0 40px rgba(255,200,0,.92)}}

/* ── Modals ───────────────────────────────────────────────── */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,0);z-index:500;align-items:center;justify-content:center;padding:12px;}
.modal-backdrop.open{display:flex}
.modal-box{background:linear-gradient(160deg,#091422 0%,#050c18 100%);border:1px solid var(--border);border-radius:var(--r);
  box-shadow:var(--sh),0 0 0 1px rgba(0,212,190,0.06),0 0 100px rgba(0,0,0,0.85);
  width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;opacity:0;}
.modal-backdrop.open .modal-box{opacity:1}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0;
  background:linear-gradient(90deg,rgba(0,212,190,0.04) 0%,transparent 50%);}
.modal-title{font-family:'Cinzel Decorative',serif;font-size:.95rem;font-weight:700;color:var(--gold);letter-spacing:.04em}
.modal-close{background:var(--glass);border:1px solid var(--border);color:var(--text-2);width:28px;height:28px;
  border-radius:6px;font-size:.88rem;display:flex;align-items:center;justify-content:center;transition:all var(--ease);}
.modal-close:hover{background:rgba(255,50,50,0.18);border-color:#ff4040;color:#ff9090}
.modal-body{overflow-y:auto;flex:1;padding:14px 18px}

.shop-tabs{display:flex;gap:5px;margin-bottom:12px}
.shop-tab-btn{flex:1;padding:8px;border-radius:var(--r-sm);font-size:.78rem;font-weight:700;background:var(--glass);border:1px solid var(--border);color:var(--text-2);transition:all var(--ease);}
.shop-tab-btn.active{background:rgba(0,212,190,0.14);border-color:var(--teal);color:var(--teal)}
.shop-tab-btn:hover:not(.active){background:var(--glass-b);color:var(--text)}
.shop-section{display:none}.shop-section.active{display:flex;flex-direction:column;gap:7px}
.shop-card{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:11px 12px;
  display:flex;align-items:center;gap:11px;transition:all var(--ease);position:relative;}
.shop-card:hover{background:var(--glass-b)}.shop-card.owned{background:rgba(0,212,190,0.04)}.shop-card.equipped{background:rgba(0,212,190,0.11)}
.shop-emoji{font-size:1.5rem;flex-shrink:0;line-height:1}.shop-info{flex:1;min-width:0}
.shop-name{font-weight:800;font-size:.84rem;margin-bottom:2px}.shop-stats{font-size:.7rem;color:var(--text-2);margin-bottom:2px}
.shop-rarity{font-size:.63rem;font-weight:800;letter-spacing:.05em}.owned-badge{position:absolute;top:8px;right:50px;font-size:.62rem;font-weight:800;opacity:.85}
.shop-buy-btn{background:linear-gradient(135deg,#005e52,var(--teal));color:#fff;border-radius:var(--r-sm);padding:7px 11px;font-size:.74rem;font-weight:800;white-space:nowrap;flex-shrink:0;box-shadow:0 2px 12px var(--teal-glow);transition:all var(--ease);}
.shop-buy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 18px rgba(0,212,190,0.5)}
.shop-buy-btn.equipped{background:rgba(0,212,190,0.14);color:var(--teal);box-shadow:none}
.shop-buy-btn.equip{background:rgba(255,215,0,0.1);color:var(--gold-dim);border:1px solid rgba(255,215,0,0.28);box-shadow:none}
.shop-buy-btn.equip:hover:not(:disabled){background:rgba(255,215,0,0.22);color:var(--gold)}

.fi-summary{margin-bottom:13px;background:rgba(0,212,190,0.06);border:1px solid rgba(0,212,190,0.2);border-radius:var(--r-sm);padding:11px;}
.fi-progress-wrap{height:7px;background:rgba(255,255,255,0.07);border-radius:4px;overflow:hidden;margin-bottom:6px}
.fi-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal),#88ffcc);border-radius:4px;box-shadow:0 0 10px var(--teal-glow)}
.fi-progress-label{text-align:center;font-size:.8rem;color:var(--teal);font-weight:700}
.fish-index-loc{margin-bottom:16px}
.fish-index-loc-title{font-family:'Cinzel Decorative',serif;font-size:.78rem;color:var(--teal);margin-bottom:8px;display:flex;align-items:center;gap:7px;}
.loc-progress{margin-left:auto;font-size:.68rem;color:var(--text-2);font-family:'Nunito',sans-serif}
.fish-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:5px}
.fi-card{background:var(--glass);border:1px solid var(--border);border-radius:8px;padding:7px 4px;text-align:center;font-size:.68rem;transition:transform var(--ease);}
.fi-card.found:hover{transform:translateY(-2px)}.fi-card.unknown{opacity:.3}
.fi-emoji{font-size:1.4rem;line-height:1;margin-bottom:2px}.fi-name{font-weight:700;margin-bottom:2px;line-height:1.1}
.fi-rarity{font-size:.58rem;font-weight:800;margin-bottom:1px}.fi-price{color:var(--gold-dim);font-size:.6rem}

.selector-list{display:flex;flex-direction:column;gap:6px}
.selector-card{background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all var(--ease);}
.selector-card:hover{background:var(--glass-b);border-color:var(--teal)}.selector-card.active{background:rgba(0,212,190,0.11);border-color:var(--teal)}
.sel-emoji{font-size:1.3rem;flex-shrink:0}.sel-info{flex:1;display:flex;flex-direction:column;gap:2px}
.sel-name{font-weight:700;font-size:.84rem}.sel-stat{font-size:.68rem;color:var(--text-2)}.sel-active{color:var(--teal);font-weight:900;font-size:1.05rem;margin-left:4px}

.settings-list{display:flex;flex-direction:column;gap:6px}
.settings-btn{width:100%;background:var(--glass);border:1px solid var(--border);border-radius:10px;padding:12px 15px;color:var(--text);font-size:.84rem;font-weight:600;text-align:left;display:flex;align-items:center;gap:10px;transition:all var(--ease);}
.settings-btn:hover{background:var(--glass-b);border-color:var(--teal);color:var(--teal)}
.settings-btn.danger{border-color:rgba(255,50,50,.28);color:#ff8080}.settings-btn.danger:hover{background:rgba(255,50,50,.12);border-color:#ff3030;color:#ffaaaa}
.update-entry{margin-bottom:15px}.update-version{display:inline-block;background:rgba(0,212,190,0.12);border:1px solid var(--teal);border-radius:6px;padding:2px 9px;color:var(--teal);font-family:'Cinzel Decorative',serif;font-size:.73rem;margin-bottom:7px;}
.update-entry ul{padding-left:17px}.update-entry li{margin-bottom:4px;font-size:.81rem}

.redeem-form{display:flex;flex-direction:column;gap:10px}
.redeem-input{width:100%;background:rgba(0,0,0,0.5);border:1px solid var(--border);border-radius:10px;padding:12px 16px;color:var(--text);font-size:.94rem;letter-spacing:.12em;font-weight:700;outline:none;transition:border-color var(--ease);}
.redeem-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,212,190,0.15)}
.redeem-submit{background:linear-gradient(135deg,#005e52,var(--teal));color:#fff;border-radius:10px;padding:13px;font-size:.86rem;font-weight:800;font-family:'Cinzel Decorative',serif;box-shadow:0 4px 20px var(--teal-glow);transition:all var(--ease);}
.redeem-submit:hover{transform:translateY(-1px);box-shadow:0 7px 30px rgba(0,212,190,0.6)}

.admin-row{display:flex;gap:6px;margin-bottom:8px}
.admin-input{flex:1;background:rgba(0,0,0,0.45);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 10px;color:var(--text);font-size:.86rem;outline:none;}
.admin-input:focus{border-color:var(--gold)}
.admin-btn{background:rgba(255,215,0,0.12);border:1px solid rgba(255,215,0,0.35);color:var(--gold);border-radius:var(--r-sm);padding:9px 12px;font-size:.8rem;font-weight:800;transition:all var(--ease);}
.admin-btn:hover{background:rgba(255,215,0,0.24)}
.admin-fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:5px;max-height:280px;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(0,0,0,0.2);}
.admin-fish-card{background:var(--glass);border:1px solid var(--border);border-radius:7px;padding:7px 4px;text-align:center;cursor:pointer;font-size:.66rem;transition:all var(--ease);}
.admin-fish-card:hover{background:var(--glass-b)}.admin-fish-card.selected{background:rgba(255,215,0,0.12);border-color:var(--gold)}
.admin-loc-select{width:100%;background:rgba(0,0,0,0.45);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:7px 10px;font-size:.78rem;margin-bottom:8px;outline:none;}

#levelup-overlay{position:fixed;inset:0;pointer-events:none;z-index:900;display:flex;align-items:center;justify-content:center;opacity:0;}
.levelup-card{background:linear-gradient(135deg,rgba(255,180,0,0.16) 0%,rgba(255,80,0,0.1) 100%);border:2px solid var(--gold);
  border-radius:22px;padding:30px 54px;text-align:center;
  box-shadow:0 0 80px rgba(255,180,0,0.6),0 0 160px rgba(255,100,0,0.25),inset 0 0 50px rgba(255,200,0,0.06);backdrop-filter:blur(14px);}
.levelup-text{font-family:'Cinzel Decorative',serif;font-size:.88rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px}
.levelup-num{font-family:'Cinzel Decorative',serif;font-size:3.8rem;font-weight:900;color:var(--gold);text-shadow:0 0 50px rgba(255,210,0,.95);line-height:1}
.levelup-sub{font-size:.8rem;color:rgba(255,215,80,0.8);margin-top:6px}

.toast{position:fixed;bottom:20px;right:20px;max-width:320px;background:rgba(5,12,28,0.97);border:1px solid var(--border);
  border-radius:10px;padding:11px 15px;font-size:.82rem;font-weight:500;color:var(--text);box-shadow:var(--sh);
  z-index:999;opacity:0;pointer-events:none;backdrop-filter:blur(16px);}
.toast--success{border-color:var(--ok);color:#a0ffc0}.toast--error{border-color:var(--danger);color:#ffaaaa}
.toast--info{border-color:#5090d0;color:#b0d8f5}.toast--levelup{border-color:var(--gold);color:#ffe680}

@media(max-width:580px){
  .hud{gap:6px;padding:7px}.hud-title{font-size:.88rem}
  .game-layout{padding:7px;gap:8px}
  .loc-btn{min-width:44px;font-size:.6rem}
  #inventory-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr))}
  .modal-box{max-height:94vh}.levelup-num{font-size:2.8rem}.levelup-card{padding:22px 34px}
  .toast{right:8px;bottom:8px;max-width:265px}
}
