:root{--bg:#090b10;--panel:#111722;--panel-2:#151d2b;--gold:#d8b66a;--gold-2:#f0d99a;--ink:#f7f1e4;--muted:#a8adba;--line:rgba(216,182,106,0.22);--danger:#e67878;--green:#7fd6aa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 18% 12%,rgba(216,182,106,.14),transparent 24rem),linear-gradient(135deg,#090b10,#101621 48%,#08090d);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}.app-shell{min-height:100vh;padding:28px}.topbar{justify-content:space-between;gap:20px;max-width:1380px;margin:0 auto 24px}.brandmark,.topbar{display:flex;align-items:center}.brandmark{gap:14px}.logo-gem{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--gold-2);background:linear-gradient(145deg,rgba(216,182,106,.18),rgba(255,255,255,.03))}.brandmark h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:0}.brandmark p{margin:4px 0 0;color:var(--muted);font-size:13px}.nav{display:flex;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.04)}.icon-button,.nav button{min-height:40px;border:0;border-radius:7px;color:var(--muted);background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}.icon-button.primary,.nav button.active{color:#1c1303;background:linear-gradient(135deg,var(--gold-2),var(--gold))}.workspace{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.panel{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(17,23,34,.86);box-shadow:0 24px 70px rgba(0,0,0,.28)}.panel-header{padding:18px 18px 0}.panel-header h2,.section-title{margin:0;font-size:18px}.muted,.panel-header p{color:var(--muted);line-height:1.65}.form-grid,.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding:18px}.field{display:grid;grid-gap:7px;gap:7px}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.11);border-radius:7px;color:var(--ink);background:rgba(255,255,255,.045);padding:10px 12px;outline:none}.field textarea{min-height:86px;resize:vertical}.actions{display:flex;gap:10px;padding:0 18px 18px;flex-wrap:wrap}.icon-button.secondary{border:1px solid var(--line);color:var(--gold-2)}.report-space{display:grid;grid-gap:18px;gap:18px}.wearing-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);overflow:hidden}.wearing-plan-copy{padding:28px}.wearing-plan-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:0}.wearing-plan-copy p{color:var(--muted);line-height:1.8}.wearing-plan-preview .bracelet-stage{min-height:330px}.hero-report{min-height:360px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);overflow:hidden}.report-copy{padding:28px}.eyebrow{margin:0 0 10px;color:var(--gold-2);text-transform:uppercase;font-size:12px;letter-spacing:.08em}.report-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,5vw,64px);line-height:1.02;letter-spacing:0}.report-copy p{color:var(--muted);line-height:1.8;max-width:760px}.bracelet-stage{position:relative;display:grid;place-items:center;min-height:360px;background:radial-gradient(circle at center,rgba(216,182,106,.18),transparent 15rem),linear-gradient(145deg,rgba(216,182,106,.08),rgba(255,255,255,.02))}.uploaded-bracelet{width:min(86%,420px);max-height:320px;border-radius:8px;object-fit:cover;border:1px solid rgba(216,182,106,.28);box-shadow:0 24px 54px rgba(0,0,0,.38)}.bracelet{position:relative;width:min(78vw,340px);aspect-ratio:1}.bead,.bracelet{border-radius:50%}.bead{--angle:0deg;position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.85),rgba(255,255,255,.1) 26%,transparent 38%),var(--bead-color);box-shadow:0 10px 22px rgba(0,0,0,.38),inset -7px -8px 16px rgba(0,0,0,.25);transform:rotate(var(--angle)) translateX(132px) rotate(calc(-1 * var(--angle)))}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding:18px}.stats-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:8px}.crystal-card,.order-row,.stat{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.045)}.stat{padding:14px}.stats-grid.compact .stat{padding:12px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;margin-top:8px;font-size:22px}.stats-grid.compact .stat strong{font-size:19px}.crystal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));grid-gap:8px;gap:8px;padding:18px}.crystal-card{min-height:92px;padding:10px;text-align:left;color:var(--ink)}.crystal-card.selected{border-color:var(--gold);background:rgba(216,182,106,.11)}.crystal-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.crystal-card p{margin:7px 0 8px;font-size:12px;line-height:1.35}.crystal-card .tag{min-height:24px;padding:0 8px}.swatch{width:15px;height:15px;border-radius:50%;border:1px solid rgba(255,255,255,.36);flex:0 0 auto}.bazi-result{border-top:1px solid rgba(255,255,255,.08);margin-top:4px}.bazi-tags{padding:0 18px 18px}.bazi-tags,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-row{margin-top:14px}.tag{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;color:var(--gold-2);border:1px solid var(--line);font-size:12px}.copy-box{white-space:pre-line;padding:18px;color:#eee3cc;line-height:1.85}.upload-box{margin:18px;min-height:120px;display:grid;place-items:center;grid-gap:8px;gap:8px;border:1px dashed rgba(216,182,106,.42);border-radius:8px;color:var(--gold-2);background:rgba(216,182,106,.06)}.upload-box input{display:none}.report-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px}.pdf-report{position:relative;overflow:hidden;margin:0 18px 18px;padding:clamp(24px,3.4vw,40px);border-radius:8px;color:#302719;background:linear-gradient(135deg,rgba(255,255,255,.82),transparent 42%),#fbf6ea;border:1px solid rgba(112,78,33,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.62)}.pdf-ornament{position:absolute;inset:18px;border:1px solid rgba(137,98,43,.18);border-radius:8px;pointer-events:none}.pdf-cover,.pdf-footer,.pdf-hero,.pdf-section{position:relative;z-index:1}.pdf-cover{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:start;padding-bottom:18px;border-bottom:1px solid rgba(96,67,29,.16)}.pdf-brand,.pdf-kicker{margin:0 0 10px;color:#87652d;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pdf-cover h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.4vw,44px);line-height:1.12;letter-spacing:0;max-width:760px}.pdf-copy p,.pdf-cover p:not(.pdf-brand),.pdf-footer,.pdf-summary-card p{color:#655641;line-height:1.85}.pdf-seal{display:inline-flex;align-items:center;justify-content:center;width:86px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(137,98,43,.32);color:#87652d;font-family:Georgia,Times New Roman,serif;font-size:14px;text-align:center;background:rgba(255,255,255,.28)}.pdf-hero{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);grid-gap:20px;gap:20px;padding:18px 0}.pdf-image-card{min-height:320px;overflow:hidden;border-radius:8px;border:1px solid rgba(96,67,29,.18);background:#f7eedb;box-shadow:0 24px 60px rgba(91,64,27,.14)}.pdf-image-card img{width:100%;height:100%;min-height:320px;object-fit:contain;display:block;background:#f7eedb}.pdf-image-card .bracelet-stage{min-height:320px;background:radial-gradient(circle at center,rgba(255,255,255,.72),transparent 11rem),#f7eedb}.report-bracelet-stage .bracelet{width:min(70vw,272px)}.report-bracelet-stage .bead{transform:rotate(var(--angle)) translateX(104px) rotate(calc(-1 * var(--angle)))}.pdf-summary-card{padding:22px;border-radius:8px;background:rgba(255,255,255,.52);border:1px solid rgba(96,67,29,.13)}.pdf-section-title h3,.pdf-summary-card h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:0}.pdf-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pdf-chip-row span{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;color:#5b421d;background:rgba(137,98,43,.11);border:1px solid rgba(137,98,43,.14);font-size:12px}.pdf-section{padding:22px 0 0;border-top:1px solid rgba(96,67,29,.14)}.pdf-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pdf-section-title span{color:#87652d;font-family:Georgia,Times New Roman,serif;font-size:18px}.pdf-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:8px;gap:8px}.pdf-material{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;background:rgba(255,255,255,.36);border:1px solid rgba(96,67,29,.12)}.pdf-material strong{flex:1 1}.pdf-material em{color:#87652d;font-style:normal;font-size:13px}.pdf-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 24px;gap:16px 24px}.pdf-copy p{page-break-inside:avoid;break-inside:avoid;margin:0 0 12px}.pdf-copy-section:first-child{grid-column:1/-1}.pdf-copy-section h4{margin:0 0 8px;color:#87652d;font-size:16px;letter-spacing:0}.pdf-copy-section:first-child p{color:#4b3b27;font-size:17px;line-height:1.9}.pdf-footer{display:flex;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(96,67,29,.14);font-size:13px}.brand-page,.orders{max-width:1000px;margin:0 auto}.order-list{display:grid;grid-gap:12px;gap:12px;padding:18px}.order-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;padding:14px}.theme-options{display:flex;gap:10px;flex-wrap:wrap}.theme-dot{width:34px;height:34px;border-radius:50%;border:2px solid transparent}.theme-dot.active{border-color:white}@media (max-width:980px){.app-shell{padding:18px}.hero-report,.topbar,.wearing-plan,.workspace{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.nav{width:100%;overflow-x:auto}.form-grid,.pdf-copy,.pdf-cover,.pdf-hero,.settings-grid,.stats-grid{grid-template-columns:1fr}.pdf-footer,.report-panel-header{flex-direction:column}.pdf-report{margin:0 12px 12px;padding:24px}.pdf-seal{width:86px}}@media print{.actions,.left-panel,.nav,.topbar{display:none!important}body{background:white;color:#151515}.hero-report,.workspace{display:block}.panel{box-shadow:none;border-color:#ddd;background:white;color:#151515}}