.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* A pixel mark and compact controls; all interactive targets remain at least44px. */
body{min-height:100vh;min-height:100dvh}.game{height:100vh;height:100svh;height:100dvh;min-height:0;max-height:none}
.brand h1{display:flex;align-items:center;margin:0!important;text-shadow:none}.brand-wordmark{display:block;width:188px;max-width:100%;height:32px;image-rendering:pixelated;object-fit:contain;object-position:left center}.boot-screen h1{display:flex;justify-content:center}.boot-screen .brand-wordmark{width:282px;height:48px;max-width:100%;object-position:center}
.game-header{top:calc(8px + var(--tides-safe-top));left:12px;right:12px}.game-header .hud{min-height:38px;gap:8px}.game-header .wallet{align-items:center;gap:4px;flex:none}.game-header .currency.gold{height:32px;min-height:32px;min-width:44px;font-size:20px;padding:3px 5px;box-shadow:0 2px #416871}.game-header .gems{position:relative;display:flex;align-items:center;justify-content:center;width:auto;min-width:44px;height:44px;min-height:44px;padding:6px 10px;border:0;background:transparent;box-shadow:none;font-size:20px;isolation:isolate}.game-header .gems::before{content:'';position:absolute;inset:6px 2px;border:1px solid #557b79;background:#dde9ed;box-shadow:0 2px #416871;z-index:-1}.currency img{width:16px;height:16px}
.game.at-home .game-header .hud-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px 132px;gap:4px;margin-top:0;align-items:center}.game.at-home .hud-controls .player-profile-button{grid-column:1;grid-row:1;width:100%;min-height:44px;padding:4px;gap:5px;box-shadow:none}.game.at-home .player-avatar{width:24px;height:28px}.game.at-home .player-avatar img{left:-6px}.game.at-home .profile-copy{display:grid;grid-template-columns:1fr;gap:3px}.game.at-home .profile-name,.game.at-home #player-xp,.game.at-home .profile-open{display:none}.game.at-home #player-level{grid-column:1;grid-row:1;font-size:19px}.game.at-home .profile-copy .xp-track{grid-column:1;grid-row:2;height:3px}.game.at-home .hud-controls .world-map-button{grid-column:2;grid-row:1;width:44px;height:44px;min-height:44px;position:relative}.game.at-home .hud-controls .top-tools{grid-column:3;grid-row:1;width:132px;display:flex;gap:0}.game-header .top-tools>button,.game-header .world-map-button{position:relative;isolation:isolate;width:44px;flex:0 0 44px;height:44px;min-height:44px;padding:6px;border:0;background:transparent;box-shadow:none}.game-header .top-tools>button::before,.game-header .world-map-button::before{content:'';position:absolute;inset:6px;border:1px solid #557b79;background:#fff3d6;box-shadow:0 2px #739b91;z-index:-1}.game-header .top-tools img,.game-header .world-map-button canvas{width:22px;height:22px}.game-header .forge-label,.game-header .place-sign{display:none!important}.game-header .badge{top:0;right:0;width:16px;min-width:16px;height:16px;font-size:14px;line-height:14px;border-width:1px}
.game:not(.at-home) .game-header .hud{display:none}.game:not(.at-home) .game-header .hud-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:0}.game:not(.at-home) .hud-controls .player-profile-button{grid-column:1;grid-row:1;min-height:44px;padding:4px 6px;box-shadow:none}.game:not(.at-home) .hud-controls .back-button{grid-column:2;grid-row:1;height:44px;min-height:44px;padding:5px;font-size:18px;box-shadow:none}.game:not(.at-home) .game-header .top-tools,.game:not(.at-home) .game-header .world-map-button{display:none}.game:not(.at-home) .profile-name,.game:not(.at-home) .profile-open{display:none}
.home-panel,.fishing-panel{left:12px;right:12px;bottom:calc(8px + var(--tides-safe-bottom))}.home-panel .storage-strip{gap:8px;margin-bottom:8px}.home-panel .inventory-strip{height:44px;min-height:44px;font-size:20px;padding:5px;box-shadow:0 2px #416871}.home-panel .inventory-strip img{width:18px;height:18px}.home-panel #bag-count{font-size:20px}.home-panel .main-actions{gap:8px}.home-panel .action-button{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:8px;min-height:64px;height:64px;padding:8px 5px;box-shadow:inset 0 -3px #d3bd83,0 2px #416871}.home-panel .action-button img{width:22px;height:24px;margin:0}.home-panel .action-button span{font-size:21px;line-height:1.1}.home-panel .action-button small{display:none}.home-panel .action-button.primary{box-shadow:inset 0 -3px #d3a85a,0 2px #416871}
.game:not(.cast-active) .fishing-panel{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:6px}.game:not(.cast-active) .gear-summary{grid-column:1;grid-row:1;margin:0;padding:5px 7px;font-size:19px;height:44px;min-height:44px;gap:4px;box-shadow:none}.game:not(.cast-active) .map-choice{grid-column:2;grid-row:1;margin:0}.game:not(.cast-active) .map-choice button{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px;font-size:20px;box-shadow:none}.map-choice canvas{width:20px;height:20px;image-rendering:pixelated}.game:not(.cast-active) .fishing-status{grid-column:1/-1;grid-row:2;margin:0;padding:0;min-height:22px;border:0;box-shadow:none;font-size:18px;line-height:1.1}.game:not(.cast-active) .fish-controls{grid-column:1/-1;grid-row:3;min-height:48px;margin:0}.game:not(.cast-active) .cast-button{min-height:48px;height:48px;font-size:25px;padding:6px;box-shadow:inset 0 -3px #c79658,0 2px #315963}.game:not(.cast-active) .auto-button{min-height:48px;height:48px;font-size:18px;padding:4px}.game:not(.cast-active) .fishing-footnote{display:none}.cast-active .cast-button{height:44px;min-height:44px;font-size:24px}.cast-active .fishing-footnote{font-size:16px;margin-top:5px}
.modal-wrap{padding:calc(10px + var(--tides-safe-top)) 12px calc(10px + var(--tides-safe-bottom))}.modal{max-height:100%;padding:17px 12px 13px}.modal .pixel-btn{min-height:44px;padding:5px 8px;font-size:20px;box-shadow:inset 0 -2px #c79658,0 2px #315963}.modal .pixel-btn.wide{margin-top:9px}.modal .tabs{margin:10px 0;gap:4px}.modal .tabs button{min-height:44px;padding:4px;font-size:20px}.modal h2{font-size:26px}.modal h3{font-size:22px}.modal .upgrade-card{padding:10px;margin-top:10px}
@media(min-width:700px){.game{height:min(100dvh,900px)}}@media(max-width:340px){.home-panel .action-button{gap:5px}.home-panel .action-button span{font-size:20px}.brand-wordmark{max-width:100%}}
.boot-screen{padding:max(12px,var(--tides-safe-top)) 16px max(12px,var(--tides-safe-bottom));overflow:auto}.boot-card{max-height:100%;overflow-y:auto}.boot-screen .brand-wordmark{flex-shrink:1}

.game-header .brand{flex:1;min-width:0}.brand h1{min-width:0}.brand h1 img{flex-shrink:1}

body{padding:0}.game.at-home .profile-name{display:block;grid-column:1/-1;grid-row:1;font-size:18px;line-height:1}.game.at-home .profile-copy{grid-template-columns:auto minmax(0,1fr);row-gap:1px;column-gap:4px}.game.at-home #player-level{grid-column:1;grid-row:2;font-size:15px;line-height:1}.game.at-home .profile-copy .xp-track{grid-column:2;grid-row:2;width:100%;height:3px}
