/* Shared procedural material. Host layout remains owned by the existing geometry engine. */
.frost-surface{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;pointer-events:none;isolation:isolate;z-index:0;background:linear-gradient(180deg,var(--frost-top),var(--frost-bottom));--frost-x:0px;--frost-y:0px;--frost-light:0}
.frost-surface>span,.frost-surface>canvas,.frost-surface>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.frost-parallax{translate:var(--frost-x) var(--frost-y)}
.frost-clouds{position:absolute;inset:-36%;display:block}
.frost-clouds>i{position:absolute;inset:0;display:block;animation:frost-drift var(--frost-duration,24s) ease-in-out infinite alternate;animation-play-state:paused;transform-origin:38% 42%;background:radial-gradient(ellipse at 14% 8%,var(--frost-blob-0),transparent 74%)}
.frost-clouds>i:nth-child(2){background:radial-gradient(ellipse at 92% 24%,var(--frost-blob-1),transparent 70%);animation-delay:-7s;animation-direction:alternate-reverse;transform-origin:75% 25%}
.frost-clouds>i:nth-child(3){background:radial-gradient(ellipse at 10% 94%,var(--frost-blob-2),transparent 72%);animation-delay:-13s;transform-origin:20% 78%}
.frost-clouds>i:nth-child(4){background:radial-gradient(ellipse at 90% 96%,var(--frost-blob-3),transparent 68%);animation-delay:-19s;animation-direction:alternate-reverse;transform-origin:85% 85%}
[data-frost-running=true] .frost-clouds>i{animation-play-state:running}
.frost-shade{background:radial-gradient(ellipse at 50% 42%,transparent 46%,#140e1818 100%)}
.frost-surface>.frost-grain{mix-blend-mode:overlay;opacity:var(--frost-grain,.4);image-rendering:pixelated;transform-origin:0 0}
.frost-glow{background:radial-gradient(ellipse at var(--frost-glow-x,50%) var(--frost-glow-y,50%),#fff9e94d,transparent 48%);opacity:var(--frost-light)}
.frost-surface>.frost-pattern{stroke:#fff;fill:none;stroke-width:.8px;opacity:.3;mask-image:radial-gradient(ellipse at center,transparent 21%,#0006 43%,#000 70%);translate:calc(var(--frost-x)*-.4) calc(var(--frost-y)*-.4)}
@keyframes frost-drift{from{transform:translate(-1.5%,-1%) scale(1.02)}to{transform:translate(2.5%,2%) scale(1.08)}}
/* Selected owned shells only. Brand surfaces, original media, controls and prompt artwork never match. */
.desk-card[data-frosted=true]{isolation:isolate;--card-ink:#fff}
.desk-card[data-frosted=true]>.frost-surface{z-index:0}
.desk-card[data-frosted=true]>:not(.frost-surface){z-index:1}
.desk-card[data-frosted=true] :is(.card-title,.card-summary,.card-topic,.card-meta,.tile-arrow,.card-word){color:#fff}
.desk-card[data-frosted=true] .card-copy{text-shadow:0 1px 10px #0002}
.desk-card[data-frosted=true] .project-compact-mark{color:#fff}
.desk-card[data-frosted=true][data-content-kind=article]>.card-media{background:transparent}
body.reduced-motion .frost-clouds>i,[data-frost-wall][data-reduce=true] .frost-clouds>i{animation:none}
body.reduced-motion .frost-parallax,body.reduced-motion .frost-pattern,[data-frost-wall][data-reduce=true] .frost-parallax,[data-frost-wall][data-reduce=true] .frost-pattern{translate:none}
body.reduced-motion .frost-glow,[data-frost-wall][data-reduce=true] .frost-glow{display:none}
@media(prefers-reduced-motion:reduce){.frost-clouds>i{animation:none}.frost-parallax,.frost-pattern{translate:none}.frost-glow{display:none}}
