/* Power Punch Athletics — site-wide frosted liquid-glass layer over the navy field. Loaded after each page's own styles. */
:root{
  --g-bg:rgba(14,24,48,.52);--g-bg2:rgba(14,24,48,.38);--g-line:rgba(143,219,255,.22);--g-edge:rgba(0,0,0,.35);
  --g-hi:rgba(255,255,255,.16);--g-shadow:0 18px 48px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);
  --g-shadow-lg:0 34px 80px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.35);--g-r:18px;--g-r-sm:12px;--g-blur:22px;
  --orb1:rgba(47,140,255,.28);--orb2:rgba(13,42,102,.55);--orb3:rgba(143,219,255,.18);--orb4:rgba(91,226,160,.10);
}
:root[data-theme="light"]{
  --g-bg:linear-gradient(135deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.54) 55%,rgba(255,255,255,.68) 100%);--g-bg2:rgba(255,255,255,.68);
  --g-line:rgba(255,255,255,.96);--g-edge:rgba(20,60,140,.08);--g-hi:#ffffff;
  --g-shadow:inset 0 -2px 0 rgba(20,60,140,.05),inset 0 0 0 1px rgba(255,255,255,.45),0 1px 2px rgba(20,30,60,.06),0 26px 60px -14px rgba(20,60,140,.24);
  --g-shadow-lg:inset 0 -2px 0 rgba(20,60,140,.05),inset 0 0 0 1px rgba(255,255,255,.5),0 2px 4px rgba(20,30,60,.06),0 40px 90px -16px rgba(22,104,240,.30);
  --orb1:rgba(22,104,240,.62);--orb2:rgba(92,176,255,.60);--orb3:rgba(255,170,60,.45);--orb4:rgba(40,190,150,.38);
}
:root[data-theme="light"] body{background:linear-gradient(160deg,#e9eef9 0%,#f1eef6 40%,#e6f0fb 70%,#f4efe6 100%)}
:root[data-theme="light"] .rcard,:root[data-theme="light"] .tier,:root[data-theme="light"] .card,:root[data-theme="light"] .push{border-top-color:rgba(22,104,240,.9)!important}
body{position:relative;isolation:isolate}
body::before,body::after{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;filter:blur(50px) saturate(150%);
  background:radial-gradient(38vmax 30vmax at 78% 8%,var(--orb1),transparent 60%),radial-gradient(34vmax 28vmax at 10% 30%,var(--orb2),transparent 60%),
    radial-gradient(40vmax 34vmax at 70% 88%,var(--orb3),transparent 62%),radial-gradient(28vmax 24vmax at 20% 92%,var(--orb4),transparent 60%);
  animation:g-drift 40s ease-in-out infinite alternate}
body::after{opacity:.5;animation-duration:55s;animation-direction:alternate-reverse;transform:scale(1.15) rotate(8deg)}
@keyframes g-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(3vw,-2vh,0) scale(1.06)}}
@media (prefers-reduced-motion:reduce){body::before,body::after{animation:none}}

.g-glass,.rcard,.tier,.tag,.card,.field,.proof>*,.facts,.vids,.fig,.shot,.strip figure,.who,.rule,.stack>article,.stack>div,.steps li,.reviews blockquote,
.pos,.more,form,input,select,textarea,.cols>*,.unit,.status,.num{
  background:var(--g-bg)!important;-webkit-backdrop-filter:blur(var(--g-blur)) saturate(160%);backdrop-filter:blur(var(--g-blur)) saturate(160%);
  border:1px solid var(--g-line)!important;box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),var(--g-shadow);border-radius:var(--g-r)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--g-bg:rgba(10,17,32,.94);--g-bg2:rgba(10,17,32,.9)}}

/* accent edges kept as glowing top bars instead of hard borders */
.rcard,.tier,.card,.push{border-top:3px solid rgba(92,176,255,.85)!important;box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),0 -10px 30px -18px rgba(92,176,255,.9),var(--g-shadow)}
.tag{border-left:4px solid rgba(92,176,255,.9)!important}
.field{margin-inline:0!important;padding:32px 28px!important}
.facts>div,.facts div{border:0!important;box-shadow:none;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.facts{padding:6px 14px}
.strip figure,.shot,.fig,.vid,.clip{overflow:hidden;padding:0}
.shot img,.strip img,.fig svg,.vid video,.clip video,.clip img{border-radius:inherit;display:block}
section{border-top:0!important}

/* nav + header float */
.nav,header:not(.hero){position:sticky;top:10px;z-index:20;margin:10px 0 0;padding:10px 22px!important;border-radius:22px;background:var(--g-bg2);-webkit-backdrop-filter:blur(var(--g-blur)) saturate(160%);backdrop-filter:blur(var(--g-blur)) saturate(160%);border:1px solid var(--g-line);box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),var(--g-shadow)}
.nav ul a,.tools a{border-radius:999px;padding:8px 12px;transition:background .2s}
.nav ul a:hover,.tools a:hover{background:rgba(92,176,255,.14)}
#theme{border-radius:999px}

/* buttons */
.btn,.play,button,.rgo{border-radius:999px!important;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .2s ease}
.btn.primary,.rgo,button[type="submit"]{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 45%),linear-gradient(180deg,#5CB0FF,#1668F0)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 28px rgba(22,104,240,.42),inset 0 1px 0 rgba(255,255,255,.35)}
.btn:not(.primary){background:var(--g-bg);-webkit-backdrop-filter:blur(var(--g-blur));backdrop-filter:blur(var(--g-blur));border:1px solid var(--g-line)!important;box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),0 8px 20px rgba(0,0,0,.3)}
.btn:hover,.rgo:hover,button:hover{transform:translateY(-1px)}

/* inputs, lists, misc */
input,select,textarea{border-radius:var(--g-r-sm)!important;color:var(--ink,#EDF3FF)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#5CB0FF!important;box-shadow:0 0 0 4px rgba(92,176,255,.22),inset 0 1px 0 var(--g-hi)}
.vids a{padding:14px 16px;border-radius:var(--g-r-sm);transition:background .2s}
.vids a:hover{background:rgba(92,176,255,.10)}
.vids li{border:0!important}
.steps li{padding:16px 18px 16px 56px;margin-bottom:12px}
.reviews blockquote{padding:22px 24px}
body>footer,footer.site{margin-top:40px}
body>footer,footer.site{background:var(--g-bg2);-webkit-backdrop-filter:blur(var(--g-blur));backdrop-filter:blur(var(--g-blur));border:1px solid var(--g-line);border-radius:var(--g-r);padding:26px 28px;box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),var(--g-shadow)}
.rcard:hover,.tier:hover,.card:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge),0 -10px 30px -18px rgba(92,176,255,.9),var(--g-shadow-lg)}
.rcard,.tier,.card{transition:transform .25s ease,box-shadow .25s ease}
@media (max-width:720px){.nav,header:not(.hero){top:8px;padding:8px 14px!important}.field{padding:22px 18px!important}}
