/* R45 ad-safe and SEO foundation hardening */
:root{--vf-ad-border:rgba(20,184,166,.24);--vf-ad-bg:linear-gradient(180deg,rgba(236,253,245,.74),rgba(255,255,255,.88));}
.ad-safe,.vf-ad-safe-slot{display:flex;align-items:center;justify-content:center;min-height:88px;border:1px dashed var(--vf-ad-border);border-radius:22px;background:var(--vf-ad-bg);color:#46615b;font-size:clamp(.84rem,.8rem + .16vw,.98rem);letter-spacing:.01em;text-align:center;box-shadow:none;overflow:hidden;position:relative;z-index:0;max-width:100%;}
.ad-safe::before,.vf-ad-safe-slot::before{content:"";position:absolute;inset:10px;border-radius:16px;border:1px solid rgba(255,255,255,.72);pointer-events:none;}
.ad-safe [data-ad-label],.vf-ad-safe-slot [data-ad-label]{position:relative;z-index:1;}
.hero-shell + .section-tight .ad-safe,.operation-stage + .vf-ad-safe-slot{margin-top:0;}
.player-window,.operation-stage,.hero-inputbar,.stage-primary-panel,.stage-result-panel{position:relative;z-index:1;}
.vf-static-route [data-ad-safe="r45"]{contain:layout paint;}
@media (max-width:640px){.ad-safe,.vf-ad-safe-slot{min-height:64px;border-radius:16px;font-size:.82rem}.ad-safe::before,.vf-ad-safe-slot::before{inset:7px;border-radius:12px}}
/* SEO pages keep readable text widths even when ads are present. */
.article-layout,.article-body,.content-hub,.single-column{overflow-wrap:anywhere;}
