/* Compact authenticated player chat. */
.chat-dock{position:fixed;right:180px;bottom:18px;z-index:12;font-family:var(--sans)}.chat-launcher{min-width:74px;padding:10px 12px;border:3px solid var(--gold);background:#393062;color:var(--gold);font:900 10px var(--sans);letter-spacing:.08em;box-shadow:4px 4px 0 #0d0b19}.chat-launcher:hover{background:#51477c}.chat-panel{position:absolute;right:0;bottom:48px;width:min(350px,calc(100vw - 24px));height:390px;display:flex;flex-direction:column;border:4px solid var(--aqua);background:#211c3b;box-shadow:7px 7px 0 #0d0b19}.chat-dm-panel{border-color:var(--gold)}.chat-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px;border-bottom:3px solid var(--line)}.chat-panel-header h2{margin:3px 0 0;color:var(--text);font:900 16px var(--serif);text-transform:uppercase}.chat-panel-actions{display:flex;gap:4px}.chat-panel-actions button{padding:5px 6px;border:2px solid #665994;background:#302856;color:var(--aqua);font:900 8px var(--sans)}.chat-panel-actions button:hover{color:var(--gold);border-color:var(--gold)}.chat-target{display:flex;align-items:center;gap:8px;min-width:0}.chat-avatar{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border:2px solid var(--gold);background:var(--aqua);color:#17152a;font-size:9px;font-weight:900}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:8px;background:#17152a}.chat-empty{margin:20px 8px;color:var(--muted);font-size:10px;text-align:center}.chat-message{max-width:88%;margin:0 0 8px;padding:7px 8px;border:2px solid #51477c;background:#29234b}.chat-message-own{margin-left:auto;border-color:#397e78;background:#21423f}.chat-message-meta{display:flex;justify-content:space-between;gap:8px;color:var(--aqua);font-size:8px;text-transform:uppercase}.chat-message-meta time{color:var(--muted);font-size:8px}.chat-message p{margin:5px 0 0;color:var(--text);font-size:11px;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.chat-composer{display:flex;gap:5px;padding:8px;border-top:3px solid var(--line)}.chat-composer input{min-width:0;flex:1;padding:8px;border:2px solid #51477c;background:#111022;color:var(--text);font:10px var(--sans);outline:0}.chat-composer input:focus{border-color:var(--aqua)}.chat-composer button{padding:8px;border:2px solid var(--aqua);background:#245b59;color:var(--text);font:900 9px var(--sans)}.chat-composer button:disabled{opacity:.5}.chat-dm-tabs{position:absolute;right:84px;bottom:0;display:flex;gap:5px;max-width:min(300px,calc(100vw - 110px));overflow-x:auto}.chat-dm-tab{max-width:110px;padding:9px 8px;border:3px solid var(--gold);background:#302856;color:var(--gold);font:900 9px var(--sans);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-message-button{padding:8px 9px;font-size:9px;flex-shrink:0}.friend-row .primary-button{box-shadow:3px 3px 0 #0d0b19}
.admin-panel:not([hidden]) ~ .chat-dock{right:468px}
@media(max-width:620px){.chat-dock{right:10px;bottom:10px}.chat-panel{bottom:48px;width:calc(100vw - 20px);height:min(390px,65vh)}.chat-dm-tabs{right:84px;max-width:calc(100vw - 110px)}.chat-launcher{padding:9px 10px}.friend-row{flex-wrap:wrap}.friend-row .friend-profile-link{flex-basis:calc(100% - 12px)}.friend-row .friend-message-button{margin-left:auto}}
/* Keep large collections cheap to paint without changing their order or
   interaction model. Browsers skip off-screen cards until they are needed. */
.inventory-list > *,
#inventory-list > *,
#aquarium-list > *,
#catch-list > *,
#item-inventory-list > *,
#shop-list > *,
#owned-loadout-list > *,
.destination-list > *,
.shop-list > * {
  content-visibility: auto;
  contain-intrinsic-size: 160px;
}
.diving-screen {
  background:
    linear-gradient(180deg, rgba(9, 42, 55, .88), rgba(5, 19, 29, .94)),
    url("/assets/fishing/diving/underwater-current.png") center/cover fixed;
  color: #e7f7f2;
}
.diving-screen .page-lede,
.diving-screen p,
.diving-screen small { color: rgba(231, 247, 242, .72); }
.diving-in-depth .sidebar,
.diving-in-depth .topbar { display: none; }
.diving-in-depth .app-shell { display: block; min-height: 100vh; background: transparent; }
.diving-in-depth .main-content { max-width: none; min-height: 100vh; margin: 0; padding: 0; }
.diving-in-depth .diving-area-screen { min-height: 100vh; margin: 0; padding: 0; }
.diving-area-screen {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #03131f;
}
.diving-depth-backdrop {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(1.08);
}
.diving-depth-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-height: 100vh;
  max-width: 1060px;
  margin: 0 auto;
  padding: clamp(22px, 5vw, 60px) clamp(16px, 5vw, 72px);
  box-sizing: border-box;
}
.diving-depth-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  color: #d9fff4;
  font-size: 11px;
  letter-spacing: .1em;
}
.diving-depth-nav span { color: #ffe7a6; }
.diving-depth-nav span b { color: #e7f7f2; }
.diving-depth-heading { max-width: 700px; margin-top: clamp(34px, 9vh, 100px); }
.diving-depth-heading h1 {
  margin: 4px 0 10px;
  color: #e7fff8;
  font-family: var(--serif);
  font-size: clamp(36px, 7vw, 76px);
  line-height: .98;
  text-transform: uppercase;
}
.diving-depth-heading p:not(.eyebrow) { max-width: 620px; color: rgba(231, 247, 242, .86); line-height: 1.6; }
.diving-depth-card {
  align-self: flex-start;
  width: min(100%, 620px);
  padding: clamp(22px, 4vw, 38px);
  border: 2px solid rgba(159, 244, 221, .5);
  background: linear-gradient(135deg, rgba(3, 31, 43, .94), rgba(5, 19, 30, .88));
  box-shadow: 8px 8px 0 rgba(1, 11, 18, .5);
}
.diving-depth-card h2 { margin: 5px 0 10px; color: #d9fff4; font-size: clamp(24px, 4vw, 40px); }
.diving-depth-card p:not(.eyebrow) { color: rgba(231, 247, 242, .8); line-height: 1.6; }
.diving-depth-card .primary-button { margin-top: 16px; }
.diving-depth-card + .diving-find-result { width: min(100%, 620px); margin: 0; }
.diving-depth-empty { display: grid; place-items: center; align-content: center; min-height: 100vh; color: #e7f7f2; text-align: center; }
.diving-depth-empty h2 { margin: 8px 0 20px; }
@media (max-width: 620px) {
  .diving-depth-content { gap: 16px; padding: 16px 14px 28px; }
  .diving-depth-heading { margin-top: 38px; }
  .diving-depth-heading h1 { font-size: 42px; }
  .diving-depth-nav { align-items: flex-start; flex-direction: column; }
  .diving-depth-card { box-shadow: 5px 5px 0 rgba(1, 11, 18, .5); }
}
.diving-hero,
.diving-search-panel,
.diving-area-card,
.diving-find-result {
  border: 1px solid rgba(122, 205, 190, .28);
  background: linear-gradient(135deg, rgba(9, 55, 65, .94), rgba(8, 27, 40, .9));
  box-shadow: 0 18px 50px rgba(0, 13, 25, .35);
}
.diving-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(22px, 4vw, 38px);
  border-radius: 22px;
  margin-bottom: 14px;
}
.diving-hero h3 { margin: 0 0 8px; color: #d9fff4; font-size: clamp(1.4rem, 3vw, 2.2rem); }
.diving-stat { min-width: 180px; text-align: right; }
.diving-stat span, .diving-stat small { display: block; }
.diving-stat strong { display: block; margin: 5px 0; color: #9ff4dd; font-size: 1.8rem; }
.diving-progress { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(155, 232, 216, .13); }
.diving-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #63cdb9, #d5d27e); }
.diving-bonus { margin: 12px 2px 22px; }
.diving-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.diving-area-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; }
.diving-area-card.is-active { border-color: #a4eedc; }
.diving-area-art { height: 190px; background: #082c3c; }
.diving-area-art img { width: 100%; height: 100%; object-fit: cover; }
.diving-area-copy { padding: 20px 20px 8px; }
.diving-area-copy h3 { margin: 4px 0 8px; color: #d9fff4; }
.diving-equipment-line { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; color: #ffe7a6; }
.diving-area-actions { display: flex; gap: 10px; padding: 8px 20px 20px; }
.diving-area-actions button { width: 100%; }
.diving-search-panel { display: grid; grid-template-columns: minmax(180px, .8fr) 1.2fr; margin-top: 22px; overflow: hidden; border-radius: 20px; }
.diving-current-art { min-height: 230px; background-size: cover; background-position: center; }
.diving-search-panel > div:last-child { padding: 26px; }
.diving-search-panel h3 { margin: 3px 0 8px; color: #d9fff4; }
.diving-search-panel .sell-button { margin-left: 10px; }
.diving-find-result { display: flex; gap: 18px; align-items: center; margin-top: 22px; padding: 16px; border-radius: 16px; }
.diving-find-result img { width: 74px; height: 74px; object-fit: contain; image-rendering: auto; }
.diving-find-result h3 { margin: 3px 0; color: #fff2bd; }
@media (max-width: 760px) {
  .diving-hero { flex-direction: column; }
  .diving-stat { text-align: left; }
  .diving-area-grid, .diving-search-panel { grid-template-columns: 1fr; }
  .diving-area-art { height: 150px; }
  .diving-current-art { min-height: 150px; }
  .diving-search-panel .sell-button { margin: 10px 0 0; }
}
/* Persistent Kitchen progression and the slot-free item inventory. */
.kitchen-tabs { display: flex; gap: 10px; margin: 18px 0 0; }
.forager-npc-card,.grove-search-card,.forager-progression-card{display:flex;gap:20px;align-items:center;padding:20px;margin:0 0 18px;border:3px solid #5f9b63;background:#233d36;box-shadow:5px 5px 0 #0d0b19}.forager-npc-card h3,.grove-search-card h3,.forager-progression-card h3{margin:5px 0;color:#fff0c7}.forager-npc-card p,.grove-search-card p,.forager-progression-card p{color:#b9d2bd;font-size:11px;line-height:1.5;max-width:680px}.forager-npc-portrait{display:grid;place-items:center;flex:0 0 104px;width:104px;height:104px;border:3px solid #9ccc72;background:#365d3f;overflow:hidden}.forager-npc-portrait img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.forager-npc-card .primary-button,.grove-copy .primary-button{margin-left:auto;flex:0 0 auto}.forager-section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:24px 0 12px}.forager-section-heading h3{margin:0 0 4px}.forager-section-heading p:not(.eyebrow){margin:0;color:#b9d2bd;font-size:11px}.forager-reset{color:#ffd166;font-size:10px;letter-spacing:.08em}.forager-shop-grid,.forager-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forager-item-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:11px;padding:10px;border:2px solid #4e6e59;background:#211f3a}.forager-item-art{width:54px;height:54px;display:grid;place-items:center;border:2px solid #655a94;background:#14172b}.forager-item-art img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}.forager-item-copy{min-width:0}.forager-item-copy h3{margin:4px 0;font-size:12px;overflow-wrap:anywhere}.forager-item-copy span{color:#ffd166;font-size:9px}.forager-progress-bar{height:10px;flex:1;border:2px solid #655a94;background:#14172b}.forager-progress-bar span{display:block;height:100%;background:#65e6c2}.grove-search-card{align-items:stretch;background:#263e3d;border-color:#65e6c2}.grove-art{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:0 0 150px;min-height:190px;border:3px solid #5f9b63;background:linear-gradient(155deg,#365d3f,#172b2d);color:#b9ef82;font-size:38px;text-align:center;line-height:.8}.grove-art img{width:112px;height:112px;object-fit:contain;image-rendering:pixelated}.grove-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.grove-energy{display:flex;justify-content:space-between;max-width:360px;margin:14px 0;color:#ffd166;font-size:10px;letter-spacing:.1em}.grove-energy strong{font-size:18px}.inventory-section-heading{margin:0 0 9px}.inventory-section-heading h3{margin:0 0 5px}.inventory-section-heading p:not(.eyebrow){margin:0;color:#b8d0cc;font-size:11px}.foraging-heading{margin-top:28px}.foraging-inventory-row{border-color:#5f9b63}.forager-in-woods .sidebar,.forager-in-woods .topbar{display:none}.forager-in-woods .main-content{max-width:980px;margin:0 auto}.forager-in-woods .quiet-grove-screen{min-height:calc(100vh - 56px)}@media(max-width:760px){.forager-npc-card,.grove-search-card{display:block}.forager-npc-card .primary-button,.grove-copy .primary-button{margin:14px 0 0}.forager-shop-grid,.forager-inventory-grid{grid-template-columns:1fr}.forager-item-card{grid-template-columns:48px 1fr}.forager-item-card button{grid-column:1 / -1;width:100%;justify-content:center}.forager-npc-portrait{width:132px;height:132px;margin:0 auto 14px}.grove-art{min-height:105px;margin-bottom:15px;flex-direction:row;align-items:center}.grove-art img{width:86px;height:86px}.forager-progression-card{display:block}.forager-progression-card .forager-progress-bar{margin-top:15px}.forager-section-heading{display:block}.forager-reset{display:block;margin-top:8px}}
.kitchen-tabs button { min-width: 120px; }
.kitchen-progression, .kitchen-upgrades { margin: 16px 0 22px; }

.forager-in-woods .quiet-grove-screen {
  background:
    linear-gradient(180deg, rgba(6, 25, 22, 0.28), rgba(7, 15, 22, 0.84)),
    url("/assets/forager/quiet-grove.png") center / cover no-repeat;
  image-rendering: pixelated;
}
.forager-in-woods .quiet-grove-screen .page-screen-header,
.forager-in-woods .quiet-grove-screen #quiet-grove-content {
  position: relative;
  z-index: 1;
}
.grove-forest-art {
  flex: 0 0 190px;
  width: 190px;
  min-height: 190px;
  padding: 0;
  overflow: hidden;
  background: #172b2d;
}
.grove-forest-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: pixelated;
}
.forager-find-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 16px;
  padding: 16px 20px;
  margin: 0 0 18px;
  border: 3px solid #ffd166;
  background: rgba(36, 52, 43, 0.96);
  box-shadow: 5px 5px 0 #0d0b19;
}
.forager-find-result-art {
  display: grid;
  grid-template-rows: 96px auto auto auto;
  align-content: start;
  justify-items: center;
  min-height: 156px;
  padding: 8px;
  gap: 4px;
  border: 2px solid #9ccc72;
  background: #14172b;
  text-align: center;
}
.forager-find-result-art img {
  max-width: 82px;
  max-height: 82px;
  width: auto;
  height: auto;
  object-fit: contain;
  image-rendering: pixelated;
}
.forager-find-result-image {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
}
.forager-find-result h3 {
  margin: 5px 0;
  color: #fff0c7;
}
.forager-find-result p:not(.eyebrow) {
  margin: 0 0 8px;
  color: #b9d2bd;
  font-size: 11px;
}
.forager-find-result strong {
  color: #ffd166;
  font-size: 10px;
  letter-spacing: .08em;
}
@media(max-width:760px) {
  .grove-forest-art {
    width: 100%;
    height: 150px;
    min-height: 150px;
    margin-bottom: 15px;
  }
  .forager-find-result {
    gap: 12px;
    padding: 14px;
  }
  .forager-find-result-art {
    grid-template-rows: 82px auto auto auto;
    min-height: 142px;
  }
  .forager-find-result-image {
    width: 82px;
    height: 82px;
  }
  .forager-find-result-art img {
    max-width: 70px;
    max-height: 70px;
  }
}
.forager-subclass-card {
  display: grid;
  gap: 16px;
  padding: 18px 20px;
  margin: 0 0 18px;
  border: 3px solid #9b633c;
  background: rgba(25, 38, 39, 0.94);
  box-shadow: 5px 5px 0 #0d0b19;
}
.forager-subclass-card h3 {
  margin: 5px 0;
  color: #fff0c7;
}
.forager-subclass-card p:not(.eyebrow) {
  margin: 0;
  color: #b9d2bd;
  font-size: 11px;
  line-height: 1.5;
}
.forager-subclass-choices {
  grid-template-columns: minmax(220px, .8fr) 1.2fr;
  align-items: center;
}
.forager-subclass-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.forager-subclass-choice {
  display: grid;
  gap: 7px;
  min-height: 78px;
  text-align: left;
}
.forager-subclass-choice strong {
  color: #fff0c7;
  font-size: 12px;
}
.forager-subclass-choice span {
  color: #b9d2bd;
  font-size: 10px;
  line-height: 1.35;
  white-space: normal;
}
.forager-subclass-active {
  display: block;
  border-color: #65e6c2;
}
.forager-subclass-intro {
  min-width: 0;
}
.forager-bonus-details {
  margin-top: 16px;
  border-top: 1px solid rgba(101, 230, 194, .35);
}
.forager-bonus-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0 4px;
  color: #65e6c2;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  cursor: pointer;
  list-style: none;
}
.forager-bonus-details summary::-webkit-details-marker {
  display: none;
}
.forager-bonus-details summary::after {
  content: "+";
  color: #ffd166;
  font-size: 16px;
  line-height: 1;
}
.forager-bonus-details[open] summary::after {
  content: "−";
}
.forager-bonus-toggle-hint {
  margin-left: auto;
  color: #b9d2bd;
  font-size: 8px;
}
.forager-bonus-content {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) 1.2fr;
  gap: 16px;
  padding-top: 10px;
}
.forager-active-bonuses {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
.forager-active-bonuses span {
  padding: 5px 7px;
  border: 1px solid #5f9b63;
  color: #ffd166;
  font-size: 9px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.forager-passive-list ul {
  display: grid;
  gap: 7px;
  margin: 7px 0 0;
  padding: 0;
  list-style: none;
}
.forager-passive-list li {
  display: grid;
  gap: 3px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(95, 155, 99, .35);
}
.forager-passive-list li strong,
.forager-next-unlock strong {
  color: #65e6c2;
  font-size: 9px;
  letter-spacing: .06em;
}
.forager-passive-list li span,
.forager-next-unlock span {
  color: #b9d2bd;
  font-size: 10px;
  line-height: 1.35;
}
.forager-next-unlock {
  display: grid;
  gap: 3px;
  margin: 11px 0 0;
  padding: 9px;
  border: 1px solid #9b633c;
  background: rgba(155, 99, 60, .12);
}
.grove-subclass-required {
  border-color: #ffd166;
}
@media(max-width:760px) {
  .forager-subclass-choices {
    grid-template-columns: 1fr;
  }
  .forager-bonus-content {
    grid-template-columns: 1fr;
  }
  .forager-subclass-choice-grid {
    grid-template-columns: 1fr;
  }
}
.forager-find-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  width: 100%;
}
.forager-find-result-art {
  display: grid;
  place-items: center;
  gap: 4px;
  min-width: 0;
  padding: 8px;
  border: 2px solid #9ccc72;
  background: #14172b;
  text-align: center;
}
.forager-find-result-art img {
  width: 82px;
  height: 82px;
  object-fit: contain;
  image-rendering: pixelated;
}
.forager-find-result-art strong {
  color: #fff0c7;
  font-size: 10px;
  line-height: 1.25;
}
.forager-find-result-art span,
.forager-find-result-art small {
  color: #b9d2bd;
  font-size: 9px;
}
.forager-find-result-art small {
  color: #ffd166;
}
.forager-find-caption {
  width: 100%;
  margin: 8px 0 0;
  color: #b9d2bd;
  font-size: 10px;
  text-align: right;
}
.kitchen-progress-bar { height: 8px; margin: 12px 0 18px; border: 1px solid #416b68; background: rgba(7,18,27,.8); }
.kitchen-progress-bar span { display: block; height: 100%; background: #65e6c2; transition: width .25s ease; }
.kitchen-skill-grid, .kitchen-upgrade-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kitchen-skill-card, .kitchen-upgrade-card { padding: 16px; border: 1px solid #416b68; background: rgba(7,18,27,.72); }
.kitchen-skill-card.locked { opacity: .55; }
.kitchen-skill-card h3, .kitchen-upgrade-card h3 { margin: 6px 0; }
.kitchen-skill-card p, .kitchen-upgrade-card p { color: #b8d0cc; font-size: 12px; line-height: 1.45; }
.kitchen-skill-card strong, .kitchen-upgrade-card strong, .item-effect { color: #65e6c2; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.kitchen-upgrade-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kitchen-upgrade-card { display: flex; justify-content: space-between; gap: 18px; align-items: end; }
.kitchen-upgrade-card button { flex: 0 0 auto; }
.kitchen-active-order { padding: 10px 0; border-top: 1px solid rgba(65,107,104,.5); }
.kitchen-active-order:first-of-type { border-top: 0; }
.kitchen-active-order strong { color: #fff0c7; font-size: 18px; letter-spacing: .08em; }
.item-inventory-row { align-items: center; }
.item-inventory-row .destination-row-art img { image-rendering: pixelated; width: 64px; height: 64px; object-fit: contain; }
.item-inventory-actions { display: flex; flex-direction: column; align-items: end; gap: 10px; color: #fff0c7; }
@media (max-width: 760px) {
  .kitchen-skill-grid, .kitchen-upgrade-grid { grid-template-columns: 1fr; }
  .kitchen-upgrade-card { align-items: start; flex-direction: column; }
  .item-inventory-actions { align-items: start; }
}
.profile-identity{display:flex;align-items:center;gap:16px;margin:4px 0 24px}.profile-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#a5ece0,#63a9bc);color:#08212a;font-weight:900;letter-spacing:.06em}.profile-identity h3{margin:0;color:#f7edc8;font:900 25px var(--serif);text-transform:uppercase}.profile-identity p{margin:5px 0 0;color:#65e6c2;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-card{padding:20px;background:rgba(9,20,30,.72);border:2px solid #416b68;min-height:250px}.private-profile{border-color:#a36a3c}.profile-note{margin:-5px 0 17px;color:#9bb5b3;font-size:11px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-grid div{display:grid;gap:4px;border-bottom:1px solid #27454c;padding-bottom:10px}.profile-grid dt{font-size:9px;color:#72929a;letter-spacing:.1em}.profile-grid dd{margin:0;color:#f7edc8;font:900 13px var(--serif);overflow-wrap:anywhere}.private-profile .profile-grid dd{color:#ffd28a}@media(max-width:620px){.profile-columns{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}}
.city-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px}.city-heading h2{margin:7px 0 0}.city-hint{max-width:240px;margin:0;color:#b8caca;font-size:11px;line-height:1.5;text-align:right}.city-map{position:relative;width:min(100%,920px);margin:0 auto;border:4px solid #d09b50;background:#0c2a36;box-shadow:8px 8px 0 #07151b;line-height:0;overflow:hidden}.city-map>img{display:block;width:100%;height:auto;image-rendering:auto}.city-building{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px;min-height:34px;padding:7px 10px 6px;border:2px solid #ffd166;background:#542e25eF;color:#fff0c7;text-decoration:none;box-shadow:3px 3px 0 #07151bcc;font:900 10px "Courier New",monospace;letter-spacing:.04em;text-align:center;line-height:1.1;text-transform:uppercase;transition:transform .15s,background .15s,box-shadow .15s}.city-building:hover,.city-building:focus-visible{transform:translate(-50%,-50%) scale(1.08);background:#7c4b2eeF;box-shadow:4px 4px 0 #07151bcc;outline:0}.city-building-closed{border-color:#a88c69;background:#293943eF;color:#b9ad94;cursor:not-allowed}.city-building small{margin-top:4px;color:#cfb68a;font-size:7px;letter-spacing:.08em}.city-legend{margin:14px 3px 0;color:#b8caca;font-size:10px}.city-legend-dot{display:inline-block;width:8px;height:8px;margin-right:5px;background:#ffd166;box-shadow:0 0 0 2px #542e25}.city-legend-closed{display:inline-block;margin-left:12px;color:#a88c69}
@media(max-width:700px){.city-heading{display:block}.city-hint{max-width:none;margin-top:8px;text-align:left}.city-map{border-width:3px;box-shadow:5px 5px 0 #07151b}.city-building{min-width:0;min-height:0;max-width:28%;padding:4px 5px;border-width:1px;font-size:7px;box-shadow:2px 2px 0 #07151bcc}.city-building small{margin-top:2px;font-size:5px}.city-building:hover,.city-building:focus-visible{transform:translate(-50%,-50%) scale(1.03)}}
.profile-search{margin:1rem 0 1.25rem}.profile-search label{display:block;margin-bottom:.45rem;font-size:.7rem;letter-spacing:.12em;color:var(--muted)}.profile-search>div{display:flex;gap:.5rem}.profile-search input{flex:1;min-width:0}.profile-search-results{display:grid;gap:.5rem;margin-bottom:1rem}.profile-search-result{padding:.75rem 1rem;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.profile-search-result{display:block;width:100%;text-align:left;color:var(--text);cursor:pointer}.profile-search-result:hover{border-color:var(--aqua);background:rgba(101,230,194,.08)}.profile-search-result strong{display:block;color:#fff0c7;font:900 13px var(--serif);text-transform:uppercase}.profile-search-result span{display:block;margin-top:5px;color:#b8caca;font-size:10px;line-height:1.5}.friend-active{color:var(--aqua)!important}.friend-inactive{color:#b9a37d!important}.profile-presence{margin:7px 0 0;font-size:9px;font-weight:900;letter-spacing:.1em}.profile-presence.is-active{color:var(--aqua)}.profile-presence.is-inactive{color:#b9a37d}.profile-social-actions{display:flex;align-items:center;gap:12px;min-height:42px;margin:0 0 18px}.social-status{font-size:10px;font-weight:900;letter-spacing:.1em;color:#b9a37d}.social-friends{color:var(--aqua)}.friends-panel{padding:18px;margin:0 0 20px;border:3px solid #65c9bc;background:rgba(8,38,43,.76);box-shadow:4px 4px #07151b}.friends-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #416b68;padding-bottom:12px;margin-bottom:14px}.friends-panel-heading h3{margin:0;color:#fff0c7;font:900 20px var(--serif);text-transform:uppercase}.friend-requests,.friends-list{display:grid;gap:8px}.friend-requests:empty{display:none}.friend-requests+.friends-list{margin-top:16px}.friend-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid #416b68;background:rgba(12,31,36,.8)}.friend-profile-link{display:grid;gap:5px;min-width:0;flex:1;text-align:left;background:transparent}.friend-profile-link strong{color:#fff0c7;font:900 12px var(--serif);text-transform:uppercase;overflow-wrap:anywhere}.friend-profile-link span{color:#b8caca;font-size:9px;letter-spacing:.08em}.friend-row .sell-button{flex-shrink:0;margin-left:auto}.private-profile[hidden]{display:none}
 .auth-screen{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(circle at 70% 10%,#173b47 0,transparent 42%),var(--bg)}.auth-screen[hidden]{display:none}.auth-card{width:min(420px,calc(100% - 32px));padding:38px;border:1px solid #27515a;border-radius:12px;background:#0b1d28;box-shadow:0 24px 70px #0008}.auth-card .brand{margin:0 0 42px}.auth-card h1{font:400 38px/1.05 var(--serif);letter-spacing:-.05em;margin:0 0 16px}.auth-card h1 i{color:#85bfc0}.auth-copy{color:#91adb0;font-size:12px;line-height:1.6;margin-bottom:26px}.auth-card label{display:grid;gap:7px;color:#89a3a8;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:14px}.auth-card input{border:1px solid var(--line);border-radius:5px;background:#07141e;color:var(--text);padding:12px;font:inherit;letter-spacing:0;text-transform:none;outline:none}.auth-card input:focus{border-color:var(--aqua)}.auth-card .primary-button{margin-top:22px;width:100%;justify-content:center}.auth-toggle{background:none;color:#79b7b5;font-size:11px;margin-top:18px;width:100%}.auth-error{color:#f38b76;font-size:11px;margin:18px 0 0}.avatar{cursor:pointer}
:root{--bg:#07141e;--panel:#0d202b;--panel-2:#112a36;--line:#1d3a47;--text:#e7f2f0;--muted:#89a3a8;--aqua:#62e8d2;--gold:#f6c66a;--purple:#b99cff;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[hidden]{display:none!important}
.admin-open-button{position:fixed;right:18px;bottom:18px;z-index:8;padding:10px 13px;border:3px solid #e6bd70;background:linear-gradient(180deg,#bd7943,#71351f);color:#fff0c7;font:900 10px var(--sans);letter-spacing:.08em;box-shadow:0 4px 0 #07151b;cursor:pointer}
.admin-panel{position:fixed;right:18px;bottom:18px;z-index:9;width:min(430px,calc(100vw - 24px));max-height:calc(100vh - 36px);overflow:auto;padding:18px;border:4px solid #e6bd70;background:rgba(20,30,31,.98);box-shadow:8px 8px 0 #07151b;color:#fff0c7}
.admin-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid #72543a;padding-bottom:12px;margin-bottom:12px}.admin-panel-heading h2{margin:0;color:#fff0c7;font:900 22px var(--serif);text-transform:uppercase}.admin-close-button{width:30px;height:30px;border:2px solid #e6bd70;background:#2d6e78;color:#eaffdf;font-size:22px;line-height:1;cursor:pointer}.admin-warning{margin:0 0 16px;color:#d6b887;font-size:10px;line-height:1.45}.admin-form{display:grid;gap:13px}.admin-tool-group{padding:12px;border:2px solid #72543a;background:rgba(31,37,36,.8)}.admin-tool-group>.eyebrow{margin-bottom:9px;color:#e6bd70!important}.admin-tool-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.admin-tool-grid label{display:grid;gap:5px;color:#c9b48c;font-size:9px;letter-spacing:.08em;text-transform:uppercase;min-width:0}.admin-tool-grid input,.admin-tool-grid select{width:100%;min-width:0;padding:8px;border:2px solid #72543a;background:#111c20;color:#fff0c7;font:10px var(--sans);outline:none}.admin-tool-grid input:focus,.admin-tool-grid select:focus{border-color:#65e6c2}.admin-wide-label{grid-column:1 / -1}.admin-action-button{min-height:35px;padding:7px 9px;border:2px solid #f0c679;background:linear-gradient(180deg,#c4864e,#77402b);color:#fff0c7;font:900 9px var(--sans);letter-spacing:.05em;cursor:pointer}.admin-action-button:disabled{opacity:.55;cursor:wait}.admin-status{min-height:18px;margin:0;color:#d6b887;font-size:10px;line-height:1.4}.admin-status.success{color:#65e6c2}.admin-status.error{color:#ff9b7b}@media(max-width:620px){.admin-open-button{right:10px;bottom:10px}.admin-panel{right:10px;bottom:10px;width:calc(100vw - 20px);padding:13px}.admin-tool-grid{grid-template-columns:1fr}.admin-action-button{width:100%}}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:radial-gradient(circle at 72% -10%,#173b47 0,transparent 35%),var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh}button{font:inherit;color:inherit;border:0;cursor:pointer}.app-shell{display:flex;min-height:100vh;min-width:0}.sidebar{width:230px;border-right:1px solid #17313d;padding:32px 20px;display:flex;flex-direction:column;flex-shrink:0;background:rgba(5,17,25,.55)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:18px;letter-spacing:.11em;margin:0 10px 68px}.brand strong{font-weight:800}.brand em{font-style:normal;color:var(--aqua);font-weight:300}.brand-mark{color:var(--aqua);font-size:30px;line-height:20px;transform:rotate(-25deg);display:inline-block}.eyebrow{font-size:10px;letter-spacing:.18em;color:#72929a;font-weight:700;margin:0 0 10px}.side-label{margin-left:12px}nav{display:grid;gap:7px}.nav-item{background:transparent;text-align:left;color:#77949b;padding:13px 12px;border-radius:8px;display:flex;align-items:center;gap:14px;font-size:13px}.nav-item span{font-size:21px;color:#587983;width:18px;text-align:center}.nav-item.active{background:#12313d;color:var(--text);box-shadow:inset 3px 0 var(--aqua)}.nav-item.active span{color:var(--aqua)}.sidebar-bottom{margin-top:auto;padding:0 10px}.offline-chip{border:1px solid #27525b;color:#9bb5b3;border-radius:99px;padding:8px 11px;font-size:11px;display:flex;align-items:center;gap:7px}.status-dot,.pulse{height:7px;width:7px;background:var(--aqua);border-radius:50%;display:inline-block;box-shadow:0 0 11px var(--aqua)}.tiny{color:#506d75;font-size:10px}.main-content{width:min(1200px,100%);min-width:0;flex:1 1 auto;margin:auto;padding:38px 56px 28px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;min-width:0;gap:12px;margin-bottom:34px}.topbar h1{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere}.topbar h1 span{color:var(--aqua);font-style:italic}.top-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.icon-button{background:transparent;color:#9bb5b3;font-size:25px;position:relative}.icon-button b{position:absolute;width:5px;height:5px;border-radius:50%;background:#f38b76;top:4px;right:1px}.avatar{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;color:#04202a;background:linear-gradient(135deg,#a5ece0,#63a9bc);font-size:11px;font-weight:800}.hero-card{height:292px;min-width:0;max-width:100%;border:1px solid #27515a;border-radius:10px;overflow:hidden;position:relative;background:linear-gradient(112deg,#123541 0,#0f2936 53%,#0b202d 100%);display:flex;margin-bottom:20px}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,29,.12),transparent 65%);pointer-events:none}.hero-copy{padding:42px 44px;position:relative;z-index:2;min-width:0;max-width:100%}.hero-kicker{font-size:10px;color:var(--aqua);font-weight:800;letter-spacing:.18em;display:flex;align-items:center;gap:8px;margin-bottom:24px}.hero-copy h2{font-family:var(--serif);font-size:48px;line-height:.95;letter-spacing:-.055em;font-weight:400;margin:0 0 16px;overflow-wrap:anywhere}.hero-copy h2 i{color:#85bfc0;font-weight:400}.hero-copy p{color:#91adb0;max-width:290px;font-size:12px;line-height:1.6;margin:0 0 22px;overflow-wrap:anywhere}.primary-button{background:var(--aqua);color:#08212a;border-radius:5px;padding:12px 16px;font-size:12px;font-weight:800;display:flex;gap:10px;align-items:center;box-shadow:0 7px 22px #58d6c044;max-width:100%;white-space:normal}.primary-button:hover{background:#8af5e5;transform:translateY(-1px)}.cast-icon{font-size:20px;line-height:10px}.primary-button kbd{font-size:8px;background:#3abcae66;border-radius:3px;padding:4px 5px;margin-left:10px}.hero-art{position:absolute;right:0;top:0;width:55%;height:100%;overflow:hidden;background:linear-gradient(180deg,#193e4a 0,#0f2d3b 54%,#09222e 55%,#0a1c29 100%)}.sun{position:absolute;width:100px;height:100px;right:105px;top:54px;border-radius:50%;background:#f2c978;box-shadow:0 0 80px 28px #e9b76344}.moon-glow{position:absolute;width:190px;height:70px;right:60px;top:130px;border-radius:50%;background:#e7cf9270;filter:blur(24px)}.wave{position:absolute;border:1px solid #4e96956b;border-radius:50%;height:140px;width:700px;right:-150px;transform:rotate(-9deg)}.wave-one{top:180px}.wave-two{top:214px;right:-220px;border-color:#316a7880}.boat{position:absolute;top:178px;right:245px;color:#142934;font-size:45px;transform:rotate(10deg)}.hero-orbit{position:absolute;border:1px solid #70d5cc2b;border-radius:50%}.orbit-one{width:310px;height:310px;right:-55px;top:-80px}.orbit-two{width:470px;height:470px;right:-135px;top:-160px}.hero-stamp{position:absolute;right:30px;bottom:24px;color:#89b4b4;font-size:9px;letter-spacing:.15em;line-height:1.5;z-index:2}.hero-stamp span{color:var(--aqua);font-size:18px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat-card{border:1px solid var(--line);background:#0b1d28;border-radius:8px;padding:17px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-width:0}.stat-card span,.stat-card small{display:block;color:#759399;font-size:10px;overflow-wrap:anywhere}.stat-card strong{display:block;font-size:20px;margin-top:4px;letter-spacing:-.03em;overflow-wrap:anywhere}.stat-card small{font-size:9px;align-self:end;color:#58737c}.trend{color:var(--aqua)!important}.stat-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:#183b44;font-size:17px}.gold{color:var(--gold);background:#3f3826}.blue{color:#72d6e6}.purple{color:var(--purple);background:#302b49}.content-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:22px}.section-panel{border:1px solid var(--line);background:rgba(9,27,37,.72);border-radius:9px;padding:21px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;min-width:0;margin-bottom:17px}.section-heading h3{font-family:var(--serif);font-weight:400;font-size:25px;margin:0;letter-spacing:-.03em;overflow-wrap:anywhere}
@media(max-width:900px){.sidebar{width:190px}.main-content{padding:28px 25px}.hero-art{width:48%}.hero-copy h2{font-size:42px}.rarities{gap:5px}.content-grid{grid-template-columns:1fr}}
@media(max-width:620px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:17px 18px;border-right:0;border-bottom:1px solid #17313d;display:block}.brand{margin:0 0 17px}.side-label,nav,.sidebar-bottom{display:none}.main-content{padding:24px 15px}.topbar{margin-bottom:24px}.topbar h2{font-size:25px}.hero-card{height:370px}.hero-copy{padding:31px 25px}.hero-copy h2{font-size:44px}.hero-art{width:100%;height:48%;top:auto;bottom:0;opacity:.7}.hero-stamp{display:none}.stat-grid{gap:7px}.stat-card{padding:11px 8px;display:block}.stat-icon{margin-bottom:8px}.stat-card strong{font-size:16px}.stat-card small{font-size:8px;margin-top:5px}.stat-card .trend{display:none}.content-grid{gap:14px}.section-panel{padding:16px}.catch-list{grid-template-columns:1fr}.location-footer{display:block}.rarities{margin-top:9px;gap:11px}.section-heading h3{font-size:22px}}

/* REELSPIRE game skin: chunky pixel HUD, not a luxury travel dashboard. */
:root{--bg:#17152a;--panel:#252044;--panel-2:#302856;--line:#51477c;--text:#f7edc8;--muted:#aaa0c3;--aqua:#65e6c2;--gold:#ffd166;--purple:#d09cff;--serif:"Courier New",monospace;--sans:"Courier New",monospace}
body{background-color:var(--bg);background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:8px 8px;font-family:var(--sans);image-rendering:pixelated}
.sidebar{background:#111022;border-right:4px solid #51477c}.brand{font-weight:900;letter-spacing:.06em}.brand-mark{color:var(--gold)}.brand em{color:var(--aqua)}.eyebrow{color:#b5a7df;letter-spacing:.1em}.nav-item{border-radius:0;text-transform:uppercase;font-weight:700}.nav-item.active{background:#393062;box-shadow:inset 4px 0 var(--gold);color:var(--gold)}.offline-chip{border-radius:0;border:2px solid #655a94;color:var(--aqua);text-transform:uppercase;font-weight:700}
.main-content{max-width:1250px}.topbar h2,.hero-copy h2,.section-heading h3{font-family:var(--serif);font-weight:900;text-transform:uppercase;letter-spacing:0}.topbar h2 span,.hero-copy h2 i{color:var(--gold);font-style:normal}.top-actions .avatar{border-radius:0;border:3px solid var(--gold);background:#65e6c2;color:#17152a}
.hero-card{border:4px solid #665994;border-radius:0;background:#29234b;box-shadow:8px 8px 0 #0d0b19}.hero-card:after{background:repeating-linear-gradient(0deg,#fff0 0 3px,#fff1 4px 5px)}.hero-copy{padding:38px 42px}.hero-kicker{color:var(--aqua)}.hero-copy h2{font-size:45px}.primary-button{border-radius:0;border:3px solid #09252e;box-shadow:5px 5px 0 #051319;text-transform:uppercase}.primary-button:hover{transform:none;filter:brightness(1.1)}.hero-art{background:#3b315c}.sun{width:76px;height:76px;border-radius:0;background:var(--gold);box-shadow:12px 12px 0 #ffad5b55}.hero-orbit{border-style:dashed}.wave{border-color:#8b7aca66;border-width:3px}
.stat-card,.section-panel{border:3px solid var(--line);border-radius:0;background:#211c3b;box-shadow:4px 4px 0 #0d0b19}.stat-icon,.equipment-art,.catch-image{border-radius:0;border:2px solid #62578d}.stat-card strong{font-family:var(--serif);font-weight:900}.energy{color:var(--gold);background:#493849}.energy-max{display:inline!important;color:#8e84aa!important;font-size:11px!important}.energy-card{border-color:#80614d}.content-grid{gap:24px}.location-card{border-radius:0;border:3px solid #655a94}.location-footer,.equipment-item{border-color:#463d6b}.equipment-item strong,.catch-info strong{font-family:var(--serif);font-weight:900;text-transform:uppercase}.edit-button,.text-button{color:var(--aqua);text-transform:uppercase;font-weight:900}.catch-row{border-radius:0;border:2px solid #443a69;background:#2b2450}.result-banner{border-radius:0;border:3px solid var(--aqua);background:#1b4d4d}.result-banner.warning{border-color:#ff8b6b;background:#562e46;color:#ffd5bb}footer{font-family:var(--serif);font-weight:900}
.fight-panel{border:4px solid var(--gold);background:#211c3b;box-shadow:8px 8px 0 #0d0b19;padding:20px 24px;margin-bottom:26px}.fight-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #51477c;padding-bottom:15px}.fight-header h3{font-family:var(--serif);font-size:20px;text-transform:uppercase;margin:0}.fight-header h3 span{color:var(--aqua)}.fight-energy-cost{color:var(--gold);font-size:12px;font-weight:900}.fight-body{display:flex;align-items:center;gap:28px;padding-top:18px}.fight-fish{width:130px;height:130px;background:#302856;border:3px solid #665994;display:grid;place-items:center;position:relative}.fight-fish img{max-width:95px;max-height:95px}.fight-fish span{position:absolute;bottom:7px;font-size:9px;color:var(--aqua);font-weight:900}.fight-controls{flex:1}.fight-progress{display:flex;justify-content:space-between;gap:16px;color:#c9bddf;font-size:11px;text-transform:uppercase}.fight-progress strong{color:var(--gold);white-space:nowrap}.direction-pad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,52px);gap:7px;justify-content:center;margin:18px auto 8px}.direction-button{background:#393062;border:3px solid #7466a9;color:#f7edc8;font-size:22px;font-weight:900;box-shadow:4px 4px 0 #0d0b19}.direction-button:hover,.direction-button.target{background:var(--aqua);border-color:#d0fff2;color:#16172c;transform:translate(-2px,-2px);box-shadow:6px 6px 0 #0d0b19}.direction-button.up{grid-column:2}.direction-button.left{grid-column:1;grid-row:2}.direction-button.down{grid-column:2;grid-row:2}.direction-button.right{grid-column:3;grid-row:2}.fight-hint{text-align:center;color:#9388af;font-size:10px;text-transform:uppercase}.fight-hint b{color:#ff8b6b}
@media(max-width:620px){.main-content{padding:20px 12px}.hero-card{box-shadow:5px 5px 0 #0d0b19}.hero-copy{padding:27px 23px}.hero-copy h2{font-size:36px}.stat-grid{grid-template-columns:repeat(2,1fr)}.fight-body{display:block}.fight-fish{margin:0 auto 18px}.fight-panel{padding:15px}.fight-header h3{font-size:15px}.fight-energy-cost{font-size:9px}.direction-pad{grid-template-columns:repeat(3,45px);grid-template-rows:repeat(2,45px)}.direction-button{font-size:18px}}
#energy{display:inline!important}.stat-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:620px){.main-content{padding:12px 10px!important}.topbar{padding:10px!important}.hero-card{height:430px!important}.hero-copy{padding:34px 24px!important}.fight-fish{width:270px!important;height:270px!important}.fight-fish img{width:245px!important;height:245px!important}.fight-stats{flex-wrap:wrap!important}}
/* The lake is the setting, not a decorative card. Keep pixel treatment on controls only. */
body{background:#102a34 url("/assets/fishing/locations/old_river.webp") center top/cover fixed no-repeat;color:#fff8dc}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,27,35,.35),rgba(7,20,28,.82) 78%);pointer-events:none}
.app-shell{background:rgba(8,22,29,.42)}
.sidebar{background:rgba(8,22,29,.72);border-right:3px solid #d19a4a}
.main-content{background:rgba(10,27,35,.42);padding-top:28px}
.topbar{background:rgba(8,22,29,.62);border:3px solid #c9954c;padding:15px 18px;margin-bottom:22px}
.hero-card{height:390px;border:4px solid #e0ae5b;border-radius:0;background:#183943 url("/assets/fishing/locations/old_river.webp") center/cover;box-shadow:8px 8px 0 rgba(4,13,18,.9)}
.hero-card:after{background:linear-gradient(90deg,rgba(4,20,27,.78),rgba(4,20,27,.12) 75%);display:block}
.hero-art{inset:0;width:100%;height:100%;background:transparent;z-index:1}
.hero-art .sun,.hero-art .moon-glow,.hero-art .wave,.hero-art .boat,.hero-art .hero-orbit{display:none}
.hero-copy{padding:46px 42px;background:linear-gradient(90deg,rgba(5,22,29,.7),transparent);z-index:2}
.hero-copy h2{color:#fff8dc;text-shadow:3px 3px #182d34}
.hero-copy h2 i{color:#ffd06b}
.primary-button,.top-nav-button,.direction-button,.sell-button,.edit-button,.inspect-button,.sell-all-button{border-radius:0!important;border:3px solid #f1bf62;box-shadow:5px 5px 0 #07151b!important}
.primary-button{background:#65dfc2;color:#09232b}
.top-nav-button{background:#b7773f;color:#fff4cf}
.stat-card,.section-panel,.fight-panel{border-radius:0;border:3px solid #d09b50;background:rgba(20,34,43,.91);box-shadow:5px 5px 0 #07151b}
.fight-panel{border-width:4px;background:rgba(20,34,43,.96)}
.fight-fish{width:250px;height:250px;background:rgba(34,63,70,.92);border:4px solid #e3ad58}
.fight-fish img{width:225px;height:225px;max-width:none;max-height:none;object-fit:contain;image-rendering:pixelated;transform:scale(1.22)}
.direction-button{background:#b7773f}
.location-card{background:rgba(15,38,45,.8)}
.travel-agency-npc{display:flex;gap:14px;align-items:center;margin:0 0 16px;padding:14px 16px;border:3px solid #655a94;background:#211c3b;box-shadow:4px 4px 0 #0d0b19}
.travel-agency-npc-art{width:70px;height:70px;display:grid;place-items:center;flex:0 0 70px;border:2px solid #62578d;background:#102a34}
.travel-agency-npc-art img{width:62px;height:62px;object-fit:contain;image-rendering:pixelated}
.travel-agency-npc h3{margin:2px 0 5px;font:900 18px var(--serif);text-transform:uppercase;color:#fff0c7}
.travel-agency-npc p:not(.eyebrow){margin:0;color:#b8d0cc;font-size:11px;line-height:1.45}
/* Fishing controls: tactile wood, water and tackle instead of arcade menu buttons. */
.primary-button,.top-nav-button,.direction-button,.sell-button,.edit-button,.inspect-button,.sell-all-button{box-shadow:0 4px 0 rgba(22,42,42,.65)!important;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.primary-button:hover,.top-nav-button:hover,.direction-button:hover,.sell-button:hover,.edit-button:hover,.inspect-button:hover,.sell-all-button:hover{transform:translateY(-2px);filter:saturate(1.12) brightness(1.08);box-shadow:0 6px 0 rgba(22,42,42,.58)!important}
.primary-button{position:relative;overflow:hidden;background:linear-gradient(180deg,#9af1dc 0%,#51cbb5 44%,#279a99 100%);border:3px solid #d7fff0!important;color:#082d35;letter-spacing:.06em}
.primary-button:after{content:"";position:absolute;inset:5px 12px auto;height:3px;background:rgba(255,255,255,.46);border-radius:50%;box-shadow:24px 5px rgba(255,255,255,.22),67px 1px rgba(255,255,255,.3);pointer-events:none}
.primary-button kbd{background:rgba(9,75,78,.22);border:1px solid rgba(255,255,255,.45);border-radius:10px}
.inspect-button{padding:5px 10px;font:900 9px var(--sans);text-transform:uppercase;cursor:pointer}
.top-nav-button{position:relative;background:linear-gradient(165deg,#d39b59 0%,#a96638 45%,#754029 100%);border:3px solid #f0c679!important;color:#fff2c7!important;text-shadow:1px 1px #63331f;box-shadow:0 4px 0 #43271e!important}
.top-nav-button:before{content:"";position:absolute;left:7px;right:7px;top:7px;height:2px;background:rgba(83,40,22,.38);box-shadow:10px 7px rgba(83,40,22,.25),-3px 14px rgba(83,40,22,.28);pointer-events:none}
.top-nav-button:hover{background:linear-gradient(165deg,#e4b16d,#b87843)}
.direction-button{border:3px solid #b9fff0!important;border-radius:42% 58% 48% 52%!important;background:radial-gradient(circle at 32% 24%,#b5fff0 0 8%,transparent 9%),linear-gradient(145deg,#56d8cd,#247f9b 58%,#18556f);color:#eafff7;text-shadow:1px 2px #12506a;box-shadow:0 4px 0 #164356!important}
.direction-button.target{background:radial-gradient(circle at 28% 20%,#fff7c4 0 8%,transparent 9%),linear-gradient(145deg,#ffd77b,#e28a4c 56%,#a84f3b);border-color:#fff0bf!important;color:#fff8d7}
.direction-button.left{border-radius:58% 42% 52% 48%!important}.direction-button.right{border-radius:42% 58% 48% 52%!important}.direction-button.up{border-radius:52% 48% 42% 58%!important}.direction-button.down{border-radius:48% 52% 58% 42%!important}
.sell-button,.edit-button{background:linear-gradient(180deg,#dfa65e,#9a5935)!important;border:2px solid #f5ca7b!important;color:#fff3cb!important;text-shadow:1px 1px #63351f;padding:7px 10px}
.close-screen{width:32px;height:32px;border:2px solid #f1c36e!important;background:#2d6e78;color:#eaffdf!important;border-radius:50%!important;box-shadow:0 3px 0 #153e48}
.close-screen:hover{background:#c4774d}
.hero-wordmark{font-family:"Courier New",monospace!important;font-weight:900!important;letter-spacing:.08em!important;color:#ffe5a7!important;text-shadow:3px 3px 0 #301a12,5px 5px 0 rgba(0,0,0,.5)!important}
.hero-wordmark span{color:#6fe1d0!important;font-style:normal!important}
.hero-tagline{font:900 11px "Courier New",monospace!important;letter-spacing:.12em!important;color:#7de6d1!important;text-shadow:1px 1px #183c42;margin:0 0 18px!important}
.hero-copy>p:not(.hero-tagline){color:#e9ddbd!important;text-shadow:1px 1px #173037}
.primary-button,.top-nav-button,.sell-button,.edit-button,.inspect-button,.sell-all-button{background-color:#8b4d2d!important;background-image:repeating-linear-gradient(0deg,rgba(55,24,14,.28) 0,rgba(55,24,14,.28) 2px,transparent 2px,transparent 8px),repeating-linear-gradient(92deg,rgba(255,205,122,.13) 0,rgba(255,205,122,.13) 2px,transparent 2px,transparent 23px),linear-gradient(180deg,#b56d3d,#71391f)!important;border:3px solid #dba466!important;color:#fff0c7!important;text-shadow:1px 1px #4b2419!important;border-radius:2px!important}
.primary-button:after{background:rgba(255,235,174,.35)!important;box-shadow:24px 5px rgba(255,235,174,.18),67px 1px rgba(255,235,174,.22)!important}
.primary-button kbd{background:#5e2d20!important;border:1px solid #e3ad6c!important;color:#ffe6ad}
.top-nav-button:before{background:rgba(55,24,14,.4)!important;box-shadow:10px 7px rgba(55,24,14,.34),-3px 14px rgba(55,24,14,.32)!important}
.direction-button{background-image:repeating-linear-gradient(0deg,rgba(9,69,77,.2) 0,rgba(9,69,77,.2) 2px,transparent 2px,transparent 7px),radial-gradient(circle at 30% 20%,#c3fff0 0 7%,transparent 8%),linear-gradient(145deg,#329e9a,#176078)!important;border-color:#a7e7d4!important;border-radius:4px!important}
.direction-button.target{background-image:repeating-linear-gradient(0deg,rgba(95,45,25,.22) 0,rgba(95,45,25,.22) 2px,transparent 2px,transparent 7px),linear-gradient(145deg,#c47a43,#713a27)!important}
.stat-card,.section-panel,.fight-panel{border-color:#9b633c!important;background:rgba(30,35,35,.9)!important}
.topbar{border-color:#a36a3c!important;background:rgba(20,29,30,.78)!important}
.eyebrow,.side-label{color:#b9a37d!important}
.fight-fish{width:190px!important;height:190px!important}
.fight-fish img{width:185px!important;height:185px!important;transform:scale(1.02)!important}
.inventory-sprite{width:86px!important;height:86px!important}
.inventory-sprite img{width:82px!important;height:82px!important;max-width:none!important;max-height:none!important;transform:scale(1.35)!important}
.catch-image img{transform:scale(1.35);image-rendering:pixelated}
.inspector-image{width:100%;height:160px!important;overflow:hidden}
.inspector-image img{box-sizing:border-box!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:calc(100% - 12px)!important;max-height:calc(100% - 12px)!important;transform:none!important;object-fit:contain!important;image-rendering:pixelated}
@media(max-width:620px){.fight-fish{width:205px!important;height:205px!important}.fight-fish img{width:195px!important;height:195px!important;transform:scale(1.02)!important}.inventory-sprite{width:92px!important;height:92px!important}.inventory-sprite img{width:88px!important;height:88px!important;transform:scale(1.3)!important}.inspector-image{height:132px!important}.inspector-image img{padding:6px!important}}
@media(max-width:620px){.top-nav-button{padding:7px 7px!important;font-size:8px!important}.page-screen{padding:16px!important;margin-bottom:16px!important}.shop-page-grid{grid-template-columns:1fr!important;gap:24px!important}.inventory-list{grid-template-columns:1fr!important}.fish-inspector{grid-template-columns:1fr!important}.inspector-image{height:132px!important}.inspector-image img{max-width:100%!important;max-height:100%!important}.fight-fish{width:230px!important;height:230px!important;margin:0 auto 18px!important}.fight-fish img{max-width:205px!important;max-height:205px!important}.fight-stats{justify-content:space-between!important;gap:5px!important}.fight-body{align-items:initial!important}}
.top-nav-button{background:#29234b;border:2px solid #806b9e;color:#f7edc8;padding:8px 11px;font:900 10px var(--sans);box-shadow:3px 3px #0d0b19}.top-nav-button:hover{background:#f5b95d;color:#261b33}.page-screen{background:linear-gradient(135deg,#29234b,#172b43);border:3px solid #f5b95d;box-shadow:6px 6px #0d0b19;padding:24px;margin-bottom:25px}.page-screen[hidden]{display:none}.page-screen-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #665994;padding-bottom:15px;margin-bottom:22px}.page-screen-header h2{font:900 30px var(--serif);text-transform:uppercase;margin:0;color:#f7edc8}.close-screen{background:transparent;color:#f5b95d;font-size:29px}.shop-page-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px}.shop-page-grid h3{font:900 17px var(--serif);text-transform:uppercase;color:#65e6c2;margin:0 0 10px}.inventory-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.inventory-card{background:#211c3b;border:2px solid #665994;color:#f7edc8;text-align:left;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:3px 3px #0d0b19}.inventory-card:hover{border-color:#65e6c2;background:#302856}.inventory-sprite{width:70px;height:70px;display:grid;place-items:center;background:#302856;border:2px solid #51477c}.inventory-sprite img{max-width:65px;max-height:65px}.inventory-card span{display:grid;gap:5px;min-width:0}.inventory-card strong{font:900 11px var(--serif);text-transform:uppercase}.inventory-card small{font-size:9px;color:#aaa0c3}.inventory-card>b{margin-left:auto;color:#ffd166;font-size:10px}.fish-inspector{display:grid;grid-template-columns:180px 1fr;gap:22px;border-top:2px solid #665994;margin-top:22px;padding-top:20px}.fish-inspector[hidden]{display:none}.inspector-image{height:180px;display:grid;place-items:center;background:#302856;border:3px solid #806b9e}.inspector-image img{max-width:165px;max-height:165px}.fish-inspector h3{font:900 25px var(--serif);text-transform:uppercase;color:#f7edc8;margin:4px 0}.inspector-rarity{font-size:10px;font-weight:900}.fish-inspector dl{display:flex;gap:24px;margin:16px 0}.fish-inspector dl div{display:grid;gap:4px}.fish-inspector dt{font-size:9px;color:#aaa0c3}.fish-inspector dd{font:900 14px var(--serif);margin:0;color:#ffd166}.fight-stats{display:flex;gap:18px;margin-top:12px;font-size:9px;color:#aaa0c3}.fight-stats b{color:#ffd166;margin-left:4px}.fight-fish{width:210px;height:210px}.fight-fish img{max-width:185px;max-height:185px}.fight-body{align-items:flex-start}.fight-controls{padding-top:18px}
 .sell-button{background:transparent;color:var(--aqua);font-size:8px;font-weight:900;margin-left:5px}.shop-list{border-top:2px solid #463d6b;margin-top:12px;padding-top:12px}.shop-heading{margin-top:18px}.shop-row{display:flex;align-items:center;gap:8px;border-top:1px solid #463d6b;padding:8px 0}.shop-row img{width:32px;height:32px;object-fit:contain;background:#302856;border:1px solid #62578d}.shop-row div{display:grid;gap:3px;min-width:0;flex:1}.shop-row strong{font-size:10px;font-family:var(--serif);text-transform:uppercase}.shop-row small{color:var(--muted);font-size:8px;line-height:1.25}.shop-row button{background:#393062;border:2px solid #7466a9;color:var(--aqua);font-size:8px;font-weight:900;padding:5px}
.gym-intro{color:#b8caca;font-size:12px;line-height:1.5}.gym-will-power{display:flex;align-items:baseline;gap:12px;margin:22px 0;padding:14px 16px;border:2px solid #65e6c2;background:#143b3e}.gym-will-power>span{color:#65e6c2;font-size:10px;font-weight:900;letter-spacing:.12em}.gym-will-power strong{font:900 22px var(--serif);color:#fff0c7}.gym-will-power strong span{font-size:14px;color:#9bb5b3}.gym-will-power small{margin-left:auto;color:#b9a37d;font-size:9px}.gym-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gym-stat-card{display:flex;align-items:center;justify-content:space-between;padding:20px;border:3px solid #9b633c;background:rgba(30,35,35,.9);box-shadow:4px 4px #07151b}.gym-stat-card strong{display:block;margin-top:7px;color:#fff0c7;font:900 28px var(--serif)}.gym-stat-label{color:#65e6c2;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.train-button{padding:10px 12px;background:linear-gradient(180deg,#65dfc2,#279a99);border:3px solid #d7fff0;color:#082d35;font-size:10px;font-weight:900;box-shadow:0 4px 0 #164356}.train-button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.gym-grid{grid-template-columns:1fr}.gym-will-power{display:grid;gap:6px}.gym-will-power small{margin-left:0}}
.train-quantity{display:flex;align-items:center;gap:12px;max-width:300px;color:#65e6c2;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.train-quantity input{width:82px;padding:9px 8px;border:2px solid #d09b50;background:#172b30;color:#fff0c7;font:900 13px var(--serif)}.gym-stat-card,.page-screen,.shop-row,.inventory-card{min-width:0;max-width:100%}.page-screen{overflow:hidden}.page-screen h2,.gym-intro,.shop-row strong,.shop-row small,.inventory-card strong,.inventory-card small{overflow-wrap:anywhere;word-break:break-word}
.shop-row button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.train-quantity{flex-wrap:wrap}.train-quantity input{max-width:100%}
.stat-card{grid-template-columns:36px minmax(0,1fr)!important}.stat-card .trend{grid-column:2;grid-row:2;white-space:normal}.stat-card>div{min-width:0}
.page-lede{margin:8px 0 0;color:#c5b9d7;font-size:11px;line-height:1.5;max-width:520px}.shop-categories{display:grid;gap:12px}.shop-category{border:2px solid #9b633c;background:rgba(20,29,30,.55)}.shop-category summary{cursor:pointer;padding:13px 14px;color:#ffd166;font:900 12px var(--serif);letter-spacing:.1em;list-style:none}.shop-category summary::-webkit-details-marker{display:none}.shop-category summary span{float:right;color:#65e6c2}.shop-category[open] summary{border-bottom:1px solid #735039}.shop-category-body{padding:0 12px 10px}.owned-loadout-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.loadout-category{min-width:0}.loadout-category .eyebrow{border-bottom:2px solid #463d6b;padding-bottom:10px}.loadout-category .empty-shop{color:#aaa0c3;font-size:11px;line-height:1.5}
@media(max-width:620px){.owned-loadout-list{grid-template-columns:1fr}.top-actions{gap:7px}.top-nav-button{padding:7px 8px!important;font-size:8px!important}.page-lede{max-width:100%}.shop-category-body{padding-left:8px;padding-right:8px}}

/* World surfaces: brackish teal, sun-bleached timber, and a deliberately narrow game HUD. */
.captain-hero{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center;padding:20px;background:rgba(8,38,43,.76);border:3px solid #65c9bc;margin-bottom:24px}
.captain-portrait{height:220px;background:#163e43;border:3px solid #d09b50;display:grid;place-items:center;overflow:hidden}
.captain-portrait img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.captain-dialogue{font:900 18px/1.55 var(--serif);color:#fff0c7;max-width:650px;margin:0 0 20px}
.captain-bite-button{margin:14px 0 0;display:block}
.quest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quest-card{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:end;padding:17px;border:3px solid #9b633c;background:rgba(25,35,36,.92);box-shadow:4px 4px #07151b}
.quest-card h3,.travel-card h3,.bite-combatant h3{font:900 18px var(--serif);text-transform:uppercase;color:#fff0c7;margin:0 0 8px}
.quest-card p:not(.eyebrow){font-size:11px;color:#b8caca;margin:0}
.quest-reward{grid-column:1/-1;color:#ffd166;font-size:10px;border-top:1px solid #66503a;padding-top:10px}
.quest-complete{border-color:#65e6c2}
.quest-available{border-color:#d09b50}
.quest-claimed{opacity:.72}
.quest-card button{justify-self:end}
.quest-card button:disabled{opacity:.52;cursor:not-allowed}
.travel-list{display:grid;gap:16px}
.travel-card{display:grid;grid-template-columns:210px 1fr;min-height:190px;background:rgba(20,35,39,.9);border:3px solid #9b633c;box-shadow:5px 5px #07151b;overflow:hidden}
.travel-card>img{width:100%;height:100%;min-height:190px;object-fit:cover;image-rendering:pixelated}
.travel-card-copy{padding:19px;display:flex;flex-direction:column;align-items:flex-start}
.travel-card-copy>p:not(.eyebrow){color:#c5b9a4;font-size:11px;line-height:1.5;max-width:620px;margin:0 0 12px}
.travel-requirement{color:#ffd166;font-size:10px;font-weight:900;letter-spacing:.08em;margin-top:auto;margin-bottom:14px}
.travel-locked{filter:saturate(.6);border-color:#665b66}
.travel-locked img{opacity:.55}
.travel-current{border-color:#65e6c2}
.bite-empty{padding:45px 20px;text-align:center;border:3px dashed #65c9bc;background:rgba(14,43,47,.75)}
.bite-empty h3{font:900 25px var(--serif);color:#fff0c7;text-transform:uppercase;margin:6px 0 10px}
.bite-empty p:not(.eyebrow),.bite-controls p{color:#b8caca;font-size:11px}
.bite-starts{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.bite-arena{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:15px}
.bite-combatant{text-align:center;padding:20px 15px;background:rgba(18,49,52,.92);border:3px solid #65e6c2}
.bite-combatant.enemy{border-color:#d09b50;background:rgba(54,38,32,.9)}
.bite-fish-stage{position:relative;display:grid;place-items:center;min-height:150px}
.bite-combatant img{height:150px;width:100%;object-fit:contain;image-rendering:pixelated}
.bite-combatant .eyebrow{margin-bottom:6px}
.bite-versus{text-align:center;color:#ffd166;font:900 24px var(--serif)}
.bite-hp{display:grid;gap:7px;text-align:left;margin-top:15px}
.bite-hp span{font-size:9px;color:#b8caca;letter-spacing:.1em}
.bite-hp b{font-size:12px;color:#fff0c7}
.bite-hp i{height:12px;background:#381d25;border:2px solid #8c4e45;display:block}
.bite-hp em{display:block;height:100%;background:#65e6c2;transition:width .25s ease}
.enemy .bite-hp em{background:#e69b65}
.bite-controls{text-align:center;padding:22px 0 5px;border-top:2px solid #665994;margin-top:20px}
.bite-button{display:grid;place-items:center;width:82px;height:82px;margin:auto;padding:8px!important;background:#b7773f!important}
.bite-button img{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated}
.bite-outcome{font:900 17px var(--serif)!important;color:#ffd166!important;letter-spacing:.08em}
.bite-switches,.bite-choice{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}
.bite-switches button,.bite-choice button{font-size:10px}
.bite-choice-copy{color:#fff0c7!important;font:900 13px var(--serif)!important}
.bite-log{display:block;max-width:760px;margin:12px auto 0;color:#8da9a7;font-size:9px;letter-spacing:.05em;line-height:1.6}
.client-sprite-vfx{position:absolute;display:block;image-rendering:pixelated;pointer-events:none}
.fight-fish--concealed{background:radial-gradient(circle,rgba(47,111,117,.95),rgba(18,49,52,.98));}
.fight-splash-loop{display:block;width:88%;height:88%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 14px rgba(101,230,194,.58));}
.fight-fish--concealed #fight-rarity{color:#65e6c2}
.fight-panel--caught .direction-pad,.fight-panel--caught .fight-hint{display:none}
.fight-panel--caught #fight-instruction{color:#65e6c2}
.fight-header-actions{display:flex;align-items:center;gap:12px}
.fight-close{width:34px;height:34px;border:2px solid #e3ad58;background:#182d34;color:#fff0c7;font:900 22px/1 var(--serif);cursor:pointer}
.fight-close:hover,.fight-close:focus-visible{background:#e3ad58;color:#182d34}
.bite-vfx-anchor,.arena-vfx-anchor{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;overflow:visible}
.bite-vfx-anchor .client-sprite-vfx{left:50%;top:50%;transform:translate(-50%,-50%) scale(.72);transform-origin:center;filter:drop-shadow(0 0 10px rgba(255,240,199,.58))}
@media(max-width:620px){.captain-hero{grid-template-columns:1fr;gap:16px}.captain-portrait{height:190px}.captain-dialogue{font-size:15px}.quest-list{grid-template-columns:1fr}.travel-agency-npc{align-items:flex-start}.travel-card{grid-template-columns:1fr}.travel-card>img{height:150px;min-height:150px}.bite-arena{grid-template-columns:1fr;gap:8px}.bite-versus{font-size:18px}.bite-combatant img{height:130px}.bite-combatant{padding:14px}.bite-controls{margin-top:14px}}

/* Mobile-safe media sizing: never let a missing or intrinsic image define a card. */
.equipment-item{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid #463d6b}
.equipment-item>div:nth-child(2){min-width:0;flex:1}
.equipment-art,.catch-image{width:58px;height:52px;flex:0 0 58px;display:grid;place-items:center;overflow:hidden;background:rgba(15,38,45,.72)}
.equipment-art img,.catch-image img{display:block;width:auto;height:auto;max-width:48px;max-height:42px;object-fit:contain;image-rendering:pixelated}
.equipment-art img[hidden],.catch-image img[hidden],.shop-row img[hidden]{display:none}
.equipment-item .chevron{flex:0 0 auto}
.catch-row,.shop-catch{min-width:0}
.catch-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px}
.catch-info,.shop-catch-info{min-width:0}
.location-card{position:relative;height:260px;min-height:0;overflow:hidden}
.location-card>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.location-card .location-overlay{position:absolute;inset:auto 0 0;padding:28px 16px 14px;background:linear-gradient(transparent,rgba(7,20,28,.95))}
.page-menu-button{flex:0 0 auto;padding:8px 12px;background:#8b4d2d;border:2px solid #e0ae5b;color:#fff0c7;font:900 10px var(--sans);box-shadow:0 3px 0 #43271e}
.top-money{margin-right:15px;font-weight:900;color:#ffd166;font-size:14px}
#top-money{margin-right:15px;font-weight:900;color:#ffd166;font-size:14px;white-space:nowrap}
.logout-nav-button{color:#ff8b6b!important}
.inspector-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.item-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;min-width:0}
.item-meta span{padding:2px 4px;background:rgba(0,0,0,.25);border-radius:3px;font-size:8px;color:#b8caca;letter-spacing:0;white-space:normal;overflow-wrap:break-word;min-width:0}
.item-meta .tier,.item-meta .type{color:#ffd166;background:rgba(155,99,60,.3)}
.item-meta .stat{color:#65e6c2;background:rgba(101,230,194,.15)}
.item-meta .price{color:#d09cff;background:rgba(208,156,255,.15)}
.item-meta .owned{color:#8da9a7}
.equipment-item>div:nth-child(2),.catch-info,.inventory-card>span{display:flex;flex-direction:column;gap:4px;justify-content:center}
.equipment-item>div:nth-child(2) span.item-label{align-self:flex-start}
.item-label{background:rgba(101,230,194,.15);color:var(--aqua);font-size:8px;padding:2px 5px;border-radius:3px;text-transform:uppercase;font-weight:900}
.rarities{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:620px){
  .location-card{height:220px}
  .page-screen-header{gap:12px}
  .page-menu-button{padding:7px 9px;font-size:8px}
  .equipment-art,.catch-image{width:52px;height:46px;flex-basis:52px}
  .equipment-art img,.catch-image img{max-width:44px;max-height:37px}
  .catch-row{grid-template-columns:52px minmax(0,1fr);gap:8px}
  .catch-value{grid-column:2}
}
.aquarium-capacity{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;color:#65e6c2;text-transform:uppercase}
.aquarium-capacity strong{font:900 24px var(--serif);color:#ffd166}.aquarium-capacity span{font-size:10px}
.aquarium-list{display:grid;gap:14px}.aquarium-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:14px;border:2px solid #9b633c;background:rgba(20,29,30,.7);box-shadow:4px 4px #07151b;min-width:0}
.aquarium-fish-image{height:150px;display:grid;place-items:center;background:#173b43;border:2px solid #655a94;overflow:hidden}.aquarium-fish-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;image-rendering:pixelated}
.aquarium-fish-info{min-width:0}.aquarium-fish-info h3{margin:3px 0 9px;font:900 20px var(--serif);text-transform:uppercase;color:#fff0c7;overflow-wrap:anywhere}.aquarium-fish-info p:not(.eyebrow){color:#c5b9d7;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.aquarium-fish-info .sell-button{margin-top:8px}
.inventory-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.inventory-card-actions .inspect-button{white-space:nowrap}
.fish-zone-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0 4px}
.fish-zone-tab{display:grid;gap:4px;min-width:132px;padding:10px 12px;border:2px solid #416b68;background:rgba(9,20,30,.72);color:#b8caca;text-align:left;cursor:pointer}
.fish-zone-tab strong{color:#fff0c7;font:900 10px var(--serif);letter-spacing:.04em}
.fish-zone-tab span{color:#65e6c2;font-size:8px;font-weight:900;letter-spacing:.08em}
.fish-zone-tab:hover,.fish-zone-tab.selected{border-color:#ffd166;background:linear-gradient(145deg,#365d3f,#233d36);box-shadow:2px 2px #0d0b19}
.fish-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:7px;margin-top:12px}
.fish-stat-card{display:grid;gap:4px;min-width:0;padding:8px 7px;border:2px solid #416b68;background:rgba(9,20,30,.68);text-align:center}
.fish-stat-card span{color:#65e6c2;font-size:8px;font-weight:900;letter-spacing:.08em}
.fish-stat-card b{color:#ffd166;font:900 14px var(--serif);overflow-wrap:anywhere}
.fish-hp-card{border-color:#d09b50}
.inventory-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:start}
.inventory-card .fish-stat-grid,.inventory-card .inventory-card-actions{grid-column:1 / -1}
.inventory-card-actions{margin-left:0}
@media(max-width:620px){.aquarium-card{grid-template-columns:1fr}.aquarium-fish-image{height:170px}.aquarium-fish-image img{width:100%;height:100%;max-width:none;max-height:none}}
@media(max-width:620px){.fish-zone-tab{flex:1 1 100px;min-width:0;padding:8px}.fish-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-card{grid-template-columns:58px minmax(0,1fr)}.inventory-card>b{grid-column:2;justify-self:start}.inventory-card .fish-stat-grid,.inventory-card .inventory-card-actions{grid-column:1 / -1}}

/* IMMUTABLE FISH CONTAINMENT RULE: every future fish scales inside its frame. */

/* Navigation is real page navigation: every section gets its own document load. */
.nav-item,.top-nav-button,.page-menu-button,.text-button,.edit-button{text-decoration:none}
.top-nav-button,.page-menu-button{display:inline-block}
.nav-item i{font-size:21px;color:#587983;width:18px;text-align:center;flex:0 0 18px}
.nav-item.active i{color:var(--aqua)}
:root{--serif:"JetBrains Mono",monospace;--sans:"JetBrains Mono",monospace}
@media(max-width:620px){
  .sidebar{height:auto;padding:12px 14px 10px}
  .nav-item i{font-size:16px;width:16px;flex-basis:16px}
  nav{display:flex;flex-wrap:wrap;gap:4px;overflow-x:auto;padding-bottom:4px}
}
.destination-intro{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:20px;border:2px solid #9b633c;background:rgba(20,35,39,.72);box-shadow:4px 4px #07151b}.destination-mark{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border:2px solid #65e6c2;background:#173b43;color:#ffd166;font-size:27px}.destination-intro h3{margin:4px 0 7px;color:#fff0c7;font:900 20px var(--serif);text-transform:uppercase}.destination-intro p:not(.eyebrow){margin:0;color:#b8caca;font-size:11px;line-height:1.5}.destination-list{display:grid;gap:12px}.destination-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:2px solid #416b68;background:rgba(9,20,30,.72)}.destination-row-art{width:58px;height:58px;display:grid;place-items:center;background:#173b43;overflow:hidden}.destination-row-art img{width:auto;height:auto;max-width:52px;max-height:52px;image-rendering:pixelated}.destination-row h3{margin:2px 0 5px;color:#fff0c7;font:900 14px var(--serif);text-transform:uppercase}.destination-row p:not(.eyebrow){margin:0;color:#b8caca;font-size:10px;line-height:1.5}.bank-balance-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px;border:3px solid #d09b50;background:linear-gradient(135deg,#3a2929,#173b43);box-shadow:5px 5px #07151b}.bank-balance-card strong{display:block;margin:4px 0 8px;color:#ffd166;font:900 32px var(--serif)}.bank-balance-card p:not(.eyebrow){margin:0;color:#c5b9a4;font-size:10px}.bank-balance-card>i{color:#65e6c2;font-size:52px}.bank-ledger-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.bank-ledger-card{display:grid;gap:7px;padding:17px;border:2px solid #416b68;background:rgba(9,20,30,.72)}.bank-ledger-card span{color:#65e6c2;font-size:9px;font-weight:900;letter-spacing:.1em}.bank-ledger-card strong{color:#fff0c7;font:900 20px var(--serif);overflow-wrap:anywhere}.bank-ledger-card small{color:#9bb5b3;font-size:9px}.bank-note{display:flex;align-items:center;gap:9px;margin:22px 0 0;color:#b8caca;font-size:10px;line-height:1.5}.bank-note i{color:#65e6c2;font-size:18px}.alchemy-notice{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;margin-bottom:18px;border:2px solid #665994;background:rgba(36,30,67,.7);color:#c5b9d7;font-size:10px;line-height:1.5}.alchemy-notice i{flex:0 0 auto;color:#d09cff;font-size:18px}.alchemy-notice p{margin:0}.alchemy-notice strong{color:#fff0c7}.alchemy-list{display:grid;gap:14px}.alchemy-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px;border:2px solid #665994;background:rgba(20,29,30,.7);box-shadow:4px 4px #07151b}.alchemy-card-selected{border-color:#65e6c2}.alchemy-art{width:72px;height:72px;display:grid;place-items:center;background:#173b43;border:2px solid #416b68}.alchemy-art img{max-width:58px;max-height:58px;image-rendering:pixelated}.alchemy-copy{min-width:0}.alchemy-copy h3{margin:3px 0 7px;color:#fff0c7;font:900 16px var(--serif);text-transform:uppercase}.alchemy-copy p:not(.eyebrow){margin:0 0 9px;color:#c5b9d7;font-size:10px;line-height:1.5}.alchemy-stock{color:#65e6c2;font-size:9px;font-weight:900;letter-spacing:.06em}.alchemy-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.alchemy-actions button{white-space:nowrap}.alchemy-actions .primary-button,.alchemy-actions .sell-button{padding:8px 10px;font-size:9px}.alchemy-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:620px){.destination-intro{align-items:flex-start;padding:15px}.destination-row{grid-template-columns:52px minmax(0,1fr);gap:10px}.destination-row-art{width:52px;height:52px}.destination-row>button{grid-column:2;justify-self:start}.bank-ledger-grid{grid-template-columns:1fr 1fr}.bank-balance-card{padding:18px}.bank-balance-card strong{font-size:25px}.bank-balance-card>i{font-size:38px}.alchemy-card{grid-template-columns:58px minmax(0,1fr);gap:11px}.alchemy-art{width:58px;height:58px}.alchemy-art img{max-width:48px;max-height:48px}.alchemy-actions{grid-column:1 / -1;justify-content:flex-start}}

.bank-screen{--bank-ink:#f7dfc1;--bank-muted:#c4a69f;--bank-red:#5b1f2b;--bank-red-dark:#2d111b}.bank-content{display:grid;gap:16px}.bank-npc-panel,.bank-product-card,.bank-investment-row{border:2px solid #8c4a52;background:linear-gradient(135deg,rgba(70,20,31,.94),rgba(35,16,27,.9));box-shadow:4px 4px #07151b;color:var(--bank-ink)}.bank-npc-panel{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;padding:18px}.bank-npc-art{width:132px;height:132px;display:grid;place-items:center;border:2px solid #d09b50;background:#24131c}.bank-npc-art img{max-width:118px;max-height:118px;image-rendering:pixelated}.bank-npc-panel h3,.bank-product-card h3,.bank-investment-row h3{margin:4px 0 7px;color:#ffe7c4;font:900 19px var(--serif);text-transform:uppercase}.bank-npc-panel p:not(.eyebrow),.bank-product-card p:not(.eyebrow){margin:0;color:var(--bank-muted);font-size:10px;line-height:1.55}.bank-section-heading{display:flex;justify-content:space-between;align-items:end;margin-top:8px}.bank-section-heading h3{margin:3px 0;color:#ffe7c4;font:900 18px var(--serif);text-transform:uppercase}.bank-section-heading p:not(.eyebrow){margin:0;color:#b8caca;font-size:10px}.bank-product-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px}.bank-product-card strong{color:#ffd166}.bank-timer,.bank-risk-note,.bank-investment-row span{display:block;margin-top:10px;color:#e5a6ae;font-size:9px;font-weight:900;letter-spacing:.07em}.bank-invest-form{align-items:end}.bank-invest-form label{display:grid;gap:6px;color:#e5a6ae;font-size:9px;font-weight:900;letter-spacing:.08em}.bank-invest-form input{width:150px;padding:11px;border:2px solid #8c4a52;background:#1e1018;color:#fff0c7;font:700 14px var(--sans)}.bank-term-grid,.bank-subclass-grid{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bank-term-button,.bank-subclass-choice{padding:10px;border:2px solid #8c4a52;background:#3a1722;color:#f7dfc1;font:800 9px var(--sans);letter-spacing:.06em;cursor:pointer}.bank-term-button strong{display:block;margin-top:3px;color:#ffd166}.bank-term-button:hover,.bank-subclass-choice:hover{border-color:#d09b50}.bank-term-button:disabled,.bank-subclass-choice:disabled{opacity:.5;cursor:not-allowed}.bank-investment-list{display:grid;gap:10px}.bank-investment-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;background:rgba(45,17,27,.76)}.bank-investment-row h3{font-size:15px}.bank-alert{display:grid;gap:5px;padding:14px;border:2px solid #d09b50;background:rgba(89,28,34,.9);color:#ffe7c4;font-size:10px;line-height:1.5}.bank-alert-danger{border-color:#df737b}.bank-subclass-card{align-items:flex-start}.bank-subclass-grid{max-width:480px}.bank-subclass-choice{display:grid;gap:4px;text-align:left;min-width:150px}.bank-subclass-choice.selected{border-color:#65e6c2}.bank-subclass-choice span{color:#c4a69f;font-size:9px;line-height:1.4}.bank-confirmation{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px}.bank-confirmation-backdrop{position:absolute;inset:0;background:rgba(7,10,20,.78)}.bank-confirmation-card{position:relative;width:min(100%,480px);padding:24px;border:3px solid #d09b50;background:linear-gradient(135deg,#461724,#21111b);box-shadow:6px 6px #07151b;color:var(--bank-ink)}.bank-confirmation-card h3{margin:6px 0 10px;color:#ffe7c4;font:900 24px var(--serif);text-transform:uppercase}.bank-confirmation-card p:not(.eyebrow){margin:0;color:var(--bank-muted);font-size:11px;line-height:1.6}.bank-confirmation-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.bank-confirmation-actions button{min-width:145px}@media(max-width:620px){.bank-npc-panel{grid-template-columns:96px minmax(0,1fr);gap:12px}.bank-npc-art{width:96px;height:96px}.bank-npc-art img{max-width:84px;max-height:84px}.bank-product-card,.bank-investment-row,.bank-invest-form{align-items:stretch;flex-direction:column}.bank-term-grid,.bank-subclass-grid{justify-content:flex-start}.bank-invest-form input{width:100%}.bank-subclass-choice{min-width:0;flex:1 1 135px}.bank-confirmation-card{padding:20px}.bank-confirmation-actions{display:grid}.bank-confirmation-actions button{width:100%}}
 .chef-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:16px;padding:16px;border:3px solid #a36a3c;background:linear-gradient(135deg,#3a2929,#173b43);box-shadow:5px 5px #07151b}.chef-portrait{width:104px;height:104px;display:grid;place-items:center;background:#173b43;border:2px solid #d09b50;overflow:hidden}.chef-portrait img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.chef-dialogue{min-width:0;padding:12px 14px;border:2px solid #416b68;background:rgba(9,20,30,.58)}.chef-dialogue p:not(.eyebrow){margin:7px 0 12px;color:#fff0c7;font:900 15px var(--serif);line-height:1.35;overflow-wrap:anywhere}.chef-dialogue strong{color:#65e6c2;font-size:10px;letter-spacing:.08em}.chef-actions{display:grid;gap:8px}.chef-actions button{white-space:nowrap}.kitchen-featured{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:14px;border:2px solid #d09b50;background:rgba(84,46,37,.48)}.kitchen-featured img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.kitchen-featured h3{margin:4px 0;color:#fff0c7;font:900 18px var(--serif);text-transform:uppercase}.kitchen-featured p:not(.eyebrow){margin:0;color:#c5b9a4;font-size:10px;line-height:1.5}.kitchen-order{margin-bottom:18px;padding:16px;border:2px solid #65e6c2;background:rgba(23,59,67,.72)}.kitchen-order h3{margin:4px 0 7px;color:#fff0c7;font:900 18px var(--serif);text-transform:uppercase}.kitchen-order p:not(.eyebrow){margin:0;color:#b8caca;font-size:10px;line-height:1.5}.kitchen-order strong{display:block;margin-top:12px;color:#ffd166;font:900 25px var(--serif);letter-spacing:.04em}.kitchen-catch-row{align-items:start}.kitchen-catch-actions{display:grid;gap:8px;min-width:150px}.kitchen-catch-actions button{font-size:9px}.kitchen-catch-actions small{font-size:8px}.kitchen-energy{display:inline-block;margin-top:8px;color:#ffd166;font-size:9px;font-weight:900;letter-spacing:.06em}.cooked-sprite{filter:sepia(1) saturate(1.55) hue-rotate(330deg) brightness(.72) contrast(1.15)}.inventory-card .primary-button,.inline-fish-detail .primary-button,.inspector-actions .primary-button{padding:8px 10px;font-size:9px}.destination-row button:disabled,.chef-actions button:disabled{opacity:.5;cursor:not-allowed}
 @media(max-width:620px){.chef-card{grid-template-columns:1fr;gap:12px;padding:13px}.chef-portrait{width:132px;height:132px;justify-self:center}.chef-dialogue{width:100%;text-align:left}.chef-actions{grid-template-columns:1fr;width:100%}.chef-actions button{width:100%;white-space:normal}.kitchen-featured{align-items:flex-start;padding:12px;gap:11px}.kitchen-featured img{width:58px;height:58px;flex:0 0 58px}.kitchen-featured h3{font-size:16px}}

.forager-inventory-icons,.bank-section-icons,.inventory-category-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.forager-inventory-icon,.bank-section-icon,.inventory-category-icon{display:grid;justify-items:center;gap:6px;min-height:108px;padding:14px 10px;border:2px solid #5f9b63;background:linear-gradient(145deg,#233d36,#172b2d);color:#fff0c7;font:800 10px var(--sans);letter-spacing:.06em;cursor:pointer}
.forager-inventory-icon i,.bank-section-icon i,.inventory-category-icon i{color:#b9ef82;font-size:30px}
.forager-inventory-icon span,.bank-section-icon span,.inventory-category-icon span{color:#b9d2bd;font-size:8px}
.forager-inventory-icon:hover,.forager-inventory-icon.selected,.bank-section-icon:hover,.bank-section-icon.selected,.inventory-category-icon:hover,.inventory-category-icon.selected{border-color:#ffd166;background:linear-gradient(145deg,#365d3f,#233d36);box-shadow:3px 3px #0d0b19}
.forager-inventory-category-panel,.bank-collapsible-panel{display:grid;gap:14px;padding:16px;border:2px solid #65e6c2;background:rgba(23,59,67,.62);box-shadow:4px 4px #07151b}
.forager-inventory-panel-heading,.bank-collapsible-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.forager-inventory-panel-heading h3,.bank-collapsible-heading h3{margin:4px 0;color:#fff0c7;font:900 17px var(--serif);text-transform:uppercase}
.forager-inventory-hint,.bank-section-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:18px;color:#b8caca;font-size:10px;text-align:center}
.forager-inventory-hint i,.bank-section-hint i{color:#65e6c2;font-size:18px}
.inventory-category-panel{display:grid;gap:14px;margin-top:16px;padding:16px;border:2px solid #65e6c2;background:rgba(23,59,67,.62);box-shadow:4px 4px #07151b}
.inventory-category-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:2px;border-bottom:1px solid rgba(208,155,80,.45)}
.inventory-category-heading h3{margin:4px 0;color:#fff0c7;font:900 17px var(--serif);text-transform:uppercase}
.inventory-category-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:18px;color:#b8caca;font-size:10px;text-align:center}
.inventory-category-hint i{color:#65e6c2;font-size:18px}
.inventory-category-panel>.destination-list{display:grid;gap:12px}
.inventory-category-panel>.inventory-list{display:grid;gap:12px}
.inventory-category-panel .inventory-card{margin:0}
.bank-section-icons{margin-top:18px}
.bank-section-icon{border-color:#8c4a52;background:linear-gradient(145deg,#461724,#21111b)}
.bank-section-icon i{color:#ffd166}
.bank-section-icon span{color:#e5a6ae}
.bank-collapsible-panel{margin-top:16px;border-color:#8c4a52;background:rgba(45,17,27,.58)}
.bank-collapsible-panel .bank-section-heading{margin-top:0}
.bank-collapsible-panel .bank-product-card{box-shadow:none}
.bank-collapsible-panel .bank-subclass-card{margin:0}
.bank-collapsible-heading{padding-bottom:2px;border-bottom:1px solid rgba(208,155,80,.45)}
@media(max-width:620px){
  .forager-inventory-icons,.bank-section-icons,.inventory-category-icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .forager-inventory-icon,.bank-section-icon,.inventory-category-icon{min-height:92px;padding:10px 5px;font-size:8px}
  .forager-inventory-icon i,.bank-section-icon i,.inventory-category-icon i{font-size:24px}
  .forager-inventory-panel-heading,.bank-collapsible-heading{align-items:flex-start;flex-direction:column}
  .forager-inventory-panel-heading .sell-button,.bank-collapsible-heading .sell-button{width:100%}
  .inventory-category-heading{align-items:flex-start;flex-direction:column}
  .inventory-category-heading .sell-button{width:100%}
}

/* The sidebar is the official navigation. Keep the topbar focused on the live HUD. */
.top-status-strip{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:0}
.top-status-card{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;gap:1px 7px;min-width:0;padding:7px 9px;border:2px solid #65e6c2;background:rgba(10,42,49,.92);box-shadow:0 3px 0 #07151b;color:#fff0c7}
.top-status-card i{grid-row:1 / span 2;color:#65e6c2;font-size:20px}
.top-status-card span{min-width:0;color:#b9d2bd;font:900 8px var(--sans);letter-spacing:.07em;white-space:nowrap}
.top-status-card strong{min-width:0;color:#fff0c7;font:900 15px var(--serif);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-status-card strong small{color:#9bb5b3;font:900 9px var(--sans)}
.top-status-card em{grid-column:2;min-width:0;color:#ffd166;font:900 7px var(--sans);font-style:normal;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-status-will{border-color:#b99cff}
.top-status-will i{color:#d09cff}
.top-status-balance{border-color:#ffd166}
.top-status-balance i{color:#ffd166}
.top-status-balance strong{color:#ffd166}
.top-actions .avatar{flex:0 0 auto}
@media(max-width:900px){
  .top-status-strip{grid-template-columns:repeat(3,minmax(78px,1fr));width:min(100%,390px)}
  .top-status-card{padding:6px 7px}
}
@media(max-width:620px){
  .topbar{display:grid;grid-template-columns:1fr;gap:10px}
  .top-actions{display:flex;justify-content:stretch;align-items:stretch;width:100%;gap:7px}
  .top-status-strip{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));width:auto}
  .top-status-card{grid-template-columns:17px minmax(0,1fr);gap:1px 5px;padding:6px 5px}
  .top-status-card i{font-size:16px}
  .top-status-card span{font-size:7px}
  .top-status-card strong{font-size:12px}
  .top-status-card strong small{font-size:8px}
  .top-status-card em{font-size:6px}
}

.arena-screen{background:radial-gradient(circle at 85% 12%,rgba(85,191,176,.11),transparent 30%),linear-gradient(145deg,rgba(6,20,29,.98),rgba(12,37,45,.94))}
.arena-collapsible{margin-bottom:16px;border:2px solid #416b68;background:rgba(8,26,35,.88);box-shadow:0 12px 32px rgba(0,0,0,.16)}.arena-collapsible>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;cursor:pointer;list-style:none;color:#ffd166;font:900 11px var(--serif);letter-spacing:.1em}.arena-collapsible>summary::-webkit-details-marker{display:none}.arena-collapsible>summary::after{content:"+";color:#65e6c2;font-size:18px;line-height:1}.arena-collapsible[open]>summary{border-bottom:1px solid #416b68}.arena-collapsible[open]>summary::after{content:"−"}.arena-collapsible>summary span:last-of-type{margin-left:auto;color:#9cb7b1;font-size:9px;text-align:right}.arena-collapsible-body{padding:16px}.arena-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:start}.arena-grid>.arena-collapsible{margin-bottom:0}.arena-guide{display:grid;grid-template-columns:156px minmax(0,1fr);gap:20px;align-items:stretch;margin:0;padding:14px;border:2px solid #d09b50;background:linear-gradient(110deg,rgba(58,35,31,.92),rgba(13,37,45,.92));box-shadow:5px 5px #07151b}.arena-guide-portrait{width:156px;min-height:156px;display:grid;place-items:center;overflow:hidden;background:#0b111c;border:2px solid #8f663f}.arena-guide-portrait img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.arena-guide-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 8px}.arena-guide-copy h3{margin:4px 0 10px;color:#ffe7c4;font:900 24px var(--serif);text-transform:uppercase}.arena-guide-dialogue{margin:0;color:#fff0c7;font:900 15px var(--serif);line-height:1.5;max-width:760px}.arena-guide-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;color:#65e6c2;font-size:9px;letter-spacing:.1em}.arena-guide-footer button{padding:7px 10px;font-size:9px}
.arena-dashboard{display:grid;gap:22px}.arena-rank-card,.arena-panel{border:1px solid rgba(101,230,194,.25);background:rgba(8,26,35,.88);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.arena-rank-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px}.arena-shield{width:84px;height:84px;display:grid;place-items:center;background:rgba(1,10,17,.65);border:1px solid #416b68}.arena-shield img{width:64px;height:64px;image-rendering:pixelated}
.arena-rank-card h3,.arena-panel h3{margin:4px 0 8px;color:#f7edc8}.arena-rank-card strong{color:#65e6c2;letter-spacing:.1em}.arena-rank-card small{display:block;color:#91aca8;margin-top:7px}
.arena-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}.arena-panel{padding:20px;min-width:0}.arena-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:16px}.arena-panel-heading>span{color:#efc66e;font-size:10px;letter-spacing:.08em;text-align:right}
.arena-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.arena-team-slot{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px;text-align:center;border:1px solid #416b68;background:rgba(4,15,24,.7)}.arena-team-slot.empty{border-style:dashed;color:#769590}.arena-team-slot img{width:62px;height:62px;object-fit:contain;image-rendering:pixelated}.arena-team-slot h3{margin:0;font-size:14px}.arena-team-slot small,.arena-roster-row small,.arena-opponent small{color:#91aca8;font-size:10px}.arena-team-slot .sell-button{padding:5px 8px;font-size:9px}
.arena-hint{color:#91aca8;font-size:12px;line-height:1.5}.arena-roster{display:grid;gap:7px;max-height:280px;overflow:auto}.arena-roster-row{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #274f50;color:#f7edc8;background:rgba(14,43,48,.72);padding:10px;cursor:pointer}.arena-roster-row:hover,.arena-roster-row.selected{border-color:#65e6c2}.arena-roster-index{width:22px;color:#65e6c2;font-size:18px}.arena-roster-row strong,.arena-roster-row small{display:block}
.arena-bot-actions{display:grid;gap:9px}.arena-bot-actions button{display:flex;justify-content:space-between;align-items:center}.arena-bot-actions small{color:#91aca8}.arena-rivals-heading{margin-top:28px}.arena-opponents{display:grid;gap:8px}.arena-opponent{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border-top:1px solid #274f50;padding:10px 0}.arena-opponent img{width:36px;height:36px;image-rendering:pixelated}.arena-opponent strong,.arena-opponent small,.arena-opponent span{display:block}.arena-opponent span{color:#efc66e;font-size:10px;margin-top:4px}.arena-opponent .primary-button{padding:7px 10px;font-size:9px}
.arena-match-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.arena-match-heading>span{color:#efc66e;font-size:10px}.arena-live-match{max-width:760px;margin:0 auto;padding:22px;border:3px solid #d09b50;background:linear-gradient(145deg,rgba(18,49,52,.96),rgba(54,38,32,.94));box-shadow:8px 8px #07151b}.arena-live-match-header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.arena-live-match-header h2{margin:4px 0 0;color:#fff0c7;font:900 25px var(--serif);text-transform:uppercase}.arena-live-match-header>span{color:#65e6c2;font-size:9px;letter-spacing:.08em;text-align:right}.arena-battle{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:10px 0 18px}.arena-battle>b{color:#efc66e}.arena-combatant{text-align:center;padding:16px;border:1px solid #416b68;background:rgba(4,15,24,.7)}.arena-fish-stage{position:relative;display:grid;place-items:center;min-height:88px}.arena-combatant img{width:88px;height:88px;object-fit:contain;image-rendering:pixelated}.arena-combatant h3{margin:4px 0 12px}.arena-hp i{display:block;height:8px;background:#182d34}.arena-hp em{display:block;height:100%;background:#65e6c2}.arena-hp small{display:block;color:#91aca8;margin-top:5px;font-size:10px}.arena-bite{display:grid;place-items:center;width:82px;height:82px;margin:auto;padding:8px!important;background:#b7773f!important}.arena-bite img{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.arena-vfx-anchor .client-sprite-vfx{left:50%;top:50%;transform:translate(-50%,-50%) scale(.62);transform-origin:center;filter:drop-shadow(0 0 10px rgba(255,240,199,.58))}.arena-live-match-note{margin:18px 0 0;text-align:center;color:#91aca8;font-size:10px;letter-spacing:.06em}
@media(max-width:780px){.arena-grid{grid-template-columns:1fr}.arena-rank-card{grid-template-columns:auto 1fr}.arena-rank-card>button{grid-column:1/-1;width:100%}}
@media(max-width:480px){.arena-collapsible>summary{padding:12px 11px;font-size:10px}.arena-collapsible-body{padding:11px}.arena-guide{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px}.arena-guide-portrait{width:88px;min-height:116px}.arena-guide-copy{padding:0}.arena-guide-copy h3{font-size:17px;margin-bottom:7px}.arena-guide-dialogue{font-size:12px;line-height:1.4}.arena-guide-footer{margin-top:10px;font-size:8px}.arena-guide-footer button{padding:6px 8px;font-size:8px}.arena-team{grid-template-columns:1fr}.arena-team-slot{min-height:125px}.arena-battle{grid-template-columns:1fr;gap:10px}.arena-battle>b{text-align:center}.arena-combatant{padding:14px 12px}.arena-fish-stage{min-height:88px}.arena-live-match{padding:14px 11px}.arena-live-match-header{align-items:flex-start;gap:8px}.arena-live-match-header h2{font-size:19px}.arena-live-match-header>span{font-size:8px}.arena-match-heading{flex-direction:column}}

.casino-screen{background:radial-gradient(circle at 15% 10%,rgba(226,165,80,.12),transparent 32%),linear-gradient(145deg,rgba(17,17,30,.98),rgba(46,28,36,.96))}.casino-bankroll{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 20px;border:2px solid #c88d4d;background:rgba(70,42,35,.72);box-shadow:5px 5px #0b1119}.casino-bankroll strong{display:block;color:#ffe7b1;font:900 28px var(--serif)}.casino-bankroll>span{color:#65e6c2;font-size:10px;letter-spacing:.1em;text-align:right}.casino-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.casino-summary article{padding:13px;border:1px solid #5c463c;background:rgba(45,31,35,.8)}.casino-summary span{display:block;color:#aebdb2;font-size:8px;letter-spacing:.1em}.casino-summary strong{display:block;margin-top:7px;color:#ffe7b1;font:900 17px var(--serif)}.casino-summary .positive{color:#65e6c2}.casino-summary .negative{color:#bd6d63}.casino-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:22px;align-items:start}.casino-machine{padding:20px;border:2px solid #c88d4d;background:linear-gradient(145deg,#3a2629,#161b28);box-shadow:7px 7px #0b1119}.casino-symbol-strip{display:flex;justify-content:center;gap:18px;margin-bottom:18px}.casino-symbol-strip>div{display:grid;justify-items:center;gap:5px;color:#eec978;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.casino-symbol-strip img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.casino-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;border:3px solid #e0a65f;background:#09151b;box-shadow:inset 0 0 0 2px #704b3a}.casino-reel{display:grid;place-items:center;min-height:144px;padding:10px;background:linear-gradient(#f2ce83,#9d613c 7%,#231b25 8%,#0f1c24 92%,#9d613c 93%,#f2ce83);border:2px solid #d7a15b;overflow:hidden}.casino-symbol-window{display:grid;place-items:center;width:100%;height:100%;background:rgba(4,14,20,.88);border:1px solid #5a7770}.casino-symbol-window img{width:92px;height:92px;object-fit:contain;image-rendering:pixelated}.casino-reel.is-spinning .casino-symbol-window img{animation:casino-reel-spin 420ms linear infinite}.casino-reel:nth-child(2).is-spinning .casino-symbol-window img{animation-duration:360ms}.casino-reel:nth-child(3).is-spinning .casino-symbol-window img{animation-duration:300ms}@keyframes casino-reel-spin{0%{transform:translateY(-12px);filter:blur(1px)}50%{transform:translateY(12px);filter:blur(2px)}100%{transform:translateY(-12px);filter:blur(1px)}}.casino-result{display:grid;gap:5px;margin:18px 0;padding:13px;text-align:center;border:1px solid #416b68;background:rgba(5,20,28,.82)}.casino-result strong{color:#fff1c5;font:900 20px var(--serif);text-transform:uppercase}.casino-result small{color:#91aca8}.casino-result.win{border-color:#65e6c2}.casino-result.loss{border-color:#bd6d63}.casino-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.casino-bets button{padding:10px 6px;border:1px solid #416b68;background:#102d35;color:#f7edc8;font:900 12px var(--serif);cursor:pointer}.casino-bets button.selected{border-color:#efc66e;background:#5b3a32;color:#ffe7b1}.casino-bets button:disabled{opacity:.38;cursor:not-allowed}.casino-spin-button{width:100%;margin-top:12px;font-size:15px}.casino-note{margin:12px 0 0;color:#91aca8;font-size:11px;line-height:1.45;text-align:center}.casino-controls{display:grid;gap:16px}.casino-limit-card{padding:18px;border:2px solid #416b68;background:rgba(8,26,35,.88)}.casino-limit-card h3{margin:5px 0 8px;color:#ffe7b1;font:900 17px var(--serif)}.casino-limit-card form{display:grid;gap:9px;margin:15px 0 10px}.casino-limit-card label{display:grid;gap:6px;color:#dbe6d7;font-size:10px}.casino-limit-card input{width:100%;box-sizing:border-box;padding:9px;border:1px solid #416b68;background:#07151b;color:#fff0c7;font:inherit}.casino-limit-card button{justify-self:start;padding:8px 12px}.casino-limit-card small,.casino-limit-status{display:block;color:#91aca8;font-size:10px;line-height:1.45}.casino-limit-status{margin:0;color:#65e6c2}.casino-limit-warning{margin:0;color:#f2a29a;font-size:10px;line-height:1.45}.casino-paytable,.casino-history{border:2px solid #416b68;background:rgba(8,26,35,.88)}.casino-paytable summary,.casino-history summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;color:#ffd166;font:900 11px var(--serif);letter-spacing:.1em}.casino-paytable summary::-webkit-details-marker,.casino-history summary::-webkit-details-marker{display:none}.casino-paytable summary::after,.casino-history summary::after{content:"+";color:#65e6c2;font-size:18px}.casino-paytable[open] summary,.casino-history[open] summary{border-bottom:1px solid #416b68}.casino-paytable[open] summary::after,.casino-history[open] summary::after{content:"−"}.casino-paytable summary span:last-child,.casino-history summary span:last-child{margin-left:auto;color:#9cb7b1;font-size:9px}.casino-table-wrap{max-height:565px;overflow:auto}.casino-paytable table{width:100%;border-collapse:collapse}.casino-paytable th,.casino-paytable td{padding:9px 12px;border-bottom:1px solid #274f50;text-align:left;font-size:10px}.casino-paytable th{color:#91aca8;font-size:8px;letter-spacing:.08em}.casino-paytable td:nth-child(2),.casino-paytable td:nth-child(3){text-align:right;color:#efc66e}.casino-paytable .casino-special-line td{color:#65e6c2}.casino-history{margin-top:16px}.casino-history ul{display:grid;gap:7px;margin:0;padding:13px 16px;list-style:none}.casino-history li{display:flex;justify-content:space-between;gap:12px;color:#dbe6d7;font-size:11px}.casino-history li>span{min-width:0}.casino-history li>span strong,.casino-history li>span small{display:block}.casino-history li>span strong{color:#f7edc8}.casino-history li>span small{margin-top:4px;color:#91aca8;font-size:9px}.casino-history .positive{color:#65e6c2}.casino-history .negative{color:#bd6d63}.casino-history-empty{margin:0;padding:14px 16px;color:#91aca8;font-size:11px}@media(max-width:780px){.casino-layout{grid-template-columns:1fr}.casino-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.casino-bankroll{align-items:flex-start;padding:13px}.casino-bankroll strong{font-size:22px}.casino-bankroll>span{font-size:8px}.casino-machine{padding:12px}.casino-summary article{padding:10px}.casino-summary strong{font-size:14px}.casino-symbol-strip{gap:8px}.casino-symbol-strip img{width:28px;height:28px}.casino-reels{gap:6px;padding:9px}.casino-reel{min-height:105px;padding:5px}.casino-symbol-window img{width:62px;height:62px}.casino-bets{grid-template-columns:repeat(2,1fr)}.casino-paytable th,.casino-paytable td{padding:8px 7px;font-size:9px}}