@charset "UTF-8";
/* VENUS LAB · V3 finish study.
   Print and garment stay fixed. Only the incident color moves. The damask mask
   is the user's original brushwork; transparent frame pixels remain untouched.
   Load after card-editions.css, card-interaction.css, and museum-night.css. */

.card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]){
 --material-rose:226,173,195;--material-aqua:147,201,195;
 --material-lilac:178,169,213;--material-honey:218,197,143;
}
.card.custom-frame[data-family="rose"]:is([data-stage="3"],[data-stage="4"]){
 --material-rose:222,165,184;--material-aqua:167,201,192;
 --material-lilac:190,167,205;--material-honey:224,200,163;
}
.card.custom-frame[data-family="lavender"]:is([data-stage="3"],[data-stage="4"]){
 --material-rose:216,176,206;--material-aqua:161,202,208;
 --material-lilac:175,165,212;--material-honey:222,206,168;
}

/* Nacre: a tinted body with a soft pink/green interference edge, rather than
   a white beam. This layer is below the garment mounting and all captions. */
.card.custom-frame[data-style][data-stage="3"] .card-paper:before{
 content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background-image:
  radial-gradient(ellipse 62% 47% at var(--light-x,50%) var(--light-y,40%),
   rgba(var(--material-rose),.48),rgba(var(--material-rose),.15) 35%,transparent 68%),
  linear-gradient(var(--light-angle,118deg),
   rgba(var(--material-aqua),.34),transparent 24%,rgba(var(--material-lilac),.16) 46%,
   rgba(var(--material-rose),.38) 58%,rgba(var(--material-honey),.15) 71%,
   rgba(var(--material-aqua),.36));
 background-size:100% 100%,170% 170%;
 background-position:center,var(--light-x,50%) var(--light-y,40%);
 opacity:calc(.48 + var(--light-power,0)*.2);
}
.card.custom-frame[data-style][data-stage="3"] .brush-damask{
 opacity:calc(.12 + var(--light-power,0)*.035);
}
.card.custom-frame[data-style][data-stage="3"] .brush-damask:before{
 background:linear-gradient(var(--light-angle,118deg),
  rgba(var(--material-rose),.8),var(--pattern-ink) 28%,
  rgba(var(--material-aqua),.95) 55%,rgba(var(--material-lilac),.9) 76%,var(--pattern-ink));
 background-size:160% 160%;
 background-position:var(--light-x,50%) var(--light-y,40%);
}
.card.custom-frame[data-style][data-stage="3"] .craft-foil:before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(var(--light-angle,118deg),
  transparent 13%,rgba(var(--material-rose),.66) 32%,#fff7e7a6 43%,
  rgba(var(--material-aqua),.64) 55%,rgba(var(--material-lilac),.5) 67%,transparent 85%);
 background-size:190% 190%;
 background-position:var(--light-x,50%) var(--light-y,40%);
 -webkit-mask:url('./assets/museum-v19/frame-pearl.webp') center/100% 100% no-repeat;
 mask:url('./assets/museum-v19/frame-pearl.webp') center/100% 100% no-repeat;
 opacity:calc(.19 + var(--light-power,0)*.28);
}

/* Holographic paper: fine prismatic engraving and several offset, non-uniform
   grain pitches. No full-card white wash; no unbounded glitter animation.
   The mount above this layer protects the garment silhouette. */
.card.custom-frame[data-style][data-stage="4"] .card-paper:before{
 content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background-image:
  radial-gradient(circle,rgba(var(--material-rose),.9) 0 .13cqw,transparent .2cqw),
  radial-gradient(circle,rgba(var(--material-aqua),.88) 0 .12cqw,transparent .19cqw),
  radial-gradient(circle,rgba(var(--material-lilac),.8) 0 .13cqw,transparent .2cqw),
  radial-gradient(circle,#fff9e4c7 0 .1cqw,transparent .18cqw),
  repeating-linear-gradient(128deg,
   rgba(var(--material-aqua),.26) 0 .13cqw,transparent .13cqw .39cqw,
   rgba(var(--material-rose),.24) .39cqw .52cqw,transparent .52cqw .82cqw),
  linear-gradient(var(--light-angle,118deg),
   rgba(var(--material-aqua),.5),rgba(var(--material-lilac),.35) 22%,
   rgba(var(--material-rose),.46) 40%,rgba(var(--material-honey),.42) 55%,
   rgba(var(--material-aqua),.43) 70%,rgba(var(--material-lilac),.4));
 background-size:3.9cqw 4.7cqw,5.1cqw 4.3cqw,4.3cqw 6.1cqw,6.7cqw 5.3cqw,100% 100%,210% 210%;
 background-position:0 0,1.8cqw 2.4cqw,2.8cqw .8cqw,3.1cqw 2.7cqw,center,
  var(--light-x,50%) var(--light-y,40%);
 opacity:calc(.45 + var(--light-power,0)*.22);
}
.card.custom-frame[data-style][data-stage="4"] .brush-damask{
 opacity:calc(.22 + var(--light-power,0)*.065);
}
.card.custom-frame[data-style][data-stage="4"] .brush-damask:before{
 /* Retain the existing original-brush alpha mask and its registered scale. */
 background:linear-gradient(var(--light-angle,118deg),
  var(--pattern-ink),rgba(var(--material-lilac),.96) 20%,
  rgba(var(--material-rose),.92) 37%,var(--pattern-ink) 49%,
  rgba(var(--material-aqua),1) 64%,rgba(var(--material-honey),.94) 81%,var(--pattern-ink));
 background-size:180% 180%;
 background-position:var(--light-x,50%) var(--light-y,40%);
}
.card.custom-frame[data-style][data-stage="4"] .craft-foil:before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background-image:
  radial-gradient(circle,#fff7e6 0 .13cqw,transparent .22cqw),
  radial-gradient(circle,rgba(var(--material-aqua),.92) 0 .16cqw,transparent .24cqw),
  repeating-linear-gradient(var(--light-angle,118deg),
   rgba(var(--material-rose),.42) 0 1.3cqw,
   rgba(var(--material-honey),.48) 1.3cqw 2.7cqw,
   rgba(var(--material-aqua),.44) 2.7cqw 4.1cqw,
   rgba(var(--material-lilac),.44) 4.1cqw 5.5cqw);
 background-size:4.6cqw 5.9cqw,6.3cqw 4.9cqw,175% 175%;
 background-position:1.2cqw .9cqw,3.2cqw 2.7cqw,
  var(--light-x,50%) var(--light-y,40%);
 -webkit-mask:var(--frame) center/100% 100% no-repeat;
 mask:var(--frame) center/100% 100% no-repeat;
 opacity:calc(.1 + var(--light-power,0)*.32);
}
.card.custom-frame[data-style][data-stage="4"] .craft-sparkle{
 opacity:calc(.075 + var(--light-power,0)*.3);
}

/* Blending only refines the material; translucent source colors already give
   a usable finish when blend modes are unavailable. */
@supports(mix-blend-mode:soft-light){
 .card.custom-frame[data-style][data-stage="3"] .card-paper:before{mix-blend-mode:normal;opacity:calc(.32 + var(--light-power,0)*.18)}
 .card.custom-frame[data-style][data-stage="4"] .card-paper:before{mix-blend-mode:normal;opacity:calc(.3 + var(--light-power,0)*.24)}
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]) .craft-foil:before{mix-blend-mode:soft-light}
}
/* A dark mount needs less luminous grain, while the colored interference is
   retained. This does not brighten the garment or its original color. */
:root[data-theme="dark"] .card.custom-frame[data-style][data-stage="3"] .card-paper:before{opacity:calc(.4 + var(--light-power,0)*.18)}
:root[data-theme="dark"] .card.custom-frame[data-style][data-stage="3"] .brush-damask{opacity:calc(.105 + var(--light-power,0)*.035)}
:root[data-theme="dark"] .card.custom-frame[data-style][data-stage="4"] .card-paper:before{opacity:calc(.4 + var(--light-power,0)*.22)}
:root[data-theme="dark"] .card.custom-frame[data-style][data-stage="4"] .brush-damask{opacity:calc(.16 + var(--light-power,0)*.06)}

/* Respect reduced motion with a fixed, still recognizable material. No timer,
   shimmer keyframes, flashes, or persistent compositor layers are introduced. */
@media(prefers-reduced-motion:reduce){
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]){--light-x:50%!important;--light-y:40%!important;--light-angle:118deg!important;--light-power:0!important}
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]) :is(.card-paper,.brush-damask,.craft-foil):before{transition:none!important;animation:none!important}
}
@supports not ((mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000))){
 /* Without alpha masks, do not let a frame-light layer cover the illustration. */
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]) .craft-foil:before{display:none}
}
@media(forced-colors:active){
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]) .card-paper:before,
 .card.custom-frame[data-style]:is([data-stage="3"],[data-stage="4"]) .craft-foil:before{display:none!important}
}
