/* 小头盔 common.css 域拆分（2026-10-21 整理批二）：原 2684 行单文件按域拆 8 文件，
   _header.blade 按原物理顺序全量引入——层叠语义 100% 等价（行区间连续切分），
   改某域样式不再碰其他域文件。本文件域：页脚域：亮色「晨光收尾」段）*/

/* ===== 页脚亮色主题「晨光收尾」（2026-10-21 亮色主题批）=====
   上方页脚 2026-09-18 版是「深紫舞台」恒深底（两主题同底）——亮色主题下
   是压在晨光页面底部的一块深色补丁（buy 页晨光渐变上尤其突兀）。本段给
   亮色态换同构姊妹版：雾紫渐变底 + 同款网格底纹/双光晕改淡紫口径 + 墨色
   文字 + 品牌紫渐变 logo。结构与间距零改动（网格/光晕/玻璃标牌/胶囊徽章
   原语言全保留）；暗色值一行不动（html[data-theme=dark] 时 :not 块整段
   不参与）。与 buy.css「晨光海岸」同族。 */
html:not([data-theme="dark"]) .hc-footer {
    color:#57526F;
    background:
        linear-gradient(rgba(124, 58, 237, 0.062) 1px, transparent 1px) 0 0 / 44px 44px,
        radial-gradient(640px 300px at 88% -6%, rgba(167, 139, 250, 0.16), transparent 62%),
        radial-gradient(520px 260px at 6% 104%, rgba(236, 72, 153, 0.07), transparent 60%),
        linear-gradient(180deg, #F7F5FD 0%, #F3F0FA 55%, #EFEBF8 100%);
}
/* 顶部极光发丝线：暗版淡紫/粉，亮版压深一档才可见 */
html:not([data-theme="dark"]) .hc-footer::before {
    background:linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.3) 12%, rgba(139, 92, 246, 0.72) 42%, rgba(236, 72, 153, 0.5) 74%, transparent);
}
/* 底部渐隐：把网格底纹收进底色（暗版收进深色，亮版收进雾紫底） */
html:not([data-theme="dark"]) .hc-footer::after {
    background:linear-gradient(180deg, transparent, rgba(239, 235, 248, 0.9));
}
/* 玻璃标牌：白玻璃 + 薰衣草发丝边 */
html:not([data-theme="dark"]) .hc-foot-mark {
    background:rgba(255, 255, 255, 0.7);
    border-color:rgba(124, 58, 237, 0.16);
    box-shadow:0 10px 26px rgba(76, 29, 149, 0.14);
}
/* 品牌字：暗版白→淡紫渐变（恒深底语境）；亮版换品牌紫→粉渐变 */
html:not([data-theme="dark"]) .hc-foot-logo {
    background:linear-gradient(96deg, #5B21B6 30%, #7C3AED 60%, #DB2777 95%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
html:not([data-theme="dark"]) .hc-foot-brand-sub { color:#6E688C; }
/* 支付通道徽章：浅字玻璃胶囊 → 白底胶囊+墨字 */
html:not([data-theme="dark"]) .hc-foot-pay {
    color:#4D4768;
    border-color:rgba(124, 58, 237, 0.18);
    background:rgba(255, 255, 255, 0.6);
}
html:not([data-theme="dark"]) .hc-foot-pay:hover {
    border-color:rgba(124, 58, 237, 0.4);
    background:#FFFFFF;
}
html:not([data-theme="dark"]) .hc-foot-custom { color:#6E688C; }
html:not([data-theme="dark"]) .hc-foot-custom a { color:#6D28D9; }
html:not([data-theme="dark"]) .hc-foot-custom a:hover { color:#5B21B6; }
/* 链接列亮色（v2 chip 云）：白底胶囊+墨字，hover 品牌紫填充 */
html:not([data-theme="dark"]) .hc-foot-col h4 { color:#6C6690; }
html:not([data-theme="dark"]) .hc-foot-col a {
    color:#57526F;
    background:rgba(255, 255, 255, 0.72);
    border-color:rgba(124, 58, 237, 0.16);
}
html:not([data-theme="dark"]) .hc-foot-col a:hover {
    color:#6D28D9;
    background:#FFFFFF;
    border-color:rgba(124, 58, 237, 0.4);
}
/* 底条：淡紫分隔线 + 灰紫小字 */
html:not([data-theme="dark"]) .hc-foot-bottom { color:#8D87AC; }
html:not([data-theme="dark"]) .hc-foot-bottom::before {
    background:linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.18) 18%, rgba(124, 58, 237, 0.18) 82%, transparent);
}
html:not([data-theme="dark"]) .hc-foot-powered a { color:#6D28D9; }
html:not([data-theme="dark"]) .hc-foot-powered a:hover { color:#5B21B6; }

/* ============================================
   订单卡（订单详情页 / 我的订单页共用组件）
   ============================================ */

.hc-oi-card { position:relative; background:var(--hc-surface); border-radius:14px; border:1px solid var(--hc-primary-100); box-shadow:0 4px 18px rgba(124,58,237,.05); margin-bottom:14px; overflow:hidden; }
.hc-oi-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--hc-line-neutral); }
.hc-oi-card.s-completed::before { background:var(--hc-success-bright); }
.hc-oi-card.s-wait::before { background:var(--hc-text-muted); }
.hc-oi-card.s-pending::before { background:var(--hc-info); }
.hc-oi-card.s-failure::before, .hc-oi-card.s-abnormal::before { background:var(--hc-danger-400); }
.hc-oi-card.s-expired::before { background:var(--hc-text-muted); }

.hc-oi-top { display:flex; align-items:center; gap:14px; padding:15px 20px 11px 24px; }
.hc-oi-thumb { width:52px; height:52px; border-radius:11px; object-fit:cover; background:var(--hc-bg-alt); flex-shrink:0; }
.hc-oi-thumb-ph { width:52px; height:52px; border-radius:11px; background:linear-gradient(135deg,var(--hc-bg-alt),var(--hc-primary-100)); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--hc-primary-light); font-size:21px; }
.hc-oi-top-main { flex:1; min-width:0; }
.hc-oi-name { font-size:15px; font-weight:600; color:var(--hc-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hc-oi-tags { margin-top:6px; display:flex; gap:6px; flex-wrap:wrap; }
.hc-oi-top-right { text-align:right; flex-shrink:0; }
.hc-oi-price { font-size:18px; font-weight:700; color:var(--hc-danger-600); line-height:1; }
.hc-oi-status { margin-top:8px; display:flex; align-items:center; justify-content:flex-end; gap:8px; }

.hc-oi-badge { display:inline-block; padding:2px 9px; border-radius:10px; font-size:11px; font-weight:500; line-height:1.7; }
.hc-oi-badge.b-success{ background:var(--hc-success-bg); color:var(--hc-success-800); }
.hc-oi-badge.b-warn{ background:var(--hc-warning-50); color:var(--hc-warning-900); }
.hc-oi-badge.b-info{ background:var(--hc-info-bg); color:var(--hc-primary-800); }
.hc-oi-badge.b-primary{ background:var(--hc-primary-100); color:var(--hc-primary-dark); }
.hc-oi-badge.b-secondary{ background:var(--hc-bg-5); color:var(--hc-text-secondary); }
.hc-oi-badge.b-dark{ background:var(--hc-bg-6); color:var(--hc-text-secondary); }
.hc-oi-badge.b-danger{ background:var(--hc-danger-100); color:var(--hc-danger-700); }
/* 所用优惠券徽标（2026-09-19）：金系与券卡同源 */
.hc-oi-badge.b-gold{ background:var(--hc-gold-50); color:var(--hc-gold-800); }

/* 支付倒计时 chip */
.hc-oi-cd { display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:10px; font-size:11px; font-weight:600; background:var(--hc-warning-50); color:var(--hc-warning-700); }
.hc-oi-cd.urgent { background:var(--hc-danger-100); color:var(--hc-danger-700); animation:hcCdPulse 1s infinite; }
.hc-oi-cd .mono { font-family:ui-monospace,Menlo,Consolas,monospace; }
@keyframes hcCdPulse { 50% { opacity:.55; } }

/* 支付成功：徽章弹入 + 打勾描画 */
.hc-oi-success { animation:hc-oi-pop 0.5s var(--hc-ease-out, ease-out) 0.15s both; }
.hc-oi-success .hc-oi-check { margin-right:5px; vertical-align:-2px; }
.hc-oi-check path { stroke-dasharray:24; stroke-dashoffset:24; animation:hc-draw 0.5s ease-out 0.45s forwards; }
@keyframes hc-oi-pop {
    0% { opacity:0; transform:scale(0.7); }
    60% { transform:scale(1.06); }
    100% { opacity:1; transform:scale(1); }
}
/* @keyframes hc-draw 与 base.css 动效基座重复，已删（base 先加载即生效） */

.hc-oi-meta { padding:0 20px 13px 24px; display:flex; flex-wrap:wrap; gap:6px 22px; font-size:12px; }
.hc-oi-meta-item { color:var(--hc-text-muted); }
.hc-oi-meta-item strong { color:var(--hc-text-secondary); font-weight:500; margin-left:3px; }
.hc-oi-meta-item .mono { font-family:ui-monospace,Menlo,Consolas,monospace; }

.hc-oi-foot { padding:13px 20px 15px 24px; border-top:1px dashed var(--hc-line-2); background:var(--hc-surface-3); }
.hc-oi-foot-title { font-size:12px; font-weight:600; color:var(--hc-primary-text); margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
/* 交付内容展示块（2026-10-15：原 readonly textarea 一眼看是输入框且撑高卡片） */
.hc-oi-info-row { display:flex; gap:12px; align-items:center; }
.hc-oi-info-text { flex:1; min-width:0; border:1px dashed var(--hc-line-6); border-radius:10px; padding:10px 12px; font-size:12px; color:var(--hc-text); background:var(--hc-surface); font-family:ui-monospace,Menlo,Consolas,monospace; line-height:1.7; white-space:pre-wrap; word-break:break-all; max-height:110px; overflow-y:auto; }
/* ── 复制按钮族 v3（2026-10-20 用户令「样式太丑，好好设计」重做）──────────
   全族统一「品牌芯片」语言：primary-50 底 + primary-100 发丝边 + primary-800 字，
   暗色令牌自动翻转（暗紫底 + 亮紫字 #C4B5FD，承接当日「暗色文本一律亮」拍板）。
   图标=CSS mask 内联 SVG（iconfont 无 e6ef 码位的教训，不再依赖字体图标）。
   三档尺寸：XS 订单号旁 24px / S 逐条·全部 26px / M 整块 34px；
   主 CTA（立即支付渐变）仍是卡内唯一渐变钮，复制=工具动作不抢层级 */
.hc-copy-ic { width:12px; height:12px; flex:none; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2.5'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2.5'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center/contain no-repeat; }
.hc-oi-copy, .hc-oi-copy-all, .hc-oi-line-copy, .hc-oi-sn-copy {
    display:inline-flex; align-items:center; justify-content:center; gap:5px; flex-shrink:0;
    border:1px solid var(--hc-primary-100); border-radius:8px;
    background:var(--hc-primary-50); color:var(--hc-primary-800);
    font-size:12px; font-weight:600; line-height:1; white-space:nowrap;
    cursor:pointer; font-family:inherit;
    transition:background .15s, border-color .15s, transform .1s; }
.hc-oi-copy:hover, .hc-oi-copy-all:hover, .hc-oi-line-copy:hover, .hc-oi-sn-copy:hover {
    background:var(--hc-primary-100); border-color:var(--hc-primary-200); }
.hc-oi-copy:active, .hc-oi-copy-all:active, .hc-oi-line-copy:active, .hc-oi-sn-copy:active { transform:scale(.96); }
.hc-oi-copy:focus-visible, .hc-oi-copy-all:focus-visible, .hc-oi-line-copy:focus-visible, .hc-oi-sn-copy:focus-visible {
    outline:2px solid var(--hc-primary-400); outline-offset:2px; }
/* 尺寸档位 */
.hc-oi-sn-copy { height:24px; padding:0 10px; margin-left:6px; border-radius:7px; gap:4px; vertical-align:middle; }
.hc-oi-sn-copy .hc-copy-ic { width:11px; height:11px; }
.hc-oi-line-copy { height:26px; padding:0 11px; }
.hc-oi-copy-all { height:26px; padding:0 12px; }
.hc-oi-copy { height:34px; padding:0 16px; border-radius:9px; font-size:13px; }
.hc-oi-copy .hc-copy-ic { width:14px; height:14px; }
/* 多张卡密逐条复制 */
.hc-oi-lines { display:flex; flex-direction:column; gap:7px; }
.hc-oi-line { display:flex; align-items:center; gap:10px; }
.hc-oi-line-code { flex:1; min-width:0; border:1px dashed var(--hc-line-6); border-radius:9px; padding:9px 12px; font-size:12px; color:var(--hc-text); background:var(--hc-surface); font-family:ui-monospace,Menlo,Consolas,monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.hc-oi-actions { padding:13px 20px 15px 24px; border-top:1px dashed var(--hc-line-2); background:var(--hc-surface-3); display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.hc-oi-pay { display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:9px; background:linear-gradient(135deg,var(--hc-primary),var(--hc-primary-dark)); color:var(--hc-on-brand); font-size:13px; font-weight:600; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.hc-oi-pay:hover { color:var(--hc-on-brand); transform:translateY(-1px); box-shadow:0 6px 18px rgba(124,58,237,.3); }
.hc-oi-ghost { display:inline-flex; align-items:center; gap:5px; padding:9px 16px; border-radius:9px; border:1px solid var(--hc-line-5); background:var(--hc-surface); color:var(--hc-text-secondary); font-size:12.5px; font-weight:500; text-decoration:none; cursor:pointer; transition:all .15s; }
.hc-oi-ghost:hover { color:var(--hc-primary-dark); border-color:var(--hc-primary-200); background:var(--hc-surface-4); transform:translateY(-1px); }
.hc-oi-note { font-size:12px; color:var(--hc-text-muted); }

.hc-announce-modal { border-radius:var(--hc-radius-lg); border:none; box-shadow:var(--hc-shadow-lg), 0 0 0 1px rgba(124, 58, 237, .07); overflow:hidden; }
html[data-theme="dark"] .hc-announce-modal { box-shadow:var(--hc-shadow-lg), 0 0 0 1px rgba(167, 139, 250, .12); }
.hc-announce-modal .modal-header { position:relative; border-bottom:none; padding:16px 20px; background:radial-gradient(120% 180% at 12% -40%, rgba(124, 58, 237, .10), transparent 55%), radial-gradient(120% 180% at 88% -40%, rgba(236, 72, 153, .08), transparent 55%); }
.hc-announce-modal .modal-header::after {
    content:"";
    position:absolute; left:0; right:0; bottom:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--hc-primary-200) 20%, var(--hc-pink, #EC4899) 50%, var(--hc-primary-200) 80%, transparent);
    opacity:.6;
}
.hc-announce-modal-head { display:flex; align-items:center; gap:10px; }
.hc-announce-modal-bell { flex-shrink:0; position:relative; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:var(--hc-radius-full); background:linear-gradient(135deg, var(--hc-primary-400), var(--hc-pink, #EC4899)); color:var(--hc-on-brand); box-shadow:var(--hc-shadow-primary), 0 0 0 4px rgba(124, 58, 237, .12); }
.hc-announce-modal .modal-title { font-size:15px; font-weight:700; letter-spacing:.02em; color:var(--hc-text); }
.hc-announce-modal .modal-body { padding:18px 20px 20px; }
.hc-announce-list { display:flex; flex-direction:column; gap:12px; }
.hc-announce-row { position:relative; padding:15px 16px 15px 20px; background:var(--hc-surface-4); border:1px solid var(--hc-border); border-radius:var(--hc-radius); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
/* hover 星轨竖条：左缘 3px 紫粉渐变浮现，与头部发丝线/跑马灯星徽同一族 */
.hc-announce-row::before {
    content:"";
    position:absolute; left:0; top:13px; bottom:13px; width:3px;
    border-radius:0 3px 3px 0;
    background:linear-gradient(180deg, var(--hc-primary-400), var(--hc-pink, #EC4899));
    opacity:0;
    transition:opacity .2s ease;
}
.hc-announce-row:hover { border-color:var(--hc-primary-200); box-shadow:var(--hc-shadow-primary); transform:translateY(-1px); }
.hc-announce-row:hover::before { opacity:1; }
.hc-announce-row-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.hc-announce-row:last-child .hc-announce-row-head { margin-bottom:0; }
.hc-announce-row-title { display:flex; align-items:center; gap:8px; font-size:14.5px; font-weight:650; letter-spacing:.01em; color:var(--hc-text); margin:0; }
.hc-announce-row-title::before {
    content:"";
    flex-shrink:0;
    width:8px; height:8px;
    background:linear-gradient(135deg, var(--hc-primary-400), var(--hc-pink, #EC4899));
    clip-path:polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}
.hc-announce-row-time { flex-shrink:0; display:inline-flex; align-items:center; padding:2.5px 8px; border-radius:var(--hc-radius-full); background:rgba(124, 58, 237, .065); border:1px solid rgba(124, 58, 237, .16); font-size:11px; font-weight:500; letter-spacing:.02em; color:var(--hc-text-secondary); font-family:ui-monospace, Menlo, Consolas, monospace; }
html[data-theme="dark"] .hc-announce-row-time { background:rgba(167, 139, 250, .12); border-color:rgba(167, 139, 250, .28); color:#C9BFF2; }
.hc-announce-row-body { font-size:13.5px; line-height:1.8; color:var(--hc-text-secondary); word-break:break-word; }
.hc-announce-row-body img { max-width:100%; height:auto; border-radius:var(--hc-radius-sm); }
.hc-announce-row-body a { color:var(--hc-primary-dark); }

/* 货币国旗（2026-09-22 网页改自托管 SVG：Windows 浏览器不支持旗面 emoji 会退化成"CN"字母）：按钮与菜单项共用 */
.hc-cur-flag { width: 17px; height: 11.5px; margin-right: 4px; border-radius: 1.5px; vertical-align: -1px; object-fit: cover; }
