/* Approved soft 3D grid styling, shared with the optional local 2D comparison. */
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) body[data-home-background="wavy-cubes"] {
  --home-surface:#fff;
  --home-ink:#1b2520;
  --home-muted:#64716a;
  --home-line:rgba(47,76,58,.15);
  --home-control:#f2f5f2;
  --home-control-hover:#e9efe9;
  --home-news-surface:rgba(250,252,250,.96);
}
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"])[data-theme="dark"] body[data-home-background="wavy-cubes"] {
  --home-surface:#17191b;
  --home-ink:#e8eee9;
  --home-muted:#aab7ae;
  --home-line:rgba(179,201,187,.16);
  --home-control:#282d2f;
  --home-control-hover:#333b3e;
  --home-news-surface:rgba(29,34,37,.96);
}
html[data-background-preview="soft-grid"][data-theme="dark"] body[data-home-background="wavy-cubes"] {
  --home-surface:#272b2d;
  --home-line:rgba(179,201,187,.10);
  --home-control:#303637;
  --home-control-hover:#3a4143;
  --home-news-surface:rgba(39,43,45,.96);
}
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) body[data-home-background="wavy-cubes"] .stage-visual[data-background="wavy-cubes"] {
  background-color:var(--home-surface);
  background-image:linear-gradient(rgba(123,148,132,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(123,148,132,.08) 1px,transparent 1px);
  background-size:64px 64px;
  background-position:center;
}
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) body[data-home-background="wavy-cubes"] .stage-visual[data-renderer="canvas"] .stage-canvas { opacity:1; }
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) body[data-home-layout="direct"] .home-news article { border:1px solid var(--home-line); }
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) .opening-portal.intro-portal { --intro-ground:#f0f3ef; }
html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"])[data-theme="dark"] .opening-portal.intro-portal { --intro-ground:#23272b; }
@media (max-width:767px) {
  html:is([data-background-preview="calm-grid"],[data-background-preview="soft-grid"]) body[data-home-background="wavy-cubes"] .stage-visual[data-background="wavy-cubes"] { background-size:48px 48px; }
}
