.ad-painted-scene{position:relative;margin:0 0 22px;overflow:hidden;border:1px solid #c5d7e7;border-radius:10px;isolation:isolate;height:clamp(130px,15vw,230px);background:#234f72}
.ad-painted-scene .ad-scene-image{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.025);animation:ad-painted-sea 19s ease-in-out infinite}
.ad-salvage-art{background:transparent;border-radius:0;min-width:150px;width:150px;height:130px}.ad-salvage-art img{width:100%;height:100%;object-fit:contain}
.ad-painted-grid,.ad-painted-field{position:relative;isolation:isolate;overflow:hidden;border-radius:9px;background:#275d79;border:1px solid #729bb8;padding:1px;gap:2px}
.ad-field-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none;animation:ad-seabed-light 16s ease-in-out infinite}
.ad-painted-grid .ad-cell{z-index:1;background:#b5dce91a;border-color:#d4edf64a;border-radius:3px;color:#effaff;overflow:hidden;box-shadow:none}
.ad-painted-grid .ad-cell>small{padding:1px 3px;line-height:1.2;color:#f6fbff;background:#173e5c8c;border-radius:2px;opacity:1;z-index:3}
.ad-painted-grid .ad-cell>b{position:relative;width:100%;height:clamp(26px,4.1vw,66px);min-height:0;line-height:1;color:#eafaff}
.ad-painted-grid .ad-cell>span{color:#f5fbff;text-shadow:0 1px 3px #062d4d;font-weight:500;z-index:2}
.ad-painted-grid .ad-survey-prop,.ad-painted-grid .ad-survey-vessel{display:block;width:94%;height:100%;max-height:70px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px #0d314f70)}
.ad-painted-grid .ad-cell.reef{background:#36495930;border-color:#9bafba55}.ad-painted-grid .ad-cell.reef .ad-survey-prop{width:100%;height:100%}
.ad-painted-grid .ad-cell.beacon{background:#62baf533;border-color:#b4e4ff91}.ad-painted-grid .ad-cell.beacon .ad-survey-prop{animation:ad-buoy-sway 5s ease-in-out infinite}
.ad-painted-grid .ad-cell.measured{background:#c0e6eb2c;border-style:dotted;box-shadow:none}.ad-painted-grid .ad-cell.measured>span{color:#d7f3ef}
.ad-painted-grid .ad-cell.here{background:#e4f5ff34;border:1px solid #fcffff;box-shadow:inset 0 0 0 1px #dcf2ff70}.ad-painted-grid .ad-cell.here .ad-survey-vessel{width:110%;max-width:none}
.ad-painted-grid .ad-cell.candidate{background:#81b7ee33;border:1px solid #ceebff;box-shadow:inset 0 0 0 1px #a9d5f366}
.ad-painted-grid .ad-cell.route-cell{background:#77c8f347;border-style:dashed}.ad-painted-grid .ad-cell:not(:disabled):hover{background:#d4efff35;box-shadow:inset 0 0 0 2px #c8ebff;transform:none}
.ad-painted-grid .ad-cell:focus-visible{outline-color:#f1faff;outline-offset:-3px}
.ad-painted-field .ad-fish-cell{z-index:1;min-height:92px;aspect-ratio:1.1;border:1px solid #dbf4ff48;border-radius:3px;background:#e5faff0d;color:#fff;padding:15px 4px 7px;gap:1px;transform:none;box-shadow:none}
.ad-painted-field .fish-density-0{background:#d1ebe91a}.ad-painted-field .fish-density-1{background:#2d83bb14}.ad-painted-field .fish-density-2{background:#164a751a}.ad-painted-field .fish-density-3{background:#123a6936;border-color:#d1edffaa}
.ad-painted-field .ad-fish-cell>small{z-index:4;color:#f4fbff;background:#15395088;padding:1px 4px;border-radius:3px;line-height:1.1;left:4px;top:4px}
.ad-painted-field .ad-fish-cell>strong{z-index:4;position:relative;background:#143b5685;color:#f4fbff;padding:2px 6px;border-radius:4px;max-width:100%;line-height:1.3;text-shadow:0 1px 2px #153a55;font-size:11px;white-space:normal;overflow-wrap:anywhere}
.ad-painted-field .ad-fish-cell .fish-school{position:relative;display:block;flex:1;width:100%;min-height:54px;max-height:82px;overflow:visible;animation:none;letter-spacing:0}
.ad-painted-field .fish-school .fish-swimmer{position:absolute;display:block;width:83%;max-width:108px;aspect-ratio:1;top:calc(-13% + var(--fish-order)*17%);left:calc(-1% + var(--fish-order)*10%);overflow:hidden;animation:ad-fish-drift 5.8s ease-in-out infinite;animation-delay:var(--fish-delay);transform-origin:50% 50%;pointer-events:none}
.ad-painted-field .fish-density-2 .fish-swimmer{width:72%}.ad-painted-field .fish-density-3 .fish-swimmer{width:65%;top:calc(-13% + var(--fish-order)*15%);left:calc(-3% + var(--fish-order)*15%)}
.ad-painted-field .fish-school .fish-tail-strip{display:block;width:400%;max-width:none;height:100%;object-fit:fill;animation:ad-fish-tail .86s steps(4,end) infinite;animation-delay:var(--fish-delay);filter:drop-shadow(0 2px 2px #0c365366)}
.ad-painted-field .fish-school .fish-tuna .fish-tail-strip{animation-duration:1.14s}.ad-painted-field .fish-school .fish-kelp-bed{position:absolute;inset:0;display:grid;place-items:center;animation:none}.ad-painted-field .fish-school .fish-kelp{display:block;width:50%;height:80%;max-height:76px;margin:auto;object-fit:contain;opacity:.7;filter:drop-shadow(0 2px 2px #133a4940);animation:ad-kelp-sway 6.5s ease-in-out infinite;animation-delay:var(--kelp-delay);transform-origin:50% 90%}
.ad-painted-field .ad-fish-cell .fish-best{z-index:5;background:#f1f8ffed;color:#2b5d87;padding:2px 4px;border:1px solid #e0f0ff;box-shadow:0 1px 4px #10334c36;font-size:10px;top:22px;right:3px;line-height:1.2}
.ad-painted-field .ad-fish-cell.best-school{border-color:#f1faff;box-shadow:inset 0 0 0 1px #d1eeff4d}
.ad-painted-field .ad-fish-cell.netted{background:#2e6a9870!important;border-color:#edfcff;color:#fff!important;box-shadow:inset 0 0 0 1px #d7f2ff}
.ad-painted-field .ad-fish-cell:not(:disabled):hover{background:#bde9ff29;box-shadow:inset 0 0 0 2px #e5f6ff;transform:none}
.ad-painted-field .ad-fish-cell:focus-visible{outline:3px solid #f2fbff;outline-offset:-3px}
.ad-cast-net{position:absolute;inset:7% 5% 15%;z-index:3;width:90%;height:76%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px #10354c70);animation:ad-net-drift 3.8s ease-in-out infinite}
.ad-fish-stock .ad-relic-mark{width:100%;height:110px;background:transparent;display:grid;place-items:center}.ad-fish-stock .ad-catch-art{display:block;max-width:170px;width:100%;height:108px;object-fit:contain}.ad-fish-stock h3{margin:8px 0}.ad-fish-stock article{background:linear-gradient(#fcfeff,#eef5fb)}
.ad-kitchen-art{display:block;float:right;width:70px;height:70px;margin:0 8px 8px 14px;object-fit:contain}.ad-kitchen .ad-three>div{min-width:0}.ad-kitchen .ad-three>div .btn{clear:both}
.ad-relic .ad-relic-mark{display:grid;place-items:center;width:100%;height:138px;background:radial-gradient(ellipse at 50% 65%,#e1edf6 0,#eef4f900 68%);border:0;line-height:1}.ad-relic .ad-relic-art{width:min(100%,170px);height:138px;object-fit:contain;filter:drop-shadow(0 4px 4px #27445c20)}
.ad-relic>.ad-map-head{margin:0 0 8px;padding:0;gap:5px}.ad-relic>.ad-map-head>small{width:100%;text-align:right}.ad-relic.unowned .ad-relic-mark{opacity:1}.ad-relic.unowned .ad-relic-art{filter:saturate(.55) drop-shadow(0 4px 4px #27445c14);opacity:.75}.ad-relic.equipped{background:linear-gradient(#f9fcff,#e8f2fc)}
.ad-rift-start{padding:0 0 24px;overflow:hidden}.ad-rift-start .ad-rift-scene{margin:-1px -1px 22px;border-radius:9px 9px 0 0;border:0;height:clamp(160px,19vw,280px)}.ad-rift-start>h2,.ad-rift-start>.hint{padding-inline:18px}
.ad-rift-start .ad-four{max-width:1120px;padding:0 24px;margin:24px auto}.ad-rift-level{padding:14px 14px 18px;min-width:0;background:#f5f9fd}.ad-rift-level .ad-rift-art{display:block;margin:0 auto 10px;width:100%;height:110px;object-fit:contain}.ad-rift-level>small{display:block;color:#6a8099;font-size:10px}.ad-rift-level h3{font-size:18px;line-height:1.5;margin:7px 0}.ad-rift-level p{font-size:11px;line-height:1.8;min-height:40px}
.ad-rift-node .ad-relic-mark{display:grid;place-items:center;width:100%;height:180px;background:radial-gradient(ellipse at 50% 65%,#d9eaf7 0,#eef5fb00 70%)}.ad-rift-node .ad-rift-art{display:block;width:100%;height:180px;object-fit:contain;filter:drop-shadow(0 4px 5px #24425d22)}
.ad-rift-route>span{overflow:hidden}.ad-rift-route .ad-rift-art{display:block;width:42px;height:42px;object-fit:contain}.ad-rift-action .ad-rift-symbol{animation:none;display:block;flex:0 0 180px;width:180px;height:150px}.ad-rift-action .ad-rift-art{display:block;width:100%;height:100%;object-fit:contain}
.ad-companion-panorama{height:165px}.ad-portrait>img{filter:drop-shadow(0 4px 6px #16344c3d)}
.ad-camp-tasks>div{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px}.ad-camp-task-art{width:40px!important;height:40px!important;object-fit:contain!important;margin:0!important}.ad-camp-tasks>div>span{min-width:0}.ad-camp-tasks small{line-height:1.7}
.ad-pipes{padding:2px;gap:3px;border-radius:9px;background:#6287a7;overflow:hidden;isolation:isolate}.ad-pipe{background:#e4edf3;border-color:#8ba7bd;border-radius:4px;isolation:isolate;transition:background-color .2s,border-color .2s}.ad-pipe-piece{position:absolute;inset:0;display:block;transform:rotate(var(--pipe-turn));pointer-events:none}.ad-pipe-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #1e3e5f4d)}.ad-pipe.wet{background:#9dcde5;border-color:#5e99bf;box-shadow:inset 0 0 16px #5baceb66}.ad-pipe.wet .ad-pipe-art{filter:drop-shadow(0 0 5px #258ace8c)}.ad-pipe>small{z-index:2;top:4px;left:4px;line-height:1.1;padding:3px 4px;border-radius:3px;background:#eff7ffdb;color:#446a8b;font-size:9px}.ad-pipe.wet>small{background:#d8f2ffeb;color:#235c86}.ad-pipe.pipe-hint{outline-offset:-3px;outline:3px solid #246aab}.ad-pipe .pipe-turn{z-index:3;background:#f2faffeb;box-shadow:0 1px 5px #274a6b33}
.ad-race-cover{position:relative;height:170px;margin:-24px -24px 22px;overflow:hidden;border-radius:9px 9px 0 0;background:#3c7392}.ad-race-cover .ad-painted-scene{height:100%;border:0;border-radius:0;margin:0}.ad-race-cover .ad-scene-image{object-position:30% 55%}.ad-race-merchant .ad-scene-image{object-position:60% 60%}.ad-race-sounder .ad-scene-image{object-position:85% 55%}.ad-race-cover-ship{position:absolute;pointer-events:none;width:74%;height:130px;bottom:8px;left:13%;object-fit:contain;filter:drop-shadow(0 6px 4px #123b5759);animation:ad-race-sail 8s ease-in-out infinite}.ad-race-merchant .ad-race-cover-ship{animation-delay:-2s}.ad-race-sounder .ad-race-cover-ship{animation-delay:-4s}.ad-regatta-card{overflow:hidden}.ad-race-panorama{height:190px;margin:-24px -24px 22px;border-radius:9px 9px 0 0;border:0}.ad-regatta-active{overflow:hidden}.ad-rivals>div{grid-template-columns:110px minmax(0,1fr) 100px}.ad-rival-name{display:flex;align-items:center;gap:7px;min-width:0}.ad-rival-ship{width:38px;height:30px;object-fit:contain;flex-shrink:0}
@keyframes ad-fish-tail{to{transform:translateX(-100%)}}
@keyframes ad-fish-drift{0%,100%{transform:translate(-2%,2%) rotate(-2deg)}50%{transform:translate(5%,-3%) rotate(2deg)}}
@keyframes ad-kelp-sway{0%,100%{transform:rotate(calc(var(--kelp-lean,0deg) - 3deg))}50%{transform:rotate(calc(var(--kelp-lean,0deg) + 4deg))}}
@keyframes ad-net-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(3px) rotate(1deg)}}
@keyframes ad-buoy-sway{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(2px) rotate(3deg)}}
@keyframes ad-painted-sea{0%,100%{transform:scale(1.025) translateX(-.45%)}50%{transform:scale(1.035) translateX(.45%)}}
@keyframes ad-seabed-light{0%,100%{opacity:.91}50%{opacity:1}}
@keyframes ad-race-sail{0%,100%{transform:translate(-3px,0) rotate(-1deg)}50%{transform:translate(4px,-3px) rotate(1deg)}}
body.paused .ad-painted-scene *,body.paused .ad-painted-grid *,body.paused .ad-painted-field *,body.paused .ad-race-cover-ship{animation-play-state:paused!important}
@media(max-width:900px){.ad-painted-field .ad-fish-cell{min-height:82px;aspect-ratio:1.25}.ad-painted-grid .ad-cell>b{height:clamp(29px,7.5vw,65px)}.ad-rift-start .ad-four{padding-inline:18px}.ad-rift-action .ad-rift-symbol{flex-basis:125px;width:125px;height:130px}}
@media(max-width:560px){.ad-painted-scene{height:140px;margin-bottom:17px;border-radius:7px}.ad-painted-field{gap:2px}.ad-painted-field .ad-fish-cell{min-height:100px;aspect-ratio:.84;padding:20px 1px 4px}.ad-painted-field .ad-fish-cell .fish-school{min-height:34px;max-height:46px}.ad-painted-field .ad-fish-cell>strong{font-size:11px;padding:2px;min-height:2.6em;width:100%;display:flex;align-items:center;justify-content:center}.ad-painted-field .ad-fish-cell>small{font-size:10px;top:3px;left:3px;padding:1px 3px}.ad-painted-field .ad-fish-cell .fish-best{font-size:10px;padding:1px 2px;right:2px;top:22px}.ad-painted-field .fish-school .fish-swimmer{width:98%;left:calc(-8% + var(--fish-order)*10%);top:calc(-8% + var(--fish-order)*15%)}.ad-painted-field .fish-density-2 .fish-swimmer{width:83%}.ad-painted-field .fish-density-3 .fish-swimmer{width:76%;left:calc(-9% + var(--fish-order)*13%)}.ad-painted-field .fish-school .fish-kelp{width:50%;max-height:35px}.ad-painted-grid .ad-cell>b{height:27px}.ad-painted-grid .ad-cell{gap:0}.ad-painted-grid .ad-cell>span{font-size:7px;line-height:1.25;white-space:nowrap}.ad-painted-grid .ad-cell>small{font-size:7px;top:2px;left:2px;padding:1px 2px}.ad-fish-stock{gap:10px}.ad-fish-stock .panel{padding:14px}.ad-fish-stock .ad-relic-mark{height:85px}.ad-fish-stock .ad-catch-art{height:84px}.ad-fish-stock h3{font-size:14px}.ad-fish-stock p{font-size:11px}.ad-kitchen-art{width:57px;height:57px;margin-left:10px}.ad-relic .ad-relic-mark,.ad-relic .ad-relic-art{height:105px}.ad-rift-start .ad-rift-scene{height:160px}.ad-rift-start .ad-four{padding-inline:12px;gap:10px}.ad-rift-level{padding:9px 10px 14px}.ad-rift-level .ad-rift-art{height:90px}.ad-rift-level h3{font-size:16px}.ad-rift-level p{font-size:10px;min-height:44px}.ad-rift-node .ad-relic-mark,.ad-rift-node .ad-rift-art{height:150px}.ad-rift-route .ad-rift-art{height:32px;width:32px}.ad-rift-action .ad-rift-symbol{flex-basis:85px;width:85px;height:110px}.ad-camp-tasks>div{grid-template-columns:32px minmax(0,1fr) auto;gap:7px}.ad-camp-task-art{width:32px!important;height:32px!important}.ad-camp-tasks b{font-size:11px}.ad-camp-tasks small{font-size:9px}.ad-pipe>small{top:3px;left:3px;font-size:8px;padding:2px 3px}.ad-pipe .pipe-turn{width:25px;height:25px;font-size:21px;right:4px;bottom:4px}.ad-race-cover{margin:-18px -18px 18px;height:155px}.ad-race-cover-ship{height:120px}.ad-race-panorama{margin:-18px -18px 18px;height:155px}.ad-rivals>div{grid-template-columns:85px minmax(0,1fr) 65px;gap:8px}.ad-rival-ship{width:29px;height:26px}.ad-rival-name{gap:4px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.ad-painted-scene *, .ad-painted-grid *, .ad-painted-field *, .ad-race-cover-ship{animation:none!important;transition:none!important}}
