
:root{
  --ink:#3A2A22;          /* 深可可 */
  --ink2:#8C7A6B;         /* 奶咖 */
  --ink3:#B5A492;
  --wine:#A03B4E;         /* 酒红（偏奶油调） */
  --wine-deep:#7C2B3B;
  --wine-ink:#5E1F2B;
  --apricot:#D9A05B;      /* 杏橙点缀 */
  --line:#F0E2CE;
  --line2:#E5D3B8;
  --cream:#FFFCF7;
  --cream2:#FBF3E7;
  --amber:#9A5B10;
  --amber-soft:#FCF3E2;
  --green:#4A7057;
  --green-soft:#EDF4EE;
  --red:#B3261E;
  --red-soft:#FCEDEA;
  --white:#FFFFFF;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:15.5px;line-height:1.7;
  background:
    radial-gradient(900px 520px at 88% -8%, #FBE3CF 0%, rgba(251,227,207,0) 62%),
    radial-gradient(760px 460px at -12% 16%, #FBE0DC 0%, rgba(251,224,220,0) 58%),
    radial-gradient(700px 500px at 50% 108%, #F9E9D2 0%, rgba(249,233,210,0) 60%),
    linear-gradient(180deg,#FDF8F1 0%,#F8EEE0 100%);
  background-attachment:fixed;
}
button{font-family:inherit;font-size:inherit;cursor:pointer}
input{font-family:inherit;color:var(--ink)}
:focus-visible{outline:3px solid #E0A9B2;outline-offset:2px;border-radius:10px}
h1,h2,h3{margin:0;line-height:1.35}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:var(--wine)}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* hidden 属性永远生效：任何 display 声明都不能把它顶掉 */
[hidden]{display:none !important}

/* ---------- 浮动导航 ---------- */
.topwrap{position:sticky;top:10px;z-index:40;display:flex;justify-content:center;padding:0 12px}
.topbar{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:860px;width:100%;
  background:rgba(255,252,247,.86);backdrop-filter:blur(10px);
  border:1px solid rgba(240,226,206,.9);border-radius:999px;
  box-shadow:0 2px 6px rgba(139,94,60,.06),0 12px 30px rgba(139,94,60,.10);
  padding:7px 8px 7px 18px;
}
.topbar .brand{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;margin-right:auto}
.topbar .brand .dot{width:9px;height:9px;border-radius:50%;background:var(--wine);flex:none;box-shadow:0 0 0 3px #F6E3E6}
.topbar .tb-link{font-size:13px;color:var(--ink2);text-decoration:none;padding:9px 14px;border-radius:999px;min-height:38px;display:inline-flex;align-items:center;white-space:nowrap}
.topbar .tb-link:hover{background:#F7ECDD;color:var(--wine)}

/* ---------- 首屏 ---------- */
.hero{max-width:880px;margin:0 auto;padding:clamp(40px,7vw,84px) 22px clamp(22px,3.5vw,36px);text-align:center}
.hero .kicker{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--wine);
  background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:6px 16px;
  box-shadow:0 4px 14px rgba(139,94,60,.08);
}
.hero .kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--apricot)}
.hero h1{
  margin-top:22px;font-size:clamp(32px,6vw,58px);font-weight:900;letter-spacing:.02em;line-height:1.22;
}
.hero h1 em{
  font-style:normal;color:var(--wine);
  background:linear-gradient(transparent 68%, #F5D9A8 68%);
  border-radius:4px;padding:0 2px;
}

/* ---------- 主列 ---------- */
.maincol{max-width:880px;margin:0 auto;padding:0 16px 56px}

.card{
  background:var(--cream);border:1px solid #F3E7D6;border-radius:26px;
  box-shadow:0 1px 3px rgba(139,94,60,.05),0 18px 44px rgba(139,94,60,.10);
  padding:clamp(20px,3.4vw,32px);margin-top:clamp(18px,3vw,28px);
}
.sec-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(21px,2.8vw,26px);font-weight:800}
.sec-head .sub{color:var(--ink2);font-size:13.5px;padding-bottom:3px}
.sec-head .head-btn{margin-left:auto}

/* ---------- 类别卡（步进器） ---------- */
.gcat{
  background:var(--white);border:1px solid var(--line);border-radius:20px;
  padding:16px 18px 14px;margin-top:14px;
  box-shadow:0 1px 3px rgba(139,94,60,.05);
}
.gcat-head{display:flex;align-items:center;gap:10px}
.gcat-head.invalid .gname{border-bottom-color:var(--red)}
.gcat-head.invalid .err-msg{display:block}
.gname{
  flex:1;min-width:0;border:none;background:transparent;font-size:18px;font-weight:800;
  padding:10px 4px;border-bottom:2px dashed transparent;min-height:44px;
}
.gname::placeholder{color:var(--ink3);font-weight:600}
.gname:hover{border-bottom-color:var(--line2)}
.gname:focus{border-bottom-color:var(--wine);outline:none}
.gcat-head .err-msg{display:none;font-size:12.5px;color:var(--red);font-weight:500;flex-basis:100%}
.gdel{
  flex:none;width:40px;height:40px;border:none;border-radius:12px;background:var(--cream2);
  color:var(--ink3);font-size:15px;
}
.gdel:hover{background:var(--red-soft);color:var(--red)}
.gcat-nums{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
@media (max-width:560px){.gcat-nums{grid-template-columns:1fr}}
.gnum .mini-label{font-size:13px;font-weight:600;color:var(--ink2);display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:wrap}
.gnum .mini-label .zero-tag{
  display:none;font-size:11.5px;font-weight:600;color:var(--amber);background:var(--amber-soft);
  border:1px solid #F0DFC0;border-radius:999px;padding:0 8px;
}
.gnum .mini-label .zero-tag.show{display:inline-block}
.step-ctl{display:flex;align-items:stretch;background:var(--cream2);border:1.5px solid #EFDFC7;border-radius:16px;overflow:hidden;transition:border-color .15s}
.step-ctl:hover{border-color:#E2CDA9}
.gnum.invalid .step-ctl{border-color:var(--red);background:var(--red-soft)}
.step-btn{
  flex:none;width:54px;min-height:56px;border:none;background:rgba(255,255,255,.85);
  font-size:22px;font-weight:700;color:var(--wine);line-height:1;
}
.step-btn:hover{background:var(--wine);color:#fff}
.step-input{
  flex:1;min-width:0;border:none;background:transparent;text-align:center;
  font-size:27px;font-weight:800;padding:0 4px;min-height:56px;
}
.step-input::placeholder{color:var(--ink3);font-weight:500;font-size:14.5px;letter-spacing:.02em}
.step-input:focus{outline:none}
.gnum .err-msg{display:none;font-size:12.5px;color:var(--red);font-weight:500;margin-top:6px}
.gnum.invalid .err-msg{display:block}
.gcat-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.gcat-foot .how{font-size:13px;color:var(--ink2);font-weight:600}
.together{
  display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;
  border:1px solid var(--line);border-radius:999px;background:var(--cream2);cursor:pointer;user-select:none;
}
.together:hover{border-color:var(--apricot)}
.together input{width:19px;height:19px;accent-color:var(--wine);flex:none;margin:0}
.together .t1{font-size:13.5px;font-weight:600}
.seat-guide{
  display:none;margin-top:12px;font-size:13px;color:var(--amber);background:var(--amber-soft);
  border:1px solid #F0DFC0;border-radius:12px;padding:9px 14px;
}
.seat-guide.show{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seat-guide button{border:none;background:none;color:var(--amber);text-decoration:underline;padding:0;font-size:13px;min-height:28px;font-weight:600}
.addcat{
  margin-top:16px;width:100%;min-height:52px;border:1.5px dashed var(--line2);border-radius:16px;
  background:transparent;color:var(--ink2);font-weight:600;font-size:14.5px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.addcat:hover{border-color:var(--wine);color:var(--wine);background:rgba(255,255,255,.6)}

/* ---------- 酒店卡 ---------- */
.hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
@media (max-width:560px){.hotel-grid{grid-template-columns:1fr}}
.hotel-item{
  background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px 18px 14px;
}
.hotel-item .hl{font-size:14px;font-weight:700;margin-bottom:2px}
.hotel-item .hd{font-size:12.5px;color:var(--ink3);margin-bottom:12px}
.hotel-input{display:flex;align-items:center;gap:8px;background:var(--cream2);border:1.5px solid #EFDFC7;border-radius:14px;padding:0 14px;min-height:56px;transition:border-color .15s}
.hotel-input:focus-within{border-color:var(--wine)}
.field.invalid .hotel-input,.field.invalid .plain-input{border-color:var(--red);background:var(--red-soft)}
.hotel-input .unit{font-size:14px;color:var(--ink2);font-weight:600;white-space:nowrap}
.hotel-input .yen{font-size:20px;font-weight:800;color:var(--ink2)}
.hotel-input input{flex:1;min-width:0;border:none;background:transparent;font-size:24px;font-weight:800;text-align:left;min-height:54px}
.hotel-input input::placeholder{color:var(--ink3);font-weight:500;font-size:14.5px}
.hotel-input input:focus{outline:none}
.field{min-width:0;position:relative}
.field .err-msg,.fieldwrap .err-msg{display:none;font-size:12.5px;color:var(--red);font-weight:500;margin-top:6px}
.field.invalid .err-msg,.fieldwrap.invalid .err-msg{display:block}
.taxcheck{
  margin-top:14px;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;
  border:1px solid var(--line);border-radius:14px;background:var(--white);cursor:pointer;user-select:none;width:fit-content;max-width:100%;
}
.taxcheck:hover{border-color:var(--apricot)}
.taxcheck input{width:19px;height:19px;accent-color:var(--wine);flex:none;margin:0}
.taxcheck .t1{font-size:14px;font-weight:600}

/* ---------- 抽屉 ---------- */
.drawer{background:var(--white);border:1px solid var(--line);border-radius:18px;margin-top:14px;overflow:hidden}
.drawer + .drawer{margin-top:12px}
.drawer > button{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  border:none;background:transparent;padding:16px 18px;min-height:60px;
}
.drawer > button:hover{background:var(--cream2)}
.drawer .d-ic{
  flex:none;width:38px;height:38px;border-radius:12px;background:var(--cream2);
  display:grid;place-items:center;font-size:17px;
}
.drawer .d-t{font-size:15px;font-weight:700}
.drawer .d-fill{font-size:11.5px;font-weight:600;color:var(--green);background:var(--green-soft);border-radius:999px;padding:1px 9px;display:none;flex:none}
.drawer .d-fill.show{display:inline-block}
.drawer .arrow{margin-left:auto;color:var(--ink3);transition:transform .25s;flex:none;font-size:13px}
.drawer.open .arrow{transform:rotate(180deg)}
.drawer-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.drawer-body.open{grid-template-rows:1fr}
.drawer-body > div{overflow:hidden}
.drawer-inner{padding:4px 18px 20px;border-top:1px dashed var(--line)}
.dsec{padding-top:16px;margin-top:14px;border-top:1px solid var(--cream2)}
.dsec:first-child{border-top:none;margin-top:0;padding-top:8px}
.dsec h3{font-size:15px;font-weight:800}
.dsec .dd{font-size:13px;color:var(--ink2);margin:3px 0 12px}

/* ---------- 分段选择（滑块式：酒红块平滑滑到选中的一格） ---------- */
.seg{position:relative;display:flex;background:var(--cream2);border:1px solid #EFDFC7;border-radius:14px;padding:3px;gap:2px;flex-wrap:wrap}
.seg .seg-thumb{
  position:absolute;top:0;left:0;border-radius:11px;background:#A03B4E;
  box-shadow:0 3px 10px rgba(160,59,78,.28);pointer-events:none;
  transition:transform .32s cubic-bezier(.3,.8,.3,1),width .32s cubic-bezier(.3,.8,.3,1),height .32s cubic-bezier(.3,.8,.3,1);
  will-change:transform;
}
.seg button{
  position:relative;z-index:1;flex:1;border:none;background:transparent;border-radius:11px;min-height:44px;padding:0 12px;
  font-size:13.5px;color:var(--ink2);white-space:nowrap;font-weight:500;transition:color .2s;
}
.seg button[aria-checked="true"]{color:#fff;font-weight:700}

/* ---------- 计算按钮 ---------- */
.calczone{text-align:center;margin-top:clamp(24px,4vw,36px)}
.bigcalc{
  min-height:60px;border:none;border-radius:999px;padding:0 42px;
  background:linear-gradient(135deg,#B24558,var(--wine) 55%,var(--wine-deep));
  color:#FFF7F0;font-size:18px;font-weight:800;letter-spacing:.04em;
  box-shadow:0 6px 16px rgba(160,59,78,.32),0 16px 40px rgba(160,59,78,.24);
  transition:transform .12s, box-shadow .12s;
}
.bigcalc:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(160,59,78,.36),0 20px 48px rgba(160,59,78,.28)}
.bigcalc:active{transform:translateY(1px)}
.calczone .after{margin-top:12px;font-size:13px;color:var(--ink3)}
.calczone .after .ok{color:var(--green);font-weight:600;display:none}
.calczone.done .after .ok{display:inline}
.calczone.done #afterDefault{display:none}
.calczone.done .bigcalc{display:none}

/* ---------- 结果：喜帖大卡 ---------- */
.result{margin-top:clamp(24px,4vw,36px)}
.billcard{
  background:linear-gradient(150deg,#96344A 0%,var(--wine-deep) 58%,#5C1C28 100%);
  color:#FFF6EE;border-radius:28px;padding:clamp(22px,3.6vw,36px);
  box-shadow:0 8px 22px rgba(124,43,59,.30),0 26px 60px rgba(124,43,59,.22);
  position:relative;overflow:hidden;
}
.billcard::before{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);pointer-events:none}
.billcard::after{content:"";position:absolute;left:-50px;bottom:-90px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,214,170,.16),transparent 70%);pointer-events:none}
.sc-tabs{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.sc-tabs button{
  flex:1;min-width:140px;min-height:52px;border:1px solid rgba(255,255,255,.28);border-radius:14px;
  background:rgba(255,255,255,.10);color:#FFE9DC;font-size:14px;font-weight:600;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 10px;
}
.sc-tabs button small{font-size:11.5px;font-weight:500;opacity:.85}
.sc-tabs button[aria-selected="true"]{background:#FFF6EE;color:var(--wine-deep);border-color:#FFF6EE;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.bill-main{margin-top:22px;position:relative;z-index:1}
.bill-main .bk{font-size:15px;opacity:.92;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bill-main .bv{font-size:clamp(52px,9vw,86px);font-weight:900;line-height:1.15;letter-spacing:.01em}
.bill-main .bv small{font-size:clamp(20px,3vw,30px);font-weight:700;margin-left:6px;opacity:.95}
.bill-main .bu{font-size:13.5px;opacity:.88;margin-top:2px}
.bill-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px;position:relative;z-index:1}
@media (max-width:560px){.bill-sub{grid-template-columns:1fr 1fr}.bill-sub .bs:last-child{grid-column:1/-1}}
.bs{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;
  padding:12px 15px;min-width:0;
}
.bs .k{font-size:12.5px;opacity:.92}
.bs .v{font-size:clamp(22px,3.2vw,30px);font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums}
.bs .v small{font-size:13px;font-weight:600;margin-left:2px}
.bs .u{font-size:11.5px;opacity:.82;margin-top:2px}
.bs .v.unknown{font-size:17px;opacity:.9;font-weight:700}

/* ---------- 结果白卡 ---------- */
.rcard{
  background:var(--cream);border:1px solid #F3E7D6;border-radius:22px;
  box-shadow:0 1px 3px rgba(139,94,60,.05),0 14px 36px rgba(139,94,60,.09);
  padding:clamp(18px,3vw,28px);margin-top:16px;
}
.rcard h3{font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.rcard h3 .cnt{font-size:12.5px;font-weight:500;color:var(--ink3)}

.detail-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white)}
table.detail{width:100%;border-collapse:collapse;font-size:14px}
table.detail th{
  text-align:left;font-size:12px;color:var(--ink2);font-weight:600;background:var(--cream2);
  padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;
}
table.detail td{padding:11px 12px;border-bottom:1px solid var(--cream2);vertical-align:top}
table.detail tr:last-child td{border-bottom:none}
table.detail td.c,table.detail th.c{text-align:right}
table.detail .cname{font-weight:700}
table.detail .tsplit{color:var(--ink2)}
table.detail tr.together td:first-child{box-shadow:inset 3px 0 0 var(--apricot)}
tr.pendflag td{background:#FDFAF3}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;border-radius:999px;
  padding:1px 9px;margin:2px 4px 2px 0;white-space:nowrap}
.badge.amber{background:var(--amber-soft);color:var(--amber);border:1px solid #F0DFC0}
.badge.plain{background:var(--cream2);color:var(--ink2);border:1px solid var(--line)}
.detail-notes{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.note-item{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;border-radius:12px;padding:10px 14px}
.note-item.amber{background:var(--amber-soft);border:1px solid #F0DFC0;color:#6E4108}
.note-item .ic{flex:none;font-weight:800}

.fee-rows{display:flex;flex-direction:column;gap:8px}
.fee-row{display:flex;align-items:baseline;gap:10px;font-size:14px;padding:11px 14px;border:1px solid var(--line);
  border-radius:14px;background:var(--white);flex-wrap:wrap}
.fee-row .k{color:var(--ink);font-weight:600;min-width:0}
.fee-row .k small{display:block;color:var(--ink3);font-weight:400;font-size:12.5px}
.fee-row .v{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.fee-row.unknown{background:var(--amber-soft);border-color:#F0DFC0;color:var(--amber)}
.fee-row.unknown .v{color:var(--amber)}

.ask-list,.warn-list{display:flex;flex-direction:column;gap:8px}
.ask-item{display:flex;gap:10px;align-items:flex-start;background:var(--amber-soft);border:1px solid #F0DFC0;border-radius:14px;padding:11px 14px;font-size:13.5px;color:#6E4108}
.warn-item{display:flex;gap:10px;align-items:flex-start;background:var(--red-soft);border:1px solid #F3D3CD;border-radius:14px;padding:11px 14px;font-size:13.5px;color:#8C1D16}
.ask-item .ic,.warn-item .ic{flex:none;font-weight:800}
.ask-item .jump{margin-left:auto;border:none;background:none;text-decoration:underline;color:inherit;font-size:12.5px;padding:0;white-space:nowrap;min-height:28px}
.empty-note{font-size:13.5px;color:var(--green);background:var(--green-soft);border:1px solid #CDDFD1;border-radius:14px;padding:11px 14px}

.compare-box{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:14px}
.compare-box .cv{font-weight:800}
.compare-box .cv.better{color:var(--green)}
.compare-box .cv.worse{color:var(--wine)}
.compare-box .cn{color:var(--ink2);font-size:12.5px;margin-top:6px}

/* ---------- 手机摘要条 ---------- */
.mobile-bar{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:none;
  background:rgba(255,252,247,.97);border:1px solid var(--line2);border-radius:18px;
  box-shadow:0 8px 30px rgba(74,52,32,.22);
  padding:11px 16px;align-items:center;gap:10px;
}
.mobile-bar.show{display:flex}
.mobile-bar.hide-focus{display:none!important}
.mobile-bar .mk{font-size:11.5px;color:var(--ink2)}
.mobile-bar .mv{font-weight:800;color:var(--wine);font-size:16px;font-variant-numeric:tabular-nums}
.mobile-bar .go{margin-left:auto;border:none;background:var(--wine);color:#fff;border-radius:12px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700}
@media (min-width:861px){.mobile-bar{display:none!important}}

/* ---------- toast / 弹层 / 演示控制 ---------- */
#toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);z-index:80;
  background:#3A2A22;color:#FFF6EA;border-radius:12px;padding:11px 20px;font-size:13.5px;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:88vw;text-align:center;
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.ok{background:#3D5F49}
#toast.bad{background:#8C1D16}
.demo-console{
  position:fixed;right:12px;bottom:12px;z-index:60;max-width:min(440px,calc(100vw - 24px));
  background:#3A2A22;color:#F5EDE2;border-radius:16px;box-shadow:0 12px 36px rgba(46,39,33,.4);
  font-size:12px;padding:10px 12px;
}
.demo-console .dc-head{display:flex;align-items:center;gap:8px;font-weight:700}
.demo-console .dc-head .pill{background:#57453A;border-radius:999px;padding:1px 8px;font-weight:500;color:#D9C9B8;font-size:11px}
.demo-console .dc-head button{margin-left:auto;background:none;border:none;color:#B9A88F;font-size:12px;padding:2px 6px}
.demo-console .dc-body{display:none;flex-wrap:wrap;gap:6px;margin-top:8px}
.demo-console.open .dc-body{display:flex}
.demo-console .dc-body button{background:#57453A;color:#F5EDE2;border:1px solid #6E5A4B;border-radius:9px;min-height:34px;padding:0 10px;font-size:12px}
.demo-console .dc-body button:hover{background:#6E5A4B}
.demo-console .dc-body button[aria-pressed="true"]{background:var(--wine);border-color:var(--wine)}
.demo-console .dc-note{margin-top:8px;color:#B9A88F;line-height:1.5}
@media (max-width:560px){.demo-console{left:12px;right:12px;max-width:none}}

.noscript-tip{margin:16px;padding:16px 20px;background:var(--amber-soft);border:1px solid #F0DFC0;border-radius:16px;color:#6E4108}

/* 手机端明细表转卡片 */
@media (max-width:680px){
  table.detail thead{display:none}
  table.detail,table.detail tbody,table.detail tr,table.detail td{display:block;width:100%}
  table.detail tr{border-bottom:1px solid var(--cream2);padding:4px 0}
  table.detail tr:last-child{border-bottom:none}
  table.detail td{border:none;padding:5px 12px;display:flex;gap:10px;align-items:baseline}
  table.detail td::before{content:attr(data-label);flex:none;width:6.4em;font-size:12px;color:var(--ink3)}
  table.detail td.c{text-align:left}
  table.detail td:first-child{padding-top:11px;font-size:15px}
  table.detail td:last-child{padding-bottom:11px}
}
.seat-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;position:relative;z-index:1}
.seat-options button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:16px 18px;border:1px solid rgba(255,246,238,.4);border-radius:16px;background:rgba(255,246,238,.09);color:#FFF6EE;text-align:left;transition:background .15s}
.seat-options button:hover{background:rgba(255,246,238,.18)}
.seat-options button[aria-pressed="true"]{background:#FFF6EE;color:var(--wine-deep);border-color:#FFF6EE}
.seat-title{font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px}
.seat-selected{font-size:11px;font-weight:500;visibility:hidden}
[aria-pressed="true"] .seat-selected{visibility:visible}
.seat-options strong{font-size:32px;line-height:1.3}
.seat-summary{font-size:12px;line-height:1.6}
.seat-difference{position:relative;color:#FFF6EE;font-size:13px;margin-top:12px}
#resultCol{scroll-margin-top:90px}
@media(max-width:430px){.seat-options button{padding:12px}.seat-options{gap:8px}.seat-options strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.seat-options button{transition:none}}
