/* Shared by every route. Textures are blurred at build time, never on scroll. */
:root,body.landing{--bg:#000;--surface:#0a0a0a;--veil-card:rgba(14,16,15,.68);--veil-rim:rgba(255,255,255,.12);--veil-edge:rgba(0,0,0,.81);--veil-center:rgba(0,0,0,.73)}
:root[data-theme="light"],:root[data-theme="light"] body.landing{--bg:#fff;--surface:#f6f6f6;--veil-card:rgba(250,251,249,.72);--veil-rim:rgba(0,0,0,.10);--veil-edge:rgba(255,255,255,.87);--veil-center:rgba(255,255,255,.79)}
html{min-height:100%;background:var(--bg)}
body,body.landing{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;background:transparent}
body>main,body>footer{position:relative;z-index:1}
body>main{flex:1;width:100%}
body>footer{margin-bottom:0}
.sticker-field{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;z-index:0;overflow:hidden;pointer-events:none;user-select:none;contain:strict;background:var(--bg)}
.sticker-field img{position:absolute;left:0;top:0;max-width:none;object-fit:contain;filter:none;will-change:transform}
.sticker-field::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(to bottom,var(--veil-edge),var(--veil-center) 45%,var(--veil-edge))}
body :is(.plan,.vcard,.herocard,.bt,.spot,.ing,.doc .box,.legal-links>a){background:var(--veil-card);border-color:transparent;box-shadow:inset 0 0 0 .5px var(--veil-rim);backdrop-filter:none;-webkit-backdrop-filter:none}
body header,body.landing header{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;box-shadow:inset 0 -.5px var(--veil-rim)}
body section,body footer{background:transparent}
.device-halo,.balance-orbit{background:none!important}
@media(prefers-reduced-motion:reduce){.sticker-field img{will-change:auto}}
