@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Sora:wght@400;600;700&display=swap');   /* the strip's own fonts: pages that do not load them drew it wider/taller */
/* 🧭 THE PLAYER STRIP, shared by every page (moved out of player-flow.css 2026-09-26; loaded by shared-shell.mjs).
   Mounted under the site header in #nr-player-strip. Signed out = .pf-strip-out, same height. */
#nr-player-strip{position:relative;z-index:4;max-width:1240px;margin:0 auto 25px;padding:0 28px;box-sizing:border-box}
#nr-player-strip .pf-player-strip{margin:0}
#nr-player-strip .pf-fish-drop{margin:10px 0 0}
a.pf-strip-fight{text-decoration:none;color:inherit}
.pf-strip-face{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .18s,transform .18s}
.pf-strip-face:hover{border-color:#e8cf91;transform:translateY(-2px)}
.pf-strip-face:focus-visible{outline:2px solid #ffe08a;outline-offset:3px}
.pf-strip-loading{opacity:.75}
.pf-strip-connect{height:52px;white-space:nowrap;font:600 15px 'Sora',sans-serif;padding:0 18px;border-radius:6px;border:1px solid #e8cf91;background:#e8cf91;color:#17242a;cursor:pointer}
.pf-strip-connect:hover{background:#f4dca6}
/* 🎣 TACKLE in the Fisher bar (option B, Drew 2026-09-26): three slots, a drop-down of every item, one click equips. States sit on
   each tile's top edge like the shop's lock band: EQUIPPED green, LEVEL n red, IN THE SHOP slate. Nothing smaller than 13px. */
.pf-fish-slots{display:flex;gap:10px;padding-bottom:22px}
.pf-fish-slot{position:relative;width:64px;height:64px;display:grid;place-items:center;background:#101c20;border:1px solid #3a4d55;border-radius:8px;cursor:pointer;padding:0}
.pf-fish-slot:hover,.pf-fish-slot.open{border-color:#ffe08a}
.pf-fish-slot img{width:42px;height:42px;object-fit:contain;image-rendering:auto}
.pf-fish-slot span{position:absolute;top:calc(100% + 4px);left:0;right:0;text-align:center;font:600 13px 'Sora',sans-serif;color:#c9d6db}
.pf-fish-drop{margin:-12px 0 22px;padding:16px;background:#16252a;border:1px solid #ffe08a;border-radius:8px}
.pf-fish-drop-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pf-fish-drop-head strong{font:600 18px 'Chakra Petch',sans-serif;color:#f0ece1;text-transform:capitalize}
.pf-fish-note{font:600 14px 'Sora',sans-serif;color:#ffe08a}
.pf-fish-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pf-fish-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:4px;padding:38px 10px 12px;background:#101c20;border:1px solid #3a4d55;border-radius:8px;color:#e9ece4;text-align:center}
.pf-fish-tile:hover{border-color:#ffe08a}
.pf-fish-tile img{width:48px;height:48px;object-fit:contain;image-rendering:auto}
.pf-fish-tile b{font:600 15px 'Chakra Petch',sans-serif}
.pf-fish-tile em{font:normal 13px/1.35 'Sora',sans-serif;color:#b7c6cb}
.pf-fish-tile i{font:600 13px 'Sora',sans-serif;font-style:normal;color:#ffe08a}
.pf-fish-state{position:absolute;left:0;right:0;top:0;height:28px;display:flex;align-items:center;justify-content:center;font:700 13px 'Chakra Petch',sans-serif;letter-spacing:.06em}
.pf-fish-tile.on{border-color:#7fd3a0}.pf-fish-tile.on .pf-fish-state{background:#2f6a4c;color:#e3f7ea}
.pf-fish-tile.lock .pf-fish-state{background:#b3261e;color:#fff}
.pf-fish-tile.notmine:not(.lock) .pf-fish-state{background:#34474f;color:#e3ebee}
.pf-fish-tile.notmine img{filter:grayscale(.6) brightness(.6)}.pf-fish-tile.notmine:hover{border-color:#3a4d55}
.pf-fish-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;width:100%;min-height:34px;margin-top:auto;padding-top:7px}.pf-fish-actions button{min-height:34px;padding:6px 12px;border:1px solid #61737a;border-radius:5px;background:#1f343b;color:#edf1eb;font:700 13px 'Sora',sans-serif;cursor:pointer}.pf-fish-actions button:hover{border-color:#ffe08a}.pf-fish-actions button:disabled{opacity:.62;cursor:default}.pf-fish-actions .pf-fish-buy{border-color:#d5b978;background:#d5b978;color:#17242a}.pf-fish-actions .pf-fish-buy:hover{background:#f0d895}.pf-fish-actions span{font:600 13px 'Sora',sans-serif;color:#aebdc2}
/* 🧭 THE PLAYER STRIP (option A): one bar, fisher | fighter. No text under 12px; numbers large. On phones the halves stack. */
.pf-player-strip{display:grid;grid-template-columns:1fr 1fr;margin:0 0 22px;border-radius:10px;overflow:hidden;background:linear-gradient(105deg,#20343b,#13242c);border:1px solid #2f444b}
.pf-strip-half{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 16px;min-width:0}
.pf-strip-fight{border:0;border-left:1px solid #34494f;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.pf-strip-fight:hover{background:#ffffff08}
.pf-strip-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#101e25;box-shadow:inset 0 0 0 1px #455960}
.pf-strip-icon img{width:30px;height:30px;object-fit:contain;image-rendering:auto}
.pf-strip-label{display:block;font:600 12px 'Sora',sans-serif;letter-spacing:.08em;color:#e8cf91}
.pf-strip-half strong{display:block;font:600 20px 'Chakra Petch',sans-serif;color:#f0ece1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-strip-half small{display:block;font:14px 'Sora',sans-serif;color:#cdd8d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-strip-xp{height:7px;max-width:190px;margin:5px 0;border-radius:4px;background:#2c3f46;box-shadow:inset 0 0 0 1px #58707a;overflow:hidden}
.pf-strip-xp i{display:block;height:100%;width:0;background:#f4c94a;border-radius:4px;transition:width .6s ease}
.pf-strip-xp-fight i{background:#7fc8f0}
.pf-strip-wallet{text-align:right}
.pf-strip-wallet span{display:block;font:600 12px 'Sora',sans-serif;letter-spacing:.08em;color:#b7c6cb}
.pf-strip-wallet strong{font:600 24px 'Chakra Petch',sans-serif;color:#e8cf91}
.pf-player-strip .pf-fish-slots{padding-bottom:0;gap:8px}
.pf-player-strip .pf-fish-slot{width:52px;height:52px}
.pf-player-strip .pf-fish-slot img{width:34px;height:34px}
.pf-player-strip .pf-fish-slot span{display:none}
@media(max-width:1100px){.pf-player-strip{grid-template-columns:1fr}.pf-strip-fight{border-left:0;border-top:1px solid #34494f}}
@media(max-width:560px){.pf-strip-fish{grid-template-columns:46px minmax(0,1fr) auto}.pf-strip-fish .pf-fish-slots{grid-column:1/-1;grid-row:2}}
/* Skin renders are already close portraits. Keep the whole face inside the circle. The older fallback files are full-body renders and need a closer crop. */
.pf-strip-face{position:relative;overflow:hidden}.pf-strip-look{position:absolute;inset:3px;display:block}.pf-strip-face .pf-strip-look img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:auto}.pf-strip-face .pf-look-body{transform:scale(.96);transform-origin:50% 50%}.pf-strip-face .pf-strip-look.uses-fallback .pf-look-body{transform:scale(1.65) translateY(7%);transform-origin:50% 35%}.pf-strip-face .pf-look-hat{z-index:2}

/* Same size on every page: the pages around it bring their own font and line-height rules, so the strip sets its own. */
#nr-player-strip,#nr-player-strip *{box-sizing:border-box}
#nr-player-strip .pf-strip-label{line-height:16px;margin:0}
#nr-player-strip .pf-strip-half strong{line-height:26px;margin:0}
#nr-player-strip .pf-strip-half small{line-height:20px;margin:0}
#nr-player-strip .pf-strip-wallet strong{line-height:30px}
#nr-player-strip .pf-strip-wallet span{line-height:16px}
#nr-player-strip h1,#nr-player-strip h2,#nr-player-strip p{margin:0}
@media(max-width:650px){#nr-player-strip{padding:0 18px}}
.pf-strip-out .pf-strip-face img,.pf-strip-out .pf-strip-icon img{opacity:.55}
/* Each purse shows its coin (Drew 09-26: "we need the icons there"). Painted icons scale smooth, never pixelated. */
#nr-player-strip .pf-strip-wallet strong{display:flex;align-items:center;justify-content:flex-end;gap:7px}
#nr-player-strip .pf-strip-wallet strong img{width:24px;height:24px;object-fit:contain;image-rendering:auto;flex:none}
/* Phones: the fighter's two purses get their own row (like the tackle slots in the fishing half), so the name never wraps. */
#nr-player-strip .pf-strip-label{white-space:nowrap}
@media(max-width:560px){#nr-player-strip .pf-strip-fight{grid-template-columns:46px minmax(0,1fr) auto auto}#nr-player-strip .pf-strip-fight>div:nth-child(2){grid-column:2/-1}#nr-player-strip .pf-strip-fight>.pf-strip-wallet{grid-row:2}#nr-player-strip .pf-strip-fight>.pf-strip-wallet:nth-of-type(3){grid-column:3}#nr-player-strip .pf-strip-fight>.pf-strip-wallet:last-child{grid-column:4}}

/* labels at 13px (the site's floor; they were 12) */
#nr-player-strip .pf-strip-label,#nr-player-strip .pf-strip-wallet span{font-size:13px}

/* the drawer's last tile: the way to the shop for everything you do not own yet */
.pf-fish-more{justify-content:center;text-decoration:none;color:inherit;border-style:dashed!important}
.pf-fish-more b{color:#e8cf91}
.pf-fish-more:hover{border-color:#ffe08a!important}

/* NOT OWNED band (slate) and the level a locked item needs, in red, readable */
.pf-fish-tile.notmine .pf-fish-state{background:#3a4a52;color:#e3ebee}
.pf-fish-tile .pf-fish-need{color:#ff8a7a!important;font:600 14px 'Sora',sans-serif}

/* 🎒 SUPPLIES in the Fish Fight half (2026-09-26). Two rows of three so the banner keeps its height. Labels 13px (never smaller). */
.pf-strip-fight{grid-template-columns:46px minmax(0,1fr) auto auto auto!important}
.pf-strip-wallet span,.pf-strip-supplies>span{font-size:13px!important}
.pf-strip-supplies>span{display:block;font:600 13px/16px 'Sora',sans-serif;letter-spacing:.08em;color:#b7c6cb;text-align:left}
.pf-strip-supplies>div{display:grid;grid-template-columns:repeat(3,auto);gap:2px 10px;margin-top:3px}
.pf-strip-supplies i{display:flex;align-items:center;gap:4px;font:600 15px/22px 'Chakra Petch',sans-serif;font-style:normal;color:#e8cf91}
.pf-strip-supplies img{width:20px;height:20px;object-fit:contain;image-rendering:auto}
@media(max-width:1100px){.pf-strip-supplies>div{grid-template-columns:repeat(3,auto)}}
@media(max-width:650px){.pf-strip-supplies{grid-row:2}}

/* 👛 Fight Coins over Magicite in one column (Drew 09-26) */
.pf-strip-fight{grid-template-columns:46px minmax(0,1fr) auto auto!important}
.pf-strip-purse{display:flex;flex-direction:column;gap:4px}
.pf-strip-purse i{display:flex;align-items:center;gap:7px;font:600 20px/26px 'Chakra Petch',sans-serif;font-style:normal;color:#e8cf91;white-space:nowrap}
.pf-strip-purse img{width:22px;height:22px;object-fit:contain;image-rendering:auto;flex:none}
.pf-strip-purse span{font:600 13px 'Sora',sans-serif;letter-spacing:.04em;color:#b7c6cb}
@media(max-width:650px){.pf-strip-purse{grid-row:2}}

/* no labels: icons and numbers only (Drew 09-26) */
.pf-strip-purse i{font-size:22px;line-height:28px}.pf-strip-purse img{width:24px;height:24px}
.pf-strip-supplies>div{margin-top:0}
@media(max-width:650px){.pf-strip-purse{grid-row:2;grid-column:1/3}.pf-strip-supplies{grid-row:2;grid-column:3/5;justify-self:end}}
/* 🎒 two rows, more room (Drew 09-26: "too close to each other now that the words are gone ... make the icons bigger ... fight coins and
   magicite on the same row and the 5 mats all on one row"). Row 1: Fight Coins, Magicite. Row 2: the five materials. */
.pf-strip-fight{grid-template-columns:46px minmax(0,1fr) auto!important}
.pf-strip-bag{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pf-strip-bag .pf-strip-purse{flex-direction:row;gap:22px;grid-row:auto;grid-column:auto}
.pf-strip-bag .pf-strip-purse i{font-size:24px;line-height:30px;gap:8px}
.pf-strip-bag .pf-strip-purse img{width:30px;height:30px}
.pf-strip-bag .pf-strip-supplies{grid-row:auto;grid-column:auto}
.pf-strip-bag .pf-strip-supplies>div{grid-template-columns:repeat(5,auto)!important;gap:0 16px}
.pf-strip-bag .pf-strip-supplies i{font-size:16px;line-height:24px;gap:5px}
.pf-strip-bag .pf-strip-supplies img{width:24px;height:24px}
@media(max-width:650px){.pf-strip-bag{grid-row:2;grid-column:1/-1;align-items:flex-start}.pf-strip-bag .pf-strip-supplies>div{gap:0 12px}}

/* 🏅 SEASON REWARDS RIBBON (2026-09-28): a full-width row under both halves, the reward path of the NovaTokens page in small.
   Evenly spaced stops (threshold medallion + short label), the fill and the coin at what you earned this season. Reached = gold,
   the next one = green ring, reached but not claimed = gold with "Claim" and a soft pulse. The whole row links to the rewards. */
.pf-player-strip .pf-season{grid-column:1/-1;display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;padding:10px 20px 12px;border-top:1px solid #34494f;color:inherit;text-decoration:none;background:rgba(10,20,24,.35)}
.pf-season:hover{background:rgba(24,40,44,.55)}
.pf-season-head{display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-season-head strong{font:700 16px/1.2 'Sora','Segoe UI',sans-serif;color:#f0e8d6}
.pf-season-head small{display:flex;align-items:center;gap:5px;font:600 13px/1.3 'Sora','Segoe UI',sans-serif;color:#b5c0b9}
.pf-season-head small img{width:18px;height:18px}
.pf-season-track{position:relative;display:block;height:58px;min-width:0}
.pf-season-line{position:absolute;left:0;right:0;top:14px;height:5px;border-radius:3px;background:#0f1d1a;overflow:hidden}
.pf-season-line i{display:block;height:100%;background:linear-gradient(90deg,#63aa91,#d9bf83)}
.pf-season-stop{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;width:max-content;max-width:120px;text-align:center}
.pf-season-stop b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#142428;border:2px solid #42534c;font:700 13px/1 'Sora','Segoe UI',sans-serif;color:#cdd8d4}
.pf-season-stop span{font:600 12px/1.2 'Sora','Segoe UI',sans-serif;color:#b5c0b9;white-space:nowrap}
.pf-season-stop em{font:700 11px/1 'Chakra Petch',sans-serif;letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:#d9bf83}
.pf-season-stop.got b{border-color:#d9bf83;color:#d9bf83;background:radial-gradient(circle at 35% 30%,#4a4630,#1c211a)}
.pf-season-stop.got span{color:#d9bf83}
.pf-season-stop.next b{border-color:#63aa91;color:#f0e8d6}
.pf-season-stop.ready b{border-color:#ffe08a;color:#1c211a;background:#ffe08a;animation:pfSeasonPulse 1.8s ease-in-out infinite}
@keyframes pfSeasonPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,224,138,.55)}50%{box-shadow:0 0 0 7px rgba(255,224,138,0)}}
.pf-season-coin{position:absolute;top:6px;transform:translateX(-50%);z-index:1;pointer-events:none}   /* under the medallions: a number is never covered */
.pf-season-coin img{width:22px;height:22px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.pf-season-stop{z-index:2}
@media(max-width:700px){.pf-player-strip .pf-season{grid-template-columns:1fr;gap:8px;padding:10px 14px 12px}.pf-season-head{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;min-height:24px}}
.pf-season-head small{white-space:nowrap;min-height:20px}   /* one line in every state, so the ribbon never changes height (Drew: nothing may move) */
@media(max-width:700px){.pf-season-head .pf-strip-label{display:none}}   /* phones: "Season 2" already names the row, and one line keeps every state the same height */
@media(max-width:430px){.pf-season-stop{width:54px}.pf-season-stop span{white-space:normal;font-size:12px}.pf-season-track{height:66px}}

/* 📱 COMPACT ON PHONES (Drew 2026-09-28: "each banner should be a little bit smaller on the phone version of the site"; it was 472px
   tall, a whole phone screen). Same content, tighter: smaller face/job icon, tackle slots and badges, materials beside the coins in
   one row, and the season stops without their third "Claim" line (the head says how many are ready). Text stays 12px or more. */
@media(max-width:560px){
 #nr-player-strip .pf-strip-half{gap:6px 10px;padding:8px 12px}
 #nr-player-strip .pf-strip-fish{grid-template-columns:38px minmax(0,1fr) auto}
 #nr-player-strip .pf-strip-fight{grid-template-columns:38px minmax(0,1fr)!important}
 #nr-player-strip .pf-strip-icon{width:38px;height:38px}
 #nr-player-strip .pf-strip-icon img{width:26px;height:26px}
 #nr-player-strip .pf-strip-label{font-size:12px;line-height:14px}
 #nr-player-strip .pf-strip-half strong{font-size:18px;line-height:22px}
 #nr-player-strip .pf-strip-half small{font-size:13px;line-height:17px}
 #nr-player-strip .pf-strip-xp{height:6px;margin:3px 0}
 #nr-player-strip .pf-fish-slots{gap:6px}
 #nr-player-strip .pf-fish-slot{width:40px;height:40px}
 #nr-player-strip .pf-fish-slot img{width:28px;height:28px}
 #nr-player-strip .pf-strip-wallet strong{font-size:20px;line-height:26px}
 #nr-player-strip .pf-strip-wallet strong img{width:20px;height:20px}
 #nr-player-strip .pf-strip-bag{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px}
 #nr-player-strip .pf-strip-bag .pf-strip-purse{gap:12px}
 #nr-player-strip .pf-strip-bag .pf-strip-purse i{font-size:18px;line-height:24px;gap:5px}
 #nr-player-strip .pf-strip-bag .pf-strip-purse img{width:22px;height:22px}
 #nr-player-strip .pf-strip-bag .pf-strip-supplies>div{gap:0 9px}
 #nr-player-strip .pf-strip-bag .pf-strip-supplies i{font-size:14px;line-height:22px;gap:3px}
 #nr-player-strip .pf-strip-bag .pf-strip-supplies img{width:19px;height:19px}
 #nr-player-strip .pf-strip-connect{height:40px;padding:0 12px;font-size:14px}
 #nr-player-strip .pf-season{padding:8px 12px 8px;gap:6px}
 #nr-player-strip .pf-season-head{min-height:22px}
 #nr-player-strip .pf-season-head strong{font-size:15px}
 #nr-player-strip .pf-season-track{height:52px}
 #nr-player-strip .pf-season-line{top:11px}
 #nr-player-strip .pf-season-stop b{width:26px;height:26px;font-size:12px}
 #nr-player-strip .pf-season-stop em{display:none}
 #nr-player-strip .pf-season-coin{top:3px}
 #nr-player-strip .pf-season-coin img{width:20px;height:20px}
}
#nr-player-strip .pf-season-stop em{font-size:12px}   /* the site's floor: never under 12px (was 11) */
#nr-player-strip .pf-season-claims{color:#ffe08a;font-weight:700}

/* 📱 FISHING IN ONE ROW ON PHONES (Drew 2026-09-28: "make fishing thinner ... the XP bar shorter so that we could fit the three
   equipment to the right"). Face | level + a shorter XP bar | Rod, Line, Bait with the novatokens under them. The right column is
   exactly as tall as the level text, so the half is one row. Signed out, the same spot holds a short "Sign in" button. */
@media(max-width:560px){
 #nr-player-strip .pf-strip-fish{grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:4px;align-items:center}
 #nr-player-strip .pf-strip-fish>.pf-strip-face{grid-row:1/3;grid-column:1}
 #nr-player-strip .pf-strip-fish>div:nth-child(2){grid-row:1/3;grid-column:2;min-width:0}
 #nr-player-strip .pf-strip-fish .pf-fish-slots{grid-row:1;grid-column:3;justify-self:end}
 #nr-player-strip .pf-strip-fish>.pf-strip-wallet{grid-row:2;grid-column:3;justify-self:end}
 #nr-player-strip .pf-strip-fish .pf-fish-slot{width:34px;height:34px}
 #nr-player-strip .pf-strip-fish .pf-fish-slot img{width:24px;height:24px}
 #nr-player-strip .pf-strip-fish .pf-fish-slots{gap:5px}
 #nr-player-strip .pf-strip-fish .pf-strip-xp{max-width:130px}
 #nr-player-strip .pf-strip-fish .pf-strip-wallet strong{font-size:18px;line-height:22px}
 #nr-player-strip .pf-strip-fish .pf-strip-wallet strong img{width:18px;height:18px}
 #nr-player-strip .pf-strip-connect{height:34px;padding:0 12px;font-size:14px}
 #nr-player-strip .pf-connect-long{display:none}
}

/* 🪙 STICKY BALANCE on the NovaRealm shop (player-flow.js, 2026-09-29): once the strip's wallet scrolls away, this plate stays at the
   window's top right. Fixed, so nothing moves; the number box has a fixed width (up to 6 digits), so the plate never changes size. */
.nr-float-purse{position:fixed;top:12px;right:16px;z-index:60;display:flex;align-items:center;gap:10px;box-sizing:border-box;height:48px;padding:0 14px;border:1px solid #8a7438;border-radius:10px;background:#0f1d21f5;box-shadow:0 10px 26px #0009;color:#e9ece4;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility 0s .18s;pointer-events:none}
.nr-float-purse.on{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.nr-float-purse>span{font:700 13px/1 'Sora','Segoe UI',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#d7c18f;white-space:nowrap}
.nr-float-purse strong{display:flex;align-items:center;gap:7px;font:600 24px/1 'Chakra Petch',sans-serif;color:#e8cf91}
.nr-float-purse img{width:24px;height:24px;object-fit:contain;flex:none}
.nr-float-purse b{display:inline-block;width:5ch;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:520px){.nr-float-purse{top:10px;right:16px;height:44px;padding:0 12px;gap:8px}.nr-float-purse>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nr-float-purse strong{font-size:22px}}   /* phones: coin and number only, so it covers as little as possible */
@media(prefers-reduced-motion:reduce){.nr-float-purse,.nr-float-purse.on{transition:none;transform:none}}

/* 👀 WHAT A NORMAL VIEWER SEES (2026-10-01). Bait or a rod that costs more than the Pocket: the button says how many more NovaTokens,
   in red, and cannot be pressed. */
.pf-fish-actions button.pf-fish-buy.short,.pf-fish-actions button.pf-fish-buy.short:disabled{background:#3a2a2a;border-color:#7a4038;color:#ffc9bf;opacity:1}
/* phones: the fight coins and magicite were drawn bigger than the five materials beside them in the same row; one size for all seven */
@media(max-width:560px){
 #nr-player-strip .pf-strip-bag .pf-strip-purse{gap:9px}
 #nr-player-strip .pf-strip-bag .pf-strip-purse i,#nr-player-strip .pf-strip-bag .pf-strip-supplies i{font-size:14px;line-height:22px;gap:3px}
 #nr-player-strip .pf-strip-bag .pf-strip-purse img,#nr-player-strip .pf-strip-bag .pf-strip-supplies img{width:19px;height:19px}
}
/* the sticky NovaTokens plate drops to the bottom right while the closet's character row (with its Change button) is under it */
.nr-float-purse.low{top:auto;bottom:16px}
.pf-strip-path{color:#c9b98a;font-weight:500}
/* 🏷️ TIER SHELF in the tackle drawer (Drew 2026-10-01, same "display shelf" look as the closet): the bottom of the tile is lit in the
   tier colour and the name takes it; OWNED in green on the dark plate. Nothing changes size. */
.pf-fish-tile[data-tier=fern]{--t:#8cc274;--tl:#bfe5a9}.pf-fish-tile[data-tier=tide]{--t:#6db7ea;--tl:#b5dcf6}.pf-fish-tile[data-tier=gilded]{--t:#e9c25c;--tl:#f6dd98}.pf-fish-tile[data-tier=starborn]{--t:#b993ff;--tl:#d8c4ff}
.pf-fish-tile[data-tier]:not([data-tier=starter]){background:linear-gradient(0deg,color-mix(in srgb,var(--t) 22%,#101c20) 0%,#101c20 60%)}
.pf-fish-tile[data-tier]:not([data-tier=starter]) b{color:var(--tl)}
.pf-fish-tile[data-tier=starborn]{background:linear-gradient(0deg,#3a2f5c 0%,#1f3448 30%,#101c20 64%)}
.pf-fish-tile[data-tier=starborn] b{background:linear-gradient(90deg,#9fe3ff,#d8c4ff,#ffc6ec);-webkit-background-clip:text;background-clip:text;color:transparent}
.pf-fish-tile.mine .pf-fish-state{background:#0d181d;color:#9fe0b4;box-shadow:inset 0 -1px 0 #3a4d55}
