/* 太虛卡面效果庫 v4（滿版）。
   旋轉結構照搬正式卡坊 card.css：單層 preserve-3d＋JS 決定正背面（iOS 安全）。
   箔「印在卡上」：所有紋理（光柱、網紋、閃粉、星碎、星雲、礦紋）background-position 固定，
   跟它覆蓋的圖層同一個群組位移；隨角度改變的只有色相（--h）、亮度（閃粉兩組交替）與高光位置（--mx/--my）。
   混合層不加 filter、不加 mask（WebKit 會掉層）。 */
.fx-stage{--sx:0;--sy:0;--mx:50%;--my:50%;--rx:8deg;--ry:0deg;perspective:1400px;position:relative;width:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.fx-card{--gold:#c9a45c;--w:300px;--thick:3px;--rad:4.5%/3%;position:relative;width:100%;aspect-ratio:2/3;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;will-change:transform;cursor:grab;
  font-family:"Noto Serif TC","Songti TC",serif;
}
[data-fx]{--sxs:var(--sx);--mxs:var(--mx)}
/* 背面：從背後看左右相反，光角鏡像；衍生變數（色相、閃粉交替）在這裡重算 */
[data-fx] :is(.fx-back,.tc-back){--sx:calc(var(--sxs)*-1);--mx:calc(100% - var(--mxs))}
[data-fx],[data-fx] .fx-back,[data-fx] .tc-back{
  --h:calc(var(--sx)*260 + var(--sy)*170);
  --c1:hsl(calc(var(--h) + 0) 95% 66%);--c2:hsl(calc(var(--h) + 55) 95% 64%);--c3:hsl(calc(var(--h) + 110) 90% 62%);
  --c4:hsl(calc(var(--h) + 170) 92% 64%);--c5:hsl(calc(var(--h) + 230) 92% 68%);--c6:hsl(calc(var(--h) + 290) 92% 70%);
  --spec:var(--c1),var(--c2),var(--c3),var(--c4),var(--c5),var(--c6),var(--c1);
  --ga:clamp(.08,calc(.45 + var(--sx)*1.6 - var(--sy)*.8),1);--gb:clamp(.08,calc(.45 - var(--sx)*1.6 + var(--sy)*.8),1);
  --lit:clamp(.35,calc(1 - (var(--sx)*var(--sx) + var(--sy)*var(--sy))*.0),1)}
.fx-stage:active .fx-card{cursor:grabbing}
/* 紙邊 */
.fx-edge{position:absolute;background:linear-gradient(180deg,#7a5834,#3a2414);pointer-events:none}
.fx-card::before{content:"";position:absolute;inset:0;border-radius:var(--rad);background:#4a321c;transform:translateZ(0)}
.fx-edge-left,.fx-edge-right{top:3%;bottom:3%;width:var(--thick)}
.fx-edge-left{left:0;transform:translateX(-50%) rotateY(90deg)}.fx-edge-right{right:0;transform:translateX(50%) rotateY(90deg)}
.fx-edge-top,.fx-edge-bottom{left:4.5%;right:4.5%;height:var(--thick)}
.fx-edge-top{top:0;transform:translateY(-50%) rotateX(90deg)}.fx-edge-bottom{bottom:0;transform:translateY(50%) rotateX(90deg)}
.fx-face{position:absolute;inset:0;border-radius:var(--rad);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.fx-front{isolation:isolate;transform:translateZ(calc(var(--thick)/2));box-shadow:0 14px 28px rgba(0,0,0,.5)}
.fx-back{transform:rotateY(180deg) translateZ(calc(var(--thick)/2));overflow:hidden;clip-path:inset(0 round 4.5% / 3%);background:radial-gradient(circle at 50% 38%,#4a2c22,#2a1812 70%)}
.fx-stage:not([data-facing="back"]) .fx-back,.fx-stage[data-facing="back"] .fx-front{visibility:hidden}
.fx-back-inner{position:absolute;inset:8%;z-index:0;color:#e8c48c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;border:1.5px solid rgba(232,196,140,.35);box-shadow:inset 0 0 0 6px rgba(90,42,28,.35);font-weight:700}
.fx-back-seal{padding:.5rem;border:3px solid #c44a3a;color:#c44a3a;font-size:1.05rem;letter-spacing:.2em;writing-mode:vertical-rl}
.fx-back-title{color:#e8c48c;font-size:.82rem;letter-spacing:.42em}

.fx-art{position:absolute;inset:0;border-radius:var(--rad);overflow:hidden;clip-path:inset(0 round 4.5% / 3%);isolation:isolate;background:#0e0b09}
.fx-bgw{position:absolute;inset:-6%;isolation:isolate;transform:translate(calc(var(--sx)*-2.5%),calc(var(--sy)*-1.6%))}
.fx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fx-foil,.fx-foil2,.fx-foil3,.fx-foil4,.fx-sfoil,.fx-sfoil2,.fx-whole,.fx-band,.fx-glare{position:absolute;inset:0;pointer-events:none;display:none}
.fx-subw,.fx-sshadow{position:absolute;left:var(--sl);top:var(--st);width:var(--sw)}
.fx-subw{isolation:isolate;transform:translate(calc(var(--sx)*1.8%),calc(var(--sy)*1.2%));
  -webkit-mask-image:var(--t-subject);mask-image:var(--t-subject);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.fx-sub{display:block;width:100%}
.fx-sshadow{filter:brightness(0) blur(6px);opacity:.5;transform:translate(calc(var(--sx)*-1.5% + 1%),calc(3% + var(--sy)*.5%))}
.fx-pop{position:absolute;inset:0;pointer-events:none;clip-path:inset(-8% 0 0 0 round 4.5% / 3%)}
.fx-glare{display:block;background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,252,240,.55),rgba(255,244,210,.12) 28%,rgba(0,0,0,.18) 90%);mix-blend-mode:overlay}
.fx-ink{position:absolute;left:0;right:0;bottom:0;height:34%;border-radius:0 0 4.5% 4.5%/0 0 3% 3%;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(14,11,9,.9) 45%,rgba(14,11,9,.97))}
.fx-frame{position:absolute;inset:3.2%;border-radius:3%/2%;pointer-events:none;border:1px solid rgba(201,164,92,.7)}
.fx-text{position:absolute;left:8%;right:8%;bottom:6%;color:#ddd0b4;text-align:left}
.fx-name{font-size:calc(var(--w)*.13);font-weight:700;letter-spacing:.08em;line-height:1;color:#f3e7cc;text-shadow:0 2px 8px #000}
.fx-src{margin-top:.45em;font-size:calc(var(--w)*.042);letter-spacing:.12em;color:#b9ab90}
.fx-quote{margin-top:.6em;padding-top:.5em;border-top:1px solid rgba(201,164,92,.35);font-size:calc(var(--w)*.043);line-height:1.6}
.fx-badge{position:absolute;left:6%;top:4.6%;min-width:calc(var(--w)*.13);padding:calc(var(--w)*.012) calc(var(--w)*.025);
  font:800 calc(var(--w)*.062)/1 "Cinzel","Times New Roman",serif;letter-spacing:.04em;text-align:center;border-radius:calc(var(--w)*.018);
  color:#e9e4da;background:rgba(20,18,16,.8);border:1.5px solid #8d877c;box-shadow:0 2px 6px rgba(0,0,0,.5)}
[data-rarity="R"] .fx-badge{color:#eaf3ff;border-color:#9fb8d6;background:linear-gradient(#3a4a5e,#1e2836)}
[data-rarity="SR"] .fx-badge{color:#2a1c06;border-color:#f3dc9a;background:linear-gradient(#f6e2a4,#c79a45 55%,#e8c879)}
[data-rarity="SSR"] .fx-badge{color:#fff;border-color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);background:linear-gradient(110deg,#ff7ab8,#ffc76b,#8be38f,#6fc7ff,#b28cff)}
[data-rarity="UR"] .fx-badge{color:#ffe9b8;border-color:#e9c46a;background:linear-gradient(#b8321f,#6e130a);box-shadow:0 0 0 1px #000,0 0 12px rgba(233,196,106,.6)}

/* 共用：閃粉兩組，固定位置，依角度交替亮（像真的閃粉每顆朝向不同） */
.fx-card .fx-glA{background:var(--t-glitter) 0 0/70% auto;opacity:var(--ga)}
.fx-card .fx-glB{background:var(--t-glitter) 37% 61%/53% auto;opacity:var(--gb)}

/* ═ 礦物箔：礦紋固定，色相隨角度轉，高光帶掃過 ═ */
[data-fx="mineral"] :is(.fx-foil,.fx-foil2,.fx-sfoil){display:block}
[data-fx="mineral"] :is(.fx-foil,.fx-sfoil){
  background:repeating-linear-gradient(0deg,#d9a441 0%,#7d9a4f 4%,#3c86a8 8%,#c2452f 12%,#e9c25a 16%,#7fb3a0 20%,#d9a441 24%) 0 0/100% 100%;
  mix-blend-mode:color-dodge;opacity:.5}
[data-fx="mineral"] .fx-sfoil{opacity:.2}
[data-fx="mineral"] .fx-foil2{background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,240,200,.75),rgba(0,0,0,.35) 60%);mix-blend-mode:overlay}

/* ═ 全像：光柱＋掃描線固定，光柱的顏色隨角度轉 ═ */
[data-fx="holo"] :is(.fx-foil,.fx-foil2,.fx-sfoil){display:block}
[data-fx="holo"] .fx-foil{background:repeating-linear-gradient(90deg,var(--c1) 0%,var(--c2) 3%,var(--c3) 6%,var(--c4) 9%,var(--c5) 12%,var(--c6) 15%,var(--c1) 18%);mix-blend-mode:color-dodge;opacity:.36}
[data-fx="holo"] .fx-foil2{background:repeating-linear-gradient(90deg,rgba(0,0,0,.55) 0 2px,rgba(255,255,255,.25) 2px 4px);mix-blend-mode:overlay;opacity:.8}
[data-fx="holo"] .fx-sfoil{background:repeating-linear-gradient(90deg,var(--c1) 0%,var(--c3) 6%,var(--c5) 12%,var(--c1) 18%);mix-blend-mode:color-dodge;opacity:.15}

/* ═ 交錯：十字網紋固定，網紋顏色隨角度轉 ═ */
[data-fx="radiant"] :is(.fx-foil,.fx-foil2,.fx-sfoil){display:block}
[data-fx="radiant"] .fx-foil{background:
  repeating-linear-gradient(45deg,transparent 0 7px,rgba(255,255,255,.9) 8px,transparent 9px 14px),
  repeating-linear-gradient(-45deg,transparent 0 7px,rgba(255,255,255,.9) 8px,transparent 9px 14px);mix-blend-mode:overlay;opacity:.75}
[data-fx="radiant"] .fx-foil2{background:linear-gradient(135deg,var(--spec));mix-blend-mode:color-dodge;opacity:.42}
[data-fx="radiant"] .fx-sfoil{background:repeating-linear-gradient(45deg,transparent 0 7px,rgba(255,255,255,.5) 8px,transparent 9px 14px);mix-blend-mode:overlay;opacity:.5}

/* ═ 反全像：背景上色＋閃粉，主體不動 ═ */
[data-fx="reverse"] :is(.fx-foil,.fx-foil2,.fx-foil3){display:block}
[data-fx="reverse"] .fx-foil{background:linear-gradient(110deg,var(--spec));mix-blend-mode:color;opacity:.55}
[data-fx="reverse"] .fx-foil2{background:var(--t-glitter) 0 0/70% auto;opacity:var(--ga);mix-blend-mode:color-dodge}
[data-fx="reverse"] .fx-foil3{background:var(--t-glitter) 37% 61%/53% auto;opacity:var(--gb);mix-blend-mode:color-dodge}
[data-fx="reverse"] .fx-frame{border:2px solid rgba(255,255,255,.75)}

/* ═ 拓片：側光（高光位置隨角度） ═ */
[data-fx="rubbing"] .fx-art{background:#111}
[data-fx="rubbing"] :is(.fx-foil,.fx-sfoil){display:block;background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,255,255,.45),transparent 45%,rgba(0,0,0,.35));mix-blend-mode:overlay}
[data-fx="rubbing"] .fx-sshadow{opacity:.9}
[data-fx="rubbing"] .fx-frame{border:2px solid rgba(235,230,220,.75);border-radius:1%}
[data-fx="rubbing"] .fx-name{color:#f2eee6;font-weight:900}
[data-fx="rubbing"] .fx-src{color:#c94a36}

/* ═ 鏨金 ═ */
[data-fx="etched"] :is(.fx-foil,.fx-sfoil){display:block;background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,250,230,.95),rgba(255,230,170,.35) 28%,rgba(0,0,0,.55) 80%);mix-blend-mode:overlay}
[data-fx="etched"] .fx-frame{border:2px solid #d8c08a;box-shadow:inset 1px 1px 0 rgba(255,255,255,.5),inset -1px -1px 0 rgba(0,0,0,.6)}

/* ═ 宇宙：星雲固定，色相轉 ═ */
[data-fx="cosmos"] :is(.fx-foil,.fx-foil2,.fx-foil3,.fx-foil4,.fx-sfoil){display:block}
[data-fx="cosmos"] .fx-foil{background:var(--t-cosmos) center/cover;mix-blend-mode:color-dodge;opacity:.8}
[data-fx="cosmos"] .fx-foil2{background:linear-gradient(120deg,var(--spec));mix-blend-mode:soft-light;opacity:.75}
[data-fx="cosmos"] .fx-foil3{background:var(--t-glitter) 37% 61%/53% auto;opacity:var(--gb);mix-blend-mode:color-dodge}
[data-fx="cosmos"] .fx-sfoil{background:var(--t-cosmos) center/cover;mix-blend-mode:color-dodge;opacity:.28}
[data-fx="cosmos"] .fx-frame{border:1px solid rgba(190,200,255,.85)}

/* ═ 星碎：碎片固定，碎塊亮度隨角度、色相轉 ═ */
[data-fx="galaxy"] :is(.fx-foil,.fx-foil2,.fx-foil3,.fx-foil4,.fx-sfoil){display:block}
[data-fx="galaxy"] .fx-foil{background:var(--t-galaxy) center/cover;mix-blend-mode:color-dodge;opacity:calc(.35 + var(--ga)*.35)}
[data-fx="galaxy"] .fx-foil2{background:rgba(10,8,20,.35);mix-blend-mode:multiply}
[data-fx="galaxy"] .fx-foil3{background:linear-gradient(160deg,var(--spec));mix-blend-mode:soft-light;opacity:.6}
[data-fx="galaxy"] .fx-sfoil{background:var(--t-galaxy) center/cover;mix-blend-mode:color-dodge;opacity:.15}
[data-fx="galaxy"] .fx-frame{border:1px solid rgba(200,180,255,.85)}

/* ═ 幽光：銀白圖乘上光譜（亮部才顯色），色相隨角度轉 ═ */
[data-fx="ghost"] .fx-art{background:#2c3038}
[data-fx="ghost"] :is(.fx-foil,.fx-sfoil){display:block;background:linear-gradient(-45deg,var(--spec));mix-blend-mode:multiply;opacity:.85}
[data-fx="ghost"] .fx-foil2{display:block;background:var(--t-glitter) 0 0/80% auto;mix-blend-mode:screen;opacity:calc(var(--ga)*.6)}
[data-fx="ghost"] .fx-ink{background:linear-gradient(to bottom,transparent,rgba(30,34,42,.85) 45%,rgba(24,27,33,.97))}
[data-fx="ghost"] .fx-frame{border:1px solid rgba(235,242,255,.9);box-shadow:0 0 8px rgba(220,235,255,.5)}
[data-fx="ghost"] .fx-name{color:#f4f8ff;text-shadow:0 0 12px rgba(200,225,255,.8),0 2px 6px #000}

/* ═ 虹秘 ═ */
[data-fx="prism"] :is(.fx-bg,.fx-sub){filter:grayscale(1) brightness(1.2)}
[data-fx="prism"] .fx-whole{display:block;background:linear-gradient(130deg,var(--spec));mix-blend-mode:color;opacity:.75}
[data-fx="prism"] :is(.fx-foil2,.fx-foil3,.fx-sfoil){display:block;mix-blend-mode:screen}
[data-fx="prism"] .fx-foil2{background:var(--t-glitter) 0 0/70% auto;opacity:var(--ga)}
[data-fx="prism"] .fx-foil3{background:var(--t-glitter) 37% 61%/53% auto;opacity:var(--gb)}
[data-fx="prism"] .fx-sfoil{background:var(--t-glitter) 20% 30%/60% auto;opacity:calc(var(--ga)*.6)}
[data-fx="prism"] .fx-frame{border:2px solid #fff;box-shadow:0 0 10px rgba(255,255,255,.7)}

/* ═ 金秘：金閃粉固定兩組交替，金光（高光）跟光角 ═ */
[data-fx="gold"] :is(.fx-foil,.fx-foil2,.fx-foil3,.fx-foil4,.fx-sfoil,.fx-sfoil2){display:block}
[data-fx="gold"] :is(.fx-foil,.fx-sfoil){background:var(--t-gglitter) 0 0/65% auto;mix-blend-mode:color-dodge;opacity:var(--ga)}
[data-fx="gold"] :is(.fx-foil3,.fx-sfoil2){background:var(--t-gglitter) 37% 61%/48% auto;mix-blend-mode:color-dodge;opacity:var(--gb)}
[data-fx="gold"] .fx-foil2{background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,248,220,.9),rgba(255,220,150,.3) 30%,rgba(40,25,5,.35) 85%);mix-blend-mode:overlay}
[data-fx="gold"] .fx-frame{border:2px solid #f0d58a;box-shadow:inset 0 0 0 4px rgba(60,40,10,.4),inset 0 0 0 5px #f0d58a}
[data-fx="gold"] .fx-ink{background:linear-gradient(to bottom,transparent,rgba(40,26,8,.85) 45%,rgba(30,20,6,.97))}
:is([data-fx="gold"],[data-fx="depth"],[data-fx="etched"],[data-fx="inkgold"]) .fx-name{background:linear-gradient(100deg,#9a7330,#fff1c8 45%,#c9a45c 60%,#fff8e0 75%) calc(50% + var(--sx)*60%) 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}


/* ═ 立體 ═ */
[data-fx="depth"] .fx-bgw{inset:-10%;transform:translate(calc(var(--sx)*-6%),calc(var(--sy)*-4%))}
[data-fx="depth"] .fx-near{transform:translate(calc(var(--sx)*3%),calc(var(--sy)*2%))}
[data-fx="depth"] .fx-subw{transform:translate(calc(var(--sx)*6%),calc(var(--sy)*3.5%)) scale(1.04)}
[data-fx="depth"] .fx-sshadow{transform:translate(calc(var(--sx)*2% + 1.5%),calc(4% + var(--sy)*1%));opacity:.65}
[data-fx="depth"] .fx-whole{display:block;background:radial-gradient(110% 80% at 50% 35%,transparent 50%,rgba(10,8,6,.75))}
[data-fx="depth"] .fx-frame{inset:2.4%;border:3px double var(--gold);box-shadow:inset 0 0 0 4px rgba(0,0,0,.35),0 0 16px rgba(201,164,92,.5)}

/* ═══ 背面 ═══ */
.fx-bart{background:none}
.fx-bbase{position:absolute;inset:0;background:
  repeating-radial-gradient(circle at 50% 42%,rgba(255,220,170,.07) 0 2px,transparent 3px 14px),
  radial-gradient(circle at 50% 38%,#6a3e2c,#2a1812 72%)}
.fx-back-seal,.fx-back-title{font-family:"Noto Serif TC",serif}
.fx-back-seal{font-size:calc(var(--w)*.075);background:rgba(30,14,10,.55)}
.fx-back-title{text-shadow:0 1px 4px rgba(0,0,0,.8)}
.fx-back-title{font-size:calc(var(--w)*.05);color:inherit}
/* 圖像處理類的背面版本 */
[data-fx="rubbing"] .fx-bbase{background:repeating-radial-gradient(circle at 30% 20%,rgba(255,255,255,.04) 0 1px,transparent 2px 5px),#151413}
[data-fx="rubbing"] .fx-back-inner{color:#efeae0;border-color:rgba(240,235,225,.6);box-shadow:none}
[data-fx="rubbing"] .fx-back-seal{color:#efeae0;border-color:#efeae0;background:#151413}
[data-fx="etched"] .fx-bbase{background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(160deg,#8a7350,#3e3122 60%,#6f5b3d)}
[data-fx="etched"] :is(.fx-back-seal,.fx-back-title){color:#3e2f18;border-color:#3e2f18;background:rgba(255,235,190,.25);text-shadow:1px 1px 0 rgba(255,240,200,.55),-1px -1px 0 rgba(0,0,0,.6)}
[data-fx="etched"] .fx-back-inner{border-color:rgba(255,235,190,.5);box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),inset -1px -1px 0 rgba(0,0,0,.5)}
[data-fx="gold"] .fx-bbase{background:linear-gradient(150deg,#7a5a1e,#e7c46e 35%,#9a7228 55%,#f4dc92 80%,#8a6420)}
[data-fx="gold"] .fx-back-inner{color:#5a1408;border-color:rgba(90,40,10,.6);box-shadow:inset 0 0 0 6px rgba(90,50,10,.25)}
[data-fx="gold"] .fx-back-seal{color:#8a1d10;border-color:#8a1d10}
[data-fx="ghost"] .fx-bbase{background:radial-gradient(circle at 50% 38%,#e6eaf0,#9aa2ae 75%)}
[data-fx="ghost"] .fx-back-inner{color:#3a4250;border-color:rgba(60,70,85,.45);box-shadow:inset 0 0 0 6px rgba(255,255,255,.3)}
[data-fx="ghost"] .fx-back-seal{color:#2c3340;border-color:#2c3340;background:rgba(255,255,255,.55)}
[data-fx="prism"] .fx-bbase{background:radial-gradient(circle at 50% 38%,#f4f2ee,#bdb8b2 80%)}
[data-fx="prism"] .fx-back-inner{color:#5a4a5e;border-color:rgba(255,255,255,.8)}
[data-fx="prism"] .fx-back-seal{color:#b0306a;border-color:#b0306a;background:rgba(255,255,255,.6)}
[data-fx="depth"] .fx-back-seal{transform:translate(calc(var(--sx)*6%),calc(var(--sy)*4%));box-shadow:calc(var(--sx)*-6px) calc(4px + var(--sy)*-3px) 10px rgba(0,0,0,.6)}
[data-fx="depth"] .fx-back-inner{border:3px double var(--gold)}
[data-fx="depth"] :is(.fx-back,.tc-back) .fx-whole{background:radial-gradient(110% 80% at 50% 40%,transparent 45%,rgba(10,8,6,.7))}
.fx-back-seal{writing-mode:horizontal-tb;white-space:pre;text-align:center;line-height:1.15;letter-spacing:0}
[data-fx="ghost"] :is(.fx-back,.tc-back) .fx-foil{opacity:.32}

/* ═ 流金墨韻（UR）：整張沉成墨色；三組固定的大筆觸（金芯虹邊）依光角輪流亮起，筆觸色相再隨角度流轉 ═ */
[data-fx],[data-fx] .fx-back,[data-fx] .tc-back{--k:calc(var(--sx)*1.2 + var(--sy)*.6)}
[data-fx],[data-fx] .fx-back,[data-fx] .tc-back{
  --i0:clamp(.06,calc(1 - max(var(--k) + .75,-.75 - var(--k))*1.5),1);
  --i1:clamp(.06,calc(1 - max(var(--k),0 - var(--k))*1.5),1);
  --i2:clamp(.06,calc(1 - max(var(--k) - .75,.75 - var(--k))*1.5),1)}
[data-fx="inkgold"] .fx-art{background:#050404}
[data-fx="inkgold"] .fx-bg{filter:grayscale(1) contrast(1.25) brightness(.42)}
[data-fx="inkgold"] :is(.fx-foil,.fx-foil2,.fx-foil3,.fx-foil4,.fx-sfoil){display:block}
[data-fx="inkgold"] :is(.fx-foil,.fx-foil2,.fx-foil3){mix-blend-mode:screen}
[data-fx="inkgold"] .fx-foil{background:var(--t-ink0) center/100% 100%;opacity:var(--i0)}
[data-fx="inkgold"] .fx-foil2{background:var(--t-ink1) center/100% 100%;opacity:var(--i1)}
[data-fx="inkgold"] .fx-foil3{background:var(--t-ink2) center/100% 100%;opacity:var(--i2)}
[data-fx="inkgold"] .fx-foil4{background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,230,160,.5),transparent 40%);mix-blend-mode:overlay}
[data-fx="inkgold"] .fx-sfoil{background:radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,225,150,.75),rgba(255,200,120,.1) 35%,rgba(0,0,0,.25) 80%);mix-blend-mode:overlay}
[data-fx="inkgold"] .fx-sub{filter:saturate(.7) brightness(.95)}
[data-fx="inkgold"] .fx-sshadow{opacity:.85}
[data-fx="inkgold"] .fx-frame{border:1.5px solid #e9c46a;box-shadow:0 0 10px rgba(233,196,106,.45)}
[data-fx="inkgold"] .fx-ink{background:linear-gradient(to bottom,transparent,rgba(5,4,4,.88) 45%,#050404)}
[data-fx="inkgold"] .fx-bbase{background:radial-gradient(circle at 50% 40%,#1a1512,#050404 75%)}
[data-fx="inkgold"] .fx-back-inner{color:#f0d58a;border-color:rgba(233,196,106,.55)}
[data-fx="inkgold"] .fx-back-seal{color:#f0d58a;border-color:#e9c46a;background:rgba(5,4,4,.75)}

/* ═══ 正式卡坊（card.js 的 .tc-stage、縮圖 .fx-mini）═══
   卡圖是整張畫好的卡（含畫窗、文字），沒有預先算好的變體：圖像處理類效果在圖上用 filter（濾鏡在圖上，不在混合層上）。 */
.tc-stage[data-fx] .tc-back{isolation:isolate}
:is(.tc-stage,.fx-mini)[data-fx="rubbing"] .fx-bg{filter:grayscale(1) invert(1) contrast(1.7) brightness(.85)}
:is(.tc-stage,.fx-mini)[data-fx="etched"] .fx-bg{filter:grayscale(1) sepia(.9) saturate(.8) contrast(1.6) brightness(.8)}
:is(.tc-stage,.fx-mini)[data-fx="gold"] .fx-bg{filter:grayscale(1) sepia(1) saturate(3.2) hue-rotate(-8deg) contrast(1.15) brightness(1.02)}
:is(.tc-stage,.fx-mini)[data-fx="ghost"] .fx-bg{filter:grayscale(1) brightness(1.25) contrast(.85)}
.fx-mini{--sx:.3;--sy:-.15;--mx:63%;--my:40%;--w:160px;width:100%;height:100%;position:relative;overflow:hidden;isolation:isolate;border-radius:inherit}
.fx-mini .fx-bg{position:relative;display:block;width:100%;height:100%;object-fit:cover}
.fx-mini .fx-badge{border-width:1px}
@media (prefers-reduced-motion: reduce){.fx-mini .fx-foil{opacity:.3}}
/* 流金墨韻在整張卡圖上：紙轉墨色（反相、偏暖），金筆觸才亮 */
:is(.tc-stage,.fx-mini)[data-fx="inkgold"] .fx-bg{filter:grayscale(1) invert(.9) sepia(.3) contrast(1.35) brightness(.6)}
