/* ColourPops tap modes: Pep Talk + Ask the Pop (Jas 17 Sept 2026) */
:root{--ink:#16130f;--paper:#fffdf7;--y:#ffce1f;--r:#e5231b;--o:#ff7413;--g:#4fbb35;--b:#1e63d0;--p:#7040c8;--k:#e83e8c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body{background:#0e0c09;color:#fff;font:16px/1.5 Nunito,system-ui,sans-serif;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
.pm-bg{position:fixed;inset:0;z-index:0;background:#0e0c09 url('/colourpops/brand/splat-wide.jpg') center/cover;opacity:.35}
.pm-blobs{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.pm-blobs i{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(60px);opacity:.28;animation:pmDrift 18s ease-in-out infinite alternate}
.pm-blobs i:nth-child(1){background:var(--k);left:-18vmax;top:-12vmax}
.pm-blobs i:nth-child(2){background:var(--b);right:-20vmax;top:20vh;animation-duration:22s}
.pm-blobs i:nth-child(3){background:var(--y);left:10vw;bottom:-26vmax;animation-duration:26s;opacity:.18}
@keyframes pmDrift{to{transform:translate(8vw,6vh) scale(1.15)}}
.pm{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:18px 18px calc(28px + env(safe-area-inset-bottom));min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.pm-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pm-wm{font:800 18px/1 'Baloo 2',sans-serif;letter-spacing:.01em;text-decoration:none}
.pm-wm i{font-style:normal}
.pm-mode{font:800 11px/1 Nunito,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#d9d1c3;border:1.5px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 10px}
.pm-foot{margin-top:auto;padding-top:22px;text-align:center;font-size:13px;color:#a89b85}
.pm-foot a{color:var(--y);font-weight:800;text-decoration:none}
.pm-btns{display:flex;gap:10px;margin-top:18px}
.pm-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;border-radius:16px;border:2px solid var(--ink);background:var(--y);color:var(--ink);font:800 18px 'Baloo 2',sans-serif;cursor:pointer;box-shadow:0 4px 0 #b88f00;text-decoration:none;transition:transform .12s}
.pm-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #b88f00}
.pm-btn.ghost{flex:0 0 auto;padding:0 18px;background:transparent;color:#fff;border-color:rgba(255,255,255,.55);box-shadow:none}
.pm-btn[disabled]{opacity:.55;pointer-events:none}
.pm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pm-toast{visibility:hidden;position:fixed;left:50%;bottom:24px;transform:translate(-50%,150%);background:var(--y);color:var(--ink);font-weight:800;padding:10px 18px;border-radius:999px;z-index:50;transition:transform .3s}
.pm-toast.on{visibility:visible;transform:translate(-50%,0)}

/* ── Pep Talk ─────────────────────────────────────── */
.pep-hero{display:flex;flex-direction:column;align-items:center;margin-top:18px;text-align:center}
.pep-ring{position:relative;width:148px;height:148px;border-radius:50%;padding:5px}
.pep-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--r),var(--o),var(--y),var(--g),var(--b),var(--p),var(--k),var(--r));animation:pepSpin 6s linear infinite}
.pep-ring img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 22%;background:#000;border:4px solid #0e0c09;animation:pepBob 3.2s ease-in-out infinite}
@keyframes pepSpin{to{transform:rotate(360deg)}}@keyframes pepBob{50%{transform:translateY(-5px) rotate(-2deg)}}
.pep-hi{margin:14px 0 0;font:800 13px Nunito,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.pep-says{margin:2px 0 0;font:800 26px/1.1 'Baloo 2',sans-serif}
.pep-stage{position:relative;margin-top:22px;min-height:230px;perspective:1000px}
.pep-card{position:relative;background:var(--paper);color:var(--ink);border-radius:22px;padding:34px 24px 26px;border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink),0 30px 60px rgba(0,0,0,.45);transform-origin:50% 0;transform:rotate(-1.6deg)}
.pep-card:before{content:"";position:absolute;left:50%;top:-14px;width:120px;height:30px;transform:translateX(-50%) rotate(2deg);background:rgba(255,206,31,.82);border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.pep-card.in{animation:pepIn .75s cubic-bezier(.2,1.35,.35,1) both}
.pep-card.out{animation:pepOut .28s ease-in both}
@keyframes pepIn{0%{opacity:0;transform:rotateX(-80deg) translateY(-20px) scale(.9)}100%{opacity:1;transform:rotate(-1.6deg)}}
@keyframes pepOut{to{opacity:0;transform:rotate(4deg) translateY(30px) scale(.95)}}
.pep-quote{margin:0;font:800 clamp(25px,7.2vw,33px)/1.18 'Baloo 2',sans-serif;letter-spacing:-.005em}
.pep-quote span{display:inline-block;opacity:0;transform:translateY(10px);animation:pepWord .45s cubic-bezier(.2,1.2,.4,1) forwards}
@keyframes pepWord{to{opacity:1;transform:none}}
.pep-from{margin:16px 0 0;font:700 15px Nunito,sans-serif;color:#5d574c}
.pep-count{margin:18px 0 0;text-align:center;font-size:13.5px;color:#cfc6b5}
.pep-count b{color:#fff}
.splat{position:absolute;left:50%;top:40%;width:14px;height:14px;border-radius:50%;pointer-events:none;z-index:3;animation:splat 1s cubic-bezier(.15,.8,.3,1) forwards}
@keyframes splat{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}70%{opacity:1}100%{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(var(--s));opacity:0}}

/* ── Ask the Pop ─────────────────────────────────── */
.ask-hd{text-align:center;margin-top:22px}
.ask-hd h1{margin:0;font:800 clamp(30px,8.5vw,40px)/1 'Baloo 2',sans-serif}
.ask-hd p{margin:8px auto 0;max-width:30ch;color:#d9d1c3}
.ask-stage{position:relative;display:flex;justify-content:center;margin:26px 0 6px}
.ask-shadow{position:absolute;bottom:-18px;left:50%;width:62%;height:26px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent);filter:blur(4px)}
.ball{position:relative;width:min(300px,78vw);aspect-ratio:1;border-radius:50%;cursor:pointer;border:0;padding:0;background:radial-gradient(circle at 34% 28%,#6d6a66 0,#2b2926 18%,#0c0b0a 52%,#000 76%);box-shadow:inset -18px -26px 50px rgba(0,0,0,.85),inset 10px 14px 30px rgba(255,255,255,.06),0 26px 60px rgba(0,0,0,.6);outline:none;touch-action:manipulation}
.ball:focus-visible{box-shadow:0 0 0 4px var(--y),0 26px 60px rgba(0,0,0,.6)}
.ball:before{content:"";position:absolute;left:18%;top:10%;width:34%;height:20%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0));transform:rotate(-24deg);pointer-events:none}
.rim{position:absolute;left:50%;top:0;width:calc(min(300px,78vw) + 12px);aspect-ratio:1;margin:-6px 0 0 calc((min(300px,78vw) + 12px) / -2);border-radius:50%;background:conic-gradient(var(--r),var(--o),var(--y),var(--g),var(--b),var(--p),var(--k),var(--r));animation:pepSpin 7s linear infinite;filter:saturate(1.2)}
.rim-glow{position:absolute;left:50%;top:0;width:calc(min(300px,78vw) + 70px);aspect-ratio:1;margin:-35px 0 0 calc((min(300px,78vw) + 70px) / -2);border-radius:50%;background:conic-gradient(var(--r),var(--o),var(--y),var(--g),var(--b),var(--p),var(--k),var(--r));filter:blur(36px);opacity:.35;animation:pepSpin 9s linear infinite reverse}
.ask-stage.floating .rim,.ask-stage.floating .rim-glow{animation:pepSpin 7s linear infinite,ballFloat 3.4s ease-in-out infinite}
.ball{z-index:1}
.ball.idle{animation:none}
@keyframes ballFloat{50%{transform:translateY(-8px)}}
.ball.shake{animation:ballShake .9s cubic-bezier(.36,.07,.19,.97) both}
@keyframes ballShake{10%,90%{transform:translate(-3px,1px) rotate(-3deg)}20%,80%{transform:translate(6px,-2px) rotate(5deg)}30%,50%,70%{transform:translate(-10px,3px) rotate(-8deg)}40%,60%{transform:translate(10px,-3px) rotate(8deg)}}
.face,.win{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);transition:opacity .45s,transform .6s cubic-bezier(.2,1.3,.35,1)}
.face{width:46%;height:46%;background:#fff;padding:5%;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.6)}
.face img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 22%;background:#000}
.win{width:50%;height:50%;opacity:0;background:radial-gradient(circle at 50% 45%,#16287a 0,#0a1440 48%,#040817 100%);box-shadow:inset 0 0 22px rgba(0,0,0,.9),0 0 0 6px #050505,0 0 0 8px #1c1c1c;overflow:hidden}
.ball.open .face{opacity:0;transform:translate(-50%,-50%) scale(.6) rotateY(90deg)}
.ball.open .win{opacity:1}
.tri{position:absolute;left:50%;top:52%;width:92%;aspect-ratio:1.12;transform:translate(-50%,-50%) scale(.2) rotate(-40deg);opacity:0;clip-path:polygon(50% 100%,0 8%,100% 8%);background:linear-gradient(180deg,#3446c9,#1d2a8f);display:flex;align-items:flex-start;justify-content:center;padding:15% 0 0;transition:transform 1.1s cubic-bezier(.2,1,.3,1) .15s,opacity .9s ease .15s,filter .9s}
.win[data-t="y"] .tri{background:linear-gradient(180deg,#2f9a45,#1b6a2c)}
.win[data-t="m"] .tri{background:linear-gradient(180deg,#c99a06,#8a6900)}
.win[data-t="n"] .tri{background:linear-gradient(180deg,#c43b7c,#8a1f55)}
.ball.open .tri{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}
.tri p{margin:0;max-width:62%;color:#fff;text-align:center;font:800 clamp(10.5px,3.1vw,14px)/1.08 'Baloo 2',sans-serif;text-transform:uppercase;letter-spacing:.02em;filter:blur(6px);opacity:0;transition:filter 1s ease .7s,opacity 1s ease .7s;text-shadow:0 0 12px rgba(255,255,255,.35)}
.ball.open .tri p{filter:none;opacity:1}
.bub{position:absolute;bottom:-10px;width:6px;height:6px;border-radius:50%;background:rgba(160,190,255,.55);animation:bub 1.6s ease-in forwards}
@keyframes bub{to{transform:translateY(-160px) translateX(var(--dx));opacity:0}}
.ask-hint{text-align:center;margin:18px 0 0;font-weight:800;color:var(--y);min-height:24px}
.ask-hint.pulse{animation:hint 1.6s ease-in-out infinite}@keyframes hint{50%{opacity:.45}}
.ask-said{text-align:center;margin:6px 0 0;font:800 22px/1.2 'Baloo 2',sans-serif;min-height:28px}
.snd{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;width:38px;height:30px;cursor:pointer;font-size:15px}
@media(prefers-reduced-motion:reduce){.pm-blobs i,.pep-ring:before,.pep-ring img,.ball.idle,.rim,.rim-glow{animation:none}.pep-card.in{animation:none}.pep-quote span{animation:none;opacity:1;transform:none}}
/* sparkles (Jas: "make it magic") */
.spark{position:absolute;left:var(--sx);top:var(--sy);width:var(--sz);height:var(--sz);pointer-events:none;z-index:4;opacity:0;animation:spark 1.1s ease-out var(--sd) forwards}
.spark:before{content:"";position:absolute;inset:0;background:var(--sc);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 6px var(--sc))}
@keyframes spark{0%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:1;transform:scale(1.15) rotate(40deg)}100%{opacity:0;transform:scale(.4) rotate(120deg) translateY(-18px)}}
.ball.glow-y{box-shadow:inset -18px -26px 50px rgba(0,0,0,.85),0 0 60px rgba(79,187,53,.55),0 26px 60px rgba(0,0,0,.6)}
.ball.glow-m{box-shadow:inset -18px -26px 50px rgba(0,0,0,.85),0 0 60px rgba(255,206,31,.5),0 26px 60px rgba(0,0,0,.6)}
.ball.glow-n{box-shadow:inset -18px -26px 50px rgba(0,0,0,.85),0 0 60px rgba(232,62,140,.5),0 26px 60px rgba(0,0,0,.6)}
.ball{transition:box-shadow .8s}
.pm-dust{position:fixed;inset:0;pointer-events:none;z-index:0}
.pm-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:0;animation:dust 6s ease-in-out infinite}
@keyframes dust{0%,100%{opacity:0;transform:translateY(0)}50%{opacity:.7;transform:translateY(-30px)}}
.pm-f{display:inline;margin:0}.pm-f button{background:none;border:0;padding:0;color:var(--y);font:800 13px Nunito,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pm-f button.pm-use{display:block;margin:10px auto 0;background:var(--y);color:var(--ink);text-decoration:none;border-radius:999px;padding:12px 22px;font:800 17px 'Baloo 2',sans-serif}
.ask-stage.idle{animation:ballFloat 3.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.ask-stage.idle{animation:none}}
