:root,[data-theme="default"]{
--page-bg:radial-gradient(1200px 600px at 50% -10%,rgba(120,170,255,.35),transparent 60%),linear-gradient(160deg,#13203b 0%,#1f3e7a 50%,#2f6bff 100%);
--page-text:#1f2a44;--card:#fff;--card-shadow:0 24px 70px rgba(8,20,45,.45);
--header:linear-gradient(135deg,#2f6bff 0%,#1f3e7a 100%);--header-glow:radial-gradient(420px 220px at 82% -50%,rgba(255,255,255,.28),transparent 70%);
--logo:#fff;--sub:rgba(255,255,255,.85);--accent:#2f6bff;
--info-bg:linear-gradient(135deg,#eef4ff,#f4f8ff);--info-bd:#d8e6ff;--info-label:#5a6b8c;--info-val:#2f6bff;
--scan-bg:linear-gradient(160deg,#0b1220,#111a30);--scan-corner:#3ea6ff;--scan-ph:#9fb3d9;
--btn-pri:linear-gradient(135deg,#2f6bff,#1f3e7a);--btn-pri-t:#fff;--btn-sec:#eef1f6;--btn-sec-t:#475569;--btn-ok:linear-gradient(135deg,#22c55e,#16a34a);
--wait-bg:#eef4ff;--wait:#2f6bff;--ok-bg:#ecfdf3;--ok:#16a34a;--err-bg:#fef2f2;--err:#ef4444;
--input-bd:#e2e7f0;--key-title:#1f2a44;--key-sub:#94a3b8;
--guide-bg:rgba(255,255,255,.92);--guide-t:#1f2a44;--guide-p:#64748b;--guide-num:#2f6bff;
}

/* 深海舷窗：圆形取景 + 底部波浪 */
[data-theme="ocean"]{--page-bg:#02363a;--page-text:#083344;--card:#ecfeff;--card-shadow:0 20px 50px rgba(2,54,58,.45);
--header:linear-gradient(180deg,#0f766e,#115e59);--header-glow:none;--logo:#ecfeff;--sub:#99f6e4;--accent:#0d9488;
--info-bg:#ccfbf1;--info-bd:#5eead4;--info-label:#115e59;--info-val:#0f766e;
--scan-bg:#022c22;--scan-corner:#2dd4bf;--scan-ph:#5eead4;
--btn-pri:#0d9488;--btn-pri-t:#fff;--btn-sec:#ccfbf1;--btn-sec-t:#115e59;--btn-ok:#059669;
--wait-bg:#ccfbf1;--wait:#0f766e;--ok-bg:#d1fae5;--ok:#047857;--err-bg:#fee2e2;--err:#b91c1c;
--input-bd:#5eead4;--key-title:#134e4a;--key-sub:#0f766e;
--guide-bg:#f0fdfa;--guide-t:#134e4a;--guide-p:#0f766e;--guide-num:#0d9488}
[data-theme="ocean"] .theme-bg{display:block;position:fixed;inset:0;background:radial-gradient(circle at 50% 120%,#14b8a6 0,transparent 46%),linear-gradient(#042f2e,#02363a);z-index:0}
[data-theme="ocean"] .theme-bg::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-8px;height:120px;background:repeating-linear-gradient(110deg,transparent,transparent 18px,rgba(45,212,191,.18) 18px,rgba(45,212,191,.18) 22px);border-radius:100% 100% 0 0}
[data-theme="ocean"] .card{border-radius:40px 40px 28px 28px;overflow:visible;max-width:400px}
[data-theme="ocean"] .header{border-radius:40px 40px 0 0;padding:30px 20px 36px}
[data-theme="ocean"] .scan-box{width:230px;height:230px;margin:10px auto 18px;border-radius:50%;border:10px solid #99f6e4;box-shadow:inset 0 0 30px #022c22,0 0 0 6px #0f766e}
[data-theme="ocean"] .btn{border-radius:999px}
[data-theme="ocean"] .guide{border-radius:28px;max-width:400px}

/* 日落胶片：倾斜相纸 + 齿孔 */
[data-theme="sunset"]{--page-bg:#2a1208;--page-text:#431407;--card:#fff7ed;--card-shadow:12px 18px 0 #9a3412;
--header:#ffedd5;--header-glow:none;--logo:#9a3412;--sub:#c2410c;--accent:#ea580c;
--info-bg:#ffedd5;--info-bd:#fdba74;--info-label:#9a3412;--info-val:#c2410c;
--scan-bg:#1c1917;--scan-corner:#fb923c;--scan-ph:#fdba74;
--btn-pri:#ea580c;--btn-pri-t:#fff7ed;--btn-sec:#ffedd5;--btn-sec-t:#9a3412;--btn-ok:#16a34a;
--wait-bg:#ffedd5;--wait:#c2410c;--ok-bg:#dcfce7;--ok:#166534;--err-bg:#fee2e2;--err:#b91c1c;
--input-bd:#fdba74;--key-title:#7c2d12;--key-sub:#c2410c;
--guide-bg:#fff7ed;--guide-t:#7c2d12;--guide-p:#9a3412;--guide-num:#ea580c}
[data-theme="sunset"] body{background:#2a1208 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><circle cx='8' cy='8' r='3' fill='%237c2d12'/></svg>")}
[data-theme="sunset"] .page{transform:rotate(-1.6deg)}
[data-theme="sunset"] .card{border-radius:6px;border:10px solid #fff7ed;box-shadow:12px 16px 0 #9a3412,0 0 0 1px #fdba74;max-width:380px}
[data-theme="sunset"] .header{background:#fff7ed;text-align:left;padding:16px 16px 8px}
[data-theme="sunset"] .header::after{display:none}
[data-theme="sunset"] .logo-icon{display:none}
[data-theme="sunset"] .logo-text{font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:0;color:#9a3412}
[data-theme="sunset"] .subtitle{font-size:11px;letter-spacing:3px;text-transform:uppercase}
[data-theme="sunset"] .scan-box{border-radius:4px;height:280px}
[data-theme="sunset"] .btn{border-radius:4px;transform:skewX(-6deg)}
[data-theme="sunset"] .guide{transform:rotate(1.6deg);border:2px dashed #fdba74;border-radius:4px;max-width:380px;box-shadow:none}

/* 林间木屋：上木纹条 + 分栏信息 */
[data-theme="forest"]{--page-bg:#e8dcc8;--page-text:#3f2d1c;--card:#f6efe3;--card-shadow:0 16px 40px rgba(63,45,28,.2);
--header:#4a3424;--header-glow:none;--logo:#f6efe3;--sub:#d6c3a8;--accent:#3f6b46;
--info-bg:#efe4d2;--info-bd:#cbb896;--info-label:#6b5340;--info-val:#3f6b46;
--scan-bg:#2a2018;--scan-corner:#8fbc8f;--scan-ph:#cbb896;
--btn-pri:#3f6b46;--btn-pri-t:#f6efe3;--btn-sec:#efe4d2;--btn-sec-t:#4a3424;--btn-ok:#3f6b46;
--wait-bg:#efe4d2;--wait:#3f6b46;--ok-bg:#e3f0e4;--ok:#2f5d38;--err-bg:#f5e0d8;--err:#9a3412;
--input-bd:#cbb896;--key-title:#3f2d1c;--key-sub:#6b5340;
--guide-bg:#f6efe3;--guide-t:#3f2d1c;--guide-p:#6b5340;--guide-num:#3f6b46}
[data-theme="forest"] body{background:#c8b89a}
[data-theme="forest"] .card{border-radius:8px;border:8px solid #6b5340;max-width:430px}
[data-theme="forest"] .header{background:repeating-linear-gradient(90deg,#4a3424 0 14px,#3d2b1d 14px 16px);text-align:left;padding:18px 20px}
[data-theme="forest"] .logo{justify-content:flex-start}
[data-theme="forest"] .info-card{border-radius:0;border-left:6px solid #3f6b46}
[data-theme="forest"] .scan-box{border-radius:6px;border:6px solid #8a6a45}
[data-theme="forest"] .btn{border-radius:6px;border-bottom:3px solid rgba(0,0,0,.18)}
[data-theme="forest"] .guide{border:8px solid #6b5340;border-radius:8px;box-shadow:none}

/* 玫瑰杂志：衬线、细线、杂志排版 */
[data-theme="rose"]{--page-bg:#f7eef1;--page-text:#3f1324;--card:#fffafb;--card-shadow:none;
--header:#fffafb;--header-glow:none;--logo:#9f1239;--sub:#be123c;--accent:#be123c;
--info-bg:transparent;--info-bd:transparent;--info-label:#9f1239;--info-val:#3f1324;
--scan-bg:#3f1324;--scan-corner:#fda4af;--scan-ph:#fecdd3;
--btn-pri:#9f1239;--btn-pri-t:#fff;--btn-sec:#ffe4e6;--btn-sec-t:#9f1239;--btn-ok:#9f1239;
--wait-bg:transparent;--wait:#9f1239;--ok-bg:transparent;--ok:#166534;--err-bg:transparent;--err:#9f1239;
--input-bd:#fda4af;--key-title:#3f1324;--key-sub:#9f1239;
--guide-bg:transparent;--guide-t:#3f1324;--guide-p:#9f1239;--guide-num:#be123c}
[data-theme="rose"] body{background:#f3e4e8;font-family:Georgia,"Songti SC","SimSun",serif}
[data-theme="rose"] .card{border-radius:0;border:1px solid #e7c8d0;max-width:400px;box-shadow:0 0 0 12px #fffafb,0 0 0 13px #e7c8d0}
[data-theme="rose"] .header{border-bottom:1px solid #e7c8d0;padding:28px 24px 16px}
[data-theme="rose"] .header::after{display:none}
[data-theme="rose"] .logo-icon{display:none}
[data-theme="rose"] .logo-text{font-weight:400;letter-spacing:8px;font-size:22px}
[data-theme="rose"] .subtitle{font-style:italic;letter-spacing:2px}
[data-theme="rose"] .info-card{border-top:1px solid #e7c8d0;border-bottom:1px solid #e7c8d0;border-radius:0;padding:16px 0}
[data-theme="rose"] .scan-box{border-radius:0;height:300px}
[data-theme="rose"] .btn,[data-theme="rose"] .verify-btn{border-radius:0;letter-spacing:2px;font-family:inherit}
[data-theme="rose"] .guide{box-shadow:none;border-top:1px solid #e7c8d0;border-radius:0;max-width:400px}
[data-theme="rose"] .guide h4{letter-spacing:6px;font-weight:400}

/* 玻璃拟态：透明卡 + 光斑 */
[data-theme="violet"]{--page-bg:#1e1145;--page-text:#f5f3ff;--card:rgba(255,255,255,.12);--card-shadow:0 20px 60px rgba(0,0,0,.35);
--header:transparent;--header-glow:none;--logo:#fff;--sub:#ddd6fe;--accent:#c4b5fd;
--info-bg:rgba(255,255,255,.08);--info-bd:rgba(255,255,255,.16);--info-label:#ddd6fe;--info-val:#fff;
--scan-bg:rgba(15,10,40,.55);--scan-corner:#c4b5fd;--scan-ph:#ddd6fe;
--btn-pri:#7c3aed;--btn-pri-t:#fff;--btn-sec:#ede9fe;--btn-sec-t:#5b21b6;--btn-ok:#16a34a;
--wait-bg:rgba(255,255,255,.1);--wait:#ddd6fe;--ok-bg:rgba(34,197,94,.2);--ok:#bbf7d0;--err-bg:rgba(239,68,68,.2);--err:#fecaca;
--input-bd:rgba(255,255,255,.25);--key-title:#fff;--key-sub:#ddd6fe;
--guide-bg:rgba(255,255,255,.1);--guide-t:#fff;--guide-p:#ddd6fe;--guide-num:#c4b5fd}
[data-theme="violet"] .theme-bg{display:block;position:fixed;inset:0;background:radial-gradient(420px 420px at 18% 20%,#a78bfa,transparent 60%),radial-gradient(380px 380px at 86% 78%,#f472b6,transparent 55%),#1e1145}
[data-theme="violet"] .card{border-radius:28px;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:visible}
[data-theme="violet"] .header{padding-top:32px}
[data-theme="violet"] .btn{border-radius:18px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
[data-theme="violet"] .guide{backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);box-shadow:none}

/* 午夜金卡：房卡金属边 */
[data-theme="midnight"]{--page-bg:#050505;--page-text:#f5f5f4;--card:#111111;--card-shadow:0 0 0 1px #ca8a04;
--header:#111111;--header-glow:none;--logo:#facc15;--sub:#a8a29e;--accent:#eab308;
--info-bg:#191919;--info-bd:#3f3f46;--info-label:#a8a29e;--info-val:#facc15;
--scan-bg:#000;--scan-corner:#facc15;--scan-ph:#a8a29e;
--btn-pri:#ca8a04;--btn-pri-t:#111;--btn-sec:#27272a;--btn-sec-t:#facc15;--btn-ok:#ca8a04;
--wait-bg:#191919;--wait:#facc15;--ok-bg:#191919;--ok:#facc15;--err-bg:#191919;--err:#f87171;
--input-bd:#ca8a04;--key-title:#fafaf9;--key-sub:#a8a29e;
--guide-bg:#111;--guide-t:#fafaf9;--guide-p:#a8a29e;--guide-num:#eab308}
[data-theme="midnight"] body{background:#050505}
[data-theme="midnight"] .card{border-radius:18px;border:1px solid #ca8a04;box-shadow:0 0 0 6px #111,0 0 0 7px #ca8a04;letter-spacing:.08em}
[data-theme="midnight"] .header{border-bottom:1px solid #3f3f46;text-transform:uppercase}
[data-theme="midnight"] .logo-text{font-size:18px;letter-spacing:.35em}
[data-theme="midnight"] .brand-mark{display:block;width:46px;height:46px;margin:0 auto 10px;border:1px solid #ca8a04;transform:rotate(45deg)}
[data-theme="midnight"] .btn{border-radius:0;border:1px solid #ca8a04;text-transform:uppercase;letter-spacing:.2em;font-size:12px}
[data-theme="midnight"] .scan-box{border:1px solid #ca8a04;border-radius:4px}
[data-theme="midnight"] .guide{border:1px solid #ca8a04;border-radius:18px;box-shadow:none;text-transform:none;letter-spacing:0}

/* 和风樱花：宣纸 + 印章 */
[data-theme="sakura"]{--page-bg:#f6ebe6;--page-text:#4a2a32;--card:#fff8f4;--card-shadow:0 10px 28px rgba(157,23,77,.12);
--header:#fff8f4;--header-glow:none;--logo:#9d174d;--sub:#be185d;--accent:#db2777;
--info-bg:#fff1f2;--info-bd:#fbcfe8;--info-label:#9d174d;--info-val:#be185d;
--scan-bg:#3f1324;--scan-corner:#f9a8d4;--scan-ph:#fbcfe8;
--btn-pri:#db2777;--btn-pri-t:#fff;--btn-sec:#fce7f3;--btn-sec-t:#9d174d;--btn-ok:#db2777;
--wait-bg:#fce7f3;--wait:#9d174d;--ok-bg:#fce7f3;--ok:#9d174d;--err-bg:#fff1f2;--err:#9d174d;
--input-bd:#f9a8d4;--key-title:#4a2a32;--key-sub:#9d174d;
--guide-bg:#fff8f4;--guide-t:#4a2a32;--guide-p:#9d174d;--guide-num:#db2777}
[data-theme="sakura"] body{background:#f3e2dc;font-family:"Kaiti SC","STKaiti","KaiTi",serif}
[data-theme="sakura"] .deco-a{display:block;position:absolute;right:16px;top:16px;width:42px;height:42px;border:2px solid #be185d;color:#be185d;font-family:"Kaiti SC",serif;font-size:13px;line-height:38px;text-align:center;transform:rotate(8deg);z-index:3}
[data-theme="sakura"] .deco-a::before{content:"印"}
[data-theme="sakura"] .card{border-radius:4px;border:1px solid #e8c9c4;background:#fff8f4}
[data-theme="sakura"] .header{border-bottom:1px dashed #e8c9c4;text-align:left}
[data-theme="sakura"] .header::after{display:none}
[data-theme="sakura"] .logo-text{font-weight:400;letter-spacing:.4em}
[data-theme="sakura"] .scan-box{border-radius:2px;border:1px dashed #f9a8d4}
[data-theme="sakura"] .btn{border-radius:2px}
[data-theme="sakura"] .guide{border:1px dashed #e8c9c4;border-radius:4px;box-shadow:none}

/* 薄荷诊所：iOS 分组列表 */
[data-theme="mint"]{--page-bg:#eef6f3;--page-text:#134e4a;--card:#fff;--card-shadow:0 8px 24px rgba(15,118,110,.08);
--header:#fff;--header-glow:none;--logo:#0f766e;--sub:#14b8a6;--accent:#10b981;
--info-bg:#f8fafc;--info-bd:#e2e8f0;--info-label:#64748b;--info-val:#0f766e;
--scan-bg:#0f172a;--scan-corner:#5eead4;--scan-ph:#99f6e4;
--btn-pri:#10b981;--btn-pri-t:#fff;--btn-sec:#f1f5f9;--btn-sec-t:#0f766e;--btn-ok:#10b981;
--wait-bg:#ecfdf5;--wait:#047857;--ok-bg:#ecfdf5;--ok:#047857;--err-bg:#fef2f2;--err:#b91c1c;
--input-bd:#ccfbf1;--key-title:#134e4a;--key-sub:#64748b;
--guide-bg:#fff;--guide-t:#134e4a;--guide-p:#64748b;--guide-num:#10b981}
[data-theme="mint"] body{background:#e8f2ee}
[data-theme="mint"] .card{border-radius:20px;max-width:400px}
[data-theme="mint"] .header{background:#fff;text-align:left;padding:18px 20px 8px}
[data-theme="mint"] .header::after{display:none}
[data-theme="mint"] .logo-icon{background:#ecfdf5;color:#0f766e;border-radius:12px}
[data-theme="mint"] .logo-text{color:#0f766e;font-size:18px;font-weight:700}
[data-theme="mint"] .info-card{border-radius:14px;background:#f8fafc}
[data-theme="mint"] .info-row{padding:8px 0;border-bottom:1px solid #e2e8f0}
[data-theme="mint"] .info-row:last-child{border-bottom:none}
[data-theme="mint"] .btn{border-radius:12px}
[data-theme="mint"] .guide{border-radius:20px;box-shadow:0 8px 24px rgba(15,118,110,.08)}

/* 熔岩粗野：直角厚边斜切 */
[data-theme="ember"]{--page-bg:#1a0505;--page-text:#fff1f2;--card:#250808;--card-shadow:8px 8px 0 #ef4444;
--header:#ef4444;--header-glow:none;--logo:#fff;--sub:#fecaca;--accent:#ef4444;
--info-bg:#1a0505;--info-bd:#ef4444;--info-label:#fecaca;--info-val:#fff;
--scan-bg:#000;--scan-corner:#ef4444;--scan-ph:#fca5a5;
--btn-pri:#ef4444;--btn-pri-t:#fff;--btn-sec:#7f1d1d;--btn-sec-t:#fff;--btn-ok:#ef4444;
--wait-bg:#1a0505;--wait:#fecaca;--ok-bg:#14532d;--ok:#86efac;--err-bg:#1a0505;--err:#fca5a5;
--input-bd:#ef4444;--key-title:#fff;--key-sub:#fca5a5;
--guide-bg:#250808;--guide-t:#fff;--guide-p:#fecaca;--guide-num:#ef4444}
[data-theme="ember"] body{background:#120404}
[data-theme="ember"] .card{border-radius:0;border:4px solid #ef4444;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
[data-theme="ember"] .header{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);font-weight:900}
[data-theme="ember"] .logo-text{text-transform:uppercase;letter-spacing:.12em}
[data-theme="ember"] .scan-box,[data-theme="ember"] .btn,[data-theme="ember"] .info-card,[data-theme="ember"] .status{border-radius:0;border:3px solid #ef4444}
[data-theme="ember"] .btn{font-weight:900;text-transform:uppercase}
[data-theme="ember"] .guide{border-radius:0;border:4px solid #ef4444;box-shadow:8px 8px 0 #ef4444}

/* 极地极简：大留白 */
[data-theme="ice"]{--page-bg:#f8fafc;--page-text:#0f172a;--card:#fff;--card-shadow:none;
--header:#fff;--header-glow:none;--logo:#0f172a;--sub:#64748b;--accent:#0284c7;
--info-bg:#fff;--info-bd:#e2e8f0;--info-label:#64748b;--info-val:#0f172a;
--scan-bg:#f1f5f9;--scan-corner:#38bdf8;--scan-ph:#94a3b8;
--btn-pri:#0f172a;--btn-pri-t:#fff;--btn-sec:#e2e8f0;--btn-sec-t:#0f172a;--btn-ok:#0f172a;
--wait-bg:#fff;--wait:#0284c7;--ok-bg:#fff;--ok:#047857;--err-bg:#fff;--err:#b91c1c;
--input-bd:#e2e8f0;--key-title:#0f172a;--key-sub:#94a3b8;
--guide-bg:#fff;--guide-t:#0f172a;--guide-p:#64748b;--guide-num:#0284c7}
[data-theme="ice"] body{background:#f8fafc}
[data-theme="ice"] .card{border-radius:0;border-top:3px solid #38bdf8;max-width:360px;box-shadow:none}
[data-theme="ice"] .header{padding:36px 8px 8px}
[data-theme="ice"] .header::after{display:none}
[data-theme="ice"] .logo-icon{display:none}
[data-theme="ice"] .logo-text{font-weight:300;font-size:26px;letter-spacing:.2em}
[data-theme="ice"] .body{padding:12px 8px 28px}
[data-theme="ice"] .scan-box{border-radius:0;height:260px;border:1px solid #e2e8f0;box-shadow:none}
[data-theme="ice"] .btn{border-radius:0;border:1px solid #0f172a}
[data-theme="ice"] .btn-secondary{border-color:#e2e8f0}
[data-theme="ice"] .guide{box-shadow:none;border-radius:0;max-width:360px;border-top:1px solid #e2e8f0}

/* 葡萄酒标：双金边居中纹章 */
[data-theme="grape"]{--page-bg:#2b1240;--page-text:#4c1d95;--card:#faf5ff;--card-shadow:0 0 0 2px #d6b25e,0 0 0 8px #faf5ff,0 0 0 10px #d6b25e;
--header:#faf5ff;--header-glow:none;--logo:#5b21b6;--sub:#7e22ce;--accent:#7e22ce;
--info-bg:#f3e8ff;--info-bd:#e9d5ff;--info-label:#6b21a8;--info-val:#5b21b6;
--scan-bg:#2e1065;--scan-corner:#d6b25e;--scan-ph:#e9d5ff;
--btn-pri:#5b21b6;--btn-pri-t:#faf5ff;--btn-sec:#f3e8ff;--btn-sec-t:#5b21b6;--btn-ok:#5b21b6;
--wait-bg:#f3e8ff;--wait:#5b21b6;--ok-bg:#f3e8ff;--ok:#5b21b6;--err-bg:#faf5ff;--err:#9f1239;
--input-bd:#d6b25e;--key-title:#4c1d95;--key-sub:#7e22ce;
--guide-bg:#faf5ff;--guide-t:#4c1d95;--guide-p:#6b21a8;--guide-num:#d6b25e}
[data-theme="grape"] body{background:#2b1240;font-family:Georgia,"Palatino Linotype",serif}
[data-theme="grape"] .card{border-radius:8px;max-width:360px;padding-bottom:6px}
[data-theme="grape"] .header{padding:28px 16px 10px}
[data-theme="grape"] .header::after{display:none}
[data-theme="grape"] .brand-mark{display:block;width:54px;height:54px;margin:0 auto 8px;border:2px solid #d6b25e;border-radius:50%}
[data-theme="grape"] .logo-icon{display:none}
[data-theme="grape"] .logo-text{font-weight:400;letter-spacing:.25em}
[data-theme="grape"] .subtitle{font-style:italic}
[data-theme="grape"] .btn{border-radius:999px}
[data-theme="grape"] .guide{box-shadow:0 0 0 2px #d6b25e;border-radius:8px;max-width:360px}

/* 咖啡馆小票 */
[data-theme="coffee"]{--page-bg:#6b4f32;--page-text:#3f2d1c;--card:#f3e6c8;--card-shadow:0 12px 0 #3f2d1c;
--header:#f3e6c8;--header-glow:none;--logo:#3f2d1c;--sub:#6b5340;--accent:#92400e;
--info-bg:transparent;--info-bd:transparent;--info-label:#6b5340;--info-val:#3f2d1c;
--scan-bg:#3f2d1c;--scan-corner:#d6a06c;--scan-ph:#d6c3a8;
--btn-pri:#3f2d1c;--btn-pri-t:#f3e6c8;--btn-sec:#ead9b3;--btn-sec-t:#3f2d1c;--btn-ok:#3f2d1c;
--wait-bg:#ead9b3;--wait:#3f2d1c;--ok-bg:#ead9b3;--ok:#3f2d1c;--err-bg:#ead9b3;--err:#9a3412;
--input-bd:#3f2d1c;--key-title:#3f2d1c;--key-sub:#6b5340;
--guide-bg:#f3e6c8;--guide-t:#3f2d1c;--guide-p:#6b5340;--guide-num:#92400e}
[data-theme="coffee"] body{background:#5a4129}
[data-theme="coffee"] .card{border-radius:0;font-family:"Courier New",monospace;max-width:360px;background-image:repeating-linear-gradient(#f3e6c8,#f3e6c8 28px,#ecd9b4 28px 29px)}
[data-theme="coffee"] .header{text-align:center;border-bottom:2px dashed #3f2d1c}
[data-theme="coffee"] .header::after{display:none}
[data-theme="coffee"] .logo-icon{display:none}
[data-theme="coffee"] .logo-text{font-size:20px}
[data-theme="coffee"] .info-row{border-bottom:1px dotted #6b5340;padding:6px 0}
[data-theme="coffee"] .scan-box{border-radius:0}
[data-theme="coffee"] .btn{border-radius:0;border:2px dashed #3f2d1c}
[data-theme="coffee"] .guide{border-radius:0;box-shadow:0 12px 0 #3f2d1c;font-family:"Courier New",monospace}

/* 柠檬漫画 */
[data-theme="lemon"]{--page-bg:#fff7c2;--page-text:#422006;--card:#fffce8;--card-shadow:0 8px 0 #111;
--header:#facc15;--header-glow:none;--logo:#111;--sub:#422006;--accent:#111;
--info-bg:#fff;--info-bd:#111;--info-label:#422006;--info-val:#111;
--scan-bg:#111;--scan-corner:#facc15;--scan-ph:#fde047;
--btn-pri:#facc15;--btn-pri-t:#111;--btn-sec:#fff;--btn-sec-t:#111;--btn-ok:#22c55e;
--wait-bg:#fff;--wait:#111;--ok-bg:#dcfce7;--ok:#166534;--err-bg:#fee2e2;--err:#b91c1c;
--input-bd:#111;--key-title:#111;--key-sub:#713f12;
--guide-bg:#fffce8;--guide-t:#111;--guide-p:#422006;--guide-num:#111}
[data-theme="lemon"] body{background:#ffe566}
[data-theme="lemon"] .card{border:4px solid #111;border-radius:30px 8px 30px 8px}
[data-theme="lemon"] .header{border-bottom:4px solid #111}
[data-theme="lemon"] .info-card{border:3px solid #111;border-radius:18px}
[data-theme="lemon"] .scan-box{border:4px solid #111;border-radius:24px}
[data-theme="lemon"] .btn,[data-theme="lemon"] .verify-btn{border:4px solid #111;border-radius:18px;box-shadow:0 5px 0 #111}
[data-theme="lemon"] .btn:active{transform:translateY(3px);box-shadow:0 2px 0 #111}
[data-theme="lemon"] .guide{border:4px solid #111;border-radius:24px;box-shadow:0 8px 0 #111}
[data-theme="lemon"] .guide h4{background:#facc15;display:inline-block;padding:2px 10px;border:3px solid #111;border-radius:10px}

/* 钢铁终端 */
[data-theme="steel"]{--page-bg:#020617;--page-text:#cbd5e1;--card:#020617;--card-shadow:none;
--header:#020617;--header-glow:none;--logo:#e2e8f0;--sub:#64748b;--accent:#94a3b8;
--info-bg:#020617;--info-bd:#334155;--info-label:#64748b;--info-val:#e2e8f0;
--scan-bg:#000;--scan-corner:#94a3b8;--scan-ph:#64748b;
--btn-pri:#e2e8f0;--btn-pri-t:#020617;--btn-sec:#1e293b;--btn-sec-t:#e2e8f0;--btn-ok:#86efac;
--wait-bg:#020617;--wait:#94a3b8;--ok-bg:#020617;--ok:#86efac;--err-bg:#020617;--err:#fca5a5;
--input-bd:#334155;--key-title:#e2e8f0;--key-sub:#64748b;
--guide-bg:#020617;--guide-t:#cbd5e1;--guide-p:#64748b;--guide-num:#94a3b8}
[data-theme="steel"] body{background:#020617;font-family:Consolas,"SF Mono",Menlo,monospace}
[data-theme="steel"] .card{border-radius:0;border:1px solid #334155;max-width:440px}
[data-theme="steel"] .header{text-align:left;border-bottom:1px solid #334155}
[data-theme="steel"] .header::after{display:none}
[data-theme="steel"] .logo-icon{border-radius:0;background:transparent;border:1px solid #64748b;color:#e2e8f0}
[data-theme="steel"] .logo-text{font-size:14px;letter-spacing:.2em}
[data-theme="steel"] .logo-text::before{content:"> "}
[data-theme="steel"] .info-card{border-radius:0}
[data-theme="steel"] .scan-box{border-radius:0;border:1px solid #334155;box-shadow:none}
[data-theme="steel"] .btn{border-radius:0;border:1px solid #334155;font-size:12px;letter-spacing:.12em}
[data-theme="steel"] .guide{border:1px solid #334155;border-radius:0;box-shadow:none}

/* 霓虹赛博 */
[data-theme="neon"]{--page-bg:#05010d;--page-text:#e0f2fe;--card:#0b0520;--card-shadow:0 0 24px rgba(34,211,238,.25);
--header:#0b0520;--header-glow:none;--logo:#22d3ee;--sub:#c084fc;--accent:#22d3ee;
--info-bg:#12082e;--info-bd:#22d3ee;--info-label:#c084fc;--info-val:#22d3ee;
--scan-bg:#000;--scan-corner:#22d3ee;--scan-ph:#67e8f9;
--btn-pri:#22d3ee;--btn-pri-t:#020617;--btn-sec:#3b0764;--btn-sec-t:#e0f2fe;--btn-ok:#22d3ee;
--wait-bg:#12082e;--wait:#22d3ee;--ok-bg:#052e16;--ok:#4ade80;--err-bg:#3b0764;--err:#f0abfc;
--input-bd:#22d3ee;--key-title:#e0f2fe;--key-sub:#c084fc;
--guide-bg:#0b0520;--guide-t:#e0f2fe;--guide-p:#c084fc;--guide-num:#22d3ee}
[data-theme="neon"] .theme-bg{display:block;position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 1px,transparent 1px,transparent 4px),radial-gradient(circle at 20% 10%,#3b0764,transparent 40%),#05010d}
[data-theme="neon"] .card{border-radius:0;transform:skewY(-1deg);border:1px solid #22d3ee;box-shadow:0 0 18px #22d3ee inset,8px 8px 0 #7c3aed}
[data-theme="neon"] .header{text-transform:uppercase}
[data-theme="neon"] .logo-text{text-shadow:0 0 10px #22d3ee;letter-spacing:.2em}
[data-theme="neon"] .btn{border-radius:0;border:1px solid #22d3ee;box-shadow:0 0 10px rgba(34,211,238,.35);text-transform:uppercase}
[data-theme="neon"] .scan-box{border:1px solid #22d3ee;border-radius:0}
[data-theme="neon"] .guide{transform:skewY(1deg);border:1px solid #7c3aed;border-radius:0;box-shadow:0 0 16px rgba(124,58,237,.35)}

/* 水墨宣纸 */
[data-theme="ink"]{--page-bg:#e8e2d4;--page-text:#1a1a1a;--card:#f4efe4;--card-shadow:none;
--header:#f4efe4;--header-glow:none;--logo:#1a1a1a;--sub:#4a4a4a;--accent:#1a1a1a;
--info-bg:transparent;--info-bd:transparent;--info-label:#4a4a4a;--info-val:#1a1a1a;
--scan-bg:#1a1a1a;--scan-corner:#d4d4d4;--scan-ph:#a3a3a3;
--btn-pri:#1a1a1a;--btn-pri-t:#f4efe4;--btn-sec:#ddd4c2;--btn-sec-t:#1a1a1a;--btn-ok:#1a1a1a;
--wait-bg:transparent;--wait:#1a1a1a;--ok-bg:transparent;--ok:#1a1a1a;--err-bg:transparent;--err:#7f1d1d;
--input-bd:#1a1a1a;--key-title:#1a1a1a;--key-sub:#4a4a4a;
--guide-bg:#f4efe4;--guide-t:#1a1a1a;--guide-p:#4a4a4a;--guide-num:#1a1a1a}
[data-theme="ink"] body{background:#d9d1c0;font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif}
[data-theme="ink"] .deco-b{display:block;position:absolute;left:18px;bottom:18px;width:36px;height:36px;background:#8b1e1e;color:#f4efe4;text-align:center;line-height:36px;font-size:14px;z-index:3}
[data-theme="ink"] .deco-b::before{content:"印"}
[data-theme="ink"] .card{border-radius:0;border:1px solid #b7ad9a;max-width:400px}
[data-theme="ink"] .header{text-align:left;border-bottom:1px solid #b7ad9a}
[data-theme="ink"] .header::after{display:none}
[data-theme="ink"] .logo-icon{display:none}
[data-theme="ink"] .logo-text{font-weight:400;letter-spacing:.5em;font-size:24px}
[data-theme="ink"] .scan-box{border-radius:0}
[data-theme="ink"] .btn{border-radius:0;border:1px solid #1a1a1a;font-family:inherit}
[data-theme="ink"] .guide{border:1px solid #b7ad9a;border-radius:0;box-shadow:none}

/* 蜜桃贴纸 */
[data-theme="peach"]{--page-bg:#ffe4d6;--page-text:#7c2d12;--card:#fff7f2;--card-shadow:0 18px 40px rgba(234,88,12,.15);
--header:#fb7185;--header-glow:none;--logo:#fff;--sub:#ffe4e6;--accent:#fb7185;
--info-bg:#fff;--info-bd:#fed7aa;--info-label:#c2410c;--info-val:#ea580c;
--scan-bg:#7c2d12;--scan-corner:#fdba74;--scan-ph:#fed7aa;
--btn-pri:#fb7185;--btn-pri-t:#fff;--btn-sec:#ffedd5;--btn-sec-t:#c2410c;--btn-ok:#fb7185;
--wait-bg:#ffe4e6;--wait:#be123c;--ok-bg:#ffe4e6;--ok:#be123c;--err-bg:#ffedd5;--err:#c2410c;
--input-bd:#fda4af;--key-title:#7c2d12;--key-sub:#ea580c;
--guide-bg:#fff7f2;--guide-t:#7c2d12;--guide-p:#c2410c;--guide-num:#fb7185}
[data-theme="peach"] .theme-bg{display:block;position:fixed;inset:0;background:radial-gradient(circle at 12% 18%,#fda4af 0 70px,transparent 71px),radial-gradient(circle at 88% 80%,#fdba74 0 90px,transparent 91px),#ffe4d6}
[data-theme="peach"] .card{border-radius:36px}
[data-theme="peach"] .header{border-radius:36px 36px 40% 40%;padding-bottom:34px}
[data-theme="peach"] .info-card{border-radius:24px}
[data-theme="peach"] .scan-box{border-radius:32px}
[data-theme="peach"] .btn{border-radius:999px}
[data-theme="peach"] .guide{border-radius:28px}

/* 极光漂浮：去掉卡片壳 */
[data-theme="aurora"]{--page-bg:#04151c;--page-text:#ecfdf5;--card:transparent;--card-shadow:none;
--header:transparent;--header-glow:none;--logo:#ecfdf5;--sub:#a7f3d0;--accent:#34d399;
--info-bg:rgba(255,255,255,.08);--info-bd:rgba(52,211,153,.35);--info-label:#a7f3d0;--info-val:#fff;
--scan-bg:rgba(0,0,0,.35);--scan-corner:#34d399;--scan-ph:#a7f3d0;
--btn-pri:#34d399;--btn-pri-t:#042f2e;--btn-sec:#134e4a;--btn-sec-t:#ecfdf5;--btn-ok:#34d399;
--wait-bg:rgba(255,255,255,.08);--wait:#a7f3d0;--ok-bg:rgba(52,211,153,.15);--ok:#6ee7b7;--err-bg:rgba(248,113,113,.15);--err:#fecaca;
--input-bd:rgba(52,211,153,.4);--key-title:#ecfdf5;--key-sub:#a7f3d0;
--guide-bg:rgba(255,255,255,.08);--guide-t:#ecfdf5;--guide-p:#a7f3d0;--guide-num:#34d399}
[data-theme="aurora"] .theme-bg{display:block;position:fixed;inset:0;background:radial-gradient(700px 380px at 20% 20%,rgba(52,211,153,.35),transparent 60%),radial-gradient(640px 360px at 90% 80%,rgba(139,92,246,.35),transparent 55%),#04151c}
[data-theme="aurora"] .card{background:transparent;box-shadow:none;overflow:visible;max-width:400px}
[data-theme="aurora"] .header{padding-top:8px}
[data-theme="aurora"] .btn{border-radius:999px;border:1px solid rgba(52,211,153,.45)}
[data-theme="aurora"] .scan-box{border-radius:28px;border:1px solid rgba(52,211,153,.35)}
[data-theme="aurora"] .guide{backdrop-filter:blur(10px);box-shadow:none;border-radius:22px}

/* 皇家殿堂 */
[data-theme="royal"]{--page-bg:#140e2b;--page-text:#3b0764;--card:#2a184a;--card-shadow:0 0 0 3px #d6b25e;
--header:#2a184a;--header-glow:none;--logo:#fde68a;--sub:#e9d5ff;--accent:#d6b25e;
--info-bg:#1e1140;--info-bd:#d6b25e;--info-label:#e9d5ff;--info-val:#fde68a;
--scan-bg:#100826;--scan-corner:#d6b25e;--scan-ph:#e9d5ff;
--btn-pri:#d6b25e;--btn-pri-t:#1e1140;--btn-sec:#4c1d95;--btn-sec-t:#fde68a;--btn-ok:#d6b25e;
--wait-bg:#1e1140;--wait:#fde68a;--ok-bg:#1e1140;--ok:#fde68a;--err-bg:#1e1140;--err:#fca5a5;
--input-bd:#d6b25e;--key-title:#fde68a;--key-sub:#e9d5ff;
--guide-bg:#2a184a;--guide-t:#fde68a;--guide-p:#e9d5ff;--guide-num:#d6b25e}
[data-theme="royal"] body{background:#140e2b;font-family:Georgia,"Palatino Linotype",serif}
[data-theme="royal"] .card{border-radius:10px;border:3px solid #d6b25e;box-shadow:0 0 0 8px #2a184a,0 0 0 10px #d6b25e}
[data-theme="royal"] .deco-a,[data-theme="royal"] .deco-b{display:block;position:absolute;width:18px;height:18px;border:2px solid #d6b25e;z-index:4}
[data-theme="royal"] .deco-a{top:10px;left:10px;border-right:none;border-bottom:none}
[data-theme="royal"] .deco-b{bottom:10px;right:10px;border-left:none;border-top:none}
[data-theme="royal"] .header{border-bottom:1px solid #d6b25e}
[data-theme="royal"] .logo-text{letter-spacing:.28em}
[data-theme="royal"] .btn{border-radius:4px;border:1px solid #d6b25e}
[data-theme="royal"] .guide{border:3px solid #d6b25e;border-radius:10px;box-shadow:none}

/* 强制版式压过页面内联样式，避免只剩换色 */
[data-theme="ocean"] .card{border-radius:40px!important;overflow:visible!important}
[data-theme="ocean"] .scan-box{width:220px!important;height:220px!important;border-radius:50%!important;margin:8px auto 18px!important;border:10px solid #99f6e4!important}
[data-theme="ocean"] .btn,[data-theme="ocean"] .verify-btn,[data-theme="ocean"] .status{border-radius:999px!important}
[data-theme="sunset"] .page{transform:rotate(-2deg)}
[data-theme="sunset"] .card{border-radius:4px!important;border:12px solid #fff7ed!important;box-shadow:14px 18px 0 #9a3412!important}
[data-theme="sunset"] .logo-icon{display:none!important}
[data-theme="sunset"] .logo-text{font-family:Georgia,serif!important;font-size:28px!important}
[data-theme="sunset"] .btn,[data-theme="sunset"] .verify-btn{border-radius:3px!important;transform:skewX(-8deg)}
[data-theme="forest"] .card{border-radius:4px!important;border:10px solid #6b5340!important}
[data-theme="forest"] .header{background:repeating-linear-gradient(90deg,#4a3424 0 12px,#3d2b1d 12px 14px)!important;text-align:left!important}
[data-theme="forest"] .logo{justify-content:flex-start!important}
[data-theme="rose"] body,[data-theme="rose"] .card,[data-theme="rose"] .guide{font-family:Georgia,"Songti SC",serif!important}
[data-theme="rose"] .card{border-radius:0!important;box-shadow:0 0 0 10px #fffafb,0 0 0 11px #e7c8d0!important}
[data-theme="rose"] .logo-icon{display:none!important}
[data-theme="rose"] .logo-text{font-weight:400!important;letter-spacing:.4em!important}
[data-theme="rose"] .btn,[data-theme="rose"] .verify-btn{border-radius:0!important}
[data-theme="violet"] .card{border-radius:28px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.3)!important;backdrop-filter:blur(18px)!important}
[data-theme="midnight"] .card{border-radius:16px!important;border:1px solid #ca8a04!important;box-shadow:0 0 0 6px #111,0 0 0 7px #ca8a04!important}
[data-theme="midnight"] .logo-text{letter-spacing:.35em!important;font-size:16px!important;text-transform:uppercase}
[data-theme="midnight"] .btn,[data-theme="midnight"] .verify-btn{border-radius:0!important;border:1px solid #ca8a04!important;text-transform:uppercase;letter-spacing:.18em}
[data-theme="sakura"] .deco-a{display:block!important}
[data-theme="sakura"] .card{border-radius:2px!important;border:1px solid #e8c9c4!important}
[data-theme="sakura"] .logo-text{letter-spacing:.45em!important;font-weight:400!important}
[data-theme="mint"] .header{text-align:left!important;background:#fff!important}
[data-theme="mint"] .logo-icon{background:#ecfdf5!important;color:#0f766e!important}
[data-theme="mint"] .info-row{border-bottom:1px solid #e2e8f0;padding:8px 0}
[data-theme="ember"] .card{border-radius:0!important;border:4px solid #ef4444!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}
[data-theme="ember"] .btn,[data-theme="ember"] .scan-box,[data-theme="ember"] .info-card{border-radius:0!important;border:3px solid #ef4444!important}
[data-theme="ice"] .card{border-radius:0!important;border-top:4px solid #38bdf8!important;box-shadow:none!important;max-width:340px!important}
[data-theme="ice"] .logo-icon{display:none!important}
[data-theme="ice"] .logo-text{font-weight:300!important;letter-spacing:.25em!important}
[data-theme="ice"] .btn{border-radius:0!important;border:1px solid #0f172a!important}
[data-theme="grape"] .brand-mark{display:block!important}
[data-theme="grape"] .logo-icon{display:none!important}
[data-theme="grape"] .card{border-radius:8px!important;box-shadow:0 0 0 2px #d6b25e,0 0 0 8px #faf5ff,0 0 0 10px #d6b25e!important;max-width:360px!important}
[data-theme="coffee"] .card,[data-theme="coffee"] .guide,[data-theme="coffee"] .btn{font-family:"Courier New",monospace!important;border-radius:0!important}
[data-theme="coffee"] .header{border-bottom:2px dashed #3f2d1c!important}
[data-theme="coffee"] .logo-icon{display:none!important}
[data-theme="coffee"] .btn,[data-theme="coffee"] .verify-btn{border:2px dashed #3f2d1c!important}
[data-theme="lemon"] .card{border:4px solid #111!important;border-radius:28px 8px 28px 8px!important;box-shadow:0 8px 0 #111!important}
[data-theme="lemon"] .btn,[data-theme="lemon"] .verify-btn{border:4px solid #111!important;border-radius:16px!important;box-shadow:0 5px 0 #111!important}
[data-theme="steel"] body,[data-theme="steel"] .card,[data-theme="steel"] .btn{font-family:Consolas,Menlo,monospace!important}
[data-theme="steel"] .card,[data-theme="steel"] .btn,[data-theme="steel"] .scan-box,[data-theme="steel"] .guide{border-radius:0!important;border:1px solid #334155!important}
[data-theme="steel"] .logo-text::before{content:"> "}
[data-theme="neon"] .card{border-radius:0!important;transform:skewY(-1.2deg);border:1px solid #22d3ee!important;box-shadow:8px 8px 0 #7c3aed,0 0 20px #22d3ee inset!important}
[data-theme="neon"] .logo-text{text-shadow:0 0 12px #22d3ee;letter-spacing:.2em!important}
[data-theme="neon"] .btn{border-radius:0!important;border:1px solid #22d3ee!important}
[data-theme="ink"] .deco-b{display:block!important}
[data-theme="ink"] .card{border-radius:0!important;border:1px solid #b7ad9a!important}
[data-theme="ink"] .logo-icon{display:none!important}
[data-theme="ink"] .logo-text{letter-spacing:.5em!important;font-weight:400!important}
[data-theme="peach"] .card{border-radius:36px!important}
[data-theme="peach"] .header{border-radius:36px 36px 50% 50%!important;padding-bottom:36px!important}
[data-theme="peach"] .btn,[data-theme="peach"] .verify-btn{border-radius:999px!important}
[data-theme="aurora"] .card{background:transparent!important;box-shadow:none!important;overflow:visible!important}
[data-theme="aurora"] .btn{border-radius:999px!important;border:1px solid rgba(52,211,153,.45)!important}
[data-theme="royal"] .deco-a,[data-theme="royal"] .deco-b{display:block!important}
[data-theme="royal"] .card{border-radius:10px!important;border:3px solid #d6b25e!important;box-shadow:0 0 0 8px #2a184a,0 0 0 10px #d6b25e!important}
.key-box .verify-btn{display:block!important;width:100%!important;min-height:54px!important;padding:16px 18px!important;font-size:18px!important;transform:none!important}
.btn-primary,.key-box .verify-btn{background:var(--btn-pri)!important;color:var(--btn-pri-t)!important}
.btn-secondary,#uploadBtn{background:var(--btn-sec)!important;color:var(--btn-sec-t)!important}
.btn-success{background:var(--btn-ok)!important;color:#fff!important}
