/* POB Pack 09 — performance, PWA e polimento mobile */
:root{
  --pob-speed-green:#27f59c;
  --pob-speed-cyan:#22d3ee;
  --pob-speed-gold:#f9c846;
  --pob-speed-bg:#020609;
}
html{scroll-behavior:smooth;}
body{font-display:swap;}
img,video,canvas,svg{max-width:100%;height:auto;}
img[loading="lazy"]{content-visibility:auto;}
.pob-public-shell .hero,.pob-public-shell .section,.panel-content>*{content-visibility:auto;contain-intrinsic-size:1px 720px;}
.pob-app-install{
  position:fixed;right:18px;bottom:18px;z-index:80;
  display:none;align-items:center;gap:12px;max-width:360px;
  padding:13px 14px;border-radius:20px;
  border:1px solid rgba(39,245,156,.28);
  background:linear-gradient(135deg,rgba(4,14,19,.92),rgba(9,28,33,.82));
  box-shadow:0 22px 80px rgba(0,0,0,.55),0 0 36px rgba(39,245,156,.14);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  color:#eafff6;font:600 13px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;
}
.pob-app-install.is-visible{display:flex;animation:pobInstallIn .45s cubic-bezier(.2,.8,.2,1) both;}
.pob-app-install__icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;
  background:radial-gradient(circle at 30% 20%,rgba(249,200,70,.95),rgba(39,245,156,.65) 45%,rgba(34,211,238,.18));
  color:#031009;box-shadow:0 0 22px rgba(39,245,156,.28);
}
.pob-app-install__text strong{display:block;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;}
.pob-app-install__text span{display:block;color:rgba(222,255,246,.72);font-size:12px;margin-top:2px;}
.pob-app-install__actions{display:flex;gap:8px;margin-left:auto;}
.pob-app-install button{
  border:0;border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
}
.pob-app-install .pob-install-yes{background:linear-gradient(135deg,var(--pob-speed-gold),#fff09c);color:#151005;box-shadow:0 0 20px rgba(249,200,70,.25);}
.pob-app-install .pob-install-no{background:rgba(255,255,255,.08);color:#eafff6;border:1px solid rgba(255,255,255,.12);}
@keyframes pobInstallIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.pob-offline-badge{
  position:fixed;left:50%;bottom:18px;z-index:90;transform:translateX(-50%) translateY(20px);
  opacity:0;pointer-events:none;border:1px solid rgba(249,200,70,.28);border-radius:999px;
  padding:10px 15px;background:rgba(16,12,2,.82);color:#ffeaa0;box-shadow:0 0 35px rgba(249,200,70,.16);
  font:800 12px/1 system-ui,-apple-system,Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:.08em;
  transition:.25s ease;
}
.pob-offline-badge.is-visible{opacity:1;transform:translateX(-50%) translateY(0);}
.pob-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.05)!important;color:transparent!important;border-color:rgba(255,255,255,.08)!important;}
.pob-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:pobSkeleton 1.15s infinite;}
@keyframes pobSkeleton{to{transform:translateX(110%)}}
.pob-performance-pill{
  display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 11px;
  border:1px solid rgba(34,211,238,.25);background:rgba(3,15,20,.54);color:#c8fff3;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 24px rgba(34,211,238,.08);
  font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.pob-performance-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pob-speed-green);box-shadow:0 0 12px var(--pob-speed-green);}
.pob-public-footer,.panel-shell-redesign{isolation:isolate;}
@media (max-width:760px){
  .pob-app-install{left:12px;right:12px;bottom:12px;max-width:none;border-radius:18px;}
  .pob-app-install__actions{flex-direction:column;}
  .pob-app-install button{padding:8px 10px;}
  .pob-offline-badge{width:calc(100% - 24px);text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
