.whg-fishing { position: relative; min-height: 760px; }
.whgf-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px 16px; }
.whgf-header h2 { margin:0 0 5px; font-size:clamp(27px,4vw,40px); color:#fff; }
.whgf-header p { margin:0; color:#86c9e8; }
.whgf-wallet { display:grid; grid-template-columns:repeat(3,minmax(86px,1fr)); gap:8px; }
.whgf-wallet div { padding:9px 12px; text-align:center; background:rgba(255,255,255,.06); border:1px solid var(--whg-border); border-radius:11px; }
.whgf-wallet span { display:block; color:#92a0b2; font-size:10px; font-weight:800; text-transform:uppercase; }
.whgf-wallet strong { color:#fff; font-size:21px; }
.whgf-tabs { display:flex; gap:5px; padding:0 18px 14px; overflow-x:auto; }
.whgf-tabs button { flex:1 0 auto; padding:9px 11px; color:#a5b0c0; font:inherit; font-size:12px; font-weight:800; cursor:pointer; background:#111722; border:1px solid rgba(255,255,255,.08); border-radius:9px; }
.whgf-tabs button.is-active,.whgf-tabs button:hover { color:#17130a!important; background:var(--whg-gold); }
.whgf-panel { display:none; padding:0 16px 18px; }
.whgf-panel.is-active { display:block; }
.whgf-lake { position:relative; min-height:500px; overflow:hidden; background:linear-gradient(#86c8dd 0 38%,#477f92 39% 53%,#173f50 54%); border:1px solid var(--whg-border); border-radius:16px; }
.whgf-water { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 60%,rgba(255,255,255,.18),transparent 25%),linear-gradient(180deg,transparent 50%,rgba(4,32,44,.5)); }
.whgf-water::after { position:absolute; inset:52% 0 0; content:""; opacity:.35; background:repeating-radial-gradient(ellipse at center,transparent 0 18px,rgba(255,255,255,.2) 19px 21px,transparent 22px 40px); }
.whgf-float { position:absolute; z-index:3; top:48%; left:50%; color:#ff604d; font-size:38px; text-shadow:0 5px 8px #000; transform:translate(-50%,-50%); transition:top .15s ease; }
.whgf-float.is-biting { top:58%; animation:whgf-bob .25s infinite alternate; }
.whgf-bite { position:absolute; z-index:5; top:25%; left:50%; color:#fff3a4; font-size:38px; font-weight:950; text-shadow:0 4px 9px #000; opacity:0; transform:translateX(-50%) scale(.7); }
.whgf-bite.is-visible { animation:whgf-bite .35s forwards; }
.whgf-reaction { position:absolute; z-index:6; right:8%; bottom:8%; left:8%; padding:7px; background:rgba(7,14,22,.82); border-radius:12px; }
.whgf-reaction__track { position:relative; height:22px; overflow:hidden; background:#2a3442; border-radius:7px; }
.whgf-reaction__zone { position:absolute; top:0; bottom:0; left:42%; width:16%; background:#66df75; opacity:.3; }
.whgf-reaction__cursor { position:absolute; top:0; bottom:0; left:0; width:5px; background:#fff; box-shadow:0 0 8px #fff; }
.whgf-catch-card { position:absolute; z-index:10; top:50%; left:50%; min-width:260px; padding:18px; color:#fff; text-align:center; background:rgba(8,13,21,.93); border:2px solid currentColor; border-radius:14px; transform:translate(-50%,-50%); }
.whgf-catch-card strong { display:block; margin:7px 0; font-size:22px; }
.whgf-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding:15px; }
.whgf-actions button,.whgf-section-head button,.whgf-card button { padding:10px 16px; color:#17130a!important; font:inherit; font-weight:850; cursor:pointer; background:var(--whg-gold); border:0; border-radius:9px; }
.whgf-actions button:disabled,.whgf-card button:disabled { opacity:.45; cursor:not-allowed; }
.whgf-hook { background:#63d978!important; }
.whgf-actions span { color:#aab5c4; font-size:13px; }
.whgf-section-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:5px 0 14px; }
.whgf-section-head h3 { margin:0 0 3px; color:#fff; font-size:23px; }
.whgf-section-head p { margin:0; color:#8997a9; font-size:12px; }
.whgf-inventory,.whgf-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; align-items:stretch; }
.whgf-fish { padding:13px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); border-radius:12px; }
.whgf-fish strong { display:block; margin-bottom:5px; color:#fff; }
.whgf-fish span { color:#98a5b6; font-size:12px; }
/* Shop card redesign — even heights, button pinned to bottom */
.whgf-card { display:flex; flex-direction:column; gap:7px; height:100%; padding:16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); border-radius:14px; transition:border-color .16s ease, background .16s ease, transform .16s ease; }
.whgf-card:hover { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.065); }
.whgf-card strong { color:#fff; font-size:15px; line-height:1.25; }
.whgf-card span,.whgf-card p { color:#98a5b6; font-size:12px; }
.whgf-card p { margin:0; line-height:1.45; }
.whgf-card > span:first-child { margin-bottom:1px; color:#7f8da0; font-size:10.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.whgf-card button { width:100%; margin-top:auto; padding:11px 14px; border-radius:10px; }
.whgf-card button:not(:disabled):hover { background:#ffd05a; }
.whgf-card.is-owned { border-color:rgba(120,242,124,.55); }
.whgf-card.is-active { border-color:var(--whg-gold); background:rgba(244,189,69,.07); box-shadow:inset 0 0 0 1px var(--whg-gold); }
.whgf-empty { grid-column:1/-1; padding:50px; color:#7f8d9f; text-align:center; }
.whgf-login-overlay { position:absolute; z-index:20; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:25px; text-align:center; background:rgba(8,13,21,.9); backdrop-filter:blur(5px); }
.whgf-login-overlay strong { color:#fff; font-size:27px; }
.whgf-login-overlay span { color:#aab5c4; }
.whgf-login-overlay a { padding:11px 24px; color:#17130a!important; font-weight:850; text-decoration:none; background:var(--whg-gold); border-radius:9px; }
@keyframes whgf-bob { to { transform:translate(-50%,8px); } }
@keyframes whgf-bite { to { opacity:1; transform:translateX(-50%) scale(1); } }
@media(max-width:760px){.whgf-header{display:grid}.whgf-wallet{width:100%}.whgf-lake{min-height:430px}.whg-fishing{min-height:0}}

/* Fishing loop v2 */
.whgf-daily{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:12px;margin:0 18px 14px;padding:10px 13px;background:rgba(244,189,69,.08);border:1px solid rgba(244,189,69,.28);border-radius:11px}.whgf-daily div:first-child{display:flex;gap:8px;align-items:center}.whgf-daily span{color:#aab5c4;font-size:12px}.whgf-daily__track{height:9px;overflow:hidden;background:rgba(0,0,0,.3);border-radius:999px}.whgf-daily__track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#e6a72e,#ffe079);transition:width .3s ease}
.whgf-lake{background:#315d70 url("../img/fishing/winter-dunmorogh1.jpg") center/cover no-repeat}.whgf-water{background:linear-gradient(180deg,rgba(4,17,28,.02) 0 48%,rgba(5,37,51,.28) 75%,rgba(4,25,37,.5))}
.whgf-float{position:absolute;z-index:7;top:70%;left:50%;width:82px;height:82px;padding:0;cursor:default;appearance:none;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;filter:drop-shadow(0 6px 5px rgba(0,0,0,.55));transform:translate(-50%,-50%);transition:top .15s ease}.whgf-float img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.whgf-float.is-biting{cursor:pointer;animation:whgf-bob-v2 .13s infinite alternate;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 6px 5px rgba(0,0,0,.65))}.whgf-float:disabled{opacity:1}
.whgf-reaction{bottom:5%;padding:8px;text-align:center}.whgf-reaction__progress{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#4e95bd,#8dd8ed);transition:width .08s linear}.whgf-reaction.is-biting .whgf-reaction__progress{background:linear-gradient(90deg,#4cc86a,#9cf2a6)}.whgf-reaction>span{display:block;margin-top:5px;color:#d8e2ec;font-size:11px}
@keyframes whgf-bob-v2{from{transform:translate(-54%,-55%) rotate(-7deg)}to{transform:translate(-46%,-42%) rotate(8deg)}}
@media(max-width:760px){.whgf-daily{grid-template-columns:1fr}}
/* Fishing timing loop v3 */
.whgf-reaction{bottom:2%;padding:9px 9px 8px;background:rgba(7,14,22,.9)}
.whgf-reaction__track{height:28px;border:1px solid rgba(255,255,255,.13);background:#283444;box-shadow:inset 0 2px 7px rgba(0,0,0,.38)}
.whgf-reaction__progress{z-index:1;display:block;background:linear-gradient(90deg,#438bae,#8bdaf1);transition:none}
.whgf-reaction__phase{position:absolute;z-index:1;inset:0;display:none;transition:background .15s ease}
.whgf-reaction__curtain{position:absolute;z-index:2;top:0;bottom:0;width:0;background:linear-gradient(180deg,#111a26,#202c3b);box-shadow:0 0 7px rgba(0,0,0,.7)}
.whgf-reaction__curtain--left{left:0;border-right:2px solid rgba(255,255,255,.75)}
.whgf-reaction__curtain--right{right:0;border-left:2px solid rgba(255,255,255,.75)}
.whgf-reaction.is-biting .whgf-reaction__progress{display:none}
.whgf-reaction.is-biting .whgf-reaction__phase{display:block}
.whgf-reaction.is-early .whgf-reaction__phase{background:linear-gradient(90deg,#a84d35,#e47a45)}
.whgf-reaction.is-green .whgf-reaction__phase{background:linear-gradient(90deg,#2f8d52,#70db78)}
.whgf-reaction.is-purple .whgf-reaction__phase{background:linear-gradient(90deg,#7131a8,#c55cff);box-shadow:inset 0 0 13px rgba(255,255,255,.46)}
.whgf-reaction.is-early>span{color:#ffb09a}.whgf-reaction.is-green>span{color:#99ecaa}.whgf-reaction.is-purple>span{color:#dda2ff;font-weight:800}
.whgf-float.is-waiting{cursor:pointer}.whgf-float.is-waiting:hover{filter:drop-shadow(0 0 7px rgba(139,218,241,.9)) drop-shadow(0 6px 5px rgba(0,0,0,.65));transform:translate(-50%,-53%)}
/* Fishing timing visibility v4 */
.whgf-reaction__track{height:32px;border:2px solid rgba(255,255,255,.26)}
.whgf-reaction__phase{z-index:1;filter:saturate(1.35) brightness(1.08)}
.whgf-reaction__curtain{z-index:2;background:rgba(10,18,29,.44);box-shadow:inset 0 0 10px rgba(0,0,0,.38)}
.whgf-reaction__curtain--left{border-right:3px solid #fff}
.whgf-reaction__curtain--right{border-left:3px solid #fff}
.whgf-reaction.is-early .whgf-reaction__phase{background:linear-gradient(90deg,#c4452d,#ff8748)}
.whgf-reaction.is-green .whgf-reaction__phase{background:linear-gradient(90deg,#159447,#7bea79)}
.whgf-reaction.is-purple .whgf-reaction__phase{background:linear-gradient(90deg,#6d20ae,#df63ff);box-shadow:inset 0 0 18px rgba(255,255,255,.65)}
/* Fishing segmented timing v5 */
.whgf-reaction__zones{position:absolute;z-index:1;inset:0;display:none;align-items:stretch}
.whgf-reaction.is-biting .whgf-reaction__zones{display:flex}
.whgf-reaction__zone{display:block;flex:0 0 auto;min-width:0}
.whgf-reaction__zone--early{background:linear-gradient(180deg,#fff,#dce4ed)}
.whgf-reaction__zone--green{background:linear-gradient(180deg,#83ef91,#159447)}
.whgf-reaction__zone--purple{background:linear-gradient(180deg,#e58aff,#7926ba);box-shadow:inset 0 0 12px rgba(255,255,255,.65)}
.whgf-reaction__divider{position:relative;z-index:2;flex:0 0 4px;background:#111927;box-shadow:0 0 0 1px rgba(255,255,255,.72),0 0 7px rgba(0,0,0,.9)}
.whgf-reaction__curtain{background:rgba(7,13,22,.2)}
.whgf-reaction.is-early>span{color:#f3f6fa}.whgf-reaction.is-green>span{color:#99ecaa}.whgf-reaction.is-purple>span{color:#dda2ff}
.whgf-reaction__zone{flex-basis:0}

/* Fishing centered target v6 */
.whgf-reaction__zones{display:none!important;inset:0;overflow:hidden;border-radius:5px}
.whgf-reaction.is-biting .whgf-reaction__zones{display:flex!important}
.whgf-reaction__zone{display:flex;flex-basis:0;align-items:center;justify-content:center;overflow:hidden;color:#101722;font-size:9px;font-weight:950;letter-spacing:.04em;text-shadow:0 1px rgba(255,255,255,.35)}
.whgf-reaction__zone--white{background:linear-gradient(180deg,#fff,#cfd8e3)}
.whgf-reaction__zone--green{background:linear-gradient(180deg,#85f397,#18a34d);color:#082711}
.whgf-reaction__zone--purple{background:linear-gradient(180deg,#ee9cff,#852bc4);color:#fff;text-shadow:0 1px 3px #3d075f;box-shadow:inset 0 0 12px rgba(255,255,255,.7)}
.whgf-reaction__divider{flex:0 0 3px;background:#0c1420;box-shadow:0 0 0 1px #fff,0 0 6px #000}
.whgf-reaction__marker{position:absolute;z-index:5;top:-4px;bottom:-4px;left:0;width:4px;background:#fff;border-radius:3px;box-shadow:0 0 4px #000,0 0 10px #fff;transform:translateX(-50%);display:none;pointer-events:none}
.whgf-reaction.is-biting .whgf-reaction__marker{display:block}
.whgf-reaction.is-white>span{color:#f3f6fa}.whgf-reaction.is-green>span{color:#99ecaa}.whgf-reaction.is-purple>span{color:#e8b3ff;font-weight:900}
/* Fishing segment collision fix v7 */
.whgf-reaction__zones{position:absolute;inset:0;width:100%;height:100%;align-items:stretch}
.whgf-reaction__segment{position:relative;top:auto;bottom:auto;left:auto;width:auto;min-width:0;display:flex;flex:0 1 0;align-items:center;justify-content:center;overflow:hidden;font-size:10px;font-weight:950;letter-spacing:.05em;white-space:nowrap}
.whgf-reaction__segment--white{background:linear-gradient(180deg,#fff,#cbd6e2);color:#17202c}
.whgf-reaction__segment--green{background:linear-gradient(180deg,#8aff9b,#159447);color:#062510}
.whgf-reaction__segment--purple{background:linear-gradient(180deg,#f0a0ff,#7c26b8);color:#fff;text-shadow:0 1px 3px #360052;box-shadow:inset 0 0 15px rgba(255,255,255,.75)}
.whgf-reaction__marker{width:6px;background:#fff;box-shadow:0 0 4px #000,0 0 12px #fff}
.whgf-reaction__marker::before{position:absolute;top:-8px;left:50%;content:"";border-right:6px solid transparent;border-bottom:7px solid #fff;border-left:6px solid transparent;transform:translateX(-50%)}
.whgf-reaction.is-biting>span::after{content:" · Натискайте у зеленій або фіолетовій зоні";color:#fff;font-weight:700}
/* Fishing dual caret v8 */
.whgf-reaction__track{box-shadow:none}
.whgf-reaction__segment,.whgf-reaction__segment--purple,.whgf-reaction__divider{box-shadow:none;text-shadow:none}
.whgf-reaction__segment--white{background:#edf2f7}
.whgf-reaction__segment--green{background:#39bd61}
.whgf-reaction__segment--purple{background:#a83fd0}
.whgf-reaction__marker{top:-5px;bottom:-5px;width:5px;background:#fff;border:1px solid #111827;border-radius:1px;box-shadow:none;transform:translateX(-50%)}
.whgf-reaction__marker::before{top:-7px;border-right:5px solid transparent;border-bottom:6px solid #fff;border-left:5px solid transparent}
.whgf-reaction__marker--right{left:100%}
.whgf-reaction.is-biting>span::after{content:none}

/* UI polish v9 — wallet + tabs */
.whgf-header{padding:22px 24px 18px;align-items:flex-start;gap:16px}
.whgf-header>div{flex:1 1 auto}
.whgf-header h2{font-size:clamp(24px,3.5vw,36px)}
.whgf-wallet{grid-template-columns:repeat(3,minmax(90px,1fr));gap:9px;min-width:250px}
.whgf-wallet div{position:relative;padding:11px 14px 10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:13px;overflow:hidden;transition:background .15s}
.whgf-wallet div::before{position:absolute;inset:0 auto 0 0;content:"";width:3px;border-radius:13px 0 0 13px}
.whgf-wallet div:nth-child(1)::before{background:var(--whg-gold)}
.whgf-wallet div:nth-child(2)::before{background:var(--whg-blue)}
.whgf-wallet div:nth-child(3)::before{background:var(--whg-green)}
.whgf-wallet span{color:#8a99ae;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.whgf-wallet strong{font-size:26px;font-weight:900;letter-spacing:-.01em;line-height:1}
.whgf-wallet div:nth-child(1) strong{color:var(--whg-gold)}
.whgf-wallet div:nth-child(2) strong{color:var(--whg-blue)}
.whgf-wallet div:nth-child(3) strong{color:var(--whg-green)}
/* Tabs */
.whgf-tabs{padding:0 18px 14px;gap:5px}
.whgf-tabs button{color:#c5d0de;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:12.5px;padding:10px 12px;transition:color .14s,background .14s,border-color .14s}
.whgf-tabs button:hover{color:#fff!important;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24)}
.whgf-tabs button.is-active,.whgf-tabs button.is-active:hover{color:#17130a!important;background:var(--whg-gold);border-color:var(--whg-gold)}
@media(max-width:760px){.whgf-header{display:grid}.whgf-wallet{width:100%;min-width:0;grid-template-columns:repeat(3,1fr)}}