:root{color-scheme:light;--ink:#153f49;--muted:#657d7c;--paper:#edf5f2;--teal:#277e79;--gold:#ffc76a;--line:#d4e5df;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #e99130;outline-offset:4px}button{touch-action:manipulation}button svg,svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.app-shell{max-width:1360px;margin:auto;padding:0 42px}.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{display:grid;place-items:center;width:46px;height:48px;background:var(--ink);border-radius:15px;transform:rotate(-6deg);color:#ffd174}.brand-mark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transform:rotate(6deg)}.brand strong{font-size:21px;letter-spacing:2px;font-weight:850;display:block}.brand small{font-size:10px;font-weight:750;letter-spacing:2.2px;display:block;margin-top:3px;color:#5b7e7a}.site-header nav{display:flex;align-items:center;gap:17px}button{border:0}.quiet{background:none;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;padding:12px 3px}.quiet:hover{color:#139087}.book-button{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d3e3de;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:750;box-shadow:0 2px 0 #dce8e3}.book-button:hover{background:#f9fcfb}.book-button b{background:#edf5f1;border-radius:6px;font-size:12px;font-variant-numeric:tabular-nums;padding:4px 7px;color:#527c74}.icon-button{display:grid;place-items:center;background:transparent;width:40px;height:40px;border-radius:10px;flex-shrink:0}.icon-button:hover{background:#dcebe5}.location-row{display:flex;align-items:center;justify-content:space-between;padding:25px 2px 19px;gap:10px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:750;color:#61837b}.location-row .eyebrow{font-size:12px;letter-spacing:2px}h1{font-size:25px;letter-spacing:1px;margin:5px 0 0;font-weight:850}h1 span{font-family:Georgia,serif;font-size:18px;font-style:italic;letter-spacing:0;font-weight:400;color:#7a9690;margin-left:11px}.weather{display:flex;align-items:center;gap:8px;font-size:13px;color:#668179;white-space:nowrap}.weather svg{width:22px;height:22px;color:#c49a46;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.game-frame{border:6px solid #fff;border-radius:24px;background:#fff;box-shadow:0 14px 40px -18px #16463e38;overflow:hidden}.scene{aspect-ratio:1.98;position:relative;overflow:hidden;isolation:isolate;border-radius:18px 18px 4px 4px;background:linear-gradient(#92dcdc 28%,#30b6bf 29%,#07596b)}#game{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.scene-top{position:absolute;inset:18px 20px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.session-stats{display:flex;align-items:center;gap:22px;padding:11px 20px;background:#fffcf0e8;box-shadow:0 3px 10px #0b647515;border:1px solid #fff8;border-radius:13px;backdrop-filter:blur(10px)}.stat{display:flex;align-items:center;gap:9px}.stat-icon{display:grid;place-items:center;width:32px;height:32px}.stat-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.gold{color:#d69723}.teal{color:#498a7c}.stat small{display:block;font-size:10px;letter-spacing:.5px;color:#70847e;font-weight:600}.stat strong{display:block;font-size:23px;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.stat em{font-style:normal;font-size:12px;font-weight:500;color:#6b8580}.stat-divider{height:30px;width:1px;background:#ccdbce}.scene-tools{display:flex;gap:8px;pointer-events:auto}.glass-button{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#ffffffe0;box-shadow:0 2px 6px #16646d13}.glass-button:hover{background:#fff;transform:translateY(-1px)}.glass-button svg{width:18px;height:18px}.scene-message{position:absolute;left:50%;top:33%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#fffefaed;color:#387c7a;border:1px solid #ffffffa6;padding:12px 21px;border-radius:40px;white-space:nowrap;font-size:14px;box-shadow:0 4px 20px #07677816;pointer-events:none;transition:opacity .3s}.scene-message.is-hidden{opacity:0}.little-line{width:20px;height:2px;background:#8bc2b0}.depth-label{position:absolute;bottom:18px;left:22px;color:#c3e3de8c;font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:8px;pointer-events:none}.depth-label span{width:17px;height:1px;background:currentColor}.bite-alert{position:absolute;top:29%;left:50%;transform:translateX(-50%);background:#fff4c9;color:#7c4d14;border-radius:18px;padding:13px 23px;text-align:center;box-shadow:0 6px 0 #db9529;pointer-events:none;animation:bite-pulse .65s infinite alternate}.bite-alert strong{display:block;font-size:24px}.bite-alert span{font-size:12px}.control-deck{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 25px 18px;min-height:112px}.control-copy{min-width:0}.step-label{display:block;font-size:11px;letter-spacing:1.5px;color:#368c82;font-weight:800}.control-copy h2{font-size:19px;margin:5px 0 3px;font-weight:800;line-height:1.5}.control-copy p{font-size:13px;color:#718881;margin:0;line-height:1.7}.primary{background:var(--gold);color:#463b20;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #f0b04c;box-shadow:0 4px 0 #e0a546;border-radius:12px;padding:15px 23px;font-size:16px;min-height:53px;transition:background .15s,transform .1s,box-shadow .1s}.primary:hover{background:#ffcf7c}.primary:active,.primary.holding{transform:translateY(3px);box-shadow:0 1px 0 #da9b38;background:#ffb948}.action-button{min-width:230px;flex-shrink:0;user-select:none;touch-action:none;-webkit-user-select:none}.action-button svg{width:24px;height:24px}.action-button kbd{font-family:inherit;letter-spacing:.5px;font-size:10px;color:#7b653c;border:1px solid #b284343a;border-bottom-width:2px;background:#ffffff29;padding:3px 5px;border-radius:4px;margin-left:8px}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 5px 24px;font-size:11px;color:#718b83;line-height:1.8}.game-footer p{margin:0}.game-footer>span{white-space:nowrap}.game-footer kbd{font-family:inherit;font-size:10px;background:#f8fcfa;border:1px solid #d7e5dd;box-shadow:0 1px 0 #d7e5dd;padding:1px 4px;border-radius:3px;margin-right:3px}.footer-dot{margin:0 12px}.touch-tip{display:none}.fight-controls{width:300px;flex-shrink:0}.meter-heading{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.meter-heading b{color:#327e70;font-weight:700}.tension-track{position:relative;height:12px;border-radius:10px;background:linear-gradient(to right,#d6e5df 0% 12%,#65b39b 12% 62%,#f4c764 62% 80%,#e16f5b 80% 100%);border:2px solid white;box-shadow:0 0 0 1px #d5e0d8}.tension-needle{position:absolute;top:-5px;height:19px;width:4px;border-radius:4px;background:#274b4b;box-shadow:0 0 0 2px #fff;left:26%;transform:translateX(-50%)}.meter-labels{display:flex;justify-content:space-between;font-size:10px;color:#6c8b80;margin-top:6px}.progress-row{display:flex;gap:8px;align-items:center;font-size:10px;margin-top:10px}.progress-row span{white-space:nowrap}.progress-row b{font-size:10px;min-width:30px;text-align:right;font-variant-numeric:tabular-nums}progress{appearance:none;flex:1;width:80px;height:6px;border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:#e8eee8}progress::-webkit-progress-value{background:#3f9e88;border-radius:10px}progress::-moz-progress-bar{background:#3f9e88;border-radius:10px}dialog{border:0;border-radius:23px;padding:30px;color:var(--ink);background:#fbfdf9;box-shadow:0 20px 100px #092f3b66;width:min(590px,calc(100vw - 30px));max-height:85dvh;overflow:auto}dialog::backdrop{background:#07384575;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .2s ease-out}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{font-size:24px;margin:7px 0;letter-spacing:.2px}.dialog-heading h2 span{font-size:16px;color:#4f9986;margin-left:10px}.dialog-heading .icon-button{align-self:flex-start}.dialog-subtitle{font-size:14px;color:var(--muted);line-height:1.7;margin:10px 0 24px}.dialog-subtitle span{display:block;font-size:12px;color:#82958e}.how-to{list-style:none;padding:0;margin:26px 0 22px}.how-to li{display:flex;align-items:flex-start;gap:18px;padding:0 0 22px}.how-to li>b{width:37px;height:37px;display:grid;place-items:center;background:#e4eee5;border-radius:12px;flex-shrink:0;font-size:13px;color:#4b8875}.how-to h3{font-size:17px;margin:4px 0 6px}.how-to p{font-size:14px;line-height:1.8;margin:0;color:#6b817a}.guide-note{display:flex;align-items:center;gap:14px;background:#edf3e8;border-radius:12px;padding:15px;font-size:13px;line-height:1.7}.guide-note svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.dialog-cta{width:100%;margin:22px 0 4px}.book-dialog{width:min(880px,calc(100vw - 30px))}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fish-card{background:#fff;border:1px solid #e1e9df;border-radius:15px;text-align:center;padding:12px 8px 14px}.fish-card canvas{width:100%;aspect-ratio:1.7;display:block}.fish-card.undiscovered canvas{filter:brightness(.2);opacity:.19}.fish-card h3{font-size:15px;margin:4px 0 5px}.fish-card p{font-size:11px;margin:9px 0 0;color:#8a9a92}.rarity{display:inline-block;font-size:10px;line-height:1.2;font-weight:750;padding:4px 8px;border-radius:6px;background:#e9f0e4;color:#688258}.rarity.uncommon{background:#def1e8;color:#338064}.rarity.rare{background:#e5eafa;color:#5e6eac}.rarity.epic{background:#f0e5f6;color:#9563b0}.rarity.legendary{background:#fff0cc;color:#b38324}.catch-dialog{position:relative;text-align:center;width:min(410px,calc(100vw - 36px));overflow:visible;padding:35px 32px 28px}.result-close{position:absolute;right:9px;top:9px}.new-badge{display:inline-block;background:#fff0bd;color:#b98422;font-size:11px;font-weight:750;border-radius:7px;padding:6px 13px;transform:rotate(-3deg);margin-bottom:10px}.result-eyebrow{display:block;letter-spacing:3px;font-size:10px}.catch-dialog canvas{width:100%;height:auto;max-height:190px;object-fit:contain;display:block;margin:0 auto}.catch-dialog h2{font-size:32px;margin:10px 0 7px;letter-spacing:2px}.catch-caption{font-size:13px;margin:0 0 22px;color:#8a9381}.result-stats{display:grid;grid-template-columns:1fr 1fr;background:#edf3e7;border-radius:13px;padding:18px 10px}.result-stats>div+div{border-left:1px solid #d8e1d1}.result-stats small{font-size:11px;color:#859074;display:block;margin-bottom:6px}.result-stats strong{font-size:23px;font-variant-numeric:tabular-nums}.catch-dialog .dialog-cta{margin-top:20px}.loading-screen,.pause-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e4f3edd9;backdrop-filter:blur(5px);gap:12px;text-align:center;z-index:5}.loading-screen strong{font-size:21px}.loading-screen>span:not(.loading-hook){font-size:13px;color:#719488}.loading-hook{display:grid;place-items:center;width:60px;height:60px;background:#174c50;color:#ffcf77;border-radius:21px;margin-bottom:10px;animation:float 2s ease-in-out infinite}.loading-hook svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.pause-screen{background:#e3f3eee8;z-index:6}.pause-screen h2{font-size:27px;margin:15px 0 22px}.pause-screen .primary{margin:auto}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#17454b;color:#fff;padding:13px 24px;font-size:14px;border-radius:11px;box-shadow:0 5px 25px #0a3e4425;z-index:20;max-width:90vw;text-align:center}.share-dialog p{color:#74847e;font-size:14px}.share-dialog label{display:block;font-size:12px;margin:20px 0 7px}.share-dialog input{width:100%;font:inherit;font-size:14px;color:var(--ink);border:1px solid #cbded4;background:#fff;border-radius:8px;padding:12px}.share-dialog #shareStatus{font-size:12px;margin-bottom:0}[hidden]{display:none!important}body.has-dialog{overflow:hidden}@keyframes float{50%{transform:translateY(-6px) rotate(-6deg)}}@keyframes bite-pulse{to{transform:translateX(-50%) scale(1.04)}}@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(min-width:1440px){.app-shell{max-width:1420px}.site-header{min-height:103px}.location-row{padding-top:29px;padding-bottom:22px}.control-deck{min-height:121px}.scene{aspect-ratio:2.04}}
@media(max-width:1100px){.app-shell{padding:0 26px}.control-deck{gap:18px;padding:18px}.fight-controls{width:240px}.action-button{min-width:200px}.fight-active .control-copy p{display:none}.fight-active .control-copy h2{font-size:16px}.fight-active .action-button{min-width:170px}.fight-active .action-button kbd{display:none}.game-footer{font-size:10px}.scene{aspect-ratio:1.85}}
@media(max-width:760px){.app-shell{padding:0 16px}.site-header{min-height:80px;gap:8px}.brand{gap:8px}.brand-mark{width:36px;height:38px;border-radius:12px}.brand-mark svg{width:24px;height:24px}.brand strong{font-size:18px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1px}.site-header nav{gap:7px}.help-button{padding:8px}.help-button span{display:none}.book-button{padding:9px;gap:6px}.book-button span{display:none}.book-button b{font-size:10px}.share-button{width:30px}.location-row{padding:18px 1px 14px}.location-row .eyebrow{font-size:10px;letter-spacing:1px}h1{font-size:23px}h1 span{font-size:15px;margin-left:5px}.weather{font-size:11px;gap:4px}.weather svg{width:18px;height:18px}.game-frame{border-width:4px;border-radius:19px}.scene{aspect-ratio:1.45;border-radius:15px 15px 4px 4px}.scene-top{inset:12px}.session-stats{gap:12px;padding:8px 12px;border-radius:10px}.stat{gap:6px}.stat-icon{width:24px}.stat-icon svg{width:23px;height:23px}.stat strong{font-size:20px}.stat small{font-size:9px}.scene-tools{gap:5px}.glass-button{width:32px;height:32px}.glass-button svg{width:16px;height:16px}.scene-message{font-size:12px;padding:10px 15px;gap:8px;top:34%}.little-line{width:12px}.control-deck{flex-wrap:wrap;gap:13px;padding:15px}.control-copy{flex:1}.control-copy h2{font-size:17px}.control-copy p{font-size:12px}.action-button{min-width:180px}.fight-active .control-copy{flex-basis:100%;display:flex;justify-content:space-between;gap:10px;align-items:center}.fight-active .control-copy h2{margin:0}.fight-controls{flex:1}.fight-active .action-button{min-width:165px}.game-footer{flex-direction:column;gap:3px;padding:14px 4px 20px}.depth-label{font-size:10px;left:15px;bottom:13px}.collection-grid{grid-template-columns:repeat(3,1fr)}dialog{padding:23px}.dialog-heading h2{font-size:21px}.dialog-heading .eyebrow{font-size:9px}.dialog-subtitle{font-size:13px}.fish-card h3{font-size:14px}}
@media(max-width:520px){.app-shell{padding:0 12px}.site-header{min-height:75px}.scene{aspect-ratio:.94}.scene-top{inset:10px 8px}.session-stats{padding:7px 9px;gap:9px}.stat{gap:4px}.stat-divider{height:26px}.stat-icon{width:21px}.stat-icon svg{width:20px;height:20px}.stat small{font-size:8px}.stat strong{font-size:18px}.scene-message{top:35%;max-width:95%;font-size:11px}.scene-tools{gap:4px}.glass-button{width:29px;height:29px}.location-row .weather{font-size:10px}h1 span{display:none}.control-deck{padding:14px;gap:13px}.control-copy{flex-basis:100%}.control-copy h2{font-size:18px;margin-top:4px}.control-copy p{font-size:12px}.action-button{width:100%;min-height:53px;padding:12px 20px}.action-button kbd{display:none}.fight-active .control-copy{display:block}.fight-active .control-copy h2{margin-top:4px}.fight-controls{flex-basis:100%;width:100%}.fight-active .action-button{width:100%}.fight-active .control-deck{gap:12px}.tension-track{height:13px}.meter-heading,.meter-labels,.progress-row{font-size:11px}.keyboard-tip{display:none}.touch-tip{display:inline}.game-footer{font-size:10px;align-items:center}.game-footer>span{font-size:10px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:10px}.fish-card canvas{aspect-ratio:1.7}.fish-card p{font-size:11px}.book-dialog{padding:20px 17px}.dialog-heading h2{font-size:21px}.how-to{margin-top:21px}.how-to li{gap:13px;padding-bottom:17px}.how-to h3{font-size:16px}.how-to p{font-size:13px}.catch-dialog{padding:28px}.catch-dialog h2{font-size:29px}.catch-dialog canvas{max-height:165px}.bite-alert{top:32%}.bite-alert strong{font-size:22px}}
@media(pointer:coarse){.keyboard-tip{display:none}.touch-tip{display:inline}.action-button kbd{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the play controls in the first desktop viewport and the angler visible. */
.scene{height:clamp(330px,calc(100dvh - 365px),630px);aspect-ratio:auto}
.session-stats{margin-left:auto}
.control-copy p{font-size:14px}
.game-footer{font-size:12px}
@media(max-width:760px){.scene{height:auto;aspect-ratio:1.45}.control-copy p{font-size:14px}.game-footer{font-size:12px}}
@media(max-width:520px){.scene{aspect-ratio:.94}.control-copy h2{font-size:18px}.control-copy p{font-size:13px}.game-footer{font-size:11px}.session-stats{gap:7px}.stat-icon{display:none}.scene-top{gap:7px}}

/* Keep the personalized name and all menu actions visible on small phones. */
@media(max-width:520px){.brand{gap:7px}.brand strong{font-size:16px;letter-spacing:.3px;white-space:nowrap}.brand small{letter-spacing:.7px}.site-header nav{gap:4px}.book-button{padding:8px 6px;gap:5px}.help-button{padding:8px 4px}}
/* Boat steering and swimming guests. */
.scene-top{justify-content:flex-end}
.location-row .session-stats{padding:9px 16px;gap:15px;box-shadow:none}
.location-row .stat strong{font-size:21px}
.boat-controls{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;z-index:2;padding:7px 9px;background:#effcf3ed;border:1px solid #fff9;border-radius:13px;box-shadow:0 3px 12px #0e394025}
.boat-controls>span{font-size:12px;font-weight:750;margin:0 7px 0 3px}
.boat-controls small{display:block;color:#789184;letter-spacing:2px;font-size:10px;margin-top:2px}
.boat-button{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:9px;background:#d6eee4;color:#225f57;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid #c5dfd2}
.boat-button:active,.boat-button.holding{background:#96c8b4;transform:translateY(1px)}
.boat-button svg{width:23px;height:23px}


.control-actions{display:flex;flex-direction:column;gap:8px;min-width:230px;flex-shrink:0}
.control-actions .action-button{min-width:0;width:100%}
.release-button{border:1px solid #d6c5af;border-radius:9px;background:#fcf7ec;padding:9px 16px;color:#8d613e;font-weight:750;font-size:14px;min-height:40px;touch-action:manipulation}
.release-button:hover{background:#f7eddb}
.swimmer-alert{background:#ffecd6;color:#934c27;box-shadow:0 6px 0 #df9b62}
.swimmer-rarity{background:#ffe5d0;color:#a15831}
.penalty-result .result-stats{background:#fff0e6}
.penalty-result #resultPoints,.negative-score{color:#ba533d}
.penalty-result h2{font-size:26px;letter-spacing:.3px}
.penalty-result #resultWeight{font-size:20px}
.penalty-result .catch-caption{line-height:1.8;color:#986f53}
@media(max-width:1100px){.control-actions{min-width:185px}.location-row .session-stats{gap:12px}}
@media(max-width:760px){.control-actions{min-width:170px}.location-row .session-stats{padding:7px 10px;gap:9px}.location-row .stat strong{font-size:19px}.scene-message{top:37%}}
@media(max-width:520px){.location-row{gap:8px}.location-row .session-stats{gap:8px;padding:7px 10px}.location-row .stat small{font-size:9px}.location-row .stat strong{font-size:18px}.control-actions{flex-direction:row;align-items:stretch;width:100%;min-width:0}.control-actions .action-button{flex:1;min-width:0;width:auto}.release-button{width:103px;padding:10px 7px;flex-shrink:0;font-size:13px}.boat-controls{left:10px;bottom:12px;gap:5px;padding:6px}.boat-controls>span{display:none}.boat-button{min-width:43px;min-height:43px}.scene-message{font-size:11px}.game-footer .footer-dot{margin:0 5px}}
/* Player entry and shared leaderboard */
.app-shell{max-width:1600px;padding:0 30px}.play-layout{display:grid;grid-template-columns:222px minmax(0,1fr);gap:26px;align-items:start}.play-layout main{min-width:0}.leaderboard-panel{position:sticky;top:22px;margin-top:26px;padding:21px 15px 17px;background:#fff;border:1px solid #d7e6df;border-radius:18px;box-shadow:0 7px 25px #153f4907}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.leaderboard-heading h2{font-size:20px;margin:6px 0 0}.leaderboard-heading .eyebrow{font-size:12px;letter-spacing:1px}.rank-refresh{font-size:25px}.ranking-caption{font-size:12px;color:#6d817a;line-height:1.6;margin:12px 0 15px}.ranking-list{list-style:none;padding:0;margin:0;max-height:390px;overflow-y:auto;overscroll-behavior:contain}.ranking-list li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;padding:12px 6px;border-bottom:1px solid #edf2ed;font-size:14px;border-radius:8px}.rank-number{font-size:13px;color:#89a095;font-variant-numeric:tabular-nums}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.rank-points{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.ranking-list li:first-child .rank-number{color:#b78525;font-weight:850}.ranking-list li:first-child{background:#fff8e7}.ranking-list li.is-me{background:#e2f3ed;color:#206956}.ranking-state{font-size:13px;color:#7a8e84;line-height:1.7;margin:13px 2px 0}.my-rank{font-size:13px;color:#277e79;border-top:1px solid #e0eae0;padding-top:14px;line-height:1.6}.treasure-tip{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid #e3ece3;color:#ac7b20}.treasure-tip svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.treasure-tip p{margin:0;font-size:13px;line-height:1.7}.treasure-tip b,.treasure-tip span{display:block}.treasure-tip span{color:#819083;font-size:12px}.mobile-ranking{display:none}.location-row h1>b{font-weight:850}.scene-top{justify-content:space-between}.player-chip{display:flex;align-items:center;gap:7px;border:1px solid #ffffff9c;background:#fffff4ed;padding:9px 13px;border-radius:22px;font-size:14px;font-weight:750;pointer-events:auto;box-shadow:0 3px 10px #165b6420;max-width:200px}.player-chip>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-dot{width:8px;height:8px;border-radius:50%;background:#529987;flex-shrink:0}.entry-dialog{text-align:center;width:min(415px,calc(100vw - 30px));padding:30px}.entry-mark{display:grid;place-items:center;margin:0 auto 17px;width:57px;height:57px;border-radius:18px;background:#16484c;color:#ffce7b}.entry-mark svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8}.entry-dialog h2{font-size:27px;margin:12px 0}.entry-dialog>p{font-size:15px;color:#6a8279;margin:0 0 23px}.entry-dialog form{text-align:left}.entry-dialog label{display:block;font-size:14px;font-weight:750;margin-bottom:8px}.entry-dialog input{width:100%;border:1px solid #bdcfc6;border-radius:11px;padding:13px 14px;background:#fff;font:inherit;font-size:18px;color:#153f49}.entry-dialog #nameHint{display:block;font-size:12px;color:#778c82;line-height:1.7;margin-top:8px}.entry-dialog #entryError{font-size:14px;color:#b7533e;line-height:1.6;min-height:0;margin:12px 0 0}.entry-dialog #entryError:empty{display:none}.ranking-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(330px,88vw);height:100dvh;max-height:none;border-radius:0 20px 20px 0;padding:24px 18px}.ranking-dialog .ranking-list{max-height:calc(100dvh - 230px)}.refresh-full{width:100%;margin-top:18px;font-size:14px;padding:13px;background:#e4eee6;border-radius:9px}.treasure-result .result-stats{background:#fff0c4}.treasure-result #resultPoints{color:#aa7a1d}.treasure-result .catch-caption{line-height:1.7;color:#a07134}.treasure-result h2{font-size:28px}
body[data-realm="hell"]{--ink:#572d2c;--muted:#957269;--paper:#f6eae3;--line:#e7cfc2;--teal:#a75c41}body[data-realm="hell"] .brand-mark{background:#663829}body[data-realm="hell"] .game-frame{border-color:#fff5e8;box-shadow:0 14px 40px -18px #83362d60}body[data-realm="hell"] .leaderboard-panel{border-color:#ead7c6;background:#fffaf2}body[data-realm="hell"] #realmMotto{color:#a76743}body[data-realm="hell"] .player-dot{background:#d9884c}body[data-realm="hell"] .scene{background:#2c0a18}body[data-realm="hell"] #realmEnglish{color:#b08779}
@media(max-width:1250px){.app-shell{padding:0 22px}.play-layout{grid-template-columns:205px minmax(0,1fr);gap:18px}.control-deck{gap:15px;padding:18px}.action-button{min-width:198px}.fight-controls{width:235px}.fight-active .control-deck{flex-wrap:wrap}.fight-active .control-copy{flex:1 1 45%}.fight-active .fight-controls{flex:1 1 45%}.fight-active .control-actions{margin-left:auto}.location-row h1 span{display:none}}
@media(max-width:950px){.play-layout{display:block}.leaderboard-panel{display:none}.mobile-ranking{display:flex}.app-shell{padding:0 20px}.site-header nav{gap:12px}.location-row h1 span{display:inline}.scene{aspect-ratio:1.7}.fight-active .control-deck{flex-wrap:wrap}.scene-top{inset:14px 14px auto}.player-chip{font-size:13px;padding:8px 11px;max-width:160px}}
@media(max-width:600px){.app-shell{padding:0 12px}.site-header{gap:8px;min-height:83px}.brand{gap:8px}.brand strong{font-size:18px;letter-spacing:.3px}.brand small{font-size:9px;letter-spacing:1px}.brand-mark{width:37px;height:40px;border-radius:12px}.site-header nav{gap:6px}.mobile-ranking span{display:none}.mobile-ranking{padding:9px 2px}.book-button{gap:5px;padding:9px}.book-button b{font-size:11px;padding:3px 5px}.location-row h1 span{display:none}.location-row h1{font-size:22px}.location-row .eyebrow{font-size:11px;letter-spacing:1px}.location-row{padding-top:19px}.scene{aspect-ratio:.94}.player-chip{font-size:12px;max-width:135px;padding:7px 9px}.scene-top{inset:11px 10px auto}.scene-tools{gap:5px}.glass-button{width:33px;height:33px}.fight-controls{width:100%}.control-deck{padding:17px 13px;gap:14px}.fight-active .fight-controls{flex-basis:100%}.fight-active .control-copy{flex-basis:100%}.entry-dialog{padding:26px}.game-footer{flex-wrap:wrap;gap:4px}.game-footer>span{font-size:12px}}

/* Rick's stolen chest result returns the player to Sunny Bay. */
.stolen-result h2{font-size:23px;line-height:1.5;letter-spacing:.2px;overflow-wrap:anywhere}
.stolen-result .result-stats{background:#e9edf9}
.stolen-result #resultPoints{color:#b94d38}.stolen-result .catch-caption{color:#57658e}
.stolen-result #resultWeight{font-size:20px}
.rarity.rick-rarity{background:#e5e7fa;color:#62639b;font-size:12px}
.stolen-result .catch-caption{font-size:14px;line-height:1.75}

/* Blue form is a rewarded challenge. */
.blue-result .result-stats{background:#def4fc}
.blue-result #resultPoints{color:#1476ac}
.blue-result h2{font-size:27px;letter-spacing:.5px}
.blue-result .catch-caption{font-size:14px;line-height:1.75;color:#427b98}
.blue-result #resultWeight{font-size:22px}
.rarity.blue-rarity{background:#d0f3ff;color:#1473a2;font-size:12px}
.bite-alert.blue-alert{background:#d8f6ff;color:#155c8a;box-shadow:0 6px 0 #46aacd}

.music-button{font-size:23px;font-weight:800}.music-button[aria-expanded="true"]{background:#fff0bb;color:#655013}.music-panel{margin-top:16px;padding:20px;background:#fffdf5;border:1px solid #e2e7d7;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,356px);gap:20px;align-items:center}.music-panel[hidden]{display:none}.music-copy h2{font-size:19px;margin:7px 0 10px}.music-copy p{font-size:14px;line-height:1.7;color:#536e67}.music-copy .music-hint{font-size:12px}.music-copy a{font-size:12px;color:#267c72;text-decoration:underline}.music-copy .quiet{display:block;font-size:13px}.music-player{height:200px;min-width:200px;background:#153f49;border-radius:10px;overflow:hidden}.music-player iframe{display:block;border:0;width:100%;height:200px}@media(max-width:650px){.music-panel{grid-template-columns:1fr;padding:16px;gap:12px}.music-copy h2{font-size:17px}.music-copy p{margin:6px 0}.music-copy .quiet{display:inline-block;margin-left:13px}.music-player{width:100%;max-width:480px}}

/* Release notes remain part of the existing start dialog on every visit. */
.release-notes{text-align:left;margin:0 0 22px;padding:16px 18px;background:#f3f7ed;border:1px solid #d8e3ce;border-radius:14px}
.release-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.release-heading h3{margin:0;font-size:1rem;font-weight:800;color:#235b51}
.release-heading time{font-size:.875rem;font-weight:650;color:#557166;font-variant-numeric:tabular-nums}
.release-notes ul{margin:0;padding-left:1.2em;font-size:1rem;line-height:1.75;overflow-wrap:anywhere}
.release-notes li+li{margin-top:8px}
.release-notes li::marker{color:#3d8b73}
.entry-dialog:has(.release-notes){width:min(480px,calc(100vw - 30px))}
@media(max-width:520px){.entry-dialog:has(.release-notes){padding:22px 19px}.entry-dialog .entry-mark{width:43px;height:43px;margin-bottom:10px}.entry-dialog:has(.release-notes)>p{margin-bottom:16px}.release-notes{padding:14px;margin-bottom:18px}}

/* Weather skill and persistent outfit shop */
.storm-control{position:absolute;right:18px;top:110px;display:grid;justify-items:center;gap:5px;z-index:3}.storm-control>span{font-size:11px;color:#e6faff;text-shadow:0 1px 4px #123c50}.storm-control button{width:106px;padding:10px 8px;border:1px solid #b7d6f480;border-radius:16px;background:linear-gradient(140deg,#293b66ef,#152744ef);color:#fff;box-shadow:0 5px 20px #08253230;display:grid;justify-items:center;gap:2px;cursor:pointer}.storm-control button>span{font-size:32px;color:#ffdd80;line-height:1}.storm-control b{font-size:13px}.storm-control small{font-size:11px;color:#c6daf0}.storm-control button:disabled{opacity:.63;cursor:default}.storm-control button:not(:disabled):hover{border-color:#ffe39a;transform:translateY(-2px)}.weather-status{position:absolute;left:50%;top:62px;transform:translateX(-50%);max-width:65%;width:max-content;padding:9px 15px;border-radius:20px;background:#162740e8;color:#e2f7ff;border:1px solid #91cddd70;font-weight:750;font-size:13px;z-index:2;text-align:center;pointer-events:none}.shop-dialog{width:min(830px,calc(100vw - 28px));padding:28px;background:#f7faf6}.shop-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:15px 0 22px}.shop-intro p{margin:0;color:#536d68}.shop-intro small{display:block;font-size:12px;margin-top:6px;font-weight:400}.shop-intro>strong{text-align:right;color:#286c5e;font-size:25px}.shop-tabs{display:flex;gap:8px;border-bottom:1px solid #dce7df;padding-bottom:12px}.shop-tabs button{padding:9px 23px;border-radius:30px;border:1px solid #d5e3dc;background:transparent;color:#48675e;cursor:pointer;font-weight:700}.shop-tabs button[aria-pressed=true]{background:#164f47;color:#fff;border-color:#164f47}.shop-hint{font-size:12px;line-height:1.8;color:#668078;min-height:25px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.shop-card{border:1px solid #dfE7db;border-radius:15px;padding:12px;background:linear-gradient(145deg,#fff,#edf3e8);text-align:center;display:flex;flex-direction:column;align-items:stretch}.shop-card.equipped{border-color:#539b82;box-shadow:inset 0 0 0 1px #539b82}.shop-card canvas{width:100%;height:125px;object-fit:contain}.shop-card h3{font-size:15px;margin:8px 0 4px}.shop-card p{font-size:12px;color:#72847b;margin:0 0 12px}.shop-card button{margin-top:auto;padding:9px;border-radius:9px;background:#21594b;color:#fff;border:0;font-weight:700;cursor:pointer}.shop-card button:disabled{opacity:.5;cursor:default}.shop-card button.owned{background:#e1ebe2;color:#2a6050}.starter-button{margin-top:18px;text-decoration:underline}#shopStatus{min-height:20px;font-size:13px;color:#9c572c}.new-guide{margin-top:16px}.new-guide b{color:#234f47}.new-guide span{line-height:1.9}
@media(max-width:650px){.storm-control{right:10px;top:118px}.storm-control button{width:80px;padding:7px 4px;border-radius:12px}.storm-control b{font-size:11px}.storm-control button>span{font-size:26px}.storm-control small{font-size:10px}.weather-status{top:60px;font-size:11px;max-width:90%;padding:7px 10px}.shop-dialog{padding:20px 16px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-card{padding:9px}.shop-card canvas{height:100px}.shop-tabs button{flex:1;padding:9px 15px}.shop-intro p{font-size:13px}.site-header nav{gap:5px}.site-header #shopButton{padding:8px}.site-header #shopButton svg{display:none}}

.fish-card p{line-height:1.7;color:#647b72}.fish-card h3{line-height:1.5}.collection-grid .fish-card{padding:12px}

@media(max-width:520px){.site-header{flex-wrap:wrap;padding:13px 0;gap:10px}.site-header nav{width:100%;justify-content:space-between}.site-header #shopButton{font-size:13px}.book-button span{display:inline;font-size:12px}.help-button span{display:inline;font-size:12px}}

.dragon-inventory{display:flex;align-items:center;gap:18px;padding:14px 18px;margin-bottom:15px;background:linear-gradient(120deg,#172f39,#24473f);border:1px solid #58745c;border-radius:16px;color:#fff5d1}.dragon-inventory h2{font-size:16px;margin:4px 0}.dragon-inventory h2 b{font-size:13px;color:#ffcf71;margin-left:8px}.dragon-inventory .eyebrow{font-size:10px;color:#b8d1b9;letter-spacing:1px}.dragon-inventory p{font-size:11px;margin:5px 0 0;color:#dfd6b7}.dragon-inventory>small{font-size:11px;white-space:nowrap;color:#d3dfcc}.dragon-slots{display:flex;flex:1;justify-content:center;gap:6px}.dragon-slot{text-align:center;min-width:0;flex:1;max-width:53px}.dragon-slot canvas{width:100%;height:auto;display:block;filter:brightness(.25) grayscale(1);opacity:.65}.dragon-slot.owned canvas{filter:none;opacity:1}.dragon-slot span{font-size:10px;color:#a2b9b5}.dragon-slot.owned span{color:#ffdb82}.locked-card{background:#17212b;border-color:#27343e}.locked-card canvas{filter:brightness(0);opacity:.85}.locked-card h3,.locked-card p{color:#85919b}.locked-card .rarity{background:#293541;color:#9aa6b2}.summon-result{width:min(600px,calc(100vw - 30px));background:radial-gradient(ellipse at 50% 35%,#fff2a3,#f8ffe5 62%,#e1edd9);overflow:auto;max-height:90dvh}.summon-result canvas{max-height:360px;height:35vh}.summon-result h2{color:#245d35}.summon-result .result-stats strong{color:#a06b10}.summon-result canvas{animation:float 3s ease-in-out infinite}
@media(max-width:760px){.dragon-inventory{flex-wrap:wrap;gap:7px;padding:12px}.dragon-inventory>div:first-child{flex:1}.dragon-inventory>small{order:1}.dragon-slots{order:2;flex-basis:100%;gap:8px}.dragon-slot{max-width:45px}.dragon-inventory p{font-size:11px}.dragon-inventory .eyebrow{display:none}}

.special-banner{position:absolute;left:50%;top:62px;transform:translateX(-50%);z-index:4;width:max-content;max-width:90%;text-align:center;padding:12px 22px;background:linear-gradient(120deg,#151b2af2,#45242ef0);border:1px solid #b1677d;border-radius:13px;box-shadow:0 8px 30px #100e1640;pointer-events:none}.special-banner strong{display:block;color:#fff3e5;font-size:17px;line-height:1.5}.special-banner span{display:block;color:#f4a5aa;font-size:13px;margin-top:3px;letter-spacing:3px}.special-banner[data-actor=morris]{background:linear-gradient(120deg,#090b17f2,#35213ff0);border-color:#805c99}.special-banner[data-actor=morris] span{color:#d9b6ff}@media(max-width:650px){.special-banner{top:60px;padding:9px 12px;width:90%}.special-banner strong{font-size:13px}.special-banner span{font-size:12px;letter-spacing:2px}}

.pistol-tools{position:absolute;right:18px;bottom:16px;display:flex;gap:6px;z-index:4}.pistol-tools button{font-size:14px;background:#fff6db;color:#513e28;border-radius:9px;padding:8px 10px;box-shadow:0 2px 8px #0003}.pistol-tools b{background:#7d5237;color:white;padding:2px 5px;border-radius:5px}.ranking-list .rank-shoot{grid-column:2 / -1;justify-self:end;background:#e8efe9;color:#31554b;border-radius:6px;padding:5px 10px;font-size:14px}.rank-shoot:disabled{cursor:default}.shot-notices{list-style:none;padding:0;max-height:45vh;overflow:auto}.shot-notices li{padding:14px 0;border-bottom:1px solid #d7e2dc}.shot-notices strong{display:block;overflow-wrap:anywhere;font-size:16px}.shot-notices small{display:block;margin-top:6px;color:#66776e}#shotTarget{overflow-wrap:anywhere}#shotStatus,#noticeStatus{font-size:14px;line-height:1.7}@media(max-width:650px){.pistol-tools{right:10px;bottom:10px}.pistol-tools button{padding:7px;font-size:14px}}

.shop-tabs{flex-wrap:wrap}.shop-tabs button{min-width:65px}#renameForm{display:grid;gap:10px}#renameInput{font:inherit;padding:12px;border:1px solid #a9c5ba;border-radius:9px;width:100%;box-sizing:border-box}#renameError{color:#a83b32}.broadcast-bar{display:flex;align-items:center;gap:12px;min-width:0;margin-top:18px;padding:10px 14px;border:1px solid #dcbd79;background:#fff1c9;border-radius:12px;font-size:14px}.broadcast-bar>b{flex-shrink:0;color:#815317}.broadcast-window{overflow:hidden;min-width:0;flex:1}.broadcast-window p{margin:0;display:inline-block;white-space:nowrap}.broadcast-window p.moving{padding-left:100%;animation:broadcast-travel var(--ticker-duration,35s) linear infinite}.broadcast-window:hover p,.broadcast-window:focus p{animation-play-state:paused}@keyframes broadcast-travel{to{transform:translateX(-100%)}}@media(prefers-reduced-motion:reduce){.broadcast-window{overflow-x:auto}.broadcast-window p.moving{animation:none;padding-left:0}}

.avatar-preview{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px;border-radius:14px;background:#e3f1ed}.avatar-preview canvas{width:160px;height:120px}.avatar-preview span{font-size:14px;color:#36675d}.stat em{font-size:11px}
.online-panel{margin:0 0 16px;padding:13px 16px;border:1px solid #c8ded8;border-radius:16px;background:#f6fcf9;color:#204c4c}.online-panel>b{font-size:14px}.online-panel small{display:block;margin-top:8px;font-size:12px;color:#64807b}#onlineList{display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:8px;font-size:12px}#onlineList span{background:#e4f2ec;border-radius:20px;padding:4px 9px}
.quest-npc{width:100%;display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 16px;border:1px solid #dfcf9c;border-radius:16px;background:#fff9e8;text-align:left;color:#4e4936;cursor:pointer}.npc-face{display:inline-grid;place-items:center;font-size:34px;border-radius:50%;width:54px;height:54px;background:#f1dfab;flex-shrink:0}.quest-npc b{display:block;font-size:14px}.quest-npc small{display:block;margin-top:5px;font-size:12px}.quest-npc em{margin-left:auto;font-style:normal;font-size:12px;white-space:nowrap}.quest-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}#questDialog{max-width:480px;padding:30px;line-height:1.8;border:1px solid #c8ded8;border-radius:22px;color:#204c4c}#questDialog::backdrop{background:#112c3a88}#questProgress{display:block;color:#b87520;font-size:22px}
.dragon-social-dialog{width:min(680px,calc(100vw - 28px));max-height:85dvh;border:1px solid #c9d8cf;border-radius:24px;padding:24px;color:#204c4c;overflow:auto}.dragon-social-dialog::backdrop{background:#153d4a99}.dragon-social-dialog>p{font-size:13px;line-height:1.8}.dragon-search{display:flex;gap:12px;align-items:center;margin:16px 0}.dragon-search input{flex:1;min-width:0;padding:10px;border:1px solid #bad1c7;border-radius:9px}.dragon-player{padding:15px 0;border-bottom:1px solid #d9e6df;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.dragon-player>b{flex-basis:100%;overflow-wrap:anywhere}.public-balls{display:flex;gap:5px;flex:1}.public-balls span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;font-size:12px;background:#263c45;color:#7d9198;border:1px solid #597079}.public-balls .held{background:radial-gradient(circle at 30% 25%,#ffe9a1,#ffb832 60%,#df7f17);color:#9f2d10;border-color:#e3a743;box-shadow:0 0 8px #ffc94866}.hand-selection{position:sticky;top:-24px;z-index:1;background:#fff7df;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.7}.dragon-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.dragon-social-dialog button:disabled{opacity:.45;cursor:not-allowed}#dragonSocialButton{font-size:12px;padding:9px 12px;white-space:nowrap}@media(max-width:600px){.dragon-inventory{flex-wrap:wrap}.dragon-social-dialog{padding:18px}.public-balls span{flex-basis:29px;height:29px}.dragon-player>button{font-size:12px}}
.dragon-inventory{flex-wrap:wrap}.dragon-inventory .dragon-slots{min-width:240px}
#onlineList .bot-presence{background:#ede5f4;color:#66467b;border:1px solid #dbcee8}
.rank-dragons{grid-column:1 / -1;min-width:0;padding:3px 0 1px}.rank-dragon-summary{display:block;font-size:11px;color:#698279;margin-bottom:5px;font-weight:600}.rank-dragon-balls{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.rank-dragon-balls span{display:grid;place-items:center;width:100%;max-width:28px;aspect-ratio:1;border-radius:50%;background:#dfe5e2;color:#8b9892;border:1px solid #cdd6d0;font-size:10px;font-weight:800}.rank-dragon-balls .held{background:radial-gradient(circle at 30% 25%,#fff0b9,#ffbc42 65%,#dc891e);border-color:#e1a13d;color:#a33d13;box-shadow:0 1px 5px #eeb3454d}.ranking-dialog .rank-dragon-balls{max-width:230px}
.scene-quest{position:absolute;left:10px;top:64px;z-index:5;width:auto;max-width:174px;min-height:44px;margin:0;padding:4px 10px 4px 4px;border:1px solid #efbd52;border-radius:12px;box-shadow:0 2px 8px #153b4633;background:#fff9e9f2;gap:5px}.scene-quest img{width:32px;height:36px;object-fit:contain}.scene-quest small{display:none}.scene-quest b{color:#8b5212;font-size:12px;line-height:1.4}.quest-marker{position:absolute;left:24px;top:-5px;display:grid;place-items:center;width:16px;height:18px;border-radius:50%;background:#ffc64b;color:#684520;font-size:13px;font-weight:900;box-shadow:0 1px 4px #74431533}.quest-complete{border-color:#6bdea1;background:#edfff4}.quest-complete .quest-marker{background:#84e6b1}.pistol-tools{flex-wrap:wrap;justify-content:flex-end;max-width:72%}#bombButton{background:#ffe0b5;color:#743b2c}.quest-portrait{display:block;margin:0 auto}@media(max-width:650px){.scene-quest{top:58px;left:8px;max-width:150px;padding:3px 8px 3px 3px}.scene-quest img{width:28px;height:32px}.scene-quest b{font-size:11px}.quest-marker{left:21px}.pistol-tools{max-width:85%;bottom:10px}.pistol-tools button{font-size:12px}}
.dungeon-status-tools{display:flex;justify-content:center;margin-top:12px}.dungeon-strike{touch-action:manipulation}
.gm-book-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.gm-book-footer button{font-size:12px;color:#687c75;min-height:36px;padding:6px 12px}.gm-dialog{max-width:420px;width:calc(100% - 32px);padding:26px}.gm-dialog form{display:grid;gap:10px}.gm-dialog input{width:100%;box-sizing:border-box;border:1px solid #bdd4ca;border-radius:10px;min-height:44px;padding:10px 12px;font:inherit}.gm-dialog input:focus{outline:2px solid #258778;outline-offset:2px}.gm-dialog label{font-size:14px;font-weight:700}.gm-dialog p{line-height:1.7}.gm-dialog #gmError{color:#a13732;min-height:1.7em}.gm-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#e7f4f1;border:1px solid #99c4ba;border-radius:14px;margin:12px 0;padding:12px 16px;color:#224e46}.gm-toolbar>div{display:grid;gap:3px;margin-right:auto}.gm-toolbar span{font-size:12px}.gm-toolbar label{font-size:12px}.gm-toolbar select{max-width:200px;min-height:40px;border-radius:8px;border:1px solid #a1c4ba;padding:6px;background:#fff;color:#224e46;font:inherit}.gm-toolbar button{min-height:40px;padding:8px 12px;border-radius:8px;border:1px solid #9fc8bc;background:#fff;color:#224e46;font:inherit}.gm-toolbar #gmSwitchRealm{background:#236958;color:#fff}.gm-toolbar[hidden],.offline-panel[hidden]{display:none}@media(max-width:600px){.gm-toolbar>div{flex-basis:100%}.gm-toolbar select{flex:1;min-width:90px}.gm-toolbar label{display:none}.gm-dialog{padding:20px}}
@media(max-width:650px){.scene-quest{top:auto;bottom:84px;max-width:150px}.pistol-tools{bottom:76px;right:8px;max-width:145px;flex-direction:column;align-items:stretch}.pistol-tools button{padding:6px 8px}}

.offline-panel{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:16px 20px;margin:12px 0;border:1px solid #c9dfdb;border-radius:16px;background:#f1f8f4;color:#244943}.offline-panel p{margin:6px 0 0}.offline-panel strong{color:#087d70}.offline-panel small{flex:1;min-width:220px;line-height:1.7;color:#546e67}

.cinematic-dialog{width:min(96vw,1000px);max-width:1000px;padding:0 0 16px;border:1px solid #74c7b5;border-radius:22px;background:#102e38;color:#fff8dc;text-align:center;overflow:hidden;box-shadow:0 25px 100px #0009}.cinematic-dialog::backdrop{background:#061c27dc}.cinematic-dialog canvas{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.cinematic-dialog p{margin:10px 16px;line-height:1.6}.cinematic-dialog button{margin:4px 16px;background:#e5f6e9;color:#173d3c}

/* Full-screen, cinematic boss encounters */
.dungeon-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(115deg,#172245,#48245c);color:#fff6dc;border:2px solid #d5ae6a;border-radius:16px;padding:17px 20px;width:100%;margin:0 0 16px;box-shadow:0 5px 18px #32244022;text-align:left}.dungeon-entry-copy,.dungeon-entry-action{display:grid;gap:5px}.dungeon-entry-copy strong{font-size:17px;font-weight:850}.dungeon-entry small{font-size:12px;color:#e5d7f1;line-height:1.6}.dungeon-entry-action{text-align:right;flex-shrink:0}.dungeon-entry-action b{color:#ffdb8b;font-size:14px}.dungeon-entry:not(:disabled):hover{border-color:#ffe3a1;background:linear-gradient(115deg,#22315b,#5a2c70)}.dungeon-entry:disabled{opacity:1;cursor:wait}.dungeon-entry:focus-visible{outline:3px solid #623d91;outline-offset:3px}@media(max-width:650px){.dungeon-entry{flex-direction:column;align-items:stretch;padding:14px 16px;gap:10px}.dungeon-entry-copy strong{font-size:16px}.dungeon-entry-action{text-align:left;border-top:1px solid #ffffff30;padding-top:9px}.dungeon-entry-action b{font-size:14px}}
.dungeon-dialog{background:#070e21;color:#e5eeff;border:1px solid #6d83ad;border-radius:20px;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:22px;overflow:auto;box-shadow:0 24px 100px #000b}.dungeon-dialog::backdrop{background:#020713e8;backdrop-filter:blur(10px)}.dungeon-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.dungeon-header small{letter-spacing:3px;color:#82d9ef;font-size:10px}.dungeon-header h2{margin:5px 0;font-size:26px}.dungeon-dialog button{color:inherit;cursor:pointer}.dungeon-close,.dungeon-sync{border:1px solid #7185a1;background:#1b2a41;border-radius:9px;padding:10px 15px}.dungeon-select>p{line-height:1.8;color:#aabbda;font-size:14px}.boss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.boss-grid button{background:#101b31;border:1px solid #344562;border-radius:14px;overflow:hidden;text-align:left;padding:0;transition:transform .2s,border-color .2s}.boss-grid button:hover:not(:disabled){transform:translateY(-4px);border-color:var(--boss);box-shadow:0 0 24px color-mix(in srgb,var(--boss) 20%,transparent)}.boss-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.boss-grid button>div{padding:16px}.boss-grid small{font-size:9px;letter-spacing:1px;color:var(--boss)}.boss-grid h3{font-size:23px;margin:6px 0}.boss-grid p{font-size:12px;line-height:1.7;color:#b1bfd7;min-height:40px}.boss-grid strong{font-size:13px;color:var(--boss)}.dungeon-stage canvas{width:100%;height:auto;display:block;border:1px solid #33446b;border-radius:12px;background:#08172a}.dungeon-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.dungeon-strike{background:linear-gradient(110deg,#1c7397,#42358b);border:1px solid #6bebf8;font-weight:bold;border-radius:10px;padding:14px 30px;min-width:200px}.dungeon-storm{background:#433960;border:1px solid #ac8cd0;border-radius:10px;padding:12px 22px}.dungeon-dialog button:disabled{opacity:.45;cursor:not-allowed}.dungeon-message{text-align:center;color:#ffe1a3;min-height:22px;font-size:14px}.dungeon-reward{padding:20px;background:#18203c;border:1px solid #e9be66;border-radius:12px;margin-top:12px;text-align:center}.dungeon-stars{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.dungeon-stars button{border-radius:50%;width:64px;height:64px;background:radial-gradient(circle at 30% 25%,#ffe6a4,#f39d19 65%,#b64f0b);color:#a23815;border:2px solid #ffe099;font-weight:bold;box-shadow:0 0 20px #ffad2933}.dungeon-again{display:block;margin:12px auto;background:#293953;border:1px solid #91a4c7;padding:12px 22px;border-radius:8px}@media(max-width:700px){.boss-grid{grid-template-columns:1fr 1fr}.dungeon-dialog{padding:12px}.dungeon-header h2{font-size:21px}.boss-grid button>div{padding:10px}.boss-grid h3{font-size:18px}.boss-grid strong{font-size:11px}.dungeon-strike{min-width:140px;padding:12px}.dungeon-stars button{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.boss-grid button{transition:none}}

.habitat-summary{margin:-4px 0 14px;color:#466d63;font-size:12px;letter-spacing:.3px}.collection-section{grid-column:1 / -1;margin:22px 0 0;padding:0 0 10px;border-bottom:1px solid #c7d9cb;color:#285f55;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px}.collection-section small{font-size:11px;font-weight:400;color:#6b817a}.collection-section:first-child{margin-top:0}

/* High-contrast dragon collection and third-hand actions. */
#dragonSocialButton{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;background:#ffd166;color:#173b39;border:2px solid #ffe5a6;border-radius:11px;padding:10px 14px;font-size:13px;font-weight:800;box-shadow:0 3px 0 #9c6b24}
#dragonSocialButton b{min-width:24px;padding:2px 7px;background:#173b39;color:#fff3ca;border-radius:7px;font-size:13px;font-variant-numeric:tabular-nums}
#dragonSocialButton:hover{background:#ffe29a}#dragonSocialButton:focus-visible{outline:3px solid #fff;outline-offset:4px}
.dragon-social-dialog .secondary,#handConfirm{min-height:44px;border:1px solid #537b69;border-radius:10px;padding:10px 14px;background:#194f45;color:#fff;font-weight:750}
.dragon-social-dialog .secondary:hover:not(:disabled){background:#296b5d}#handConfirm{background:#ffd166;border-color:#a16a1f;color:#173b39}#handConfirm:hover:not(:disabled){background:#ffe29a}
.dragon-social-dialog button:disabled{opacity:1;background:#e1e7e4;color:#52635d;border-color:#a7b6af;cursor:not-allowed}

/* Entry: name first, release notes after login, with a real loading bar. */
.entry-dialog #entryTitle{overflow-wrap:anywhere}
.entry-loading{text-align:left;background:#e6f2ed;border:1px solid #c3ddd3;border-radius:14px;padding:15px 17px;margin-bottom:17px}
.entry-load-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
#entryPercent{font-variant-numeric:tabular-nums;color:#227c67;font-size:19px}
#entryProgress{display:block;width:100%;height:12px;margin:12px 0 8px}
#entryLoadHint{margin:0;font-size:12px;line-height:1.6;color:#53766a}
#entryRetry{font-size:14px;text-decoration:underline;padding-bottom:0}
#releaseVersion{display:inline-block;font-size:12px;background:#dcead8;color:#315f4a;border-radius:5px;padding:3px 6px;margin-left:5px;vertical-align:middle}
#entryWelcome .release-notes{max-height:clamp(140px,31dvh,300px);overflow:auto;overscroll-behavior:contain;margin-bottom:0}
#entryWelcome .release-heading{position:sticky;top:-16px;background:#f3f7ed;padding:9px 0;margin-top:-8px}
#entryWelcome .dialog-cta{margin-top:16px}
@media(max-height:650px){.entry-dialog .entry-mark{display:none}.entry-dialog{padding:20px}.entry-dialog h2{font-size:23px}.entry-dialog>p{margin-bottom:14px}.entry-loading{padding:11px 14px;margin-bottom:12px}#entryWelcome .release-notes{max-height:25dvh}}

.gm-gifts{border-top:1px solid #d2e3da;margin-top:20px;padding-top:9px;text-align:left}
.gm-gifts h3{font-size:19px}.gm-gifts label{display:block;font-size:13px;font-weight:700;margin:12px 0 7px}
.gm-gifts input,.gm-gifts select{width:100%;min-width:0;padding:10px;border:1px solid #bdd1c8;border-radius:9px;font:inherit;color:var(--ink);background:#fff;font-size:14px}
.gm-gift-search>div{display:flex;gap:8px}.gm-gift-search button{padding:9px 12px;border-radius:8px;white-space:nowrap;background:#dceee5}
.gm-gift-pages{display:flex;align-items:center;justify-content:space-between;font-size:12px}
#gmGiftHint,#gmGiftStatus{font-size:12px;line-height:1.6;color:#536f63;overflow-wrap:anywhere}#gmGiftStatus{font-size:14px}
#gmGiftSubmit{margin-top:13px}

/* The arcade keeps its own responsive stage; closing it releases all effects. */
dialog.arcade-dialog{padding:0;border:1px solid #cfb27470;border-radius:18px;width:min(1500px,98vw);max-width:98vw;height:96dvh;max-height:96dvh;background:#080f19;overflow:hidden;color:#f3e4c7;box-sizing:border-box}
.arcade-dialog[open]{display:flex;flex-direction:column}.arcade-shell{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#111d2c;font-size:12px;letter-spacing:.08em;flex:none}.arcade-shell button{padding:8px 14px;border:1px solid #a98b4b;border-radius:8px;background:#273144;color:#fff2cf;font-size:13px}.arcade-content{flex:1;min-height:0}.arcade-content iframe{display:block;width:100%;height:100%;border:0}.arcade-loading{position:absolute;top:50px;left:20px;color:#e4c67d}.arcade-dialog::backdrop{background:#02070de8}@media(max-width:600px){dialog.arcade-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.arcade-shell{padding:6px 10px}}

/* Both boards share a cached response: switching only updates these lists. */
.ranking-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#eaf1ec;border:1px solid #d9e6de;border-radius:10px;padding:3px;margin-top:17px}.ranking-switch button{border:0;border-radius:7px;background:transparent;color:#617a71;font-size:12px;font-weight:750;padding:9px 4px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.ranking-switch button[aria-pressed="true"]{background:#225f55;color:#fff9de;box-shadow:0 2px 5px #173e4820}.ranking-switch button:hover:not([aria-pressed="true"]){background:#dbe9df;color:#245c4b}.ranking-switch button:focus-visible{outline:2px solid #b88b34;outline-offset:2px}.ranking-list .rank-xp{grid-column:2/-1;text-align:right;color:#5c8378;font-size:11px;font-variant-numeric:tabular-nums;margin-top:-3px}.ranking-dialog .ranking-switch{margin-top:5px}.ranking-dialog .ranking-list{max-height:calc(100dvh - 305px)}

/* Online auto angler lives below the canvas and never covers the fishing area. */
.auto-dock{margin:14px 0;background:#edf5ee;border:1px solid #cadbd2;border-radius:18px;padding:18px 20px;color:#244f50}.auto-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.auto-heading h2{font-size:17px;margin:4px 0}.auto-heading h2 small{font-size:11px;font-weight:500;margin-left:8px;color:#597d72}.auto-heading p{font-size:12px;margin:4px 0 0;color:#52756b}.auto-actions{display:flex;gap:8px;flex-shrink:0}.auto-actions button{border-radius:10px;border:1px solid #b4cec3;background:#fffdf4;padding:10px 12px;color:#2d5954;font:700 12px system-ui;cursor:pointer}.auto-actions #autoToggle{background:#265e57;color:#fff8df;border-color:#265e57}.auto-dock.running{border-color:#75bca4;box-shadow:0 0 0 2px #7bbd9d20}.auto-dock.running #autoToggle{background:#823d42;border-color:#823d42}.auto-settings{padding-top:16px;margin-top:15px;border-top:1px solid #cbded1;display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:14px;align-items:center}.auto-settings[hidden]{display:none}.auto-settings label{font-size:13px;font-weight:600;display:grid;gap:5px}.auto-settings select{background:#fffef7;border:1px solid #abc6b8;border-radius:8px;padding:9px;color:#244f50;font:inherit}.auto-settings .auto-check{display:flex;align-items:center;gap:8px}.auto-settings input{width:18px;height:18px;accent-color:#2c6a5c}.auto-settings p{grid-column:1/-1;font-size:12px;line-height:1.7;color:#56736a;margin:0}.auto-actions button:focus-visible,.auto-settings select:focus-visible{outline:3px solid #e2b867;outline-offset:2px}
@media(max-width:600px){.auto-dock{padding:14px}.auto-heading{align-items:flex-start;flex-wrap:wrap}.auto-actions{width:100%}.auto-actions #autoToggle{flex:1}.auto-settings{grid-template-columns:1fr}.auto-heading h2{font-size:16px}}

.gm-token-actions{display:flex;gap:10px;align-items:stretch}.gm-token-actions button{flex:1;min-width:0;min-height:44px;margin:0;padding:11px 12px;border-radius:10px;font:700 14px system-ui;cursor:pointer}.gm-danger{background:#853d45;color:#fff8ed;border:1px solid #75333c}.gm-danger:hover:not(:disabled){background:#6d2934}.gm-danger:focus-visible,.gm-reclaim-confirm button:focus-visible{outline:3px solid #d5a244;outline-offset:3px}.gm-reclaim-confirm{margin-top:18px;padding:16px;background:#fff1e9;border:1px solid #d9a99b;border-radius:12px}.gm-reclaim-confirm[hidden]{display:none}.gm-reclaim-confirm h4{margin:0 0 10px;font-size:16px;color:#77363e}.gm-reclaim-confirm p{margin:8px 0;overflow-wrap:anywhere;font-size:13px}.gm-reclaim-confirm>strong{display:block;color:#903f40;font-size:24px}.gm-reclaim-confirm .gm-confirm-hint{color:#805950;margin-bottom:14px}.gm-gifts button:disabled{opacity:.5;cursor:default}
/* Quantity controls keep the purchase total beside the explicit buy action. */
.quantity-picker{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0;width:100%}.quantity-picker button{width:42px;min-width:42px;height:42px;padding:0;border:1px solid #aac4be;border-radius:12px;background:#edf5ef;color:#244e4d;font-size:23px;font-weight:800;box-shadow:none}.quantity-picker input{min-width:0;max-width:110px;width:100%;height:42px;margin:0;padding:6px;text-align:center;font:700 17px inherit;border:1px solid #aac4be;border-radius:10px;background:#fff;color:#244e4d}.quantity-picker button:disabled{opacity:.4;cursor:default}.quantity-picker :focus-visible{outline:3px solid #d99c32;outline-offset:2px}.shop-card .quantity-picker button{margin:0;width:42px}.shop-card>button{width:100%}.shop-item-description{min-height:42px;font-size:12px!important;line-height:1.55;color:#61776e!important}.gm-item-form{border-top:1px solid #cbd7cf;margin-top:20px;padding-top:16px}.gm-item-form p{font-size:13px;color:#667c74;line-height:1.5}.gm-item-form select{width:100%;max-width:100%;padding:12px;border:1px solid #aebfba;border-radius:10px;background:#fff;color:#244e4d}.gm-item-form .quantity-picker{justify-content:flex-start}.nuke-button{background:#722f40!important;color:#fff1d0!important;border:1px solid #b86756!important;box-shadow:inset 0 1px #f5d5b333}.nuke-button b{color:inherit!important}.nuke-dialog{border:2px solid #ad6452}.nuke-dialog p{line-height:1.7}.nuke-dialog strong{color:#842f3e}.nuke-dialog .dialog-cta{width:100%;min-height:48px}

/* Sea goddess story: compact on phones, full-body art and two clear choices. */
.axe-inventory{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:10px 16px;margin:-5px 0 18px;background:#edf2ee;border:1px solid #d1ded7;border-radius:12px;font-size:13px}.axe-inventory span{display:flex;gap:8px;align-items:center}.axe-inventory b{font-variant-numeric:tabular-nums}.axe-inventory small{color:#6a7c7c;margin-left:auto}
.axe-dialog{padding:0;width:min(780px,calc(100vw - 24px));max-width:780px;overflow:auto;background:#f8faf4}.axe-scene{position:relative;background:radial-gradient(ellipse at 50% 80%,#83d9d9 0,#205a72 45%,#11283e 90%);height:245px;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}.axe-scene img{position:relative;z-index:1;object-fit:contain;width:210px;height:245px;filter:drop-shadow(0 0 18px #d7ffff55)}.axe-orbit{position:absolute;width:340px;height:65px;bottom:-22px;border:2px solid #c8f7ef;border-radius:50%;box-shadow:0 0 0 15px #c8f7ef22,0 0 0 35px #c8f7ef15}.axe-dialog-content{padding:25px 32px 28px;text-align:center}.axe-dialog-content h2{font-size:26px;margin:8px 0 16px}.axe-speech{font-size:19px;line-height:1.75;margin:0 0 22px}.axe-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.axe-choices button{padding:17px 10px;border:1px solid #c7a04c;border-radius:14px;background:linear-gradient(#fff4c5,#efcc78);font-size:20px;font-weight:800;color:#57441c;box-shadow:0 4px 0 #bd9843}.axe-choices button+button{border-color:#8caab9;color:#34566a;background:linear-gradient(#f4fbff,#c6dce8);box-shadow:0 4px 0 #7f9cac}.axe-choices span{display:block;font-size:27px}.axe-choices small{display:block;font-size:12px;font-weight:500;margin-top:8px}.axe-choices button:hover{filter:brightness(1.04);transform:translateY(-1px)}#axeOutcome{line-height:1.8;font-size:16px}#axeStatus{color:#aa473d;font-size:13px;line-height:1.6}#axeStatus:empty,#axeOutcome:empty{display:none}.axe-dialog [hidden]{display:none!important}@media(max-width:600px){.axe-scene{height:195px}.axe-scene img{height:195px;width:180px}.axe-dialog-content{padding:20px 16px}.axe-dialog-content h2{font-size:23px}.axe-speech{font-size:17px}.axe-choices{gap:10px}.axe-choices button{font-size:18px;padding:13px 6px}.axe-inventory small{margin-left:0}}

/* Compact steering, anchored to the same lower-left corner. */
.boat-controls{transform:scale(.5);transform-origin:left bottom}
#stickyButton{background:#e8d9ff;color:#513475}
