html,body{background:#1e1a2b;height:100%;margin:0}.loader{z-index:10;color:#fff4e0;background:#1e1a2b;flex-direction:column;justify-content:center;align-items:center;gap:22px;font:600 15px/1.4 Nunito,system-ui,sans-serif;transition:opacity .25s ease-out;display:flex;position:fixed;inset:0}.loader.is-done{opacity:0;pointer-events:none}.loader-pond{width:96px;height:48px;position:relative}.loader-float{width:32px;height:32px;image-rendering:pixelated;background:url(../assets/art/bobber.png) 0 0/128px 64px no-repeat;animation:.9s step-end infinite loader-bob;position:absolute;top:0;left:32px}.loader-ring{opacity:0;border:2px solid #6fd6c0;border-radius:50%;width:24px;height:8px;margin-left:-12px;animation:1.8s ease-out infinite loader-ring;position:absolute;top:26px;left:50%}.loader-ring+.loader-ring{animation-delay:.9s}.loader-bar{visibility:hidden;background:#fff4e026;border-radius:2px;width:96px;height:4px;overflow:hidden}.loader-bar>i{background:#ffd166;width:0;height:100%;transition:width .2s linear;display:block}.loader.has-progress .loader-bar{visibility:visible}.loader.is-failed .loader-pond,.loader.is-failed .loader-bar{display:none}.loader-text{text-align:center;min-height:1.4em;margin:0}.loader-retry{font:inherit;color:#3b2f2a;cursor:pointer;background:#ffd166;border:0;border-radius:10px;padding:10px 20px;font-weight:800}@keyframes loader-bob{0%{background-position:0 0}50%{background-position:-32px 0}}@keyframes loader-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion:reduce){.loader-float,.loader-ring{animation:none}}:root{--ink:#3b2f2a;--paper:#fff4e0;--gold:#ffd166;--night:#1e1a2b;color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-weight:600}*{box-sizing:border-box}html,body{background:var(--night);touch-action:none;-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}#game{place-items:center;display:grid;position:fixed;inset:0}#game canvas{image-rendering:pixelated}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.start{text-align:center;color:var(--paper);background:var(--night);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:0}.title{margin:0;font-size:clamp(2rem,7vw,3.5rem);font-weight:900;line-height:1.3}.tagline{opacity:.85;margin:0 0 1rem;font-weight:400}.start-notice{background:#fff4e01a;border-radius:.5rem;max-width:28rem;margin:1rem auto 0;padding:.6rem .9rem;font-size:.9rem;font-weight:400;line-height:1.45}.btn{font:inherit;color:var(--ink);background:var(--gold);border:0;border-bottom:3px solid var(--ink);cursor:pointer;border-radius:4px;padding:.6rem 1.4rem;font-weight:800}.btn-primary{font-size:1.25rem}.btn-small{opacity:.6;padding:.35rem .8rem;font-size:.9rem}.btn-small[aria-pressed=true]{opacity:1}.lang{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.lang-label{font-size:.9rem;font-weight:400}.panel{background:var(--paper);border-style:solid;border-width:var(--ui-panel-width,12px);border-image-source:var(--ui-panel-image,none);border-image-slice:var(--ui-panel-slice,4 4 5 4 fill);image-rendering:pixelated;color:var(--ink)}.panel:not([style*=none]){background-clip:padding-box}.hud{pointer-events:none;align-items:center;gap:.5rem;display:flex;position:absolute;top:.5rem;left:.5rem;right:.5rem}.hud-clock,.hud-bait{color:var(--paper);background:#1e1a2bb8;border-radius:4px;padding:.15rem .6rem;font-size:clamp(.8rem,2.2vw,1rem);font-weight:800}.hud-menu{pointer-events:auto;margin-left:auto}.btn-icon{padding:.35rem .55rem;line-height:0}.icon-bag{background:var(--ink);border-radius:3px 3px 5px 5px;width:18px;height:16px;display:inline-block;position:relative}.icon-bag:before{content:"";border:2px solid var(--ink);border-bottom:0;border-radius:4px 4px 0 0;width:6px;height:6px;position:absolute;top:-6px;left:4px}.hint{max-width:92%;color:var(--paper);text-align:center;pointer-events:none;background:#1e1a2bb8;border-radius:4px;padding:.25rem .8rem;font-size:clamp(.8rem,2.2vw,1rem);line-height:1.45;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.meter{pointer-events:none;width:min(60%,360px);position:absolute;top:2.6rem;left:50%;transform:translate(-50%)}.meter-track{border:2px solid var(--ink);background:#1e1a2bcc;border-radius:3px;height:14px;position:relative}.meter-zone{background:#7cbf6b;position:absolute;top:0;bottom:0}.meter-needle{background:var(--paper);border:1px solid var(--ink);width:4px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px}.meter-needle.danger{background:#e05a47}.meter-reel{background:#1e1a2bcc;border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.meter-progress{background:var(--gold);height:100%}.stick{pointer-events:none;background:#fff4e02e;border:2px solid #fff4e080;border-radius:50%;place-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;display:grid;position:absolute}.stick[hidden]{display:none}.stick-knob{background:#fff4e0bf;border-radius:50%;width:30px;height:30px}.modal-layer:not(:empty){background:#1e1a2b40;place-items:center;display:grid;position:absolute;inset:0}.card{text-align:center;flex-direction:column;align-items:center;gap:.4rem;min-width:min(70%,280px);max-width:88%;padding:.6rem 1rem;display:flex}.card-fish{image-rendering:pixelated;background-repeat:no-repeat;margin:.3rem auto}.card-title{margin:0;font-size:1.25rem;font-weight:900;line-height:1.35}.card-line,.card-note,.card-record{margin:0;line-height:1.4}.card-note{font-size:.9rem;font-weight:400}.card-record{color:#b5651d;font-weight:800}.dialogue{cursor:pointer;padding:.9rem 1.1rem .6rem;position:absolute;bottom:.6rem;left:4%;right:4%}.nametag{color:var(--paper);border:2px solid var(--ink);background:#8a6a43;border-radius:3px;padding:.05rem .7rem;font-weight:800;position:absolute;top:-1.1rem;left:1rem}.dialogue-text{margin:.2rem 0 0;font-size:clamp(.9rem,2.4vw,1.1rem);line-height:1.5}.dialogue-more{text-align:right;opacity:.6;font-size:.75rem}.toggle{align-items:center;gap:.5rem;font-weight:600;display:flex}.toggle input{width:1.2rem;height:1.2rem}[hidden]{display:none!important}#ui .hud,#ui .hint,#ui .meter,#ui .stick{pointer-events:none}#ui .hud-menu{pointer-events:auto}.volume-row{justify-content:space-between}.volume-row input.volume{accent-color:#ffd27a;flex:1;width:auto;max-width:10rem;height:1.2rem}
