/* A small palette and square shapes, matching the low-resolution sprite world. */
@font-face{font-family:PixelTitle;src:url('./assets/pixelify.ttf') format('truetype');font-display:swap}
:root{--ink:#40304b;--paper:#fcf3da;--gold:#eabc69;--teal:#519cb6;--muted:#797887;--coral:#b36673}
html,body{background:#354e60}body{background-image:none;color:#40304b}
.game{background:#62accf;box-shadow:0 0 0 4px #322a44,0 0 0 8px #657887,12px 12px 0 #263b4b}
.vignette{box-shadow:inset 0 0 0 2px #a9d9d633}
.hud{top:24px;align-items:flex-start;left:20px;right:20px}.brand .eyebrow{font-size:12px;letter-spacing:.7px;color:#e4efd9}.brand h1{font-family:PixelTitle,monospace;font-size:30px;line-height:1.15;letter-spacing:-1px;color:#fff5db;text-shadow:2px 2px #40304b;margin-top:5px;max-width:150px}
.wallet{padding-top:5px}.currency{border-color:#40304b;background:#fff5dc;box-shadow:0 3px #40304b;height:34px;font-size:22px;min-width:56px}.gems{background:#dde9ed;min-width:45px}.currency img{width:18px;height:18px}
.top-tools{top:105px;left:20px;right:20px}.icon-button,.quest-button{background:#fcf3da;border-color:#514259;box-shadow:0 2px #514259;height:32px}.quest-button{font-size:18px}.badge{background:#b36673}
.place-sign{top:24%;left:24px;text-shadow:1px 1px #a4e3e0}.sign-kicker{font-size:12px;letter-spacing:1.1px;color:#3c637d}.place-sign h2{font-size:37px;color:#3d3b59}.sign-sub{font-size:18px;color:#3f718b}
.floating-note{top:62%;font-size:17px;padding:5px 9px;background:#396a8a;border-color:#85c2ce;box-shadow:0 2px #314e70;color:#dff2e8}.dot{background:#edc775;width:4px;height:4px}
.inventory-strip{background:#3b5778;border-color:#85b3c7;color:#f5ebd0;box-shadow:0 3px #35334f;height:40px;font-size:18px;margin-bottom:12px}.inventory-strip b{color:#efd389}
.action-button{border-color:#40304b;background:#fcf3da;box-shadow:inset 0 -4px #cec3a6,0 4px #40304b;min-height:96px}.action-button.primary{background:#eabe78;box-shadow:inset 0 -4px #b98955,0 4px #40304b}.action-button span{font-size:24px}.action-button small{font-size:15px;color:#76657a}.action-button img{height:27px;width:34px}.bottom-line{font-size:13px;color:#a8cdd8}.bottom-line button{font-size:16px;color:#e8ead9}.bottom-line button span{color:#aad0d9}
.modal{background:#fcf3da;border-color:#40304b;box-shadow:inset 0 0 0 3px #fffcee,0 7px #322a44}.modal-wrap{background:#2b294a9c}.modal-kicker{color:#938078}.modal-description,.modal-footer{color:#817a80}.close-button{background:#e6d9bc;border-color:#a99287;color:#614754}
.pixel-btn{background:#eabe78;border-color:#4b3a53;box-shadow:inset 0 -4px #c0925c,0 3px #4b3a53}.pixel-btn.secondary{background:#b5d4d8;box-shadow:inset 0 -4px #8db3c4,0 3px #4b3a53}.pixel-btn:disabled{color:#8b8590;background:#d9d5cc;border-color:#a3a0a5;box-shadow:inset 0 -4px #c1bcb3,0 3px #a3a0a5}
.upgrade-card,.quest-row{background:#efe7d2;border-color:#d5c6b1}.upgrade-card p,.upgrade-card small,.row-main small,.collection-cell small,.location-card small,.catch-note{color:#817a80}.stat-change,.tip-card{background:#dce4df;color:#4a7789}.stat-change{font-size:17px}.quest-symbol{background:#627e96;border-color:#41536e}.quest-row button{background:#eabe78;border-color:#a18766}.quest-reward{color:#527b97}.quest-progress{background:#d5cbb6}.quest-progress div{background:#69a3ad}
.collection-cell{background:#e5e9df;border-color:#bdc5bb}.location-card{background:#e5e9df;border-color:#b6c4c5}.rarity{color:#6c9685}.rarity.rare{color:#497ea5}.rarity.epic{color:#91657d}.rarity.secret{color:#b28b47}.catch-stage{background:repeating-linear-gradient(0deg,#dce8e3 0 16px,#e4ede3 16px 32px);border-color:#b7c9c7}.catch-stats b{color:#51465d}.catch-stats small{color:#8c8090}.new-label{background:#ac6873}.gem-found{font-size:19px;color:#507d93}
.back-button,.depth-tag{background:#3f627f;border-color:#9bcbd1;color:#fbf1d9;font-size:18px}.fishing-meter{background:#365b79;border-color:#95b9c6}.cast-button{background:#eabe78;border-color:#40304b;box-shadow:inset 0 -5px #b78b58,0 4px #40304b}.cast-button.holding{background:#d6a862}.auto-button{background:#3b5778;border-color:#89adbf;color:#e8efdd}.depth-options button{background:#3b5778;border-color:#7faabe;color:#c1d5da}.depth-options button.active{background:#eee4c7;border-color:#fff6d9;color:#51465d;box-shadow:0 3px #364464}.fishing-footnote{color:#bcdae1}.fishing-status{font-size:21px}.toast{border-color:#40304b;background:#fcf3da;color:#57465c;box-shadow:0 4px #40304b}
@media(max-height:710px){.hud{top:17px}.brand h1{font-size:27px}.top-tools{top:88px}.place-sign{top:24%}.place-sign h2{font-size:31px}.sign-kicker{font-size:11px}.sign-sub{font-size:16px}.floating-note{top:61%;font-size:15px}.action-button{min-height:83px}.action-button span{font-size:22px}.action-button small{font-size:13px}.inventory-strip{height:35px;margin-bottom:9px}.bottom-line{margin-top:14px}}
@media(max-width:360px){.hud{left:15px;right:15px}.brand h1{font-size:27px}.brand .eyebrow{font-size:10px}.currency{min-width:48px;padding:0 5px}.gems{min-width:41px}.home-panel,.fishing-panel{left:14px;right:14px}.action-button span{font-size:21px}.action-button small{font-size:12px}.bottom-line{font-size:11px}.bottom-line button{font-size:14px}.sign-kicker{font-size:11px}.quest-row .row-main strong{font-size:21px}.row-main small{font-size:15px}}
.top-tools{gap:8px}.icon-button{width:auto;min-width:104px;display:flex;align-items:center;gap:5px;padding:4px 7px}.icon-button b{font-weight:400;font-size:16px}.icon-button span{left:20px;right:auto}.quest-button{min-height:36px}.icon-button{min-height:36px}
.close-button{position:sticky;top:0;float:right;margin-top:-12px;margin-right:-4px}.place-sign .sign-sub{font-size:15px}.modal:focus-within{scroll-behavior:auto}
.back-button,.depth-tag{top:199px}
.gear-summary{width:100%;text-align:left;color:#f8e7bf;background:#3b5778;border:2px solid #85b3c7;font-size:17px;padding:7px 8px;min-height:36px;margin-bottom:8px}.gear-summary:disabled{opacity:.85}.bait-packs{display:flex;gap:6px;margin:10px 0}.bait-packs .pixel-btn{font-size:18px;padding:6px 3px}.upgrade-card>h3{margin-bottom:5px}.modal{scroll-padding-top:20px}.modal-kicker{padding-right:18px}
.secret-reveal .catch-stage{background:repeating-linear-gradient(0deg,#f2dba7 0 16px,#e1c6e0 16px 32px);border-color:#a778ad;box-shadow:0 0 0 3px #eac76c;animation:secret-glow 1s steps(3) 2}.secret-reveal .catch-stage:before,.secret-reveal .catch-stage:after{content:'+';color:#875585}.secret-reveal .rarity{font-size:24px;color:#875585}.secret-reveal .catch-stage img{filter:drop-shadow(3px 3px #aa76b5)}
@keyframes secret-glow{50%{box-shadow:0 0 0 5px #a778ad;filter:brightness(1.12)}}
@media(max-height:710px){.place-sign{top:28%}.back-button,.depth-tag{top:181px}.gear-summary{font-size:16px;padding:5px 7px}.catch-stage{height:123px}.catch-stage img{height:100px}.modal-wrap{padding:14px 12px}.catch-modal h2{font-size:33px}.catch-stats{margin:8px 0}.floating-note{top:59%}}
@media(max-width:360px){.top-tools{left:14px;right:14px}.modal{padding:24px 12px 14px}.bait-packs .pixel-btn{font-size:17px}.fishing-status{font-size:18px;gap:5px}.gear-summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.secret-reveal .catch-stage{animation:none}}
.rod-art{image-rendering:pixelated;width:64px;height:96px;flex-shrink:0;background:#dce4df;border:2px solid #c1cbbb}.rod-card .upgrade-title{gap:10px}.comparison{background:#dce4df;padding:9px;margin:9px 0;font-size:18px;color:#425d70}.comparison b,.comparison span,.comparison strong,.comparison small{display:block;font-weight:400;line-height:1.15}.comparison b{font-size:16px;color:#6b6874;margin-bottom:5px}.comparison strong{color:#477b67;margin-top:5px}.comparison small{font-size:15px;margin-top:4px}.unknown-fish{font-size:53px;height:57px;line-height:57px;color:#849f9f}.journal-progress{height:7px;background:#d7d5bd;margin-top:12px}.journal-progress div{height:100%;background:#67a49c}.collection-cell small{line-height:1.2;display:block;margin-top:5px}.current-goal{border-color:#967399;box-shadow:inset 3px 0 #967399}.quest-reward{font-size:16px}.quest-row button{font-size:16px}
.floating-note{pointer-events:auto;width:calc(100% - 42px);white-space:normal;text-align:left;padding:8px 10px;line-height:1.15;top:61%}.floating-note b{display:block;color:#f2d38b;font-size:14px;letter-spacing:.5px;font-weight:400}.floating-note span{display:block;font-size:17px;margin-top:3px}.odds-tabs button{min-height:43px;font-size:19px}
@media(max-height:710px){.floating-note{top:58%;padding:5px 8px}.floating-note span{font-size:15px}.floating-note b{font-size:12px}.rod-art{width:52px;height:78px}}
.line-spool{display:block;flex-shrink:0;width:45px;height:48px;border:5px solid #514259;background:repeating-linear-gradient(0deg,var(--line-color) 0 4px,#6e687c 4px 6px);box-shadow:inset 6px 0 #ffffff40;margin:5px}.bag-tabs{gap:3px}.bag-tabs button{font-size:15px;padding:7px 2px;min-height:40px}.fish-row input{width:20px;height:20px;accent-color:#50798d;flex-shrink:0}.fish-row{gap:6px}.fish-row img{width:43px}.fish-row .row-main strong{font-size:21px}.stack-card{display:flex;gap:9px;border:2px solid #c9c0ab;margin:12px 0;padding:10px}.stack-card>img{width:52px;height:40px;image-rendering:pixelated;object-fit:contain}.stack-card>div{min-width:0;flex:1}.stack-card h3{font-size:23px;margin:0;font-weight:400}.stack-card p{font-size:17px;color:#766f7a;margin:7px 0}.stack-card b{color:#456e7b}.stack-card .pixel-btn{font-size:17px;padding:5px}.pull-caption{font-size:15px;color:#e6d2aa;margin:8px 0 3px}.fish-surge .fishing-meter{border-color:#edce8b}.line-danger .fishing-meter{border-color:#dca392;box-shadow:inset 3px 0 #dca392}.line-danger .tension-bar{background:#d2766a}.line-danger .fishing-status{color:#ffe0c4}.fishing-footnote{line-height:1.1}.tabs button{min-width:0}.quest-reward{white-space:normal;min-width:61px;text-align:right}.quest-row button{font-size:15px}.gear-summary{line-height:1.1}
@media(max-width:360px){.stack-card{padding:7px;gap:6px}.stack-card>img{width:35px}.stack-card h3{font-size:21px}.modal h2{font-size:31px}.quest-symbol{width:27px}.quest-row{gap:6px;padding:8px}.quest-row .row-main strong{font-size:20px}.quest-reward{min-width:52px;font-size:14px}.quest-row button{font-size:14px;padding:4px}.fishing-meter{padding:9px}.meter-help{font-size:15px}}
