:root{--color-bg: #1d2b1f;--color-panel: rgba(40, 32, 24, .88);--color-panel-solid: #2e251c;--color-panel-border: #c9a46a;--color-text: #fdf6e3;--color-muted: #d8c9a8;--color-error: #f4a6a6;--color-accent: #f2d24b;--rarity-common: #b9c4b0;--rarity-uncommon: #7fc47a;--rarity-rare: #6fb3f2;--rarity-legendary: #f2b84b;--font-ui: "Trebuchet MS", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui)}.app{position:relative;width:100%;height:100%;overflow:hidden}.game-container{position:absolute;inset:0}.game-container canvas{image-rendering:pixelated}kbd{display:inline-block;min-width:18px;padding:0 5px;border:1px solid var(--color-panel-border);border-bottom-width:2px;border-radius:3px;background:#00000040;font-family:inherit;font-size:11px;line-height:16px;text-align:center}.btn{padding:8px 18px;border:2px solid var(--color-panel-border);border-radius:6px;background:#6b4a2b;color:var(--color-text);font:inherit;font-weight:700;cursor:pointer}.btn:hover,.btn:focus-visible{background:#845c36;outline:none;box-shadow:0 0 0 2px var(--color-accent)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn--small{padding:5px 10px;font-size:13px}.btn--ghost{background:transparent}.btn--danger{background:#a8452f}.btn--danger:hover{background:#bf5139}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:16px;text-align:center}.splash h1{margin:0;font-size:32px}.splash__error{color:var(--color-error)}.hud{position:absolute;top:16px;left:16px;padding:10px 14px;background:var(--color-panel);border:2px solid var(--color-panel-border);border-radius:6px;pointer-events:none}.hud__title{margin:0 0 4px;font-size:18px}.hud p{margin:0;font-size:13px;color:var(--color-muted)}.hud .hud__stats{display:flex;gap:10px;margin-top:4px;color:var(--color-text)}.hud__coins{color:var(--color-accent);font-weight:700}.toolbar{position:absolute;top:16px;right:16px;display:flex;gap:8px}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:2px solid var(--color-panel-border);border-radius:6px;background:var(--color-panel);color:var(--color-text);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.tool-btn:hover{background:#4a3b2b}@media(max-width:560px){.tool-btn kbd{display:none}}.panel{display:flex;flex-direction:column;width:min(760px,100%);max-height:100%;background:var(--color-panel-solid);border:3px solid var(--color-panel-border);border-radius:10px;box-shadow:0 8px #0000004d;animation:card-in .2s ease-out}.panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px 10px;border-bottom:2px solid rgba(201,164,106,.35)}.panel__header h2{margin:0;font-size:22px}.panel__subtitle{margin:2px 0 0;font-size:13px;color:var(--color-muted)}.panel__close{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:var(--color-text);font:inherit;font-size:16px;cursor:pointer}.panel__close:hover{background:#ffffff14}.panel__body{overflow-y:auto;padding:14px 18px 18px}.panel__empty,.panel__note{color:var(--color-muted);font-size:13px;text-align:center}.panel__error{color:var(--color-error)}.segmented{display:inline-flex;margin-bottom:12px;border:2px solid var(--color-panel-border);border-radius:8px;overflow:hidden}.segmented button{padding:5px 12px;border:0;background:transparent;color:var(--color-muted);font:inherit;font-size:13px;cursor:pointer}.segmented button.is-active{background:var(--color-panel-border);color:#2e251c;font-weight:700}.fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none}.fish-tile{--rarity: var(--rarity-common);padding:8px 10px 10px;background:#00000038;border:2px solid transparent;border-left-color:var(--rarity);border-radius:8px;font-size:12px}.fish-tile--uncommon{--rarity: var(--rarity-uncommon)}.fish-tile--rare{--rarity: var(--rarity-rare)}.fish-tile--legendary{--rarity: var(--rarity-legendary)}.fish-tile img{display:block;width:96px;height:48px;margin:0 auto 4px;image-rendering:pixelated}.fish-tile__name{font-size:14px;font-weight:700}.fish-tile__meta{margin-top:3px;color:var(--color-text)}.fish-tile__when{margin-top:4px;color:var(--color-muted);font-size:11px}.market__tools{display:flex;gap:8px;margin-bottom:10px}.fish-tile--pick{position:relative;display:block;width:100%;color:var(--color-text);font:inherit;font-size:12px;text-align:left;cursor:pointer}.fish-tile--pick:hover{border-top-color:#c9a46a80;border-right-color:#c9a46a80;border-bottom-color:#c9a46a80}.fish-tile--pick.is-selected{border-color:var(--color-accent);background:#f2d24b1f}.fish-tile__check{position:absolute;top:6px;right:6px;width:18px;height:18px;border:2px solid var(--color-panel-border);border-radius:4px;color:var(--color-accent);font-weight:700;line-height:14px;text-align:center}.market__footer{position:sticky;bottom:-18px;margin:12px -18px -18px;padding:12px 18px;background:var(--color-panel-solid);border-top:2px solid rgba(201,164,106,.35);text-align:center}.confirm p{margin:0 0 10px}.confirm__buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.shop-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.shop-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px;background:#00000038;border:2px solid transparent;border-radius:8px}@media(max-width:520px){.shop-item{grid-template-columns:1fr}}.shop-item--active{border-color:#7fc47ab3}.shop-item__name{font-weight:700}.shop-item__count{color:var(--color-accent);font-weight:400}.shop-item__desc{color:var(--color-muted);font-size:12px}.shop-item__perk{margin-top:3px;color:var(--rarity-uncommon);font-size:12px}.shop-item__action{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.shop-item__tag{padding:4px 10px;border-radius:999px;background:#7fc47a33;color:var(--rarity-uncommon);font-size:12px;font-weight:700}.tackle{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px;padding:10px 12px;background:#00000038;border-radius:8px}.tackle label{display:flex;align-items:center;gap:8px;font-size:13px}.tackle label span{color:var(--color-muted)}.tackle select{max-width:100%;padding:4px 6px;border:2px solid var(--color-panel-border);border-radius:6px;background:var(--color-panel-solid);color:var(--color-text);font:inherit}.tackle__hint{flex-basis:100%;margin:0;color:var(--color-muted);font-size:12px}.panel--narrow{width:min(420px,100%)}.sleep__text{margin:0 0 14px;line-height:1.45}.settings{display:grid;gap:16px}.slider label{display:flex;justify-content:space-between;margin-bottom:4px;font-weight:700}.slider__value{color:var(--color-accent)}.slider input[type=range]{width:100%;accent-color:var(--color-accent)}.slider__hint{margin-top:2px;color:var(--color-muted);font-size:12px}.panel__note--left{margin:0 0 10px;text-align:left}.segmented button{position:relative}.segmented__badge{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--color-accent);color:#2e251c;font-size:11px;font-weight:700;line-height:16px}.orders{display:grid;gap:10px;margin:0;padding:0;list-style:none}.order{padding:10px 12px;background:#00000038;border:2px solid transparent;border-radius:8px}.order--ready{border-color:#7fc47ab3}.order--premium{border-left:4px solid var(--rarity-legendary)}.order__head{display:flex;align-items:center;gap:8px}.order__days{margin-left:auto;color:var(--color-muted);font-size:12px}.order__text{margin:4px 0 8px;color:var(--color-muted);font-size:13px;font-style:italic}.order__reqs{display:grid;gap:4px;margin:0 0 10px;padding:0;list-style:none}.order__reqs li{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:8px;padding:3px 8px;background:#0003;border-radius:6px;font-size:13px}.order__reqs img{width:56px;height:28px;image-rendering:pixelated}.order__anyfish{width:56px;text-align:center;color:var(--rarity-rare);font-size:20px;font-weight:700}.order__size{color:var(--color-muted);font-size:12px}.order__have{font-weight:700;color:var(--color-muted)}.order__reqs li.is-done .order__have{color:var(--rarity-uncommon)}.order__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.order__reward{color:var(--color-accent);font-weight:700}.order__xp{color:var(--color-muted);font-weight:400;font-size:12px}.order__buttons{display:flex;gap:6px}.badge--premium{background:var(--rarity-legendary)}.stall-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0 0 12px}.stall-summary div{padding:6px 8px;background:#00000040;border-radius:6px;text-align:center}.stall-summary dt{color:var(--color-muted);font-size:11px}.stall-summary dd{margin:2px 0 0;font-weight:700}.shop-item__blocker{margin-top:3px;color:var(--color-error);font-size:12px}.worldmap{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:16px;align-items:start}.worldmap__left{display:contents}.worldmap__left .worldmap__svg{grid-column:1 / -1}@media(max-width:560px){.worldmap{grid-template-columns:1fr}}.worldmap__svg{width:100%;max-height:60vh;border:2px solid rgba(201,164,106,.5);border-radius:8px}.worldmap__sea{fill:#2c5f7c}.worldmap__sea-label{fill:#ffffff59;font-size:8px;font-style:italic;letter-spacing:.12em;text-anchor:middle}.worldmap__state{stroke:#f4efd8;stroke-width:.9;stroke-linejoin:round;fill:#6f9a52}.worldmap__state--1{fill:#7aa65a}.worldmap__state--2{fill:#64924d}.worldmap__state--3{fill:#84ad62}.worldmap__state.is-active{fill:#b3d27a}.worldmap__state-label{fill:#142814b3;font-size:7px;font-weight:700;letter-spacing:.04em;pointer-events:none;text-transform:uppercase}.worldmap__pin{cursor:pointer;outline:none}.worldmap__pin-hit{fill:transparent}.worldmap__pin-dot{stroke:#fdf6e3;stroke-width:2}.worldmap__pin--current .worldmap__pin-dot{fill:#f2d24b}.worldmap__pin--open .worldmap__pin-dot{fill:#3f9a52}.worldmap__pin--locked .worldmap__pin-dot{fill:#8a8a8a}.placelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;margin:0;padding:0;list-style:none}.placelist__item{display:flex;justify-content:space-between;gap:6px;width:100%;padding:5px 8px;border:1px solid rgba(201,164,106,.35);border-radius:6px;background:#0003;color:inherit;font:inherit;font-size:12px;text-align:left;cursor:pointer}.placelist__item--locked{opacity:.65}.placelist__item--current{border-color:#f2d24b}.placelist__item.is-selected{background:#f2d24b2e;border-color:#f2d24b}.placelist__meta{color:var(--color-muted);white-space:nowrap}.worldmap__pin-lock{fill:#2e251c}.worldmap__pin-label{fill:#fdf6e3;stroke:#1d2b1f;stroke-width:3;paint-order:stroke;font-size:10px;font-weight:700}.worldmap__pin.is-selected .worldmap__pin-dot,.worldmap__pin:focus-visible .worldmap__pin-dot{stroke:#f2d24b;stroke-width:3}.locationcard{padding:12px 14px;background:#00000040;border-radius:8px}.locationcard__art{position:relative;margin:-4px -6px 10px;border-radius:6px;overflow:hidden;background:#2c5f7c;line-height:0}.locationcard__picture{display:block;width:100%;height:auto;image-rendering:pixelated}.locationcard__badge{position:absolute;right:6px;bottom:6px;padding:1px 8px;border-radius:10px;background:#0000008c;font-size:11px;font-weight:700}.locationcard__facts{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;font-size:12px}.locationcard__facts dt{color:var(--color-muted)}.locationcard__facts dd{margin:0}.locationcard__bar{height:6px;margin-bottom:8px;border-radius:3px;background:#ffffff26;overflow:hidden}.locationcard__bar>span{display:block;height:100%;background:#f2d24b}.locationcard h3{margin:0;font-size:20px}.locationcard h4{margin:12px 0 6px;font-size:13px;color:var(--color-muted)}.locationcard__region{margin:2px 0 8px;color:var(--color-accent);font-size:12px;font-weight:700}.locationcard__desc{margin:0 0 8px;font-size:13px}.locationcard__species{margin:0 0 4px;color:var(--color-muted);font-size:12px}.locationcard__here{margin:12px 0 0;color:var(--rarity-uncommon);font-weight:700}.locationcard__note{margin:8px 0 0;color:var(--color-muted);font-size:12px}.requirements{margin:0 0 12px;padding:0;list-style:none;font-size:13px}.requirements li{display:flex;gap:8px;padding:3px 0;color:var(--color-muted)}.requirements li.is-met{color:var(--rarity-uncommon)}.collection{display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:start}@media(max-width:640px){.collection{grid-template-columns:1fr}}.collection__section+.collection__section{margin-top:14px}.collection__section h3{display:flex;justify-content:space-between;margin:0 0 4px;font-size:15px}.collection__count{color:var(--color-muted);font-size:12px;font-weight:400}.collection__bar{height:5px;margin-bottom:8px;background:#0000004d;border-radius:3px;overflow:hidden}.collection__bar div{height:100%;background:var(--rarity-uncommon)}.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin:0;padding:0;list-style:none}.species-tile{width:100%;padding:6px 4px;background:#00000038;border:2px solid transparent;border-radius:8px;color:var(--color-text);font:inherit;font-size:11px;cursor:pointer}.species-tile{position:relative}.species-tile__only{position:absolute;top:2px;right:3px;padding:0 4px;border-radius:999px;background:#f2d24bd9;color:#2e251c;font-size:8px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.species-tile img{display:block;width:64px;height:32px;margin:0 auto 2px;image-rendering:pixelated}.species-tile--discovered,.species-tile--undiscovered{color:var(--color-muted)}.species-tile--undiscovered img{opacity:.45}.species-tile:hover{border-color:#c9a46a80}.species-tile.is-selected{border-color:var(--color-accent)}.species-detail{--rarity: var(--rarity-common);position:sticky;top:0;padding:12px;background:#00000040;border-top:3px solid var(--rarity);border-radius:8px;text-align:center}.species-detail--uncommon{--rarity: var(--rarity-uncommon)}.species-detail--rare{--rarity: var(--rarity-rare)}.species-detail--legendary{--rarity: var(--rarity-legendary)}.species-detail img{width:160px;height:80px;image-rendering:pixelated}.species-detail h3{margin:4px 0;font-size:18px}.species-detail p{margin:4px 0}.species-detail__desc{color:var(--color-muted);font-size:12px}.species-detail__facts{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:10px 0 0;font-size:12px;text-align:left}.species-detail__facts dt{color:var(--color-muted)}.species-detail__facts dd{margin:0}.achievement-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.achievement{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:8px 12px;background:#00000038;border-radius:8px;opacity:.7}.achievement--done{opacity:1;border-left:3px solid var(--color-accent)}.achievement__icon{font-size:20px;color:var(--color-accent);text-align:center}.achievement__name{font-weight:700}.achievement__desc,.achievement__reward{color:var(--color-muted);font-size:12px}.action-bar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.action-bar__quiet{padding:4px 12px;background:var(--color-panel);border-radius:999px;font-size:12px;opacity:.75;white-space:nowrap}.action-bar__caption{padding:2px 10px;background:var(--color-panel);border-radius:999px;font-size:12px;color:var(--color-muted)}.action-bar__caption--bite{color:var(--color-accent);font-weight:700}.action-btn{display:inline-flex;align-items:center;gap:10px;min-width:140px;justify-content:center;padding:10px 22px;border:3px solid var(--color-panel-border);border-radius:999px;background:#6b4a2b;box-shadow:0 4px #3e2a17;color:var(--color-text);font:inherit;font-size:17px;font-weight:700;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:manipulation}.action-btn:hover{background:#845c36}.action-btn:active{transform:translateY(3px);box-shadow:0 1px #3e2a17}.action-btn--cast{background:#3f7a4a;box-shadow:0 4px #24472b}.action-btn--cast:hover{background:#4b8f57}.action-btn--market,.action-btn--shop,.action-btn--map,.action-btn--sleep{background:#3a5f8a;box-shadow:0 4px #233a55}.action-btn--market:hover,.action-btn--shop:hover,.action-btn--map:hover,.action-btn--sleep:hover{background:#46709f}.action-btn--bite{border-color:var(--color-accent);background:#b8462f;box-shadow:0 4px #6e2516;animation:pulse .45s ease-in-out infinite alternate}.action-btn--bite:hover{background:#cc5238}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.toasts{position:absolute;left:50%;bottom:110px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{max-width:min(420px,calc(100vw - 32px));padding:6px 12px;background:var(--color-panel);border-radius:6px;font-size:13px;text-align:center;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.modal-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a120c73}.catch-card{--rarity: var(--rarity-common);width:min(340px,100%);max-height:100%;overflow-y:auto;padding:18px 20px 20px;background:var(--color-panel-solid);border:3px solid var(--rarity);border-radius:10px;box-shadow:0 8px #0000004d;text-align:center;animation:card-in .25s cubic-bezier(.2,1.4,.5,1)}.catch-card--uncommon{--rarity: var(--rarity-uncommon)}.catch-card--rare{--rarity: var(--rarity-rare)}.catch-card--legendary{--rarity: var(--rarity-legendary)}@keyframes card-in{0%{opacity:0;transform:scale(.85)}}.catch-card h2{margin:4px 0 6px;font-size:22px}.catch-card__badges{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1d2b1f;background:var(--rarity-common)}.badge--uncommon{background:var(--rarity-uncommon)}.badge--rare{background:var(--rarity-rare)}.badge--legendary{background:var(--rarity-legendary)}.badge--new{background:var(--color-accent)}.badge--pb{background:#f28fb0}.catch-card__fish{display:block;width:192px;height:96px;margin:10px auto 4px;image-rendering:pixelated}.catch-card__english{margin:-4px 0 6px;color:var(--color-muted);font-size:13px}.catch-card__xp{margin:-6px 0 12px;color:var(--color-muted);font-size:13px}.catch-card__levelup{color:var(--color-accent)}.hud .hud__full{color:var(--color-error);font-weight:700}.hud__xp{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px}.hud__xpbar{display:inline-block;width:64px;height:6px;background:#00000059;border-radius:3px;overflow:hidden}.hud__xpbar>span{display:block;height:100%;background:var(--rarity-uncommon)}.catch-card__release{margin:-6px 0 14px;padding:8px 10px;background:#7fc47a24;border:1px solid rgba(127,196,122,.55);border-radius:6px;font-size:13px;text-align:left}.badge--protected{background:var(--rarity-uncommon)}.fish-tile__english,.shop-item__english{color:var(--color-muted);font-size:11px;font-weight:400}.species-detail__english{color:var(--color-muted);font-size:12px}.species-detail__protected{color:var(--rarity-uncommon);font-size:12px;font-weight:700}.catch-card__desc{margin:0 0 12px;font-size:13px;color:var(--color-muted)}.catch-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}.catch-card__stats div{padding:6px 4px;background:#00000040;border-radius:6px}.catch-card__stats dt{font-size:11px;color:var(--color-muted)}.catch-card__stats dd{margin:2px 0 0;font-weight:700}.catch-card__achievements{margin:-6px 0 14px;padding:8px 10px;list-style:none;background:#f2d24b1f;border:1px solid rgba(242,210,75,.5);border-radius:6px;font-size:13px;text-align:left}.catch-card__achievements span{color:var(--color-accent)}.btn--big{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:240px;padding:12px 24px;font-size:18px}.btn__sub{font-size:12px;font-weight:400;color:var(--color-muted)}.title{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:16px;overflow:auto}.title__scene{position:fixed;inset:0;background:linear-gradient(#f6c98a,#f8e2b0 38%,#bfe0d0 60%);overflow:hidden}.title__sun{position:absolute;top:12%;left:62%;width:clamp(70px,12vw,140px);aspect-ratio:1;border-radius:50%;background:#fff3c4;box-shadow:0 0 0 14px #fff3c459,0 0 0 34px #fff3c429}.title__hills{position:absolute;left:-5%;right:-5%;bottom:34%;height:22%;background:#4f8a4a;border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 -8px 0 -2px #6fa55a inset}.title__water{position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(#5fa8b8,#3d7f96)}.title__water i{position:absolute;height:3px;border-radius:2px;background:#ffffff8c;animation:title-glint 5s ease-in-out infinite}.title__water i:nth-child(1){top:22%;left:18%;width:90px}.title__water i:nth-child(2){top:48%;left:55%;width:130px;animation-delay:-2s}.title__water i:nth-child(3){top:72%;left:32%;width:70px;animation-delay:-3.5s}@keyframes title-glint{0%,to{transform:translate(-14px);opacity:.25}50%{transform:translate(14px);opacity:.8}}.title__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(100%,460px);padding:24px 22px 22px;border:2px solid var(--color-panel-border);border-radius:12px;background:var(--color-panel);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.title__name{margin:0;font-size:clamp(32px,8vw,46px);letter-spacing:1px;color:var(--color-accent);text-shadow:0 3px 0 rgba(0,0,0,.45)}.title__tag{margin:0 0 8px;color:var(--color-muted)}.title__notice{margin:0;padding:8px 12px;border-radius:6px;background:#f4a6a629;color:var(--color-error)}.title__menu{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.title__busy{margin:0;color:var(--color-muted)}.setup{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;width:100%;text-align:left}.setup--load{grid-template-columns:1fr}.setup__preview{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:8px;background:linear-gradient(#bfe0d0,#7fb85a)}.character-preview{image-rendering:pixelated}.setup__fields{display:flex;flex-direction:column;gap:8px;min-width:0}.setup__label{padding:0;font-size:13px;font-weight:700;color:var(--color-muted)}.setup__input{width:100%;padding:8px 10px;border:2px solid var(--color-panel-border);border-radius:6px;background:#0000004d;color:var(--color-text);font:inherit}.setup__input:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent)}.setup__input--code{font-family:ui-monospace,Consolas,monospace;letter-spacing:1px}.setup__warn,.setup>.splash__error,.setup>.panel__note,.setup__buttons{grid-column:1 / -1}.setup__warn{margin:0;font-size:13px;color:var(--color-muted)}.setup__buttons{display:flex;justify-content:space-between;gap:10px}.setup__buttons .btn--big{min-width:0;flex:1}.swatches{margin:0;padding:0;border:0;min-width:0}.swatches__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.swatch{width:30px;height:30px;padding:0;border:2px solid rgba(0,0,0,.45);border-radius:50%;cursor:pointer}.swatch:hover{transform:scale(1.1)}.swatch:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent)}.swatch--on{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-accent)}@media(max-width:440px){.setup{grid-template-columns:1fr}.setup__preview{justify-self:center}}@media(prefers-reduced-motion:reduce){.title__water i{animation:none}}.savecode{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:14px;border-top:1px solid rgba(201,164,106,.4)}.savecode h3{margin:0;font-size:15px}.savecode__code{display:block;width:100%;padding:10px;border:2px dashed var(--color-panel-border);border-radius:6px;background:#0000004d;font-family:ui-monospace,Consolas,monospace;font-size:18px;letter-spacing:1px;text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all}.savecode__row{display:flex;gap:8px}.settings__quit{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:14px;border-top:1px solid rgba(201,164,106,.4)}@media(max-width:720px){.hud{top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));padding:6px 10px}.hud__title{margin-bottom:2px;font-size:15px}.hud p{font-size:12px}.toolbar{top:auto;right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));left:calc(8px + env(safe-area-inset-left,0px));gap:6px}.tool-btn{flex:1;justify-content:center;padding:10px 4px;min-height:44px;font-size:13px}.tool-btn kbd{display:none}.action-bar{bottom:calc(64px + env(safe-area-inset-bottom,0px))}.toasts{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}@media(max-height:520px){.hud__extra{display:none}}.panel:focus,.panel:focus-visible{outline:none}.tool-btn:focus-visible,.panel__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root{--grade-trophy: #f0b848;--grade-unique: #b78cf2}.badge--grade-common{background:var(--rarity-common)}.badge--grade-trophy{background:var(--grade-trophy)}.badge--grade-unique{background:var(--grade-unique)}.fish-tile--grade-trophy{box-shadow:inset 0 0 0 2px var(--grade-trophy)}.fish-tile--grade-unique{box-shadow:inset 0 0 0 2px var(--grade-unique),0 0 10px #b78cf273}.catch-card--grade-trophy{box-shadow:0 0 0 3px var(--grade-trophy),0 12px 40px #00000080}.catch-card--grade-unique{box-shadow:0 0 0 3px var(--grade-unique),0 0 36px #b78cf28c,0 12px 40px #00000080}.grade-pips{display:flex;justify-content:center;gap:4px;margin-top:3px}.grade-pip{width:8px;height:8px;border:1px solid var(--color-muted);border-radius:50%}.grade-pip--on{border-color:transparent;background:var(--rarity-common)}.grade-pip--trophy{border-color:var(--grade-trophy)}.grade-pip--trophy.grade-pip--on{background:var(--grade-trophy)}.grade-pip--unique{border-color:var(--grade-unique)}.grade-pip--unique.grade-pip--on{background:var(--grade-unique)}.grade-pip--na{border-style:dashed;opacity:.3}.species-detail__heading{margin:10px 0 4px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.grade-list{display:flex;flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;text-align:left}.grade-row{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--color-muted)}.grade-row.is-caught{color:var(--color-text)}.grade-row .badge{flex:none;min-width:56px;text-align:center}.grade-row__text small{display:block;color:var(--color-muted)}.species-detail__hint{margin:0 0 8px;font-size:12px;color:var(--color-muted);text-align:left}.shop-item__perk--special{color:var(--grade-trophy)}.action-btn--noboat{background:#6d6354;border-color:#a79b86;box-shadow:0 4px #3f392f;color:#efe6d2}.action-btn--noboat:hover{background:#7d725f}:root{--rarity-epic: #b98cf2;--rarity-mythical: #ff7fb6}.fish-tile--epic,.species-detail--epic,.catch-card--epic{--rarity: var(--rarity-epic)}.fish-tile--mythical,.species-detail--mythical,.catch-card--mythical{--rarity: var(--rarity-mythical)}.badge--epic{background:var(--rarity-epic)}.badge--mythical{background:linear-gradient(90deg,#ff7fb6,#ffd36e,#7fe3ff)}.catch-card--mythical{box-shadow:0 0 0 3px var(--rarity-mythical),0 0 40px #ff7fb68c,0 12px 40px #00000080}.encyclopedia{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,270px);gap:14px;align-items:start}@media(max-width:640px){.encyclopedia{grid-template-columns:1fr}}.encyclopedia__count{margin:0 0 8px;color:var(--color-muted);font-size:12px}.encyclopedia__filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.encyclopedia__filters .input{flex:1 1 180px;min-width:0}.encyclopedia__filters select,.encyclopedia__filters .input{padding:5px 8px;border:1px solid rgba(201,164,106,.45);border-radius:6px;background:#0000004d;color:inherit;font:inherit;font-size:12px}.mastery{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 8px;padding:0;list-style:none;font-size:11px;color:var(--color-muted)}.mastery li small{display:block;font-size:10px;opacity:.8}.mastery li.is-done{color:var(--rarity-uncommon);font-weight:700}.catch-card__bonus{margin:4px 0;color:#f2d24b;font-size:13px;font-weight:700}.basket-space{margin-bottom:12px;padding:10px 12px;background:#00000038;border-radius:8px}.basket-space__row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.basket-space__bar{height:8px;margin:8px 0 6px;border-radius:4px;background:#ffffff26;overflow:hidden}.basket-space__bar>span{display:block;height:100%;background:#6fb86b}.basket-space__bar>span.is-full{background:#d9674a}.basket-space__hint{margin:0;color:var(--color-muted);font-size:12px}.account{margin-top:14px;padding:10px 12px;background:#00000038;border-radius:8px}.account h3{margin:0 0 6px;font-size:15px}.account__form{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.account__form label,.account label{font-size:12px;color:var(--color-muted)}.account__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.account__ok{color:var(--rarity-uncommon);font-size:12px}.setup__hint{margin:2px 0 6px;color:var(--color-muted);font-size:12px}.linkbtn{padding:0;border:0;background:none;color:var(--color-accent);font:inherit;text-decoration:underline;cursor:pointer}
