/* ============================================================
   心意邮局 · 鎏金纸感升级层（premium.css）
   只覆盖视觉，不动结构与交互逻辑；加载在 style/delight/paper 之后。
   设计意图：把"米白平铺"换成"象牙纸 + 烫金细线 + 蜡封"的请柬质感。
   ============================================================ */

:root{
  --lux-gold:#B08D57;
  --lux-gold-2:#D8BE85;
  --lux-gold-3:#F1E3BE;
  --lux-gold-line:rgba(176,141,87,.42);
  --lux-gold-line-soft:rgba(176,141,87,.22);
  --lux-ink:#2B241D;
  --lux-paper:#FFFDF7;
  --lux-paper-2:#FBF5E8;
  --lux-brick:#9E3B28;
  --lux-foil:linear-gradient(100deg,#8E6E3A 0%,#D8BE85 26%,#F7EDD2 46%,#C9A86A 62%,#8E6E3A 100%);
}

/* ---------- 1. 页面底：象牙纸 + 细颗粒 + 暖光 ---------- */
body.pg{
  background:
    radial-gradient(1100px 560px at 50% -12%, #FFFDF9 0%, rgba(255,253,249,0) 62%),
    radial-gradient(900px 620px at 6% 108%, #F0E3C8 0%, rgba(240,227,200,0) 60%),
    radial-gradient(900px 620px at 94% 104%, #F3E7CE 0%, rgba(243,231,206,0) 58%),
    linear-gradient(180deg,#F8F3E7 0%,#F4ECDB 55%,#EDE2CB 100%);
  background-attachment:fixed;
  position:relative;
}
/* 纸张颗粒 */
body.pg::before{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.055;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
}
/* 极淡的丝纹（斜向） */
body.pg::after{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.5;
  background-image:repeating-linear-gradient(112deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 7px);
}
body.pg > header,
body.pg > main,
body.pg > footer{position:relative;z-index:1}

/* ---------- 2. 头部：玻璃象牙 + 烫金细线 ---------- */
body.pg .header{
  background:rgba(250,246,236,.82);
  border-bottom:1px solid var(--lux-gold-line-soft);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 10px 30px -22px rgba(90,66,30,.5);
}
body.pg .header::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.55) 18%,rgba(241,227,190,.9) 50%,rgba(176,141,87,.55) 82%,transparent);
}
body.pg .brand-icon{
  background:var(--lux-foil);
  color:#4a2c1c;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 6px 16px -6px rgba(120,90,40,.55), 0 1px 0 rgba(255,255,255,.6) inset;
}
body.pg .brand{letter-spacing:.06em}
body.pg .header nav .active:after{background:var(--lux-brick)}
body.pg .header-note{letter-spacing:.04em}

/* ---------- 3. 选场景：金色眉标 + 光晕 ---------- */
body.pg .scene-gallery{
  background:
    radial-gradient(60% 42% at 50% 6%, rgba(255,253,247,.85) 0%, rgba(255,253,247,0) 70%),
    radial-gradient(46% 34% at 50% 52%, rgba(176,141,87,.10) 0%, rgba(176,141,87,0) 70%);
}
body.pg .gallery-eyebrow{
  color:var(--lux-gold);
  letter-spacing:.42em;
  font-size:10.5px;
  text-transform:uppercase;
}
body.pg .gallery-title{
  font-weight:600;
  letter-spacing:.02em;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
body.pg .gallery-title em{
  border-bottom-color:var(--lux-gold-line);
  position:relative;
}
body.pg .scene-hint{color:#A99B82;letter-spacing:.34em}
body.pg .scene-card{
  box-shadow:0 30px 60px -28px rgba(80,58,24,.6), 0 0 0 1px rgba(255,255,255,.6) inset;
}

/* ---------- 4. 工坊外壳：请柬卡 ---------- */
body.pg .workshop{
  background:linear-gradient(180deg,#FFFDF8 0%,#FDF8EC 100%);
  border:1px solid rgba(176,141,87,.40);
  border-radius:22px;
  box-shadow:
    0 50px 110px -50px rgba(80,58,24,.55),
    0 10px 30px -22px rgba(80,58,24,.30),
    0 1px 0 rgba(255,255,255,.9) inset,
    0 0 0 6px rgba(255,253,248,.55);
  position:relative;
}
/* 顶部烫金压条 */
body.pg .workshop::before{
  content:'';
  position:absolute;left:50%;top:-1px;transform:translateX(-50%);
  width:min(320px,46%);height:3px;border-radius:0 0 4px 4px;
  background:var(--lux-foil);
  box-shadow:0 2px 10px rgba(176,141,87,.45);
}
body.pg .workshop-top{
  background:linear-gradient(180deg,#FFFBEF,#FAF3E2);
  border-bottom:1px solid var(--lux-gold-line-soft);
}
body.pg .workshop-top h2{
  font-family:var(--serif);
  letter-spacing:.06em;
  color:var(--lux-ink);
}
body.pg .tiny-star{color:var(--lux-gold)}
body.pg .steps b{border-color:var(--lux-gold-line-soft);color:#8E7A5C}
body.pg .steps .current{color:var(--lux-brick);font-weight:600}
body.pg .steps .current b{
  background:var(--lux-brick);border-color:var(--lux-brick);color:#FFF6EA;
  box-shadow:0 4px 12px -4px rgba(158,59,40,.6);
}
body.pg .steps i{background:var(--lux-gold-line-soft)}

/* ---------- 5. 左栏：亚麻主题册 ---------- */
body.pg .theme-panel{
  background:
    linear-gradient(180deg,rgba(251,246,235,.96),rgba(247,240,224,.96)),
    repeating-linear-gradient(45deg,rgba(176,141,87,.05) 0 1px,transparent 1px 6px);
  border-right:1px solid var(--lux-gold-line-soft);
}
body.pg .panel-heading h3{letter-spacing:.02em}
body.pg .panel-heading h3 span{font-family:var(--serif);letter-spacing:.04em}
body.pg .panel-heading h3>span:first-child,
body.pg .editor-heading h3 .step-badge{
  color:var(--lux-brick);
}
body.pg .theme-card{
  background:linear-gradient(180deg,#FFFDF8,#FCF7EB);
  border:1px solid rgba(176,141,87,.28);
  border-radius:12px;
  box-shadow:0 2px 0 rgba(255,255,255,.8) inset;
}
body.pg .theme-card:hover{
  border-color:var(--lux-gold-line);
  box-shadow:0 10px 24px -14px rgba(90,66,30,.55), 0 2px 0 rgba(255,255,255,.9) inset;
}
body.pg .theme-card.chosen{
  border-color:var(--lux-brick);
  background:linear-gradient(180deg,rgba(158,59,40,.07),rgba(158,59,40,.015));
  box-shadow:0 0 0 1px rgba(158,59,40,.22), 0 12px 26px -18px rgba(120,50,30,.6);
}
body.pg .theme-check{background:var(--lux-brick);color:#FFF6EA}
body.pg .little-note{
  background:linear-gradient(180deg,#FBF1DC,#F5E7CB);
  border:1px solid rgba(176,141,87,.34);
  border-radius:10px;
  position:relative;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
body.pg .little-note::before{
  content:'';
  position:absolute;left:10px;top:10px;width:14px;height:14px;
  border-top:1px solid rgba(176,141,87,.5);border-left:1px solid rgba(176,141,87,.5);
}
body.pg .note-heart{color:var(--lux-brick)}

/* ---------- 6. 中栏：信纸（写心意） ---------- */
body.pg .editor-panel{
  position:relative;
  border-right:1px solid var(--lux-gold-line-soft);
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(255,255,255,.75), rgba(255,255,255,0) 60%),
    linear-gradient(180deg,#FFFDF7 0%,#FDF8EC 100%);
}
/* 四角细金角标 */
body.pg .editor-panel::before,
body.pg .editor-panel::after{
  content:'';position:absolute;width:22px;height:22px;pointer-events:none;opacity:.75;
}
body.pg .editor-panel::before{
  left:12px;top:12px;
  border-top:1px solid var(--lux-gold-line);border-left:1px solid var(--lux-gold-line);
}
body.pg .editor-panel::after{
  right:12px;bottom:12px;
  border-bottom:1px solid var(--lux-gold-line);border-right:1px solid var(--lux-gold-line);
}
body.pg .editor-heading{
  border-bottom:1px solid var(--lux-gold-line-soft);
  padding-bottom:12px;
}
body.pg .editor-heading h3 span:last-child{font-family:var(--serif);letter-spacing:.04em}
body.pg .editor-heading h3 .step-badge{
  background:transparent;color:var(--lux-brick);
  border:1px solid rgba(158,59,40,.45);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
  font-family:var(--serif);
}
body.pg #save-status{color:#A99B82;letter-spacing:.04em}
body.pg #save-status i{background:#8FA98A}

/* 表单：把方框换成"信纸填空线" */
body.pg .field-row label,
body.pg .field,
body.pg .label-line{
  color:#8B7B62;
  letter-spacing:.04em;
  font-size:11.5px;
}
body.pg .field-row input,
body.pg .field>input{
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(176,141,87,.45);
  border-radius:0;
  padding:2px 2px 6px;
  height:38px;
  font-family:var(--serif);
  font-size:15px;
  color:var(--lux-ink);
  box-shadow:none;
}
body.pg .field-row input:hover,
body.pg .field>input:hover{border-bottom-color:var(--lux-gold)}
body.pg .field-row input:focus,
body.pg .field>input:focus,
body.pg .textarea-wrap textarea:focus{
  border-bottom-color:var(--lux-brick)!important;
  border-color:var(--lux-brick)!important;
  box-shadow:0 2px 0 -1px rgba(158,59,40,.25)!important;
}
body.pg .field-row input::placeholder,
body.pg .field>input::placeholder{color:#C6B99F;font-family:inherit}

body.pg .textarea-wrap textarea{
  background:
    repeating-linear-gradient(transparent,transparent 30px,rgba(176,141,87,.16) 30px,rgba(176,141,87,.16) 31px),
    linear-gradient(180deg,#FFFDF8,#FCF6E9);
  border:1px solid rgba(176,141,87,.34);
  border-radius:12px;
  padding:14px 16px;
  line-height:31px;
  font-size:14.5px;
  color:var(--lux-ink);
  box-shadow:0 2px 0 rgba(255,255,255,.85) inset, 0 14px 30px -26px rgba(90,66,30,.6);
}
body.pg .textarea-wrap::after{
  content:'';
  position:absolute;right:14px;bottom:12px;width:18px;height:18px;
  border-bottom:1px solid rgba(176,141,87,.45);border-right:1px solid rgba(176,141,87,.45);
  pointer-events:none;opacity:.7;
}
body.pg .textarea-wrap{position:relative}
body.pg #char-count{color:#A99B82;font-variant-numeric:tabular-nums}

body.pg .select-wrapper select{
  background:linear-gradient(180deg,#FFFDF8,#FBF4E6);
  border:1px solid rgba(176,141,87,.34);
  border-radius:999px;
  height:38px;
  font-family:var(--serif);
  font-size:13.5px;
  padding-left:34px;
  color:var(--lux-ink);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
body.pg .select-wrapper span[data-icon]{color:var(--lux-gold)}

body.pg .upload-tile{
  background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(251,244,230,.9));
  border:1px dashed rgba(176,141,87,.5);
  border-radius:12px;
  color:#A99B82;
}
body.pg .upload-tile:hover{border-color:var(--lux-brick);color:var(--lux-brick)}
body.pg .photo-tile img{border-radius:10px}
body.pg .photo-tile{border-radius:12px}
body.pg .inspire{
  color:var(--lux-brick);
  border-bottom:1px solid rgba(158,59,40,.35);
  padding-bottom:1px;
}
body.pg .privacy-inline{color:#A99B82}

/* ---------- 7. 右栏：保留原样，只加金边与更细的网格 ---------- */
body.pg .preview-panel{
  background:linear-gradient(180deg,#F6EFDF,#F1E8D4);
  border-left:1px solid var(--lux-gold-line-soft);
}
body.pg .preview-stage{
  background-image:
    radial-gradient(rgba(140,110,60,.16) .7px,transparent .7px),
    radial-gradient(100% 76% at 50% 46%, #FFFEFB 0%, #FBF3E2 58%, #F5E9D2 100%);
  background-size:16px 16px, min(440px,86%) min(650px,84%);
  background-position: 0 0, center;
  background-repeat: repeat, no-repeat;
}
body.pg .phone-frame{
  box-shadow:
    0 46px 80px -40px rgba(66,46,16,.75),
    0 12px 26px -16px rgba(66,46,16,.45),
    0 0 0 1px rgba(176,141,87,.28);
}
body.pg .phone-frame{border-color:#2E2820}
body.pg .stage-caption{color:#A99B82}
body.pg .live-dot{background:var(--lux-brick)}

/* ---------- 8. 按钮：烫金描边 ---------- */
body.pg .primary{
  background:linear-gradient(180deg,#B04630,#8E3321);
  border:1px solid rgba(255,235,205,.28);
  color:#FFF7EC;
  border-radius:11px;
  letter-spacing:.04em;
  box-shadow:
    0 12px 26px -14px rgba(120,45,25,.75),
    0 1px 0 rgba(255,255,255,.28) inset,
    0 0 0 1px rgba(158,59,40,.5);
  position:relative;
}
body.pg .primary::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 45%);
}
body.pg .primary:hover{
  background:linear-gradient(180deg,#BC4F36,#9C3925);
  box-shadow:0 16px 32px -14px rgba(120,45,25,.8), 0 1px 0 rgba(255,255,255,.3) inset, 0 0 0 1px rgba(158,59,40,.55);
}
body.pg .secondary{
  background:linear-gradient(180deg,#FFFDF8,#FBF4E6);
  border:1px solid rgba(176,141,87,.42);
  color:#7B6B52;
  border-radius:11px;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
body.pg .secondary:hover{
  border-color:var(--lux-brick);
  color:var(--lux-brick);
  background:linear-gradient(180deg,#FFFDF8,#FDF7EA);
}

/* ---------- 9. 底栏 / 页脚 ---------- */
body.pg .workshop-bottom{
  background:linear-gradient(180deg,#FBF5E7,#F7EFDD);
  border-top:1px solid var(--lux-gold-line-soft);
}
body.pg .ready-note strong{font-family:var(--serif);letter-spacing:.04em}
body.pg .under-workshop{color:#A99B82;letter-spacing:.1em}
body.pg footer{
  border-top:1px solid var(--lux-gold-line-soft);
  background:linear-gradient(180deg,rgba(250,245,235,.6),rgba(244,236,219,.9));
  position:relative;
}
body.pg footer::before{
  content:'';position:absolute;left:50%;top:-1px;transform:translateX(-50%);
  width:min(260px,40%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.6),transparent);
}

/* ---------- 10. 弹窗 ---------- */
body.pg dialog{
  border:1px solid rgba(176,141,87,.42);
  box-shadow:0 60px 120px -40px rgba(60,44,18,.55);
  background:linear-gradient(180deg,#FFFDF9,#FCF6E9);
}
body.pg dialog::backdrop{background:rgba(43,36,29,.5);backdrop-filter:blur(10px)}
body.pg .dialog-content h2{letter-spacing:.04em}
body.pg .eyebrow{color:var(--lux-gold);letter-spacing:.32em}

/* ---------- 11. 移动端收敛 ---------- */
@media(max-width:780px){
  body.pg .workshop{border-radius:16px;box-shadow:0 30px 60px -34px rgba(80,58,24,.5)}
  body.pg .editor-panel::before,body.pg .editor-panel::after{display:none}
  body.pg .workshop::before{width:40%}
}

/* ============================================================
   补充层：把三块"平"的地方做出请柬感
   ============================================================ */

/* ---------- A. 首屏（选场景）的鎏金舞台 ---------- */
body.pg .scene-gallery{
  position:relative;
  padding-bottom:56px;
}
/* 眉标两侧金线 */
body.pg .gallery-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
}
body.pg .gallery-eyebrow::before,
body.pg .gallery-eyebrow::after{
  content:'';width:44px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.75));
}
body.pg .gallery-eyebrow::after{background:linear-gradient(90deg,rgba(176,141,87,.75),transparent)}
/* 标题下的金饰线：细线 + 菱形 */
body.pg .gallery-head{position:relative;padding-bottom:22px}
body.pg .gallery-head::after{
  content:'';
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(280px,52%);height:9px;
  background:
    radial-gradient(circle at 50% 50%, rgba(176,141,87,.9) 0 2.2px, transparent 2.4px),
    linear-gradient(90deg,transparent,rgba(176,141,87,.55) 18%,rgba(176,141,87,.55) 46%,transparent 46%,transparent 54%,rgba(176,141,87,.55) 54%,rgba(176,141,87,.55) 82%,transparent);
}
/* 舞台上的一层暖光 + 极淡水印 */
body.pg .scene-stage{position:relative}
body.pg .scene-stage::before{
  content:'';
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(760px,88%);height:min(520px,84%);
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(176,141,87,.16),rgba(176,141,87,.05) 55%,transparent 72%);
  filter:blur(6px);
  pointer-events:none;
}
body.pg .scene-stage::after{
  content:'HeartGift';
  position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);
  font-family:'Instrument Serif',var(--serif),serif;
  font-size:clamp(46px,7vw,96px);
  letter-spacing:.16em;
  color:rgba(176,141,87,.13);
  pointer-events:none;white-space:nowrap;
}
body.pg .scene-card{
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 40px 80px -40px rgba(70,50,18,.75),
    0 0 0 1px rgba(176,141,87,.28),
    0 1px 0 rgba(255,255,255,.5) inset;
}
body.pg .scene-card.facing{
  box-shadow:
    0 46px 90px -38px rgba(70,50,18,.8),
    0 0 0 1px rgba(176,141,87,.55),
    0 0 0 7px rgba(255,253,248,.55),
    0 1px 0 rgba(255,255,255,.6) inset;
}
body.pg .scene-hint{position:relative}
body.pg .scene-hint::before{
  content:'';
  display:block;width:1px;height:26px;margin:0 auto 14px;
  background:linear-gradient(180deg,transparent,rgba(176,141,87,.7));
}

/* ---------- B. 中栏：一张真正的信纸 ---------- */
body.pg .editor-panel{
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(255,255,255,.85), rgba(255,255,255,0) 62%),
    linear-gradient(180deg,#FFFDF7 0%,#FCF6E8 100%);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.7), inset -1px 0 0 rgba(255,255,255,.7);
}
body.pg .editor-panel > *{position:relative;z-index:1}
/* 内衬金线框（信笺抬头） */
body.pg .editor-panel::before{
  left:16px;right:16px;top:16px;bottom:16px;width:auto;height:auto;
  border:1px solid rgba(176,141,87,.26);
  border-radius:14px;
  opacity:1;
}
body.pg .editor-panel::after{
  right:22px;bottom:20px;
  width:26px;height:26px;
  border-bottom:1px solid rgba(176,141,87,.5);
  border-right:1px solid rgba(176,141,87,.5);
  opacity:.9;
}
/* 标题：金字编号 + 衬线大标题 + 金线 */
body.pg .editor-heading{
  border-bottom:1px solid transparent;
  position:relative;
  padding-bottom:14px;
  margin-bottom:18px;
}
body.pg .editor-heading::after{
  content:'';
  position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,rgba(176,141,87,.55),rgba(176,141,87,.12) 70%,transparent);
}
body.pg .editor-heading h3{
  display:flex;align-items:center;gap:10px;
  font-size:15px;
}
body.pg .editor-heading h3 span:last-child{
  font-family:var(--serif);
  font-size:16.5px;
  letter-spacing:.08em;
  color:var(--lux-ink);
  font-weight:600;
}
body.pg .editor-heading h3 .step-badge{
  width:24px;height:24px;
  border:1px solid rgba(158,59,40,.5);
  color:var(--lux-brick);
  font-size:11px;
  background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(251,244,230,.9));
}
body.pg #save-status{font-size:10.5px;letter-spacing:.06em}

/* 每行字段：标签更像信笺题头 */
body.pg .field-row{gap:18px}
body.pg .field-row label,
body.pg .field,
body.pg .label-line{font-size:11px;letter-spacing:.08em;color:#9A8A70}
body.pg .field-row input,
body.pg .field>input{
  font-size:16px;
  border-bottom-width:1px;
  background-image:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));
}
body.pg .field-row input:focus,
body.pg .field>input:focus{background-image:linear-gradient(180deg,rgba(255,249,238,.9),rgba(255,249,238,0))}

/* 正文纸：更厚、更有纸张层次 */
body.pg .textarea-wrap{
  filter:drop-shadow(0 18px 30px rgba(90,66,30,.10));
}
body.pg .textarea-wrap textarea{
  border-radius:14px;
  border-color:rgba(176,141,87,.42);
  background:
    repeating-linear-gradient(transparent,transparent 30px,rgba(176,141,87,.15) 30px,rgba(176,141,87,.15) 31px),
    linear-gradient(180deg,#FFFEFA,#FDF7EA);
}
body.pg .textarea-wrap::before{
  content:'';
  position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,rgba(176,141,87,.55),rgba(176,141,87,.1));
  pointer-events:none;
}

/* 照片位：金的相框 */
body.pg .upload-tile{
  border:1px dashed rgba(176,141,87,.6);
  background:linear-gradient(180deg,rgba(255,253,248,.95),rgba(252,246,234,.9));
  box-shadow:0 10px 24px -20px rgba(90,66,30,.7), 0 1px 0 rgba(255,255,255,.9) inset;
}
body.pg .upload-tile:hover{box-shadow:0 14px 28px -18px rgba(120,60,40,.6), 0 1px 0 rgba(255,255,255,.9) inset}
body.pg .photo-tile{box-shadow:0 10px 24px -18px rgba(90,66,30,.75), 0 0 0 1px rgba(176,141,87,.35)}

/* 音乐胶囊：金钉 */
body.pg .select-wrapper{position:relative}
body.pg .select-wrapper::after{
  content:'';
  position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-3px;
  border-right:1px solid rgba(158,59,40,.6);border-bottom:1px solid rgba(158,59,40,.6);
  transform:rotate(45deg);pointer-events:none;
}
body.pg .select-wrapper select{appearance:none;-webkit-appearance:none;padding-right:30px}

/* 底部按钮行：上沿金线 */
body.pg .nav-row{
  border-top:1px solid rgba(176,141,87,.22);
  padding-top:16px;
}

/* ---------- C. 右栏：给手机一块"衬纸" ---------- */
body.pg .preview-stage{position:relative;isolation:isolate}
body.pg .preview-stage::before{
  content:'';
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px,86%);height:min(620px,86%);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(250,243,229,.92));
  border:1px solid rgba(176,141,87,.34);
  box-shadow:
    0 50px 90px -50px rgba(70,50,18,.65),
    0 1px 0 rgba(255,255,255,.9) inset,
    0 0 0 8px rgba(255,253,248,.4);
  z-index:0;
}
/* 衬纸上的金线角 */
body.pg .preview-stage::after{
  content:'';
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px,86%);height:min(620px,86%);
  border-radius:26px;
  background:
    linear-gradient(90deg,rgba(176,141,87,.5),transparent 18%) left top/44px 1px no-repeat,
    linear-gradient(180deg,rgba(176,141,87,.5),transparent 18%) left top/1px 44px no-repeat,
    linear-gradient(270deg,rgba(176,141,87,.5),transparent 18%) right bottom/44px 1px no-repeat,
    linear-gradient(0deg,rgba(176,141,87,.5),transparent 18%) right bottom/1px 44px no-repeat;
  z-index:1;pointer-events:none;
}
body.pg .phone-frame{position:relative;z-index:2}
body.pg .stage-caption{z-index:3;position:relative}
body.pg .preview-side-note,
body.pg .preview-decoration{opacity:.5}
/* ---------- D. 工坊内部：纸纹 + 光晕 + 金色分栏线 ---------- */
body.pg .workshop{
  background:
    radial-gradient(120% 70% at 50% -6%, rgba(255,255,255,.9), rgba(255,255,255,0) 58%),
    radial-gradient(60% 40% at 18% 8%, rgba(176,141,87,.08), rgba(176,141,87,0) 70%),
    linear-gradient(180deg,#FFFDF8 0%,#FCF6E9 55%,#FAF2E2 100%);
}
body.pg .editor-panel{
  border-right:1px solid transparent;
  border-image:linear-gradient(180deg,rgba(176,141,87,0),rgba(176,141,87,.42) 10%,rgba(176,141,87,.42) 90%,rgba(176,141,87,0)) 1;
}
body.pg .preview-panel{
  border-left:1px solid transparent;
  border-image:linear-gradient(180deg,rgba(176,141,87,0),rgba(176,141,87,.42) 10%,rgba(176,141,87,.42) 90%,rgba(176,141,87,0)) 1;
}

/* 中栏顶部暖光 */
body.pg .editor-panel{
  background:
    radial-gradient(90% 42% at 50% -8%, rgba(255,246,226,.95), rgba(255,246,226,0) 62%),
    radial-gradient(120% 60% at 50% 0%, rgba(255,255,255,.85), rgba(255,255,255,0) 62%),
    linear-gradient(180deg,#FFFDF7 0%,#FCF6E8 100%);
}

/* 右栏：给手机一块真正的衬纸（挂在手机框上，保证层级） */
body.pg .phone-frame{position:relative;z-index:2}
body.pg .phone-frame::before{
  content:'';
  position:absolute;inset:-34px -30px;
  border-radius:40px;
  background:linear-gradient(180deg,#FFFEFB 0%,#F8EED9 100%);
  box-shadow:
    0 0 0 1px rgba(176,141,87,.42),
    0 50px 90px -46px rgba(70,50,18,.85),
    0 14px 30px -18px rgba(70,50,18,.35),
    0 1px 0 rgba(255,255,255,.95) inset;
  z-index:-1;
}
body.pg .phone-frame::after{
  content:'';
  position:absolute;inset:-30px -26px;
  border-radius:36px;
  background:
    linear-gradient(90deg,rgba(176,141,87,.45),transparent 16%) left top/52px 1px no-repeat,
    linear-gradient(180deg,rgba(176,141,87,.45),transparent 16%) left top/1px 52px no-repeat,
    linear-gradient(270deg,rgba(176,141,87,.45),transparent 16%) right bottom/52px 1px no-repeat,
    linear-gradient(0deg,rgba(176,141,87,.45),transparent 16%) right bottom/1px 52px no-repeat;
  pointer-events:none;z-index:-1;
}

/* 主题卡缩略图：金框 */
body.pg .theme-card .thumb{box-shadow:0 0 0 1px rgba(176,141,87,.35)}
body.pg .theme-card.chosen .thumb{box-shadow:0 0 0 1px rgba(158,59,40,.6)}
/* ============================================================
   E. 真材质层：手工棉纸 / 亚麻 / 烫金箔（assets/tex/*）
   —— 覆盖前面用纯 CSS 模拟的"纸感"，换成真实纹理
   ============================================================ */

/* 整页：一张铺满视口的手工棉纸 */
body.pg{background-color:#F0E6D2}
body.pg::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:url('assets/tex/paper.jpg') center/cover no-repeat;
  opacity:1;
}
/* 纸上的暖光与边缘压暗（让中间亮、四角沉，形成"光从上方来"） */
body.pg::after{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% -16%, rgba(255,255,255,.55), rgba(255,255,255,0) 58%),
    radial-gradient(90% 70% at 6% 112%, rgba(150,112,58,.16), rgba(150,112,58,0) 60%),
    radial-gradient(90% 70% at 96% 108%, rgba(150,112,58,.14), rgba(150,112,58,0) 58%),
    linear-gradient(180deg, rgba(255,252,244,.28), rgba(246,235,214,.30));
}

/* 头部：让纸纹透出来，但压一层薄雾保证可读 */
body.pg .header{background:rgba(250,245,234,.72)}
body.pg .brand-icon{
  background:url('assets/tex/gold.jpg') center/cover no-repeat;
  color:#3B2416;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 6px 16px -6px rgba(120,90,40,.6), 0 1px 0 rgba(255,255,255,.7) inset;
}

/* 首屏：舞台交给纸，只留极淡的光晕 */
body.pg .scene-gallery{
  background:
    radial-gradient(46% 34% at 50% 50%, rgba(176,141,87,.10), rgba(176,141,87,0) 70%);
}

/* 工坊：一张更亮的纸，压在纸桌上 */
body.pg .workshop{
  background:
    linear-gradient(180deg, rgba(255,253,248,.90), rgba(252,246,233,.93)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FFFDF8;
}
/* 顶部烫金压条用真金箔 */
body.pg .workshop::before{
  background:url('assets/tex/gold.jpg') center/cover no-repeat;
  height:4px;
  opacity:.95;
}
body.pg .workshop-top{
  background:linear-gradient(180deg, rgba(255,251,239,.82), rgba(250,243,226,.86));
}

/* 左栏：亚麻纹理 */
body.pg .theme-panel{
  background:
    linear-gradient(180deg, rgba(252,247,236,.80), rgba(248,241,226,.84)),
    url('assets/tex/linen.jpg') center/cover no-repeat,
    #FBF5E8;
}

/* 中栏（写心意）：更亮的纸 + 顶部暖光，纸纹要在，但不能抢字 */
body.pg .editor-panel{
  background:
    radial-gradient(90% 40% at 50% -10%, rgba(255,247,228,.80), rgba(255,247,228,0) 62%),
    linear-gradient(180deg, rgba(255,253,247,.86), rgba(252,246,232,.90)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FFFDF7;
}
/* 正文区：换成本子里的横线纸，纸纹更实一点 */
body.pg .textarea-wrap textarea{
  background:
    repeating-linear-gradient(transparent,transparent 30px,rgba(176,141,87,.16) 30px,rgba(176,141,87,.16) 31px),
    linear-gradient(180deg, rgba(255,254,250,.92), rgba(253,247,234,.94)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FFFDF8;
}

/* 右栏：亚麻衬底，让手机像是摆在布面上 */
body.pg .preview-panel{
  background:
    linear-gradient(180deg, rgba(246,239,223,.74), rgba(241,232,212,.80)),
    url('assets/tex/linen.jpg') center/cover no-repeat,
    #F3EDDD;
}
body.pg .preview-stage{
  background-image:
    radial-gradient(rgba(140,110,60,.14) .7px,transparent .7px),
    radial-gradient(100% 76% at 50% 46%, rgba(255,254,248,.95) 0%, rgba(251,243,226,.92) 58%, rgba(246,235,213,.9) 100%);
  background-size:16px 16px, min(440px,86%) min(650px,84%);
  background-position: 0 0, center;
  background-repeat: repeat, no-repeat;
}

/* 底部与页脚：纸的延续 */
body.pg .workshop-bottom{
  background:
    linear-gradient(180deg, rgba(251,245,231,.86), rgba(246,237,219,.90)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #F8F1DF;
}
body.pg footer{
  background:
    linear-gradient(180deg, rgba(250,245,235,.72), rgba(240,230,209,.92)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #F1E6D0;
}

/* 弹窗也用同一张纸 */
body.pg dialog{
  background:
    linear-gradient(180deg, rgba(255,253,249,.94), rgba(252,246,233,.96)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FFFDF9;
}
/* ============================================================
   F. 调平：面板用纸不用布；卡片真正浮起来
   （亚麻在窄高面板里会被拉成竖条，所以只保留在需要的宽面上）
   ============================================================ */
body.pg::before{opacity:.94}
body.pg::after{
  background:
    radial-gradient(120% 80% at 50% -16%, rgba(255,255,255,.50), rgba(255,255,255,0) 58%),
    radial-gradient(80% 60% at 2% 104%, rgba(140,102,50,.22), rgba(140,102,50,0) 62%),
    radial-gradient(80% 60% at 98% 100%, rgba(140,102,50,.20), rgba(140,102,50,0) 60%),
    radial-gradient(140% 120% at 50% 50%, rgba(255,252,244,0) 62%, rgba(120,88,40,.10) 100%),
    linear-gradient(180deg, rgba(255,252,244,.22), rgba(246,235,214,.26));
}
body.pg .theme-panel{
  background:
    linear-gradient(180deg, rgba(253,248,238,.88), rgba(248,241,227,.92)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FBF5E8;
}
body.pg .preview-panel{
  background:
    linear-gradient(180deg, rgba(245,238,222,.86), rgba(240,231,211,.90)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #F3EDDD;
}
body.pg .workshop{
  background:
    linear-gradient(180deg, rgba(255,254,250,.95), rgba(253,248,236,.96)),
    url('assets/tex/paper.jpg') center/cover no-repeat,
    #FFFDF8;
  border:1px solid rgba(176,141,87,.52);
  box-shadow:
    0 60px 120px -55px rgba(70,50,18,.72),
    0 18px 40px -30px rgba(70,50,18,.45),
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 6px rgba(255,253,248,.35);
}
/* 工坊里头再压一层内衬金线，强调"请柬"边界 */
body.pg .workshop::after{
  content:'';position:absolute;inset:7px;border:1px solid rgba(176,141,87,.20);
  border-radius:17px;pointer-events:none;
}
/* ---------- G. 顶部金箔压边 ---------- */
body.pg > header::before{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:url('assets/tex/gold.jpg') center/cover no-repeat;
  opacity:.9;
}
/* ============================================================
   H. 图片填充背景（两套可选）
   默认：亮色桌面照（保持浅色纸感品牌）
   夜间版：给 <body class="pg theme-dark"> 加上 theme-dark 即可切换
   ============================================================ */

/* —— 默认：晨光亚麻桌面 —— */
body.pg{
  background:#EFE6D3 url('assets/tex/bg-light.jpg') center/cover no-repeat fixed;
}
body.pg::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% -18%, rgba(255,255,255,.55), rgba(255,255,255,0) 62%),
    radial-gradient(140% 120% at 50% 52%, rgba(255,252,246,0) 40%, rgba(120,88,40,.10) 100%),
    linear-gradient(180deg, rgba(255,253,246,.34), rgba(255,251,242,.22) 45%, rgba(246,236,216,.40));
  opacity:1;
}
body.pg::after{content:none}

/* 卡片：压得更实，别被照片吃掉 */
body.pg .workshop{
  background:
    linear-gradient(180deg, rgba(255,254,250,.97), rgba(253,248,236,.97)),
    #FFFDF8;
  box-shadow:
    0 60px 120px -52px rgba(70,50,18,.72),
    0 18px 40px -28px rgba(70,50,18,.42),
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.5);
}
/* 头部：让照片透上来，文字仍清楚 */
body.pg .header{background:rgba(252,248,240,.74)}

/* —— 夜间版 —— */
body.pg.theme-dark{
  background:#120D09 url('assets/tex/bg-dark.jpg') center/cover no-repeat fixed;
  color:#F3E9D8;
}
body.pg.theme-dark::before{
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(255,214,150,.10), rgba(255,214,150,0) 55%),
    radial-gradient(150% 130% at 50% 50%, rgba(10,7,4,0) 42%, rgba(10,7,4,.55) 100%),
    linear-gradient(180deg, rgba(12,8,5,.35), rgba(12,8,5,.15) 40%, rgba(12,8,5,.45));
}
body.pg.theme-dark .header{
  background:rgba(18,13,9,.55);
  border-bottom:1px solid rgba(200,166,108,.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
body.pg.theme-dark .header::after{
  background:linear-gradient(90deg,transparent,rgba(200,166,108,.55) 18%,rgba(247,236,214,.8) 50%,rgba(200,166,108,.55) 82%,transparent);
}
body.pg.theme-dark .brand{color:#F6EDDD}
body.pg.theme-dark .brand small{color:rgba(243,233,216,.6)}
body.pg.theme-dark .header nav a,
body.pg.theme-dark .header nav button{color:rgba(243,233,216,.72)}
body.pg.theme-dark .header nav .active{color:#E7C98B}
body.pg.theme-dark .header nav .active:after{background:#C8A66C}
body.pg.theme-dark .header-note{color:rgba(243,233,216,.55)}
body.pg.theme-dark .status-dot{background:#E7C98B;box-shadow:0 0 0 3px rgba(231,201,139,.18)}
/* 首屏文字转浅色 */
body.pg.theme-dark .gallery-eyebrow{color:#D9BC85}
body.pg.theme-dark .gallery-eyebrow::before,
body.pg.theme-dark .gallery-eyebrow::after{background:linear-gradient(90deg,transparent,rgba(217,188,133,.85))}
body.pg.theme-dark .gallery-eyebrow::after{background:linear-gradient(90deg,rgba(217,188,133,.85),transparent)}
body.pg.theme-dark .gallery-title{color:#F7EEDF;text-shadow:0 2px 26px rgba(0,0,0,.55)}
body.pg.theme-dark .gallery-title em{color:#E7C98B;border-bottom-color:rgba(231,201,139,.55)}
body.pg.theme-dark .gallery-head::after{
  background:
    radial-gradient(circle at 50% 50%, rgba(231,201,139,.95) 0 2.2px, transparent 2.4px),
    linear-gradient(90deg,transparent,rgba(217,188,133,.6) 18%,rgba(217,188,133,.6) 46%,transparent 46%,transparent 54%,rgba(217,188,133,.6) 54%,rgba(217,188,133,.6) 82%,transparent);
}
body.pg.theme-dark .scene-hint{color:rgba(243,233,216,.55)}
body.pg.theme-dark .scene-hint::before{background:linear-gradient(180deg,transparent,rgba(217,188,133,.8))}
body.pg.theme-dark .scene-stage::after{color:rgba(231,201,139,.10)}
body.pg.theme-dark .scene-stage::before{background:radial-gradient(closest-side,rgba(231,201,139,.14),rgba(231,201,139,.04) 55%,transparent 72%)}
/* 底栏与页脚 */
body.pg.theme-dark .under-workshop{color:rgba(243,233,216,.55)}
body.pg.theme-dark footer{
  background:linear-gradient(180deg, rgba(14,10,6,.55), rgba(10,7,4,.8));
  border-top:1px solid rgba(200,166,108,.22);
  color:rgba(243,233,216,.5);
}
body.pg.theme-dark .footer-brand{color:rgba(243,233,216,.75)}
body.pg.theme-dark footer button{color:rgba(243,233,216,.55)}
body.pg.theme-dark footer button:hover{color:#E7C98B}
/* ============================================================
   I. 让照片真的露出来：卡片收窄、去掉多余水印
   ============================================================ */
body.pg .workshop{
  max-width:1340px;
  margin:24px auto 34px;
}
@media(max-width:1400px){ body.pg .workshop{max-width:none;margin:18px 16px 26px} }
@media(max-width:780px){ body.pg .workshop{margin:12px 10px 20px} }

/* 照片已经是主角，背景大字水印去掉 */
body.pg .scene-stage::after{content:none}

/* 夜间版：卡片周围带一圈灯光暖晕 */
body.pg.theme-dark .workshop{
  box-shadow:
    0 70px 150px -60px rgba(0,0,0,.85),
    0 26px 60px -30px rgba(0,0,0,.6),
    0 0 120px -30px rgba(255,176,84,.18),
    0 1px 0 rgba(255,255,255,.9) inset;
}

/* 亮版：页脚别硬切，让它半透到照片上 */
body.pg footer{
  background:linear-gradient(180deg, rgba(250,245,235,.55), rgba(244,234,214,.72));
  border-top:1px solid rgba(176,141,87,.22);
}
body.pg .under-workshop{
  color:rgba(90,70,40,.55);
}
/* ============================================================
   J. 字体体系：衬线正文 + Cormorant 数字 + 毛笔品牌
   ============================================================ */
:root{
  --lux-display:'Cormorant Garamond','Noto Serif SC','STZhongsong','Songti SC',serif;
  --lux-serif:'Noto Serif SC','Songti SC','STSong','SimSun',serif;
  --lux-brush:'Ma Shan Zheng','STKaiti','KaiTi','Noto Serif SC',serif;
}
body.pg{
  font-family:var(--lux-serif);
  -webkit-font-smoothing:antialiased;
  letter-spacing:.01em;
}
/* 标题：Cormorant 打头，中文落到 Noto Serif SC */
body.pg h1,body.pg h2,body.pg h3,
body.pg .gallery-title,
body.pg .panel-heading h3 span,
body.pg .editor-heading h3 span:last-child{
  font-family:var(--lux-display);
  font-weight:500;
  letter-spacing:.03em;
}
/* 数字与拉丁：一律 Cormorant（它的小写数字非常贵） */
body.pg .version,
body.pg .scene-label,
body.pg #char-count,
body.pg #photo-count,
body.pg .field-hint,
body.pg .steps,
body.pg .preview-side-note,
body.pg .stage-caption,
body.pg .under-workshop,
body.pg .plan-list b{
  font-family:var(--lux-display);
  font-variant-numeric:lining-nums;
  letter-spacing:.06em;
}
/* 品牌与落款：毛笔 */
body.pg .brand>span:first-of-type{
  font-family:var(--lux-brush);
  font-weight:400;
  letter-spacing:.08em;
}
body.pg .brand small{
  font-family:var(--lux-display);
  font-style:italic;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.pg .footer-brand,
body.pg .ready-note strong,
body.pg .under-workshop{font-family:var(--lux-brush);letter-spacing:.06em;font-size:15px}
body.pg .gallery-title em{font-family:var(--lux-brush);font-style:normal;font-size:1.04em}
/* 表单：正文也走衬线，字号略提 */
body.pg .field-row input,
body.pg .field>input{font-family:var(--lux-serif);font-size:16px;letter-spacing:.02em}
body.pg .textarea-wrap textarea{font-family:var(--lux-serif);font-size:15px;letter-spacing:.02em;line-height:31px}
body.pg .select-wrapper select{font-family:var(--lux-serif);font-size:13.5px}
body.pg .field-row label,body.pg .field,body.pg .label-line{font-size:11.5px;letter-spacing:.14em}
body.pg .btn-primary,body.pg .primary,body.pg .secondary{font-family:var(--lux-serif);letter-spacing:.08em}

/* ============================================================
   K. 玻璃卡：夜间版（照片透过磨砂玻璃）
   ============================================================ */
body.pg.theme-dark{
  --pg-ink:#F4EBDA;
  --pg-t2:rgba(244,235,218,.74);
  --pg-t3:rgba(244,235,218,.50);
  --pg-card:rgba(255,250,240,.06);
  --pg-2:rgba(255,250,240,.04);
  --pg-3:rgba(255,250,240,.07);
  --pg-line:rgba(231,201,139,.16);
  --pg-line-2:rgba(231,201,139,.26);
  --pg-accent:#D9A96B;
  --pg-accent-soft:rgba(217,169,107,.14);
  --pg-accent-line:rgba(217,169,107,.42);
  --lux-ink:#F6EDDD;
}
body.pg.theme-dark .workshop{
  background:linear-gradient(160deg, rgba(38,28,19,.52), rgba(20,15,11,.62));
  -webkit-backdrop-filter:blur(26px) saturate(1.18);
  backdrop-filter:blur(26px) saturate(1.18);
  border:1px solid rgba(231,201,139,.34);
  box-shadow:
    0 70px 150px -60px rgba(0,0,0,.9),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 1px 0 rgba(255,255,255,.22) inset,
    0 0 160px -50px rgba(255,176,84,.22);
}
body.pg.theme-dark .workshop::after{border-color:rgba(231,201,139,.18)}
body.pg.theme-dark .workshop-top{
  background:linear-gradient(180deg, rgba(46,34,23,.42), rgba(34,25,17,.36));
  border-bottom:1px solid rgba(231,201,139,.2);
}
body.pg.theme-dark .workshop-bottom{
  background:linear-gradient(180deg, rgba(34,25,17,.44), rgba(24,18,12,.52));
  border-top:1px solid rgba(231,201,139,.18);
}
body.pg.theme-dark .theme-panel{
  background:linear-gradient(180deg, rgba(30,22,15,.36), rgba(24,18,12,.42));
  border-right:1px solid rgba(231,201,139,.16);
}
body.pg.theme-dark .editor-panel{
  background:linear-gradient(180deg, rgba(26,19,13,.30), rgba(20,15,11,.40));
  border-right:1px solid rgba(231,201,139,.16);
}
body.pg.theme-dark .preview-panel{
  background:linear-gradient(180deg, rgba(22,16,11,.34), rgba(18,13,9,.44));
  border-left:1px solid rgba(231,201,139,.16);
}
/* 玻璃里的纸：半透明，但比外壳亮一档 */
body.pg.theme-dark .textarea-wrap textarea{
  background:
    repeating-linear-gradient(transparent,transparent 30px,rgba(231,201,139,.14) 30px,rgba(231,201,139,.14) 31px),
    linear-gradient(180deg, rgba(255,250,240,.09), rgba(255,250,240,.05));
  border:1px solid rgba(231,201,139,.32);
  color:#F6EDDD;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset, 0 18px 40px -30px rgba(0,0,0,.8);
}
body.pg.theme-dark .textarea-wrap::before{background:linear-gradient(180deg,rgba(231,201,139,.55),rgba(231,201,139,.12))}
body.pg.theme-dark .field-row input,
body.pg.theme-dark .field>input{
  color:#F6EDDD;
  border-bottom:1px solid rgba(231,201,139,.38);
  background-image:linear-gradient(180deg, rgba(255,250,240,.04), rgba(255,250,240,0));
}
body.pg.theme-dark .field-row input::placeholder,
body.pg.theme-dark .field>input::placeholder,
body.pg.theme-dark .textarea-wrap textarea::placeholder{color:rgba(244,235,218,.4)}
body.pg.theme-dark .select-wrapper select{
  background:linear-gradient(180deg, rgba(255,250,240,.08), rgba(255,250,240,.04));
  border:1px solid rgba(231,201,139,.3);
  color:#F6EDDD;
}
body.pg.theme-dark .upload-tile{
  background:linear-gradient(180deg, rgba(255,250,240,.06), rgba(255,250,240,.03));
  border:1px dashed rgba(231,201,139,.4);
  color:rgba(244,235,218,.6);
}
body.pg.theme-dark .upload-tile:hover{border-color:#D9A96B;color:#E7C98B}
body.pg.theme-dark .little-note{
  background:linear-gradient(180deg, rgba(255,250,240,.07), rgba(255,250,240,.03));
  border:1px solid rgba(231,201,139,.24);
  color:rgba(244,235,218,.66);
}
body.pg.theme-dark .little-note p{color:rgba(244,235,218,.7)}
body.pg.theme-dark .little-note p span{color:rgba(244,235,218,.46)}
body.pg.theme-dark .little-note::before{border-color:rgba(231,201,139,.5)}
body.pg.theme-dark .theme-card{
  background:linear-gradient(180deg, rgba(255,250,240,.07), rgba(255,250,240,.03));
  border:1px solid rgba(231,201,139,.2);
}
body.pg.theme-dark .theme-card:hover{border-color:rgba(231,201,139,.5);background:rgba(255,250,240,.09)}
body.pg.theme-dark .theme-card.chosen{
  border-color:#D9A96B;
  background:linear-gradient(180deg, rgba(217,169,107,.18), rgba(217,169,107,.06));
  box-shadow:0 0 0 1px rgba(217,169,107,.3), 0 12px 26px -18px rgba(0,0,0,.8);
}
body.pg.theme-dark .theme-card .theme-label{color:#F6EDDD}
body.pg.theme-dark .theme-card .theme-desc{color:rgba(244,235,218,.5)}
body.pg.theme-dark .scene-chip{
  background:rgba(217,169,107,.12);
  border:1px solid rgba(217,169,107,.3);
  color:rgba(244,235,218,.72);
}
body.pg.theme-dark .scene-chip b{color:#E7C98B}
body.pg.theme-dark .scene-chip button{color:#E7C98B}
body.pg.theme-dark .version{
  background:rgba(217,169,107,.12);
  border:1px solid rgba(217,169,107,.34);
  color:#E7C98B;
}
body.pg.theme-dark .steps{color:rgba(244,235,218,.42)}
body.pg.theme-dark .steps b{border-color:rgba(231,201,139,.28);color:rgba(244,235,218,.56)}
body.pg.theme-dark .steps .current b{background:#C89052;border-color:#E0B77F;color:#1B120C}
body.pg.theme-dark .steps .current{color:#E7C98B}
body.pg.theme-dark .steps i{background:rgba(231,201,139,.18)}
body.pg.theme-dark .editor-heading h3 .step-badge{
  border-color:rgba(217,169,107,.5);color:#E7C98B;background:rgba(255,250,240,.05);
}
body.pg.theme-dark .editor-heading::after{background:linear-gradient(90deg,rgba(231,201,139,.5),rgba(231,201,139,.1) 70%,transparent)}
body.pg.theme-dark #save-status{color:rgba(244,235,218,.46)}
body.pg.theme-dark .secondary{
  background:linear-gradient(180deg, rgba(255,250,240,.07), rgba(255,250,240,.03));
  border:1px solid rgba(231,201,139,.32);
  color:rgba(244,235,218,.78);
}
body.pg.theme-dark .secondary:hover{
  background:rgba(255,250,240,.12);color:#FFF6E6;border-color:#D9A96B;
}
body.pg.theme-dark .primary{
  background:linear-gradient(180deg,#B8763C,#8E5628);
  border:1px solid rgba(255,222,170,.35);
  color:#FFF6E8;
  box-shadow:0 14px 30px -14px rgba(120,70,20,.8), 0 1px 0 rgba(255,255,255,.3) inset, 0 0 0 1px rgba(200,140,80,.45);
}
body.pg.theme-dark .primary:hover{background:linear-gradient(180deg,#C78546,#9C602E)}
body.pg.theme-dark .preview-heading h3{color:rgba(244,235,218,.78)}
body.pg.theme-dark .preview-heading h3>span:last-child{color:rgba(244,235,218,.42)}
body.pg.theme-dark .view-controls button{color:rgba(244,235,218,.5)}
body.pg.theme-dark .view-controls button.selected{background:rgba(217,169,107,.2);color:#E7C98B}
body.pg.theme-dark .view-controls>span{background:rgba(231,201,139,.24)}
body.pg.theme-dark .preview-footer{
  border-top:1px solid rgba(231,201,139,.18);
  color:rgba(244,235,218,.46);
  background:rgba(20,15,11,.3);
}
body.pg.theme-dark .preview-footer button{color:#E7C98B}
body.pg.theme-dark .stage-caption{color:rgba(244,235,218,.42)}
body.pg.theme-dark .preview-stage{
  background-image:
    radial-gradient(rgba(231,201,139,.14) .7px,transparent .7px),
    radial-gradient(100% 76% at 50% 46%, rgba(46,34,22,.55) 0%, rgba(30,22,15,.35) 58%, rgba(24,17,11,.2) 100%);
}
body.pg.theme-dark .preview-decoration{color:rgba(217,169,107,.4)}
body.pg.theme-dark .preview-side-note{color:rgba(244,235,218,.34)}
body.pg.theme-dark .stage-words{color:rgba(231,201,139,.07)}
body.pg.theme-dark .ready-note strong{color:#F6EDDD}
body.pg.theme-dark .ready-note div>span{color:rgba(244,235,218,.5)}
body.pg.theme-dark input:focus,
body.pg.theme-dark textarea:focus,
body.pg.theme-dark select:focus{
  border-color:#E0B77F!important;
  box-shadow:0 0 0 3px rgba(217,169,107,.16)!important;
}
body.pg.theme-dark .editor-panel::before{border-color:rgba(231,201,139,.22)}
body.pg.theme-dark .editor-panel::after{border-color:rgba(231,201,139,.4)}
body.pg.theme-dark #toast{background:rgba(24,17,11,.92);border:1px solid rgba(231,201,139,.4);color:#F6EDDD}

/* ============================================================
   L. 玻璃卡：日间版（白磨砂玻璃，纸纹透上来）
   ============================================================ */
body.pg:not(.theme-dark) .workshop{
  background:linear-gradient(160deg, rgba(255,253,248,.80), rgba(252,246,233,.84));
  -webkit-backdrop-filter:blur(20px) saturate(1.08);
  backdrop-filter:blur(20px) saturate(1.08);
  border:1px solid rgba(176,141,87,.42);
}
body.pg:not(.theme-dark) .theme-panel{
  background:linear-gradient(180deg, rgba(253,248,238,.72), rgba(248,241,227,.78));
}
body.pg:not(.theme-dark) .editor-panel{
  background:linear-gradient(180deg, rgba(255,253,247,.70), rgba(252,246,232,.76));
}
body.pg:not(.theme-dark) .preview-panel{
  background:linear-gradient(180deg, rgba(245,238,222,.70), rgba(240,231,211,.76));
}
/* ---------- M. 收尾：标题更立、预览区打光 ---------- */
body.pg .gallery-title{font-weight:600;letter-spacing:.02em}
body.pg .gallery-title em{font-size:1.08em;letter-spacing:.02em}
body.pg .panel-heading h3 span,
body.pg .editor-heading h3 span:last-child{font-weight:600}

body.pg.theme-dark .preview-stage{
  background-image:
    radial-gradient(rgba(231,201,139,.12) .7px,transparent .7px),
    radial-gradient(56% 48% at 50% 46%, rgba(255,190,110,.13) 0%, rgba(255,190,110,.05) 52%, rgba(255,190,110,0) 74%);
  background-size:16px 16px,100% 100%;
  background-position:0 0,center;
  background-repeat:repeat,no-repeat;
}
body.pg.theme-dark .phone-frame{
  box-shadow:
    0 46px 80px -40px rgba(0,0,0,.9),
    0 0 0 1px rgba(231,201,139,.35),
    0 0 40px -10px rgba(255,190,110,.18);
}