/* =========================================================
   主題 C｜水彩花卉浪漫 Watercolor Floral   <html data-theme="watercolor">
   淺色主題：文字一律用深暖棕，水彩只當背景與紙張的「痕跡」，不承載資訊。
   ========================================================= */
[data-theme="watercolor"]{
  --c-paper:#f7f1e8; --c-paper-2:#efe5d6; --c-cocoa:#3b2c28; --c-cocoa-2:#5e4a43; --c-cocoa-3:#7a655c;
  --c-rose:#c98d8a; --c-rose-deep:#9a4f50; --c-sage:#9aa58a; --c-linen:#d9ccb4;

  --bg-color:var(--c-paper);
  --bg:linear-gradient(180deg,#f8f3eb,#f3ebdf);
  --ink:var(--c-cocoa); --ink-2:var(--c-cocoa-2); --ink-3:var(--c-cocoa-3);
  --accent:var(--c-rose); --accent-text:var(--c-rose-deep);
  --line:rgba(59,44,40,.14); --line-strong:rgba(59,44,40,.34);
  --error:#a8322e; --error-surface:rgba(168,50,46,.06);
  --focus:#7a3b3c; --focus-gap:#f7f1e8;
  --btn-bg:#8e4a4c; --btn-bg-hover:#9d5557; --btn-bg-active:#7b3e40;
  --btn-ink:#fbf4ec; --btn-shadow:0 10px 22px -14px rgba(90,40,40,.6);
  --btn2-bg:transparent; --btn2-bg-hover:rgba(59,44,40,.05); --btn2-border:rgba(59,44,40,.35); --btn2-ink:var(--c-cocoa);
  --footer-bg:#3b2c28; --footer-ink:#fbf4ec; --footer-line:transparent;
  --r-ctl:999px; --r-card:1.4em;
  --ff-display:"LXGW WenKai TC","Noto Serif TC",serif;
  --ff-latin:"Cormorant Garamond","Noto Serif TC",serif;
  --ff-num:"Cormorant Garamond","Noto Serif TC",serif;
  --display-weight:700; --name-weight:700;

  --tex-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .27  0 0 0 0 .22  -1.6 0 0 0 .95'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  --tex-fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .4  0 0 0 0 .3  0 0 0 0 .28  -1.3 0 0 0 .72'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  --tex-weave:repeating-linear-gradient(0deg,rgba(120,100,70,.10) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 3px);

  --glow-core:rgba(255,236,205,.9); --glow-soft:rgba(240,190,150,.32); --bloom-peak:.45;
  --mote-color:rgba(200,150,110,.75); --mote-glow:transparent;
  --mote-count:10; --fx-count:16; --fx-colors:#e7b7b2,#d9a09c,#f1d4cc,#b9c2a5; --fx-kind:petal;
  --shadow-color:rgba(80,50,40,.35);

  --card-face:#fcf9f3; --card-texture:var(--tex-paper); --card-texture-opacity:.22;
  --card-ink:#3b2c28; --card-ink-2:#6a544c; --card-ink-3:#8c766c; --card-accent:#b0716f;
  --card-back:linear-gradient(160deg,#ead2cb,#dcbcb4); --card-back-texture:var(--tex-paper); --card-back-ink:rgba(110,60,58,.45);
  --card-shadow:0 2.4em 4em -1.6em rgba(90,55,45,.45),0 .4em .8em rgba(90,55,45,.16);
  --shine-a:.4;
  --box-asset-dir:"assets/boxes/watercolor-floral/";
}
/* 背景：冷壓水彩紙 + 兩塊不對稱的淡彩暈染（右上玫瑰、左下鼠尾草），邊緣用 #wash 濾鏡做出不規則水痕 */
[data-theme="watercolor"] .bg-a{width:62vw;height:62vw;right:-18vw;top:-30vw;border-radius:50%;background:radial-gradient(closest-side,rgba(222,160,152,.55),rgba(232,186,176,.3) 60%,transparent 92%);filter:url(#wash)}
[data-theme="watercolor"] .bg-b{width:40vw;height:30vw;left:-12vw;bottom:-8vw;border-radius:50%;background:radial-gradient(closest-side,rgba(160,174,140,.45),rgba(180,190,160,.2) 65%,transparent 92%);filter:url(#wash)}
[data-theme="watercolor"] .bg-c{inset:0;background:var(--tex-paper);background-size:300px;opacity:.35}
[data-theme="watercolor"] .stage-floor{background:radial-gradient(closest-side,rgba(120,80,60,.10),transparent)}
[data-theme="watercolor"] [data-layer="inner-glow"]{mix-blend-mode:normal}
[data-theme="watercolor"] .bloom{mix-blend-mode:normal}
[data-theme="watercolor"] .pc-label{letter-spacing:.3em}
[data-theme="watercolor"] .kicker,[data-theme="watercolor"] .brand-kicker{font-style:italic;letter-spacing:.08em;text-transform:none;font-size:calc(var(--fs-kicker) * 1.25)}
[data-theme="watercolor"] .warning-bar{font-weight:700}
[data-theme="watercolor"] .pc-front::after{content:"";position:absolute;right:-12em;bottom:-14em;width:72em;height:58em;border-radius:50%;
  background:radial-gradient(closest-side,rgba(214,150,146,.42),rgba(224,176,168,.18) 60%,transparent);filter:url(#wash);pointer-events:none}

/* ---------- 禮盒：手工紙盒（天地蓋）+ 棉麻緞帶 + 乾燥花 ----------
   紙盒比例偏方、偏矮，邊角微圓；主光左上，陰影帶暖。 */
[data-theme="watercolor"] .gb{--W:52em;--D:46em;--H:23em;--LH:8.5em;--LS:5.5em;--LO:.7em}
[data-theme="watercolor"] .cube .f{border-radius:.35em}
[data-theme="watercolor"] .body .front{background:var(--tex-fiber) 0 0/16em,linear-gradient(180deg,transparent 0 5em,rgba(90,50,40,.28) 5em,transparent 8.5em),linear-gradient(90deg,#e9c7c0,#e1bab2 70%,#d8afa7);box-shadow:inset 0 -1em 1.2em -.7em rgba(110,60,50,.28)}
[data-theme="watercolor"] .body .right{background:var(--tex-fiber) 0 0/16em,linear-gradient(180deg,transparent 0 5em,rgba(90,50,40,.3) 5em,transparent 8.5em),linear-gradient(90deg,#c99d95,#bb8f87);box-shadow:inset 0 -1em 1.2em -.7em rgba(110,60,50,.3)}
[data-theme="watercolor"] .body .top{background:var(--tex-fiber) 0 0/16em,radial-gradient(70% 70% at 45% 45%,#fbf6ee,#efe4d4);box-shadow:inset 0 0 0 .5em #e1bab2,inset 1em 1em 2.4em rgba(120,80,60,.35)}
[data-theme="watercolor"] .body .top::after{display:none}
[data-theme="watercolor"] .lid .front{background:var(--tex-fiber) 0 0/16em,linear-gradient(180deg,#f1d3cc,#e8c3bb);box-shadow:inset 0 .25em .2em -.1em rgba(255,255,255,.7),inset 0 -.4em .4em -.2em rgba(120,70,60,.25)}
[data-theme="watercolor"] .lid .right{background:var(--tex-fiber) 0 0/16em,linear-gradient(90deg,#d4aaa2,#c79b93);box-shadow:inset 0 .25em .2em -.1em rgba(255,255,255,.35)}
[data-theme="watercolor"] .lid .top{background:var(--tex-fiber) 0 0/16em,radial-gradient(60% 70% at 25% 25%,rgba(255,255,255,.55),transparent 65%),linear-gradient(160deg,#f6ddd6,#edcbc3 60%,#e4bdb5);box-shadow:inset 0 0 0 .2em rgba(255,255,255,.45)}
/* 棉麻緞帶：十字交叉，偏離中心（x 38%、y 58%），避免完美對稱 */
[data-theme="watercolor"] .deco b{position:absolute;display:block;background:var(--tex-weave),linear-gradient(90deg,#cbbda2,#e2d6bf 45%,#d5c7ad)}
[data-theme="watercolor"] .deco .front .d1,[data-theme="watercolor"] .deco .top .d1{left:36%;width:4.6em;top:0;bottom:0;background:var(--tex-weave),linear-gradient(90deg,#c8b99c,#e4d8c2 45%,#d3c4a9);box-shadow:.25em 0 .4em rgba(110,80,50,.25)}
[data-theme="watercolor"] .deco .top .d2{top:52%;height:4.6em;left:0;right:0;background:var(--tex-weave),linear-gradient(180deg,#c5b598,#e0d3bb 45%,#cdbea2);box-shadow:0 .25em .4em rgba(110,80,50,.25)}
[data-theme="watercolor"] .deco .right .d1{left:46%;width:4.6em;top:0;bottom:0;background:var(--tex-weave),linear-gradient(90deg,#b3a387,#c9ba9e 50%,#bcad91);box-shadow:.25em 0 .4em rgba(110,80,50,.25)}
/* 平面蝴蝶結 + 乾燥花：放在盒蓋頂面緞帶交叉點的投影位置 */
[data-theme="watercolor"] .orn{position:absolute;left:var(--orn-x,43%);top:var(--orn-y,46%);width:30em;height:22em;translate:-50% -50%;pointer-events:none}
[data-theme="watercolor"] .orn svg{position:absolute;overflow:visible;filter:drop-shadow(.2em .5em .4em rgba(90,60,40,.3))}
[data-theme="watercolor"] .orn-flowers{width:34em;left:6em;top:-6em;rotate:-14deg}
[data-theme="watercolor"] .orn-bow{width:27em;left:0;top:1em}

[data-theme="watercolor"] .gb-lid-group{--lid-x:-52em;--lid-y:-58em;--lid-tilt1:-3deg;--lid-tilt2:-14deg}
[data-theme="watercolor"] .stage .pc{--spin-y:-1080deg;--spin-z:-6deg}
/* 小動作（850–1000ms）：蝴蝶結先鬆開、微微上浮 */
[data-theme="watercolor"] .is-playing .orn-bow{animation:bow-loose .15s .85s ease-out both}
@keyframes bow-loose{to{transform:translateY(-1.2em) rotate(-5deg) scale(1.04)}}
/* 霞鶩文楷粗體筆畫偏細，投影時加極細描邊補足字重 */
[data-theme="watercolor"] .pc-name,[data-theme="watercolor"] .display{-webkit-text-stroke:.018em currentColor}

/* ---------- 揭曉背景：花園窗邊的水彩紙牆 ----------
   冷壓水彩紙牆＋右上淡淡的枝葉影子（窗外植物，光從左上）＋米白麻布桌面（真實透視）。中央保持乾淨、四周輕微暖色暗角。 */
[data-theme="watercolor"]{--reveal-bg-dir:"assets/backgrounds/watercolor-floral/";   /* v10：寫實背景（桌機＋手機直式）已套用；設成 none 會退回下方 CSS／SVG 場景 */--rb-base:#f3ebdf;--rb-horizon:58%;--rb-horizon-m:49%;--rb-ink:#3b2c28}
[data-theme="watercolor"] .rb-wall{background:radial-gradient(70% 90% at 22% 0%,#fbf6ee,transparent 70%),var(--tex-paper) 0 0/300px,linear-gradient(180deg,#f2eadf,#e9dfd1)}
[data-theme="watercolor"] .rb-wall::after{content:"";position:absolute;right:-6%;top:-14%;width:46%;height:80%;border-radius:50%;background:radial-gradient(closest-side,rgba(222,160,152,.28),transparent);filter:url(#wash)}
[data-theme="watercolor"] .rb-r{right:-4%;top:-6%;width:62%;height:78%;background:url("bg/leaf-shadow.svg") 100% 0/100% auto no-repeat;opacity:.06;filter:blur(7px);mix-blend-mode:multiply}
[data-theme="watercolor"] .rb-l{left:-8%;bottom:-10%;width:40%;height:42%;border-radius:50%;background:radial-gradient(closest-side,rgba(160,174,140,.22),transparent);filter:url(#wash)}
[data-theme="watercolor"] .rb-table{background:
  radial-gradient(30% 34% at 50% 18%,rgba(255,250,240,.6),transparent 70%),
  linear-gradient(180deg,rgba(120,90,70,.18),rgba(0,0,0,0) 20%,rgba(120,90,70,.12) 80%),
  repeating-linear-gradient(0deg,rgba(150,125,95,.10) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 1px,transparent 1px 4px),
  linear-gradient(180deg,#ece2d3,#e2d6c4);filter:blur(.6px)}
[data-theme="watercolor"] .rb-light{left:0;right:0;top:calc(var(--horizon) - 24px);height:48px;background:linear-gradient(180deg,transparent,rgba(120,90,70,.16) 50%,transparent);filter:blur(5px)}
[data-theme="watercolor"] .rb-vig{background:radial-gradient(ellipse 66% 64% at 48% 52%,transparent 50%,rgba(110,80,60,.2) 100%)}

/* ---------- 寫實背景圖對位（assets/backgrounds/watercolor-floral/）----------
   v10 實測（麻布桌面後緣）：桌機 2560×1440 約 y 835（58.0%）、手機 1170×2532 約 y 1473（58.2%），兩張都取 .58。
   地平線已夠高，不用 lift（=0，不裁天花板）；盒底中心在地平線下 6em。
   結果：1920×1080 地平線 626px、盒底錨點 675px；390×844 地平線 490px、盒底 515px；390×667 地平線 387px、盒底 412px。
   有圖時 .rb-css（上方 CSS 場景）不顯示；--reveal-bg-dir 設 none 會退回 CSS 場景。 */
[data-theme="watercolor"]{--ph-h:.58;--ph-h-m:.58;--ph-lift:0;--ph-lift-m:0;--gb-gap:6;--gb-gap-m:6;--ph-vig:.15}

/* ---------- 圖片禮盒（assets/boxes/watercolor-floral/）----------
   lid-deco 拆成 base（緞帶十字）＋ bow（蝴蝶結、尾緞、乾燥花）：蝴蝶結保留 850–1000ms 的「鬆開」小動作，
   軸心 = 蝴蝶結結眼（畫布 38.6%, 43.4%）。動作同 CSS 版：上浮 1.2em、轉 -5°、放大 4%。
   v7：美術已把蝴蝶結底下的盒蓋畫滿（box-lid 不再有 holdout），柔影改畫在 lid-deco-bow，
   所以恢復完整上揚與旋轉（v6 為了遮黑邊只放大 7%、不位移不旋轉）。
   盒身緞帶在 body-deco，跟盒身不動。 */
[data-theme="watercolor"]{--box-split:"lid-deco-base lid-deco-bow"}
[data-theme="watercolor"] [data-layer="lid-deco-bow"] > picture{transform-origin:38.6% 43.4%}
[data-theme="watercolor"] .is-playing [data-layer="lid-deco-bow"] > picture{animation:bow-puff-img .15s .85s ease-out both}
@keyframes bow-puff-img{to{transform:translateY(-1.2em) rotate(-5deg) scale(1.04)}}
[data-theme="watercolor"]{--glow-l2a:none}   /* 盒口光素材本身就是透明底 */
