/* Fishing III: one harbor scene, painted furnishings, complete frame corners. */
html.gv-v2 body #panelFishing .gf-harbor{background:none!important;padding:22px 22px 80px!important}
html.gv-v2 body #panelFishing .fish-subtab-content{background:none!important;padding:0!important;overflow:visible!important}
html.gv-v2 body #panelFishing .gf-masthead{max-width:1550px;margin:0 auto 32px;border:22px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 22px / 0 stretch;padding:6px 16px 10px;filter:drop-shadow(0 12px 18px #09060bb3)}
html.gv-v2 body #panelFishing .fish-header{display:flex!important;align-items:center;flex-wrap:wrap;gap:16px;padding:12px 10px!important;background:none!important;border:0!important;box-shadow:none!important}
html.gv-v2 body #panelFishing .gf-identity{display:flex;align-items:center;gap:18px;margin-right:auto;min-width:0}
html.gv-v2 body #panelFishing .gf-harbor-seal{width:64px;height:76px;object-fit:contain;filter:drop-shadow(0 5px 6px #0009)}
html.gv-v2 body #panelFishing .fish-header-title{font:700 clamp(26px,3vw,44px) Cinzel,Georgia,serif;color:#ffe0a3;margin:0;line-height:1.2;text-shadow:0 3px 8px #000}
html.gv-v2 body #panelFishing .gf-subtitle{margin:9px 0 0;color:#e3ceba;font-size:14px;line-height:1.5}
html.gv-v2 body #panelFishing .fish-header-stats{display:flex;gap:12px;margin:0!important;align-items:center}
html.gv-v2 body #panelFishing :is(.fish-energy-pill,.fish-bones-pill){background:none!important;border:10px solid transparent!important;border-image:url('/v2/art/council/dialog.webp') 150 fill / 10px / 0 stretch!important;border-radius:0!important;padding:6px 9px!important;min-height:58px;color:#ffe0ad;box-shadow:none!important}
html.gv-v2 body #panelFishing .fish-energy-pill{color:#a6eadb}
html.gv-v2 body #panelFishing .fish-subtabs{position:static!important;justify-content:center;gap:16px;padding:10px 0 0!important;background:none!important;box-shadow:none!important}
html.gv-v2 body #panelFishing .fish-subtab{height:62px!important;flex:1;max-width:240px;min-width:130px;padding:10px 18px!important;display:flex;flex-direction:row;gap:10px;align-items:center;justify-content:center}
html.gv-v2 body #panelFishing .fish-subtab img{width:29px;height:29px;object-fit:contain}
html.gv-v2 body #panelFishing .gf-head-controls{display:flex;gap:8px;margin:0}
html.gv-v2 body #panelFishing :is(.gf-motion,.gf-help,.gf-mobile-events){width:40px;height:40px;border:0;background:url('/v2/art/council/nav-bronze.webp') center/contain no-repeat;color:#ffe1a5;box-shadow:none}
html.gv-v2 body #panelFishing :is(.fish-bestiary,.fish-workshop,.fish-tournament-wrap){max-width:1500px;width:100%;margin:0 auto;padding:0!important;background:none!important}
/* The atlas is a row of illustrated places, not five text input boxes. */
html.gv-v2 body #panelFishing .gf-atlas-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:28px 0 34px}
html.gv-v2 body #panelFishing .gf-atlas-tab{position:relative;display:block;width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:1.35;border:12px solid transparent!important;border-image:url('/v2/art/council/dialog.webp') 150 fill / 12px / 0 stretch!important;background:none!important;padding:0!important;border-radius:0;overflow:visible;color:#ffe4b5;box-shadow:0 12px 18px #09060b66;outline:none!important}
html.gv-v2 body #panelFishing .gf-atlas-tab>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;margin:0;filter:brightness(.7) saturate(.75);border:0;border-radius:0}
html.gv-v2 body #panelFishing .gf-atlas-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px 12px;background:linear-gradient(transparent 15%,#17111ce8 90%);text-align:left;text-shadow:0 2px 5px #000;gap:6px}
html.gv-v2 body #panelFishing .gf-atlas-label b{font:700 clamp(12px,1.4vw,18px) Cinzel,Georgia,serif;line-height:1.3}
html.gv-v2 body #panelFishing .gf-atlas-label small{font-size:12px;color:#e1d0ba}
html.gv-v2 body #panelFishing .gf-atlas-mark{position:absolute;right:8px;top:6px;display:none;width:25px;height:25px;background:#ecd092;color:#302017;border-radius:50%;line-height:25px;text-align:center}
html.gv-v2 body #panelFishing .gf-atlas-tab[aria-pressed=true] .gf-atlas-mark{display:block}
html.gv-v2 body #panelFishing .gf-atlas-tab[aria-pressed=true]>img,html.gv-v2 body #panelFishing .gf-atlas-tab:hover>img{filter:brightness(1) saturate(1)}
html.gv-v2 body #panelFishing .gf-atlas-tab[aria-pressed=true]{filter:drop-shadow(0 4px 7px #ae7c3066)}
html.gv-v2 body #panelFishing .gf-atlas-tab:focus-visible{outline:3px solid #a7e4cf!important;outline-offset:5px!important}
/* The contest: trophy stage followed by a leaderboard and reward ledger. */
html.gv-v2 body #panelFishing .fish-tournament-hero{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);align-items:center;position:relative;isolation:isolate;min-height:420px;max-width:1180px;margin:0 auto 32px;padding:0 25px;background:none!important;border:0;overflow:visible}
html.gv-v2 body #panelFishing .fish-tournament-hero:before{content:'';position:absolute;inset:0 -8%;background:radial-gradient(ellipse,#181120e8 12%,#181120ba 40%,transparent 72%);z-index:-1;pointer-events:none}
html.gv-v2 body #panelFishing .gf-tournament-art{width:100%;max-width:400px;justify-self:center}
html.gv-v2 body #panelFishing .gf-tournament-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 22px 18px #080509aa)}
html.gv-v2 body #panelFishing .ft-hero-content{margin:0!important;width:100%;max-width:none;padding:24px 15px!important;text-align:left;background:none!important;position:static}
html.gv-v2 body #panelFishing .ft-hero-title{font:700 clamp(26px,3vw,43px) Cinzel,Georgia,serif;color:#ffe0a1;line-height:1.22;text-wrap:balance;text-shadow:0 3px 10px #08050b;margin:0 0 24px}
html.gv-v2 body #panelFishing .ft-week-strip{max-width:520px;margin-left:0}
html.gv-v2 body #panelFishing :is(.ft-clock,.ft-pool-note){font-size:14px;line-height:1.6;color:#ead9c4;text-align:left}
html.gv-v2 body #panelFishing .ft-pool{display:flex;justify-content:flex-start;gap:12px;margin:22px 0 8px;padding:0;background:none;border:0;color:#ffdc99}
html.gv-v2 body #panelFishing .ft-pool-value{font-size:36px;color:#ffda8c}
html.gv-v2 body #panelFishing .ft-pool-label{color:#dfc9a8}
html.gv-v2 body #panelFishing .ft-info-btn{background:url('/v2/art/council/action-walnut.webp') center/contain no-repeat!important;border:0!important;min-width:180px;height:54px;color:#ffe3af;padding:12px 25px;box-shadow:none;margin-top:15px}
html.gv-v2 body #panelFishing .ft-entry{background:none!important;border:0!important;border-image:none!important;padding:16px 0!important;margin:10px 0 0;box-shadow:none!important;color:#ead9c6;display:flex;flex-wrap:wrap;gap:12px}
html.gv-v2 body #panelFishing .ft-entry-num{color:#ffdea6}
html.gv-v2 body #panelFishing .ft-enter-btn{background:url('/v2/art/council/action-amber.webp') center/contain no-repeat!important;border:0!important;min-width:215px;min-height:62px;padding:14px 25px;color:#301c0c;box-shadow:none}
html.gv-v2 body #panelFishing .ft-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
html.gv-v2 body #panelFishing .ft-card{min-width:0;border:22px solid transparent!important;border-image:url('/v2/art/council/dialog.webp') 150 fill / 22px / 0 stretch!important;background:none!important;border-radius:0!important;box-shadow:0 14px 24px #0a070b77;padding:22px!important;margin:0;overflow:visible;color:#edddc7}
html.gv-v2 body #panelFishing .ft-card-board{grid-column:1;grid-row:1 / span 2;min-height:320px;position:relative}
html.gv-v2 body #panelFishing .gf-board-emblem{width:62px;height:62px;object-fit:contain;display:block;margin:0 auto 16px;filter:drop-shadow(0 5px 5px #0007)}
html.gv-v2 body #panelFishing .ft-card-title{font:700 21px Cinzel,Georgia,serif;line-height:1.3;color:#ffe0a6;margin:0 0 22px}
html.gv-v2 body #panelFishing .ft-card-board>.ft-card-title{text-align:center}
html.gv-v2 body #panelFishing .ft-card-rules{grid-column:2}
html.gv-v2 body #panelFishing .ft-rules{border:0!important;border-image:none!important;padding:0!important;background:none!important;box-shadow:none!important;font-size:14px;line-height:1.65;grid-template-columns:85px minmax(0,1fr)}
html.gv-v2 body #panelFishing .ft-rules dd{color:#efddc6}
html.gv-v2 body #panelFishing .ft-rules dt{color:#d8bd93}
html.gv-v2 body #panelFishing .ft-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
html.gv-v2 body #panelFishing .ft-pt-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #b5986338;font-size:13px}
html.gv-v2 body #panelFishing .ft-pt-bar{display:none}
html.gv-v2 body #panelFishing .ft-pt-val{font-size:17px;font-weight:700;color:#f3debc}
html.gv-v2 body #panelFishing .ftn-lb-empty{padding:34px 16px;text-align:center;font-size:15px;line-height:1.8;color:#e4cdb4}
html.gv-v2 body #panelFishing :is(.ftn-lb-row,.ftn-lb-sub){color:#e5d0b8}
html.gv-v2 body #panelFishing .gf-rewards-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-y:auto}
html.gv-v2 body #panelFishing .ft-card-rewards table{width:100%;font-size:13px;line-height:1.5;color:#efdcc4}
html.gv-v2 body #panelFishing .ft-card-rewards th{color:#d2b88d}
/* Workshop scenery dissolves into the same harbor; no rectangular caption slab. */
html.gv-v2 body #panelFishing .gf-workshop-scene{height:330px;margin:0 0 24px;overflow:visible;background:none!important;isolation:isolate}
html.gv-v2 body #panelFishing .gf-workshop-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;mask-image:linear-gradient(transparent,#000 20%,#000 60%,transparent);opacity:.9}
html.gv-v2 body #panelFishing .gf-workshop-scene>div{left:4%;bottom:40px;max-width:650px;padding:28px!important;background:none!important;border:0;border-radius:0;isolation:isolate}
html.gv-v2 body #panelFishing .gf-workshop-scene>div:before{content:'';position:absolute;inset:-30px -90px;background:radial-gradient(ellipse,#191220f2 25%,#191220b0 48%,transparent 73%);z-index:-1}
html.gv-v2 body #panelFishing .gf-workshop-scene h2{color:#ffe1a6;text-shadow:0 3px 8px #000}
html.gv-v2 body #panelFishing .gf-workshop-scene p{font-size:15px;color:#f1dfc6;line-height:1.6}
html.gv-v2 body #panelFishing .fish-workshop-header{background:none!important;border:0;margin:0 0 12px;padding:0 10px;color:#ffdda0}
html.gv-v2 body #panelFishing .fish-workshop-desc{max-width:900px;margin:0 10px 26px}
html.gv-v2 body #panelFishing :is(.ft-open-banner,.fish-bestiary-header){color:#efdcc2}
@media(max-width:1050px){html.gv-v2 body #panelFishing .gf-atlas-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}html.gv-v2 body #panelFishing .fish-header-stats{margin-left:auto!important}html.gv-v2 body #panelFishing .ft-cols{gap:18px}html.gv-v2 body #panelFishing .ft-card{padding:15px!important;border-width:18px!important;border-image-width:18px!important}}
@media(max-width:700px){html.gv-v2 body #panelFishing .gf-harbor{padding:12px 12px 75px!important}html.gv-v2 body #panelFishing .gf-masthead{padding:0 3px 8px;border-width:16px;border-image-width:16px;margin-bottom:22px}html.gv-v2 body #panelFishing .fish-header{padding:10px 3px!important;gap:12px}html.gv-v2 body #panelFishing .gf-identity{width:100%;gap:12px}html.gv-v2 body #panelFishing .gf-harbor-seal{width:42px;height:58px}html.gv-v2 body #panelFishing .gf-subtitle{font-size:12px;margin-top:6px}html.gv-v2 body #panelFishing .fish-header-stats{margin:0!important;gap:6px}html.gv-v2 body #panelFishing :is(.fish-energy-pill,.fish-bones-pill){padding:3px!important;min-height:45px;border-width:7px!important;border-image-width:7px!important;font-size:14px}html.gv-v2 body #panelFishing .gf-head-controls{gap:3px;margin-left:auto}html.gv-v2 body #panelFishing :is(.gf-motion,.gf-help,.gf-mobile-events){width:30px;height:30px}html.gv-v2 body #panelFishing .fish-subtabs{display:grid!important;grid-template-columns:1fr 1fr;gap:4px;padding:0!important}html.gv-v2 body #panelFishing .fish-subtab{min-width:0;width:100%;max-width:none;font-size:11px;height:48px!important;padding:7px!important;gap:5px}html.gv-v2 body #panelFishing .fish-subtab img{width:23px;height:23px}html.gv-v2 body #panelFishing .gf-atlas-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}html.gv-v2 body #panelFishing .gf-atlas-tab{aspect-ratio:1.15;border-width:9px!important;border-image-width:9px!important}html.gv-v2 body #panelFishing .gf-atlas-label{padding:10px 7px;gap:4px}html.gv-v2 body #panelFishing .gf-atlas-label b{font-size:13px}html.gv-v2 body #panelFishing .gf-atlas-label small{font-size:10px}html.gv-v2 body #panelFishing .fish-tournament-hero{display:flex;flex-direction:column;padding:0;min-height:0;margin-bottom:24px}html.gv-v2 body #panelFishing .gf-tournament-art{max-width:230px;margin:-20px auto -10px}html.gv-v2 body #panelFishing .ft-hero-content{padding:12px 7px!important}html.gv-v2 body #panelFishing .ft-hero-title{font-size:26px}html.gv-v2 body #panelFishing .ft-pool{gap:8px;flex-wrap:wrap}html.gv-v2 body #panelFishing .ft-pool-value{font-size:30px}html.gv-v2 body #panelFishing .ft-cols{display:flex;flex-direction:column;gap:22px}html.gv-v2 body #panelFishing .ft-card{width:100%;padding:14px 9px!important;border-width:16px!important;border-image-width:16px!important}html.gv-v2 body #panelFishing .ft-card-title{font-size:19px}html.gv-v2 body #panelFishing .ft-rules{grid-template-columns:1fr;gap:5px}html.gv-v2 body #panelFishing .ft-rules dd{margin:0 0 14px}html.gv-v2 body #panelFishing .ft-points{grid-template-columns:1fr 1fr;gap:8px}html.gv-v2 body #panelFishing .ft-card-rewards table{min-width:280px;font-size:12px}html.gv-v2 body #panelFishing .gf-workshop-scene{height:235px;margin-bottom:20px}html.gv-v2 body #panelFishing .gf-workshop-scene>div{left:0;bottom:16px;padding:18px!important;max-width:100%}html.gv-v2 body #panelFishing .gf-workshop-scene h2{font-size:27px}html.gv-v2 body #panelFishing .gf-workshop-scene p{font-size:13px}html.gv-v2 body #panelFishing .gf-shore-layout{padding:0!important}}
html.gv-v2 body #panelFishing .fish-tournament-hero:before{inset:0}
html.gv-v2 body #panelFishing .gf-workshop-scene:after,html.gv-v2 body #panelFishing .gf-workshop-scene:before{display:none!important}
html.gv-v2 body #panelFishing .gf-workshop-scene>div:before{inset:-24px 0}
html.gv-v2 body #panelFishing .ft-open-banner{background:none!important;border:0!important;box-shadow:none!important;padding:8px 24px 18px}
html.gv-v2 body #panelFishing .fish-milestone{border:10px solid transparent!important;border-image:url('/v2/art/council/dialog.webp') 150 fill / 10px / 0 stretch!important;background:none!important;padding:8px;min-width:0}
html.gv-v2 body #panelFishing .ft-card-rewards{align-self:start}
/* Mobile pursuit: the water and thumb controls never overlap. */
.fpur-touchpad{display:none}
.fpur-direct-mode .fpur-stage{position:relative;touch-action:none}
.fpur-direct-mode #fpurCanvas{touch-action:none}
.fpur-direct-mode .fpur-countdown{position:absolute;top:8px;right:12px;font:700 28px/1.2 var(--font-display,Georgia);color:#ffe1a5;text-shadow:0 2px 5px #000;pointer-events:none}
.fpur-direct-mode .fpur-countdown[hidden]{display:none}
html.gv-v2 body .gf-game.fpur-direct-mode .fpur-stage{width:min(82vw,54dvh,420px)!important;height:min(82vw,54dvh,420px)!important}
@media(max-height:500px) and (orientation:landscape){
html.gv-v2 body .gf-game.fpur-direct-mode .fpur-content{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 16px;width:min(96vw,800px)!important;padding:10px!important}
html.gv-v2 body .gf-game.fpur-direct-mode .fpur-stage{grid-column:1;grid-row:1/4;width:72dvh!important;height:72dvh!important}
html.gv-v2 body .gf-game.fpur-direct-mode .ftb-header{grid-column:2;grid-row:1;padding:8px!important}
html.gv-v2 body .gf-game.fpur-direct-mode .fpur-hint{grid-column:2;grid-row:2;margin:0;font-size:13px!important}
html.gv-v2 body .gf-game.fpur-direct-mode .fpur-bars{grid-column:2;grid-row:3;margin:0;padding:8px!important}
}
html.gv-v2 body .gf-game.fpur-pad-mode{padding:16px 12px calc(16px + env(safe-area-inset-bottom))!important;align-items:center!important;overflow:auto!important}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-content{width:min(100%,440px)!important;max-height:none!important;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px!important;margin:auto;background:#1a1424e8!important}
html.gv-v2 body .gf-game.fpur-pad-mode .ftb-header{padding:5px 8px!important;border-width:12px!important;border-image-width:12px!important;width:100%;flex-shrink:0}
html.gv-v2 body .gf-game.fpur-pad-mode .ftb-fish-name{font-size:20px!important;line-height:1.2}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-hint{font-size:13px!important;line-height:1.4;text-align:center;color:#f4dfc1;margin:0;max-width:32ch}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-stage{width:min(70vw,31dvh,280px)!important;height:min(70vw,31dvh,280px)!important;flex-shrink:0;margin:0}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-touchpad{display:block;position:relative;box-sizing:border-box;width:100%;height:clamp(100px,18dvh,150px);flex-shrink:0;touch-action:none;user-select:none;-webkit-user-select:none;border:14px solid transparent;border-image:url('/v2/art/council/dialog.webp') 150 fill / 14px / 0 stretch;background:none;border-radius:0;cursor:crosshair;isolation:isolate}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-touchpad:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.6%,#ba9c6740 50%,transparent 50.4%),linear-gradient(transparent 49%,#ba9c6740 50%,transparent 51%);pointer-events:none}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-pad-label{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;font:700 13px Cinzel,Georgia,serif;color:#ead3a9;letter-spacing:.08em;pointer-events:none;text-shadow:0 2px 5px #000}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-touchpad.is-tracking .fpur-pad-label{opacity:0}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-pad-dot{position:absolute;left:var(--pad-x,50%);top:var(--pad-y,50%);width:24px;height:24px;border:2px solid #a1ead6;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;display:none}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-touchpad.is-tracking .fpur-pad-dot{display:block}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-bars{width:100%;margin:0;gap:6px;flex-shrink:0}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-bar>span{width:70px;font-size:10px}
html.gv-v2 body .gf-game.fpur-pad-mode .fmr-safety-close{top:max(5px,env(safe-area-inset-top));right:8px}
@media(max-height:500px) and (orientation:landscape){html.gv-v2 body .gf-game.fpur-pad-mode .fpur-content{width:min(96vw,740px)!important;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding:8px!important}html.gv-v2 body .gf-game.fpur-pad-mode .ftb-header{grid-column:1;grid-row:1}html.gv-v2 body .gf-game.fpur-pad-mode .fpur-hint{grid-column:2;grid-row:1}html.gv-v2 body .gf-game.fpur-pad-mode .fpur-stage{grid-column:1;grid-row:2 / span 2;width:52dvh!important;height:52dvh!important;justify-self:center}html.gv-v2 body .gf-game.fpur-pad-mode .fpur-touchpad{grid-column:2;grid-row:2;height:38dvh}html.gv-v2 body .gf-game.fpur-pad-mode .fpur-bars{grid-column:2;grid-row:3}}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-content{background:#1a1424!important;gap:8px;padding:12px!important}
html.gv-v2 body .gf-game.fpur-pad-mode .ftb-header{border:0!important;border-image:none!important;background:none!important;box-shadow:none!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:4px!important}
html.gv-v2 body .gf-game.fpur-pad-mode .ftb-rarity-badge{padding:4px 7px;font-size:9px}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-hint{padding:4px 8px;background:none;min-height:0}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-stage{width:min(76vw,36dvh,300px)!important;height:min(76vw,36dvh,300px)!important;background:#102d39;box-shadow:inset 0 0 25px #050c1a88}
html.gv-v2 body .gf-game.fpur-pad-mode .fpur-bars{border:0!important;border-image:none!important;background:none!important;padding:4px!important;box-shadow:none!important}
@media(max-height:500px) and (orientation:landscape){html.gv-v2 body .gf-game.fpur-pad-mode .fpur-stage{width:52dvh!important;height:52dvh!important}}
