/* Fish Tank Plus web game layer. Teal glass and gold; Fraunces for numbers and titles, Manrope for words. */
.pg{--gold:#f5c95a;--gold2:#ffe6a0;--gold3:#b9852b;--teal:#0b2a33;--teal2:#123c47;--ink:#eaf7f7;--muted:#9fc2c4;--glass:rgba(8,32,40,.72);--line:rgba(245,201,90,.38);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);position:fixed;inset:0;z-index:4;pointer-events:none;font-family:Manrope,system-ui,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}
.pg button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.pg-fx{position:fixed;inset:0;pointer-events:none}
.pg [hidden],.pg[hidden]{display:none!important}
.pg-on .fs-chip,.pg-on .feeding-dock{display:none!important}
.pg-on #menu{top:calc(14px + var(--safe-t))}

/* tint layers */
.pg-tint{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}
.pg-tint.pg-gold{opacity:1;background:radial-gradient(ellipse at 50% 40%,rgba(255,205,90,.28),rgba(255,170,40,.18) 55%,rgba(120,70,0,.32));mix-blend-mode:screen;animation:pg-goldpulse 1.1s ease-in-out infinite alternate}
.pg-tint.pg-ink{opacity:1;background:radial-gradient(ellipse at center,transparent 35%,rgba(70,20,120,.55));transition:opacity .15s}
@keyframes pg-goldpulse{to{filter:brightness(1.25)}}

/* top-left wallet and goal */
.pg-top{position:fixed;left:calc(12px + env(safe-area-inset-left,0px));top:calc(12px + var(--safe-t));display:flex;flex-direction:column;gap:7px;align-items:flex-start;pointer-events:auto}
.pg-wallet{position:relative;display:flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 10px;border-radius:24px;border:1.5px solid var(--line);background:linear-gradient(180deg,rgba(20,64,74,.92),rgba(7,30,37,.92));box-shadow:0 4px 0 rgba(0,0,0,.35),0 8px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden}
.pg-wallet img{width:30px;height:30px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));animation:pg-bob 3.2s ease-in-out infinite}
.pg-bal{font:800 22px/1 Fraunces,Georgia,serif;letter-spacing:.2px;color:var(--gold2);text-shadow:0 0 12px rgba(255,200,90,.45);min-width:1.2em}
.pg-wallet-shine{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,240,190,.28) 45%,transparent 60%);transform:translateX(-120%);animation:pg-sheen 5.5s ease-in-out infinite 1.5s}
.pg-wallet.pg-bump{animation:pg-bump .28s ease-out}
.pg-wallet.pg-bump .pg-bal{animation:pg-countglow .4s ease-out}
@keyframes pg-bump{40%{transform:scale(1.12)}}
@keyframes pg-countglow{40%{color:#fff;text-shadow:0 0 18px #ffd56a}}
@keyframes pg-sheen{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes pg-bob{50%{transform:translateY(-2px) rotate(-6deg)}}
.pg-goal{display:grid;grid-template-columns:38px auto;grid-template-rows:auto 7px;column-gap:9px;row-gap:5px;align-items:center;min-width:170px;max-width:min(62vw,250px);padding:6px 12px 7px 6px;border-radius:16px;border:1px solid rgba(160,220,230,.22);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.pg-goal-pic{grid-row:1/3;width:38px;height:38px;border-radius:50%;overflow:hidden;border:2px solid rgba(245,201,90,.55);background:#0d2f39;box-shadow:0 0 0 3px rgba(0,0,0,.2)}
.pg-goal-pic img{width:100%;height:100%;object-fit:cover}
.pg-goal-txt{display:flex;gap:8px;align-items:baseline;white-space:nowrap;overflow:hidden}
.pg-goal-txt b{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis}
.pg-goal-txt i{font-style:normal;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.pg-goal-bar{height:7px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.pg-goal-bar i{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#d99a2b,#ffe08a,#d99a2b);background-size:200% 100%;animation:pg-flow 2.4s linear infinite;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
@keyframes pg-flow{to{background-position:-200% 0}}
.pg-goal.pg-ready{border-color:var(--gold);animation:pg-readyglow 1.3s ease-in-out infinite}
.pg-goal.pg-ready .pg-goal-txt i{color:var(--gold2);font-weight:700}
.pg-goal.pg-ready .pg-goal-pic{animation:pg-wiggle 1.3s ease-in-out infinite}
@keyframes pg-readyglow{50%{box-shadow:0 0 0 2px rgba(245,201,90,.5),0 0 26px rgba(245,201,90,.6)}}
@keyframes pg-wiggle{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-10deg)}80%{transform:rotate(9deg)}90%{transform:rotate(-5deg)}}

/* top-right: level and sound, under the existing menu button */
.pg-corner{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));top:calc(70px + var(--safe-t));display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}
.pg-level{display:flex;align-items:center;gap:7px;height:32px;padding:0 11px 0 4px;border-radius:17px;border:1px solid rgba(160,220,230,.22);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12px;font-weight:600}
.pg-level-n{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,#c98d2c);color:#3a2306;font:800 13px/1 Fraunces,serif;box-shadow:0 0 10px rgba(245,201,90,.5)}
.pg-mute{width:36px;height:36px;border-radius:50%;border:1px solid rgba(160,220,230,.22);background:var(--glass);display:grid;place-items:center}
.pg-mute svg{width:19px;height:19px}
.pg-mute.pg-muted .pg-wave{opacity:.15}
.pg-playing .pg-corner .pg-level{display:none}

/* bottom dock */
.pg-dock{position:fixed;left:0;right:0;bottom:calc(14px + var(--safe-b));display:flex;align-items:flex-end;justify-content:center;gap:clamp(14px,6vw,40px);pointer-events:none}
.pg-dock>*{pointer-events:auto}
.pg-center{display:flex;flex-direction:column;align-items:center;gap:9px}
.pg-play{position:relative;width:min(56vw,240px);height:74px;border:0;border-radius:40px;background:linear-gradient(180deg,#ffe9a3 0%,#f5c95a 38%,#d59a2c 100%);color:#3b2405;box-shadow:0 6px 0 #8a5a14,0 12px 28px rgba(0,0,0,.45),0 0 0 2px rgba(255,240,190,.55) inset,0 0 40px rgba(255,200,80,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;animation:pg-breathe 2.2s ease-in-out infinite;transition:transform .12s}
.pg-play:active{transform:translateY(4px);box-shadow:0 2px 0 #8a5a14,0 6px 16px rgba(0,0,0,.45)}
.pg-play-word{font:800 31px/1 Fraunces,Georgia,serif;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.pg-play-sub{font:700 11.5px/1.2 Manrope,sans-serif;opacity:.78;margin-top:4px;letter-spacing:.2px}
.pg-play-sheen{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 48%,transparent 60%);transform:translateX(-90%);animation:pg-sheen2 3.2s ease-in-out infinite}
.pg-play-ring{position:absolute;inset:-7px;border-radius:46px;border:2px solid rgba(255,214,110,.7);animation:pg-ripple 2.2s ease-out infinite}
.pg-play.pg-wait{filter:saturate(.6) brightness(.9);animation:none}
@keyframes pg-breathe{50%{transform:scale(1.035);box-shadow:0 6px 0 #8a5a14,0 12px 28px rgba(0,0,0,.45),0 0 0 2px rgba(255,240,190,.55) inset,0 0 60px rgba(255,200,80,.6)}}
@keyframes pg-sheen2{0%,55%{transform:translateX(-90%)}100%{transform:translateX(90%)}}
@keyframes pg-ripple{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.18,1.35)}}
.pg-tide{display:flex;align-items:center;gap:7px;height:34px;padding:0 15px 0 11px;border-radius:18px;border:1px solid rgba(110,230,240,.55);background:linear-gradient(180deg,rgba(18,95,110,.9),rgba(8,45,58,.92));box-shadow:0 0 18px rgba(80,220,240,.35),0 4px 12px rgba(0,0,0,.35);font-weight:700;font-size:13px;position:relative;animation:pg-floaty 3s ease-in-out infinite}
.pg-tide svg{width:19px;height:19px;color:#8ff0ff}
.pg-tide .pg-dot{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 0 2px #072a33;animation:pg-dot 1.2s ease-in-out infinite}
.pg-tide.pg-done{animation:none;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.pg-tide.pg-done .pg-dot{display:none}
@keyframes pg-floaty{50%{transform:translateY(-3px)}}
@keyframes pg-dot{50%{transform:scale(1.35)}}
.pg-round-btn{position:relative;width:68px;height:68px;border-radius:50%;border:1.5px solid var(--line);background:radial-gradient(circle at 50% 30%,#1c5a66,#0a2830 70%);box-shadow:0 4px 0 rgba(0,0,0,.4),0 10px 22px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin-bottom:3px}
.pg-round-btn .pg-ico svg{width:34px;height:34px;display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.pg-cap{font-size:10.5px;font-weight:700;letter-spacing:.3px;color:var(--gold2)}
.pg-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:linear-gradient(180deg,#ff8a5c,#e2453b);color:#fff;font:800 12px/22px Manrope,sans-serif;box-shadow:0 2px 0 #8b1f17,0 0 0 2px #072a33}
.pg-round-btn.pg-ready{border-color:var(--gold);animation:pg-readyglow 1.2s ease-in-out infinite}
.pg-round-btn.pg-ready .pg-ico{animation:pg-wiggle 1.5s ease-in-out infinite}
.pg-round-btn.pg-ready .pg-badge{animation:pg-dot 1s ease-in-out infinite}

/* round HUD */
.pg-hud{position:fixed;inset:0;pointer-events:none}
.pg-ring{position:fixed;left:50%;top:calc(10px + var(--safe-t));width:104px;height:104px;transform:translateX(-50%);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(6,28,36,.85) 58%,rgba(6,28,36,0) 72%)}
.pg-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.pg-ring-bg{fill:none;stroke:rgba(255,255,255,.13);stroke-width:6}
.pg-ring-fg{fill:none;stroke:url(#pgGrad);stroke:var(--gold);stroke-width:6;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:0;filter:drop-shadow(0 0 5px rgba(255,200,80,.8));transition:stroke-dashoffset .2s linear}
.pg-score{font:800 25px/1 Fraunces,Georgia,serif;color:#fff6dc;text-shadow:0 0 12px rgba(255,200,90,.6);font-variant-numeric:tabular-nums;margin-top:-6px}
.pg-secs{position:absolute;bottom:20px;font:700 11.5px/1 Manrope,sans-serif;color:var(--muted)}
.pg-last .pg-ring-fg{stroke:#ff8a5c;animation:pg-urgent .5s ease-in-out infinite alternate}
.pg-last .pg-secs{color:#ffb38a;font-size:14px}
@keyframes pg-urgent{to{filter:drop-shadow(0 0 10px #ff6b4a)}}
.pg-mult{position:fixed;left:calc(50% + 58px);top:calc(36px + var(--safe-t));display:flex;align-items:baseline;font:800 30px/1 Fraunces,serif;color:var(--gold2);text-shadow:0 0 14px rgba(255,190,60,.8),0 2px 0 #6b3f07}
.pg-mult span{font-size:19px;margin-right:1px}
.pg-mult[data-m="1"]{opacity:.45}
.pg-mult[data-m="4"],.pg-mult[data-m="5"],.pg-mult[data-m="6"]{color:#fff;text-shadow:0 0 18px #ffb13b,0 0 34px #ff7a1a,0 2px 0 #6b3f07}
.pg-mult.pg-stamp{animation:pg-stamp .35s cubic-bezier(.3,1.8,.5,1)}
@keyframes pg-stamp{0%{transform:scale(2.2);opacity:0}100%{transform:scale(1);opacity:1}}
.pg-chain{position:fixed;left:50%;top:calc(120px + var(--safe-t));transform:translateX(-50%);font:800 15px/1 Manrope,sans-serif;letter-spacing:.6px;color:#bfefff;text-shadow:0 0 10px rgba(80,200,255,.7);text-transform:uppercase}
.pg-chain.pg-hot{color:#ffe6a0;text-shadow:0 0 12px #ffb13b;animation:pg-dot .5s ease-in-out infinite}
.pg-rush{position:fixed;left:calc(12px + env(safe-area-inset-left,0px));top:30%;width:16px;height:min(36vh,260px);border-radius:9px;border:1.5px solid rgba(245,201,90,.5);background:rgba(6,28,36,.75);overflow:hidden;box-shadow:0 0 14px rgba(0,0,0,.4)}
.pg-rush-fill{position:absolute;inset:0;transform-origin:bottom;transform:scaleY(0);background:linear-gradient(0deg,#d38b1d,#ffd56a 70%,#fff3c8);box-shadow:0 0 14px #ffc24a;transition:transform .25s}
.pg-rush-label{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);font:800 10.5px/1 Manrope,sans-serif;letter-spacing:.6px;color:var(--gold2);text-transform:uppercase}
.pg-rush{overflow:visible}
.pg-rush.pg-near{animation:pg-readyglow .6s ease-in-out infinite}
.pg-rush.pg-full{border-color:#fff3c8;box-shadow:0 0 22px #ffcf5a,0 0 44px rgba(255,180,60,.6)}
.pg-pinches{position:fixed;left:50%;bottom:calc(22px + var(--safe-b));transform:translateX(-50%);display:flex;gap:10px;padding:8px 14px;border-radius:20px;background:rgba(6,28,36,.6)}
.pg-pinches i{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,214,140,.35);transition:all .2s}
.pg-pinches i.pg-on{background:radial-gradient(circle at 35% 35%,#ffe2a8,#d58a3a);border-color:#ffd99a;box-shadow:0 0 8px rgba(255,190,90,.7)}
.pg-pinches.pg-empty{animation:pg-shake .3s}
@keyframes pg-shake{25%{transform:translateX(calc(-50% - 6px))}75%{transform:translateX(calc(-50% + 6px))}}
.pg-helpers{position:fixed;right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(70px + var(--safe-b));display:flex;flex-direction:column;gap:8px;pointer-events:auto}
.pg-helper{position:relative;display:flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border-radius:22px;border:1px solid rgba(160,220,230,.25);background:var(--glass);font-size:11.5px;font-weight:700}
.pg-helper img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(245,201,90,.5)}
.pg-helper.pg-tap{border-color:var(--gold);animation:pg-readyglow 1.4s ease-in-out infinite}
.pg-helper.pg-tap i{position:absolute;top:-6px;left:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#3b2405;font:800 11px/18px Manrope;font-style:normal;text-align:center}
.pg-helper:disabled{opacity:.4;animation:none}
.pg-helper.pg-fire{animation:pg-bump .3s}
.pg-pause{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));top:calc(14px + var(--safe-t));width:46px;height:46px;border-radius:50%;border:1px solid rgba(160,220,230,.25);background:var(--glass);display:grid;place-items:center;pointer-events:auto;z-index:2}
.pg-pause svg{width:20px;height:20px}
.pg-playing #menu{opacity:0;pointer-events:none}
.pg-playing .pg-top .pg-goal{transform:scale(.88);transform-origin:left top;opacity:.75}

/* banners */
.pg-banner{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;font:800 46px/1.05 Fraunces,Georgia,serif;color:#fff6dc;text-align:center;text-shadow:0 0 22px rgba(80,200,255,.8),0 3px 0 rgba(0,0,0,.4);white-space:nowrap;transition:opacity .2s,transform .35s cubic-bezier(.3,1.7,.5,1)}
.pg-banner.pg-show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.pg-banner.pg-gold{color:#ffe6a0;text-shadow:0 0 24px rgba(255,190,60,.95),0 3px 0 #6b3f07}
.pg-banner.pg-count{font-size:96px}
.pg-banner.pg-small{font-size:26px;white-space:normal;width:86vw}
.pg-banner.pg-rushword{font-size:min(26vw,120px);letter-spacing:4px;color:#fff3c8;background:linear-gradient(180deg,#fff9e0,#ffd56a 45%,#d38b1d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 22px rgba(255,180,50,.9)) drop-shadow(0 4px 0 #6b3f07);animation:pg-rushwobble .4s ease-in-out 3}
@keyframes pg-rushwobble{50%{transform:translate(-50%,-50%) scale(1.08) rotate(-2deg)}}

/* onboarding */
.pg-hint{position:fixed;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.pg-hint b{padding:9px 16px;border-radius:20px;background:rgba(6,28,36,.82);border:1px solid var(--line);font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.35);animation:pg-floaty 2s ease-in-out infinite}
.pg-hand{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:pg-tap 1.4s ease-out infinite}
@keyframes pg-tap{0%{transform:scale(.6);opacity:0;box-shadow:0 0 0 0 rgba(255,255,255,.7)}30%{transform:scale(1);opacity:1}100%{transform:scale(1.25);opacity:0;box-shadow:0 0 0 26px rgba(255,255,255,0)}}
.pg-callout{position:fixed;transform:translate(-50%,-100%);padding:9px 14px;border-radius:14px;background:linear-gradient(180deg,#fff3c8,#f5c95a);color:#3b2405;font-weight:800;font-size:13.5px;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.4);animation:pg-floaty 1.6s ease-in-out infinite;pointer-events:none}
.pg-callout::after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:#f5c95a}
.pg-playing .pg-callout{display:none}

/* toasts */
.pg-toasts{position:fixed;left:50%;top:calc(132px + var(--safe-t));transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;width:min(92vw,420px)}
.pg-toast{padding:10px 16px;border-radius:14px;background:rgba(6,28,36,.9);border:1px solid rgba(160,220,230,.25);font-size:13.5px;box-shadow:0 8px 22px rgba(0,0,0,.35);animation:pg-toastin .35s cubic-bezier(.3,1.6,.5,1)}
.pg-toast b{color:var(--gold2);margin-right:4px}
.pg-toast.pg-gold{border-color:var(--gold);box-shadow:0 0 22px rgba(245,201,90,.35),0 8px 22px rgba(0,0,0,.35)}
.pg-toast.pg-out{opacity:0;transform:translateY(-10px);transition:all .5s}
@keyframes pg-toastin{from{opacity:0;transform:translateY(-14px) scale(.9)}}

/* flying fish sticks */
.pg-flystick{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;z-index:30;filter:drop-shadow(0 0 8px rgba(255,200,80,.9))}

/* sheets and cards */
.pg-sheet{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;z-index:20}
.pg-sheet-back{position:absolute;inset:0;background:rgba(2,12,16,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.pg-card{position:relative;width:min(100vw,460px);max-height:88vh;overflow:auto;margin-bottom:0;padding:22px 20px calc(20px + var(--safe-b));border-radius:26px 26px 0 0;border:1px solid var(--line);border-bottom:0;background:linear-gradient(180deg,rgba(20,62,72,.97),rgba(6,26,33,.98));box-shadow:0 -10px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(100%);transition:transform .38s cubic-bezier(.2,1.25,.4,1);text-align:center}
.pg-sheet.pg-open .pg-sheet-back{opacity:1}
.pg-sheet.pg-open .pg-card{transform:none}
@media (min-width:700px){.pg-sheet{align-items:center}.pg-card{border-radius:26px;border-bottom:1px solid var(--line);padding-bottom:22px;transform:translateY(40px) scale(.94);opacity:0;transition:transform .38s cubic-bezier(.2,1.4,.4,1),opacity .2s}.pg-sheet.pg-open .pg-card{opacity:1}}
.pg-card h2{margin:4px 0 8px;font:700 25px/1.15 Fraunces,Georgia,serif;color:#fff3d6}
.pg-card h2 svg{width:22px;height:22px;vertical-align:-3px;color:var(--gold)}
.pg-card p{margin:6px 0;font-size:14px;line-height:1.45}
.pg-muted{color:var(--muted);font-size:13px!important}
.pg-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.pg-btn{height:50px;border-radius:26px;border:1px solid rgba(160,220,230,.3);background:rgba(255,255,255,.06);font-weight:700!important;font-size:15.5px!important}
.pg-btn:active{transform:scale(.97)}
.pg-gold-btn{border:0;background:linear-gradient(180deg,#ffe9a3,#f5c95a 45%,#d59a2c);color:#3b2405!important;box-shadow:0 4px 0 #8a5a14,0 0 26px rgba(255,200,80,.35);font:800 18px/1 Fraunces,Georgia,serif!important}
.pg-ghost{background:transparent;border-color:transparent;color:var(--muted)!important}
.pg-pulse{animation:pg-breathe 1.8s ease-in-out infinite}
.pg-link{background:none;border:0;padding:0;color:var(--gold2);text-decoration:underline;font-weight:700}

/* result */
.pg-stars{display:flex;justify-content:center;gap:6px;margin-top:-4px;height:62px;align-items:flex-end}
.pg-star svg{width:46px;height:46px;fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.18);stroke-width:1}
.pg-star:nth-child(2) svg{width:58px;height:58px}
.pg-star.pg-lit svg{fill:url(#none);fill:#f5c95a;stroke:#fff1c2;filter:drop-shadow(0 0 10px rgba(255,200,80,.9));animation:pg-starin .5s cubic-bezier(.3,1.8,.5,1) both;animation-delay:var(--d)}
@keyframes pg-starin{0%{transform:scale(0) rotate(-90deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.pg-big-score{font:800 52px/1.05 Fraunces,Georgia,serif;color:#fff6dc;text-shadow:0 0 22px rgba(255,200,90,.5);font-variant-numeric:tabular-nums;margin-top:6px}
.pg-best{min-height:1.4em;color:var(--muted)}
.pg-best.pg-newbest{color:var(--gold2);font-weight:800;letter-spacing:.4px;animation:pg-dot .8s ease-in-out infinite}
.pg-earn{display:inline-flex;align-items:center;gap:8px;margin:8px auto 2px;padding:9px 18px;border-radius:24px;background:rgba(245,201,90,.12);border:1px solid var(--line)}
.pg-earn img{width:30px;height:30px}
.pg-earn b{font:800 28px/1 Fraunces,Georgia,serif;color:var(--gold2)}
.pg-earn span{font-weight:700;color:var(--gold2)}
.pg-allow{margin:12px auto 0;max-width:300px}
.pg-allow-bar{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden;margin:6px 0}
.pg-allow-bar i{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#3ec7d8,#9ff3ff);transition:transform .8s cubic-bezier(.3,1.3,.5,1)}
.pg-allow small{color:var(--muted);font-size:12px}
.pg-quest-done{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}
.pg-quest-done li{padding:8px 12px;border-radius:12px;background:rgba(245,201,90,.1);border:1px solid var(--line);font-size:13.5px;animation:pg-toastin .4s cubic-bezier(.3,1.6,.5,1) both}
.pg-quest-done b{color:var(--gold2);margin-right:4px}
.pg-quest-done em{font-style:normal;font-weight:800;color:var(--gold2);margin-left:4px}
.pg-buy-btn{display:flex;align-items:center;justify-content:center;gap:10px;border-color:var(--gold);color:var(--gold2)!important;animation:pg-readyglow 1.3s ease-in-out infinite}
.pg-buy-btn img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.pg-buyslot:empty{display:none}
.pg-buyslot{display:contents}

/* chest */
.pg-chest-art{position:relative;width:170px;height:170px;margin:-8px auto 0}
.pg-chest-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}
.pg-chest-open{opacity:0}
.pg-chest-glow{position:absolute;left:50%;top:44%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(255,215,110,0)}
.pg-chest-art.pg-ready .pg-chest-closed{animation:pg-chestwobble 1.6s ease-in-out infinite}
.pg-chest-art.pg-ready .pg-chest-glow{animation:pg-chestglow 1.6s ease-in-out infinite}
.pg-chest-art.pg-opened .pg-chest-closed{opacity:0}
.pg-chest-art.pg-opened .pg-chest-open{opacity:1;filter:grayscale(.3) brightness(.8)}
.pg-chest-art.pg-opening .pg-chest-closed{opacity:0;transition:opacity .15s}
.pg-chest-art.pg-opening .pg-chest-open{opacity:1;animation:pg-chestpop .6s cubic-bezier(.3,1.8,.5,1)}
.pg-chest-art.pg-opening .pg-chest-glow{animation:pg-chestblast 1s ease-out forwards}
@keyframes pg-chestwobble{0%,55%,100%{transform:rotate(0)}62%{transform:rotate(-5deg) translateY(-4px)}70%{transform:rotate(5deg) translateY(-6px)}78%{transform:rotate(-3deg)}86%{transform:rotate(2deg)}}
@keyframes pg-chestglow{50%{box-shadow:0 0 50px 30px rgba(255,215,110,.45)}}
@keyframes pg-chestpop{0%{transform:scale(.8)}100%{transform:scale(1)}}
@keyframes pg-chestblast{0%{box-shadow:0 0 0 0 rgba(255,225,140,.95)}40%{box-shadow:0 0 90px 70px rgba(255,215,110,.8)}100%{box-shadow:0 0 120px 90px rgba(255,215,110,0)}}
.pg-streak-line b{font:800 22px/1 Fraunces,serif;color:var(--gold2)}
.pg-ladder{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0 4px}
.pg-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(160,220,230,.18)}
.pg-tile small{font-size:9.5px;color:var(--muted);font-weight:700}
.pg-tile b{font:800 17px/1 Fraunces,serif}
.pg-tile.pg-past{opacity:.45}
.pg-tile.pg-today{border-color:var(--gold);background:rgba(245,201,90,.18);box-shadow:0 0 16px rgba(245,201,90,.45);animation:pg-dot 1.4s ease-in-out infinite}
.pg-tile.pg-today b{color:var(--gold2)}
.pg-tile.pg-big b{color:var(--gold2)}
.pg-freeze{color:var(--muted);font-size:12.5px!important}
.pg-snow{display:inline-block;width:14px;height:14px;margin-right:3px;vertical-align:-2px;background:radial-gradient(circle,#c9f3ff 30%,#4fc3e0 70%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

/* quests */
.pg-quests{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:9px;text-align:left}
.pg-quests li{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 12px;align-items:center;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.05);border:1px solid rgba(160,220,230,.16)}
.pg-qtext{font-weight:700;font-size:14.5px}
.pg-qbar{grid-column:1;height:7px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.pg-qbar i{display:block;height:100%;transform-origin:left;background:linear-gradient(90deg,#3ec7d8,#9ff3ff)}
.pg-qnum{grid-row:2;grid-column:2;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.pg-quests b{grid-row:1;grid-column:2;font:800 17px/1 Fraunces,serif;color:var(--gold2)}
.pg-quests li.pg-done{border-color:var(--line);background:rgba(245,201,90,.1)}
.pg-quests li.pg-done .pg-qbar i{background:linear-gradient(90deg,#d99a2b,#ffe08a)}
.pg-quests li.pg-done .pg-qnum{color:var(--gold2);font-weight:800}
.pg-qbonus.pg-done{opacity:.55;text-decoration:line-through}

/* tide and board */
.pg-tide-art svg{width:64px;height:64px;color:#8ff0ff;filter:drop-shadow(0 0 14px rgba(110,230,255,.8));animation:pg-floaty 2.4s ease-in-out infinite}
.pg-tabs{display:flex;gap:6px;justify-content:center;margin:4px 0 10px}
.pg-tabs button{padding:7px 14px;border-radius:16px;border:1px solid rgba(160,220,230,.25);background:transparent;font-size:13px;font-weight:700}
.pg-tabs button.pg-on{background:rgba(245,201,90,.18);border-color:var(--gold);color:var(--gold2)}
.pg-board{list-style:none;margin:0;padding:0;text-align:left;max-height:44vh;overflow:auto}
.pg-board li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.06)}
.pg-rank{font:800 15px/1 Fraunces,serif;color:var(--muted);text-align:center}
.pg-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-board b{font:800 16px/1 Fraunces,serif;color:var(--gold2)}
.pg-podium .pg-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#3b2405}
.pg-p1 .pg-rank{background:radial-gradient(circle at 35% 30%,#fff1b8,#d9a032)}
.pg-p2 .pg-rank{background:radial-gradient(circle at 35% 30%,#f4f7fa,#9aa8b4)}
.pg-p3 .pg-rank{background:radial-gradient(circle at 35% 30%,#ffd2b0,#b06a3c)}
.pg-me p{margin-top:10px;padding:10px;border-radius:12px;background:rgba(245,201,90,.1);border:1px solid var(--line)}

/* goal picker */
.pg-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.pg-pick button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:14px;border:1px solid rgba(160,220,230,.18);background:rgba(255,255,255,.05);font-size:11.5px;position:relative}
.pg-pick button.pg-on{border-color:var(--gold);background:rgba(245,201,90,.14)}
.pg-pick img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.pg-pick b{display:flex;align-items:center;gap:3px;font:800 13px/1 Fraunces,serif;color:var(--gold2)}
.pg-pick b img{width:16px;height:16px;border-radius:0}
.pg-pick em{position:absolute;top:4px;right:4px;font-style:normal;font-size:9px;font-weight:800;padding:2px 6px;border-radius:8px;background:rgba(62,199,216,.85);color:#032b33}

/* level */
.pg-level-big{display:grid;place-items:center;width:84px;height:84px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,#c98d2c);color:#3a2306;font:800 40px/1 Fraunces,serif;box-shadow:0 0 30px rgba(245,201,90,.6);animation:pg-breathe 2.4s ease-in-out infinite}

/* purchase reveal */
.pg-reveal{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(circle at 50% 42%,rgba(20,70,90,.55),rgba(2,10,14,.92));opacity:0;transition:opacity .35s}
.pg-reveal.pg-in{opacity:1}
.pg-reveal.pg-out{opacity:0}
.pg-reveal-rays{position:absolute;left:50%;top:40%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;background:url(/assets/play/rays.webp?v=1) center/contain no-repeat,repeating-conic-gradient(rgba(255,220,140,.14) 0 8deg,transparent 8deg 22deg);mix-blend-mode:screen;opacity:0;animation:pg-spin 14s linear infinite;transition:opacity 1s .2s}
.pg-reveal.pg-in .pg-reveal-rays{opacity:.9}
@keyframes pg-spin{to{transform:rotate(360deg)}}
.pg-reveal-orb{position:relative;width:min(58vw,250px);height:min(58vw,250px);border-radius:50%;overflow:hidden;animation:pg-orbin 1.3s cubic-bezier(.25,1.2,.4,1) both;box-shadow:0 0 0 3px rgba(220,245,255,.55),0 0 40px rgba(160,230,255,.6),inset 0 0 40px rgba(255,255,255,.35)}
.pg-reveal-orb img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.pg-reveal-shine{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.7),transparent 22%),radial-gradient(circle at 70% 80%,rgba(160,220,255,.25),transparent 40%);pointer-events:none}
@keyframes pg-orbin{0%{transform:translateY(-40vh) scale(.4)}70%{transform:translateY(0) scale(1.04)}85%{transform:scale(.97,1.03)}100%{transform:none}}
.pg-reveal.pg-burst .pg-reveal-orb{box-shadow:0 0 0 0 rgba(220,245,255,0),0 0 60px rgba(255,220,140,.8);transition:box-shadow .4s}
.pg-reveal.pg-burst .pg-reveal-orb img{animation:pg-orbwobble .6s ease-in-out}
.pg-reveal.pg-burst .pg-reveal-shine{opacity:0;transition:opacity .2s}
@keyframes pg-orbwobble{30%{transform:scale(1.12,.9)}60%{transform:scale(.94,1.08)}}
.pg-reveal-pop{position:absolute;left:50%;top:42%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%)}
.pg-reveal.pg-burst .pg-reveal-pop{animation:pg-chestblast 1s ease-out forwards}
.pg-reveal-copy{position:relative;max-width:min(88vw,380px);text-align:center;margin-top:22px;opacity:0;transform:translateY(16px);transition:all .5s .2s}
.pg-reveal.pg-burst .pg-reveal-copy{opacity:1;transform:none}
.pg-reveal-copy small{font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold2);font-size:12px}
.pg-reveal-copy h2{margin:6px 0 8px;font:800 38px/1.1 Fraunces,Georgia,serif;color:#fff6dc;text-shadow:0 0 22px rgba(255,200,90,.6)}
.pg-power{padding:9px 14px;border-radius:14px;background:rgba(62,199,216,.12);border:1px solid rgba(110,230,240,.4);font-size:14px}
.pg-power b{color:#9ff3ff;margin-right:4px}
.pg-reveal-copy .pg-btn{margin-top:16px;width:200px}

@media (prefers-reduced-motion:reduce){.pg *{animation:none!important;transition:none!important}}
@media (min-width:900px){.pg-play{width:260px}.pg-round-btn{width:74px;height:74px}}
/* the site's global button:hover colour must not repaint the game's buttons (phones keep hover after a tap) */
.pg .pg-wallet:hover{background:linear-gradient(180deg,rgba(20,64,74,.92),rgba(7,30,37,.92))}
.pg .pg-goal:hover,.pg .pg-level:hover,.pg .pg-mute:hover,.pg .pg-pause:hover,.pg .pg-helper:hover{background:var(--glass)}
.pg .pg-play:hover{background:linear-gradient(180deg,#ffe9a3 0%,#f5c95a 38%,#d59a2c 100%)}
.pg .pg-tide:hover{background:linear-gradient(180deg,rgba(18,95,110,.9),rgba(8,45,58,.92))}
.pg .pg-round-btn:hover{background:radial-gradient(circle at 50% 30%,#1c5a66,#0a2830 70%)}
.pg .pg-btn:hover{background:rgba(255,255,255,.1)}
.pg .pg-gold-btn:hover{background:linear-gradient(180deg,#fff0bd,#f7d06a 45%,#dba236)}
.pg .pg-ghost:hover,.pg .pg-link:hover{background:transparent}
.pg .pg-tabs button:hover{background:rgba(255,255,255,.06)}
.pg .pg-tabs button.pg-on:hover{background:rgba(245,201,90,.18)}
.pg .pg-pick button:hover{background:rgba(255,255,255,.08)}
.pg .pg-buy-btn:hover{background:rgba(245,201,90,.12)}
.pg-reveal .pg-gold-btn:hover{background:linear-gradient(180deg,#fff0bd,#f7d06a 45%,#dba236)}
/* in a round the goal shrinks to its picture and bar so it never meets the score ring */
.pg-playing .pg-goal{min-width:0;width:118px;grid-template-columns:30px 1fr;padding:5px 9px 5px 5px}
.pg-playing .pg-goal-pic{width:30px;height:30px}
.pg-playing .pg-goal-txt{display:none}
.pg-playing .pg-goal-bar{grid-row:1/3;align-self:center}
.pg-chest-ico{width:46px;height:46px;object-fit:contain;margin-top:-10px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}
.pg-board li.pg-muted{display:block;text-align:center;padding:16px}
.pg-nudge{margin:10px 0 0!important;color:#9ff3ff;font-weight:700;font-size:13px!important;min-height:1em}
.pg-play.pg-lucky{animation:pg-breathe .9s ease-in-out infinite;box-shadow:0 6px 0 #8a5a14,0 0 0 3px #fff3c8,0 0 50px rgba(255,220,120,.9)}
.pg-card-art{display:block;width:84px;height:84px;margin:-6px auto 0;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));animation:pg-floaty 2.6s ease-in-out infinite}
.pg-btn:disabled{opacity:.55;animation:none}
.pg-tide-ico{width:26px;height:26px;margin-left:-4px;filter:drop-shadow(0 0 6px rgba(110,230,255,.6))}
.pg-tide-medal{width:110px;height:110px}
