/* template: sleep style: midnight */
/* Modern 模板基础样式 - 编辑级、克制、专业 */
:root{ --qz-m-primary:#3a4a5c; --qz-m-accent:#5a6a7a; --qz-m-bg:#f8f8f6; --qz-m-surface:#ffffff; --qz-m-text:#1f2937; --qz-m-text-light:#5c6570; --qz-m-border:#e5e7eb; --qz-m-muted:#f1f1ee; --qz-m-radius:12px; --qz-m-radius-sm:8px; --qz-m-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif; --qz-m-success:#3a6b4a; --qz-primary:var(--qz-m-primary); --qz-accent:var(--qz-m-accent); --qz-bg:var(--qz-m-bg); --qz-card:var(--qz-m-surface); --qz-text:var(--qz-m-text); --qz-text-light:var(--qz-m-text-light); --qz-border:var(--qz-m-border); --qz-radius:var(--qz-m-radius); --qz-radius-sm:var(--qz-m-radius-sm); --qz-success:var(--qz-m-success); --qz-font:var(--qz-m-font); }
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--qz-m-font); background:var(--qz-m-bg); color:var(--qz-m-text); line-height:1.65; -webkit-font-smoothing:antialiased; }
.qz-m-app{ max-width:780px; margin:0 auto; min-height:100vh; position:relative; padding-bottom:48px; }
.qz-m-icon{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; color:currentColor; }
.qz-m-icon svg{ width:100%; height:100%; stroke-width:1.75; fill:none; stroke:currentColor; }
.qz-m-app svg{ color:currentColor; }
.qz-m-lang-switch{ position:fixed; top:16px; right:16px; z-index:9999; font-family:var(--qz-m-font); }
.qz-m-lang-btn{ display:inline-flex; align-items:center; gap:4px; padding:6px 12px; border:1px solid var(--qz-m-border); border-radius:20px; background:var(--qz-m-surface); color:var(--qz-m-text-light); font-size:12px; font-weight:700; cursor:pointer; box-shadow:0 1px 4px rgba(15,23,42,0.06); transition:all .15s; }
.qz-m-lang-btn:hover{ border-color:var(--qz-m-accent); color:var(--qz-m-accent); }
.qz-m-lang-btn .caret{ display:inline-block; transition:transform .2s; font-size:10px; }
.qz-m-lang-switch.qz-open .qz-m-lang-btn .caret{ transform:rotate(180deg); }
.qz-m-lang-menu{ display:none; position:absolute; top:100%; right:0; margin-top:6px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:10px; box-shadow:0 8px 24px rgba(15,23,42,0.08); padding:6px; min-width:90px; overflow:hidden; }
.qz-m-lang-switch.qz-open .qz-m-lang-menu{ display:block; animation:qzMLangFade .15s ease-out; }
@keyframes qzMLangFade{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }
.qz-m-lang-link{ display:block; padding:8px 14px; border-radius:6px; color:var(--qz-m-text-light); font-size:13px; font-weight:600; text-decoration:none; transition:all .15s; }
.qz-m-lang-link:hover{ background:var(--qz-m-muted); color:var(--qz-m-accent); }
.qz-m-lang-link.active{ background:var(--qz-m-primary); color:#fff; }

/* 介绍页 hero - 数字仪表盘风格：大数字指标条 + 超大标题 + 紧凑科技行动区 */
.qz-m-hero{ position:relative; padding:96px 28px 64px; overflow:hidden; background:linear-gradient(180deg,var(--qz-m-surface) 0%,var(--qz-m-bg) 100%); text-align:left; border-bottom:1px solid var(--qz-m-border); }
.qz-m-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:6px; background:linear-gradient(90deg,var(--qz-m-primary),var(--qz-m-accent)); }
.qz-m-hero::after{ content:''; position:absolute; top:-35%; right:-18%; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(90,106,122,0.07) 0%,transparent 68%); pointer-events:none; }
.qz-m-hero-visual{ position:absolute; inset:0; pointer-events:none; }
.qz-m-grid{ position:absolute; inset:0; width:100%; height:100%; color:var(--qz-m-border); opacity:.10; }
.qz-m-grid path{ stroke-width:.25; }
.qz-m-deco{ position:absolute; border-radius:50%; filter:blur(42px); }
.qz-m-deco-1{ top:-12%; right:8%; width:260px; height:260px; background:var(--qz-m-primary); opacity:.05; }
.qz-m-deco-2{ bottom:-10%; left:-6%; width:220px; height:220px; background:var(--qz-m-accent); opacity:.06; }
.qz-m-deco-3{ top:42%; right:26%; width:120px; height:120px; background:var(--qz-m-primary); opacity:.04; }
.qz-m-hero-inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; }
.qz-m-kicker{ display:inline-flex; align-items:center; gap:8px; padding:7px 16px; background:var(--qz-m-bg); border:1px solid var(--qz-m-border); border-radius:20px; font-size:12px; font-weight:800; color:var(--qz-m-primary); letter-spacing:1.2px; text-transform:uppercase; margin-bottom:22px; }
.qz-m-kicker svg{ width:14px; height:14px; }
.qz-m-hero-metrics{ display:flex; align-items:center; gap:0; margin-bottom:28px; border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); overflow:hidden; background:var(--qz-m-surface); box-shadow:0 1px 3px rgba(15,23,42,0.04); max-width:fit-content; }
.qz-m-metric{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:14px 26px; min-width:110px; border-right:1px solid var(--qz-m-border); }
.qz-m-metric:last-child{ border-right:none; }
.qz-m-metric b{ font-size:32px; font-weight:850; color:var(--qz-m-text); line-height:1; letter-spacing:-0.03em; }
.qz-m-metric span{ font-size:11px; color:var(--qz-m-text-light); font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.qz-m-title{ font-size:66px; font-weight:900; line-height:1.02; margin-bottom:22px; letter-spacing:-0.04em; color:var(--qz-m-text); }
.qz-m-title em{ font-style:normal; color:var(--qz-m-text); background:linear-gradient(180deg,transparent 62%,rgba(90,106,122,0.24) 62%,rgba(90,106,122,0.24) 92%,transparent 92%); padding:0 4px; margin:0 -4px; }
.qz-m-desc{ font-size:20px; color:var(--qz-m-text-light); margin-bottom:16px; max-width:580px; line-height:1.7; }
.qz-m-subtitle{ font-size:15px; color:var(--qz-m-text-light); font-weight:600; margin-bottom:32px; }
.qz-m-subtitle-mark{ display:inline-flex; align-items:center; gap:8px; padding:9px 20px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:24px; color:var(--qz-m-primary); font-weight:800; box-shadow:0 1px 3px rgba(15,23,42,0.04); }
.qz-m-hero-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:32px; }
.qz-m-btn-start{ display:inline-flex; align-items:center; gap:8px; padding:17px 38px; background:var(--qz-m-primary); color:#fff; text-decoration:none; border-radius:6px; font-size:15px; font-weight:800; border:none; transition:all .2s; box-shadow:0 6px 18px rgba(31,41,55,0.16); }
.qz-m-btn-start:hover{ background:var(--qz-m-accent); transform:translateY(-2px); box-shadow:0 10px 24px rgba(31,41,55,0.2); }
.qz-m-btn-start .qz-m-icon{ width:14px; height:14px; }
.qz-m-btn-secondary{ display:inline-flex; align-items:center; justify-content:center; padding:16px 34px; background:var(--qz-m-surface); color:var(--qz-m-text-light); text-decoration:none; border-radius:6px; font-size:15px; font-weight:700; border:1.5px solid var(--qz-m-border); transition:all .2s; }
.qz-m-btn-secondary:hover{ border-color:var(--qz-m-primary); color:var(--qz-m-primary); }

/* 通用区块 */
.qz-m-section{ padding:56px 28px; max-width:720px; margin:0 auto; }
.qz-m-section-title{ font-size:24px; font-weight:800; margin-bottom:30px; color:var(--qz-m-text); letter-spacing:-0.01em; }

/* 特性区 - 2x2 数字卡片网格 */
.qz-m-features-section{ background:var(--qz-m-bg); border-top:1px solid var(--qz-m-border); border-bottom:1px solid var(--qz-m-border); }
.qz-m-features-section .qz-m-section-title{ text-align:left; }
.qz-m-feature-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.qz-m-feature-card{ display:flex; flex-direction:column; gap:12px; padding:26px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius); box-shadow:0 1px 3px rgba(15,23,42,0.04); transition:all .2s; }
.qz-m-feature-card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(15,23,42,0.08); border-color:var(--qz-m-accent); }
.qz-m-feature-icon{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:var(--qz-m-radius-sm); background:var(--qz-m-muted); color:var(--qz-m-primary); padding:11px; }
.qz-m-feature-icon svg{ width:22px; height:22px; }
.qz-m-feature-card h3{ font-size:16px; font-weight:800; color:var(--qz-m-text); }
.qz-m-feature-card p{ font-size:14px; color:var(--qz-m-text-light); line-height:1.6; }

/* 测定维度 */
.qz-m-dimensions{ background:var(--qz-m-surface); }
.qz-m-dimensions .qz-m-section-title{ text-align:left; }
.qz-m-dimension-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--qz-m-border); }
.qz-m-dimension{ display:flex; align-items:flex-start; gap:18px; padding:20px 0; border-bottom:1px solid var(--qz-m-border); }
.qz-m-dimension-num{ font-size:14px; font-weight:800; color:var(--qz-m-primary); line-height:1; padding-top:3px; width:26px; }
.qz-m-dimension-body h4{ font-size:16px; font-weight:800; margin-bottom:4px; color:var(--qz-m-text); }
.qz-m-dimension-body p{ font-size:14px; color:var(--qz-m-text-light); line-height:1.65; }

/* 流程步骤 */
.qz-m-steps{ background:var(--qz-m-bg); border-top:1px solid var(--qz-m-border); border-bottom:1px solid var(--qz-m-border); }
.qz-m-steps .qz-m-section-title{ text-align:left; }
.qz-m-step-list{ display:flex; gap:20px; position:relative; }
.qz-m-step-list::before{ content:''; position:absolute; top:20px; left:24px; right:24px; height:2px; background:var(--qz-m-border); z-index:0; }
.qz-m-step{ flex:1; text-align:center; padding:0; position:relative; z-index:1; }
.qz-m-step-num{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--qz-m-surface); border:2px solid var(--qz-m-primary); color:var(--qz-m-primary); font-size:14px; font-weight:800; margin-bottom:16px; }
.qz-m-step h4{ font-size:15px; font-weight:800; margin-bottom:7px; color:var(--qz-m-text); }
.qz-m-step p{ font-size:13px; color:var(--qz-m-text-light); line-height:1.6; }

/* 测定维度 - 与可能的结果区分 */
.qz-m-dimensions{ padding:56px 28px; max-width:720px; margin:0 auto; border-top:1px solid var(--qz-m-border); background:var(--qz-m-bg); }
.qz-m-dimension-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.qz-m-dimension-card{ padding:20px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius); transition:transform .2s, box-shadow .2s; }
.qz-m-dimension-card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(15,23,42,0.08); border-color:var(--qz-m-accent); }
.qz-m-dimension-num{ display:inline-block; width:28px; height:28px; line-height:28px; text-align:center; border-radius:50%; background:var(--qz-m-muted); color:var(--qz-m-primary); font-size:12px; font-weight:800; margin-bottom:12px; }
.qz-m-dimension-card h4{ font-size:16px; font-weight:800; margin-bottom:8px; color:var(--qz-m-text); }
.qz-m-dimension-card p{ font-size:14px; color:var(--qz-m-text-light); line-height:1.65; }

/* 结果概览 - 编号列表 */
.qz-m-results-overview{ padding:56px 28px; max-width:720px; margin:0 auto; background:var(--qz-m-surface); }
.qz-m-results-overview .qz-m-section-title{ text-align:left; }
.qz-m-result-grid{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--qz-m-border); }
.qz-m-result-card{ display:flex; align-items:center; gap:16px; padding:20px 0; border-bottom:1px solid var(--qz-m-border); text-decoration:none; color:inherit; transition:all .15s; }
.qz-m-result-card:hover{ padding-left:10px; background:var(--qz-m-bg); }
.qz-m-result-card .qz-m-result-num{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--qz-m-border); font-size:12px; font-weight:800; color:var(--qz-m-text-light); flex-shrink:0; }
.qz-m-result-card:hover .qz-m-result-num{ border-color:var(--qz-m-primary); color:var(--qz-m-primary); }
.qz-m-result-card h3{ flex:1; font-size:16px; font-weight:800; color:var(--qz-m-text); }
.qz-m-result-card p{ flex:2; font-size:14px; color:var(--qz-m-text-light); line-height:1.55; }
.qz-m-result-card .qz-m-result-link{ font-size:13px; font-weight:700; color:var(--qz-m-primary); white-space:nowrap; flex-shrink:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }

/* 科学依据 - 左侧图标 + 左侧实线 */
.qz-m-science{ padding:56px 28px; max-width:720px; margin:0 auto; border-top:1px solid var(--qz-m-border); background:var(--qz-m-bg); }
.qz-m-science-inner{ display:flex; align-items:flex-start; gap:22px; padding:28px; background:var(--qz-m-surface); border-radius:var(--qz-m-radius); border:1px solid var(--qz-m-border); box-shadow:0 1px 3px rgba(15,23,42,0.04); }
.qz-m-science-icon{ display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:var(--qz-m-muted); color:var(--qz-m-primary); flex-shrink:0; padding:13px; }
.qz-m-science-icon svg{ width:24px; height:24px; }
.qz-m-science-body{ flex:1; }
.qz-m-science-body h3{ font-size:18px; font-weight:800; color:var(--qz-m-text); margin-bottom:10px; }
.qz-m-science-body p{ font-size:15px; color:var(--qz-m-text-light); line-height:1.8; margin-bottom:12px; }
.qz-m-intro-content{ font-size:15px; color:var(--qz-m-text-light); line-height:1.9; }
.qz-m-intro-content p{ margin-bottom:12px; }

/* 信任条 */
.qz-m-trust-bar{ display:flex; justify-content:center; flex-wrap:wrap; gap:10px 32px; padding:28px; max-width:720px; margin:0 auto; }
.qz-m-trust-item{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--qz-m-text-light); font-weight:600; }
.qz-m-trust-icon{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; color:var(--qz-m-accent); }
.qz-m-trust-icon svg{ width:100%; height:100%; }

/* 做题页 */
.qz-m-test-page{ min-height:100vh; display:flex; flex-direction:column; }
.qz-m-test-heading{ font-size:28px; font-weight:800; text-align:center; padding:32px 24px 16px; color:var(--qz-m-text); letter-spacing:-0.02em; }
.qz-m-quick-banner{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:20px; background:linear-gradient(180deg,#fff8f0 0%,var(--qz-m-surface) 100%); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); margin:0 24px 20px; box-shadow:0 1px 3px rgba(15,23,42,0.04); text-align:center; }
.qz-m-quick-banner-inline{ margin:0 24px 20px; }
.qz-m-quick-banner-top{ margin:0 0 24px; }
.qz-m-quick-banner-bottom{ margin:28px 0 0; }
.qz-m-quick-badge{ display:inline-flex; align-self:flex-start; padding:5px 12px; background:var(--qz-m-accent); color:#fff; font-size:12px; font-weight:800; border-radius:20px; letter-spacing:0.5px; }
.qz-m-quick-banner p{ font-size:16px; color:var(--qz-m-text-light); line-height:1.7; font-weight:500; max-width:640px; }
.qz-m-quick-banner p strong{ color:var(--qz-m-text); font-weight:800; }
.qz-m-quick-banner p u{ color:var(--qz-m-accent); text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.qz-m-quick-link{ display:inline-flex; align-self:stretch; align-items:center; justify-content:center; gap:8px; font-size:17px; font-weight:800; color:var(--qz-m-primary); text-decoration:none; padding:16px 28px; background:var(--qz-m-surface); border:2px solid var(--qz-m-primary); border-radius:var(--qz-m-radius); transition:all .2s; box-shadow:0 4px 12px rgba(15,23,42,0.08); margin-top:4px; }
.qz-m-quick-link:hover{ background:var(--qz-m-primary); color:#fff; border-color:var(--qz-m-primary); transform:translateY(-2px); box-shadow:0 8px 20px rgba(15,23,42,0.15); }
.qz-m-quick-link svg{ width:18px; height:18px; }
.qz-m-progress-bar{ position:sticky; top:0; z-index:50; height:3px; background:var(--qz-m-border); }
.qz-m-progress-bar .qz-progress-fill{ height:100%; background:var(--qz-m-accent); width:0%; transition:width .35s ease; }
.qz-m-test-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; background:var(--qz-m-surface); border-bottom:1px solid var(--qz-m-border); position:sticky; top:3px; z-index:49; }
.qz-m-back{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--qz-m-radius-sm); background:var(--qz-m-bg); color:var(--qz-m-text); text-decoration:none; transition:all .2s; border:1px solid var(--qz-m-border); }
.qz-m-back:hover{ background:var(--qz-m-text); color:#fff; border-color:var(--qz-m-text); }
.qz-m-back .qz-m-icon{ width:20px; height:20px; }
.qz-m-test-header .qz-progress-text{ font-size:14px; font-weight:700; color:var(--qz-m-text-light); }
.qz-m-question-wrap{ flex:1; padding:32px 24px 140px; max-width:720px; margin:0 auto; width:100%; }
.qz-m-question{ animation:qzMFadeIn .45s ease; }
@keyframes qzMFadeIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
.qz-m-q-meta{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.qz-m-q-badge{ font-size:12px; font-weight:800; color:var(--qz-m-accent); letter-spacing:.5px; text-transform:uppercase; }
.qz-m-q-total{ font-size:12px; color:var(--qz-m-text-light); }
.qz-m-q-title{ font-size:23px; font-weight:800; line-height:1.4; margin-bottom:14px; letter-spacing:-0.01em; }
.qz-m-q-desc{ font-size:15px; color:var(--qz-m-text-light); margin-bottom:18px; }
.qz-m-q-hint{ display:flex; align-items:flex-start; gap:8px; font-size:13px; color:var(--qz-m-text-light); margin-bottom:18px; padding:12px 14px; background:var(--qz-m-muted); border-radius:var(--qz-m-radius-sm); }
.qz-m-q-hint .qz-m-icon{ width:18px; height:18px; flex-shrink:0; color:var(--qz-m-accent); margin-top:1px; }
.qz-m-q-options{ display:flex; flex-direction:column; gap:10px; }
.qz-m-option{ display:flex; align-items:center; gap:14px; padding:16px; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); cursor:pointer; transition:all .2s; user-select:none; position:relative; overflow:hidden; }
.qz-m-option:hover{ border-color:var(--qz-m-accent); }
.qz-m-option.selected{ border-color:var(--qz-m-accent); background:var(--qz-m-muted); }
.qz-m-option.selected::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--qz-m-accent); }
.qz-m-option-key{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--qz-m-bg); border:1.5px solid var(--qz-m-border); font-size:13px; font-weight:700; color:var(--qz-m-text-light); flex-shrink:0; transition:all .2s; }
.qz-m-option.selected .qz-m-option-key{ background:var(--qz-m-text); border-color:var(--qz-m-text); color:#fff; }
.qz-m-option-label{ font-size:15px; font-weight:600; flex:1; }
.qz-m-option-desc{ display:block; font-size:12px; color:var(--qz-m-text-light); margin-top:4px; width:100%; }

/* 量表 */
.qz-scale-row{ display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; }
.qz-scale-item{ flex:1; min-width:56px; text-align:center; padding:16px 6px; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); cursor:pointer; transition:all .2s; }
.qz-scale-item:hover{ border-color:var(--qz-m-accent); }
.qz-scale-item.selected{ border-color:var(--qz-m-accent); background:var(--qz-m-muted); }
.qz-scale-num{ font-size:20px; font-weight:800; color:var(--qz-m-text); }
.qz-scale-label{ font-size:11px; color:var(--qz-m-text-light); margin-top:4px; }
.qz-scale-labels{ display:flex; justify-content:space-between; font-size:12px; color:var(--qz-m-text-light); margin-bottom:10px; }

/* 大圆小圆量表 - 全宽、选中带√ */
.qz-bubble-scale{ user-select:none; width:100%; }
.qz-bubble-top-labels{ display:none; justify-content:space-between; align-items:flex-end; margin-bottom:10px; padding:0 6px; font-size:13px; font-weight:700; }
.qz-bubble-top-low{ color:var(--qz-m-success); }
.qz-bubble-top-high{ color:var(--qz-m-primary); }
.qz-bubble-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; }
.qz-bubble-side-label{ font-size:13px; font-weight:700; color:var(--qz-m-text-light); white-space:nowrap; padding:7px 12px; border-radius:var(--qz-m-radius-sm); flex-shrink:0; }
.qz-bubbles{ display:flex; align-items:center; justify-content:space-between; width:100%; gap:10px; }
.qz-bubble-item{ position:relative; flex:1; aspect-ratio:1/1; max-width:110px; border-radius:50%; border:2px solid var(--qz-m-border); background:var(--qz-m-surface); cursor:pointer; transition:all .2s; padding:0; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(15,23,42,0.06); }
.qz-bubble-item:hover{ transform:scale(1.06); border-color:var(--qz-m-accent); }
.qz-bubble-item.selected{ transform:scale(1.08); border-color:var(--qz-m-primary); background:var(--qz-m-primary); box-shadow:0 10px 26px rgba(31,41,55,0.18); }
.qz-bubble-check{ display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(0.6); transition:all .2s; }
.qz-bubble-check svg{ width:22px; height:22px; color:#fff; stroke-width:3; }
.qz-bubble-item.selected .qz-bubble-check{ opacity:1; transform:scale(1); }
.qz-bubble-size-0{ flex:1; max-width:72px; }
.qz-bubble-size-1{ flex:1.3; max-width:96px; }
.qz-bubble-size-2{ flex:1.65; max-width:124px; }
.qz-bubble-size-3{ flex:2; max-width:148px; }
.qz-bubble-size-4{ flex:2.3; max-width:170px; }
.qz-bubble-size-5{ flex:2.55; max-width:188px; }
.qz-bubble-size-6{ flex:2.75; max-width:204px; }
.qz-bubble-selected{ min-height:24px; text-align:center; margin-top:18px; font-size:15px; font-weight:700; color:var(--qz-m-text); transition:opacity .2s; }
.qz-bubble-selected:empty{ opacity:0; }
.qz-bubble-hint{ text-align:center; margin-top:10px; font-size:13px; color:var(--qz-m-text-light); }

/* 滑块 */
.qz-slider-wrap{ background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); padding:22px 18px; }
.qz-slider-value{ text-align:center; font-size:28px; font-weight:800; color:var(--qz-m-text); margin-bottom:14px; }
input[type="range"]{ width:100%; height:6px; -webkit-appearance:none; appearance:none; background:var(--qz-m-border); border-radius:3px; outline:none; }
input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:var(--qz-m-text); cursor:pointer; border:3px solid #fff; box-shadow:0 2px 6px rgba(15,23,42,0.15); }
.qz-slider-ticks{ position:relative; height:14px; margin-top:8px; }
.qz-slider-tick{ position:absolute; top:0; width:8px; height:8px; border-radius:50%; background:var(--qz-m-border); border:none; cursor:pointer; padding:0; transform:translateX(-50%); transition:background .2s; }
.qz-slider-tick:hover{ background:var(--qz-m-accent); }
.qz-slider-labels{ display:flex; justify-content:space-between; font-size:12px; color:var(--qz-m-text-light); margin-top:6px; }

/* 多选确认按钮 */
.qz-confirm-btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:14px; padding:14px 20px; background:var(--qz-m-text); color:#fff; border:none; border-radius:var(--qz-m-radius-sm); font-size:15px; font-weight:700; cursor:pointer; transition:all .2s; }
.qz-confirm-btn:hover{ background:var(--qz-m-accent); }
.qz-confirm-btn svg{ width:16px; height:16px; flex-shrink:0; }

/* 反应速度游戏区 */
.qz-game-area{ min-height:220px; display:flex; align-items:center; justify-content:center; border:1.5px dashed var(--qz-m-border); border-radius:var(--qz-m-radius-sm); font-size:18px; font-weight:700; color:var(--qz-m-text-light); cursor:pointer; user-select:none; transition:all .25s; text-align:center; padding:24px; }
.qz-game-area.ready{ background:var(--qz-m-surface); border-color:#f59e0b; color:#b45309; }
.qz-game-area.waiting{ background:#fef2f2; border-color:#f87171; color:#b91c1c; }
.qz-game-area.go{ background:#dcfce7; border-color:var(--qz-m-success); color:#15803d; animation:qzPulse .6s ease-in-out infinite alternate; }
@keyframes qzPulse{ from{ transform:scale(1); box-shadow:0 0 0 rgba(21,128,61,0); } to{ transform:scale(1.01); box-shadow:0 0 20px rgba(21,128,61,0.15); } }
.qz-game-area.done{ background:var(--qz-m-muted); border-color:var(--qz-m-accent); color:var(--qz-m-accent); cursor:default; }

/* 底部导航 */
.qz-m-nav{ position:fixed; bottom:40px; left:50%; transform:translateX(-50%); width:calc(100% - 40px); max-width:740px; padding:14px 22px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius); box-shadow:0 8px 30px rgba(15,23,42,0.12); display:flex; gap:12px; justify-content:space-between; z-index:100; }
.qz-m-btn-prev,.qz-m-btn-next,.qz-m-btn-submit{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 28px; border-radius:var(--qz-m-radius-sm); font-size:15px; font-weight:700; border:none; cursor:pointer; transition:all .2s; font-family:var(--qz-m-font); }
.qz-m-btn-prev{ background:var(--qz-m-bg); color:var(--qz-m-text-light); border:1px solid var(--qz-m-border); }
.qz-m-btn-prev:hover{ background:var(--qz-m-border); }
.qz-m-btn-next,.qz-m-btn-submit{ background:var(--qz-m-text); color:#fff; flex:1; }
.qz-m-btn-next:hover,.qz-m-btn-submit:hover{ background:var(--qz-m-accent); }
.qz-m-btn-next:disabled,.qz-m-btn-submit:disabled{ opacity:1; background:#94a3b8; color:#fff; box-shadow:none; cursor:not-allowed; transform:none; }

/* 结果页 */
.qz-m-result-page{ min-height:100vh; }
.qz-m-result-hero{ position:relative; padding:72px 28px 48px; background:var(--qz-m-muted); text-align:left; overflow:hidden; border-bottom:1px solid var(--qz-m-border); }
.qz-m-result-hero-visual{ position:absolute; inset:0; pointer-events:none; }
.qz-m-result-hero-visual .qz-m-deco-1{ position:absolute; top:-10%; right:-4%; width:120px; height:120px; color:var(--qz-m-primary); opacity:.06; pointer-events:none; }
.qz-m-result-hero-visual .qz-m-deco-2{ position:absolute; bottom:-8%; left:-4%; width:100px; height:100px; color:var(--qz-m-accent); opacity:.06; pointer-events:none; }
.qz-m-result-hero-inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; }
.qz-m-result-badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 14px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:20px; font-size:12px; font-weight:700; color:var(--qz-m-text-light); margin-bottom:14px; letter-spacing:.3px; }
.qz-m-result-img{ display:flex; align-items:center; justify-content:center; width:100px; height:100px; margin-bottom:18px; border-radius:var(--qz-m-radius); overflow:hidden; border:1px solid var(--qz-m-border); background:var(--qz-m-surface); }
.qz-m-result-img img{ width:100%; height:100%; object-fit:cover; }
.qz-m-result-img-placeholder{ color:var(--qz-m-accent); }
.qz-m-result-title{ font-size:34px; font-weight:800; margin-bottom:12px; letter-spacing:-0.02em; }
.qz-m-result-summary{ font-size:16px; color:var(--qz-m-text-light); max-width:560px; }
.qz-m-result-body{ padding:40px 28px 60px; max-width:720px; margin:0 auto; }
.qz-m-result-intro{ font-size:14px; color:var(--qz-m-text-light); margin-bottom:24px; padding:18px; background:var(--qz-m-surface); border-radius:var(--qz-m-radius-sm); border-left:3px solid var(--qz-m-accent); }

/* 图表 */
.qz-m-charts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-bottom:28px; }
.qz-m-chart-box{ background:var(--qz-m-surface); border-radius:var(--qz-m-radius-sm); padding:22px; border:1px solid var(--qz-m-border); text-align:center; }
.qz-m-chart-box h3{ font-size:15px; font-weight:800; margin-bottom:16px; color:var(--qz-m-text); display:flex; align-items:center; justify-content:center; gap:6px; }
.qz-m-chart-box canvas{ max-width:100%; height:auto; }

/* 内容区块 */
.qz-m-result-body .qz-m-section-card{ background:var(--qz-m-surface); border-radius:var(--qz-m-radius-sm); padding:24px; margin-bottom:20px; border:1px solid var(--qz-m-border); }
.qz-m-result-body .qz-m-section-card h2{ font-size:17px; font-weight:800; margin-bottom:16px; color:var(--qz-m-text); display:flex; align-items:center; gap:8px; }
.qz-m-section-card h2 .qz-m-icon{ width:20px; height:20px; color:var(--qz-m-accent); }
.qz-m-section-body{ font-size:14px; line-height:1.85; color:var(--qz-m-text-light); }
.qz-m-section-body p{ margin-bottom:12px; }
.qz-m-section-card ul{ padding-left:20px; }
.qz-m-section-card li{ margin-bottom:10px; line-height:1.7; }
.qz-m-section-traits .qz-m-section-body{ font-size:15px; color:var(--qz-m-text); }
.qz-m-two-col{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-bottom:20px; }
.qz-m-section-strengths h2 .qz-m-icon{ color:var(--qz-m-success); }
.qz-m-section-challenges h2 .qz-m-icon{ color:#b45309; }
.qz-m-section-diet h2 .qz-m-icon{ color:#2563eb; }
.qz-m-section-movement h2 .qz-m-icon{ color:#7c3aed; }

/* Bong 注释 */
.qz-m-section-bong{ background:linear-gradient(180deg,var(--qz-m-surface) 0%,var(--qz-m-muted) 100%); }
.qz-m-section-bong h2 .qz-m-icon{ color:var(--qz-m-primary); }
.qz-m-bong-note{ display:flex; gap:18px; align-items:flex-start; }
.qz-m-bong-avatar{ width:56px; height:56px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid var(--qz-m-border); background:var(--qz-m-surface); }
.qz-m-bong-avatar img{ width:100%; height:100%; object-fit:cover; }
.qz-m-bong-content{ flex:1; font-size:14px; line-height:1.85; color:var(--qz-m-text-light); }
.qz-m-bong-content p{ margin-bottom:12px; }
.qz-m-bong-from{ margin-top:12px; font-size:12px; color:var(--qz-m-text-light); opacity:.8; font-style:italic; }
@media(max-width:768px){ .qz-m-bong-note{ gap:14px; }
.qz-m-bong-avatar{ width:48px; height:48px; }
.qz-m-bong-content{ font-size:13px; } }
@media(max-width:480px){ .qz-m-bong-note{ flex-direction:column; gap:12px; }
.qz-m-bong-avatar{ width:44px; height:44px; } }

/* 日常仪式：卡片网格展示，所有内容一次性可见 */
.qz-m-rituals{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; }
.qz-m-ritual{ border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); overflow:hidden; background:var(--qz-m-bg); box-shadow:0 1px 3px rgba(0,0,0,.04); transition:transform .2s, box-shadow .2s; }
.qz-m-ritual:hover{ transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.08); }
.qz-m-ritual-tab{ display:flex; align-items:center; gap:8px; width:100%; padding:14px 18px; background:var(--qz-m-bg-2, #f8f8f8); border:none; border-bottom:1px solid var(--qz-m-border); text-align:left; font-size:14px; font-weight:700; color:var(--qz-m-text); }
.qz-m-ritual-tab .qz-m-icon{ width:18px; height:18px; color:var(--qz-m-text-light); }
.qz-m-ritual-body{ display:block; padding:16px 18px; font-size:14px; line-height:1.8; color:var(--qz-m-text-light); }
.qz-m-ritual-body p{ margin:0 0 10px; }
.qz-m-ritual-body p:last-child{ margin-bottom:0; }
@media(max-width:640px){ .qz-m-rituals{ grid-template-columns:1fr; gap:12px; } }

/* 操作按钮 */
.qz-m-result-actions{ display:flex; gap:14px; margin:28px 0; flex-wrap:wrap; }
.qz-m-btn-retake,.qz-m-btn-home{ flex:1; min-width:160px; text-align:center; padding:14px 28px; border-radius:var(--qz-m-radius-sm); font-size:15px; font-weight:700; text-decoration:none; transition:all .2s; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.qz-m-btn-retake{ background:var(--qz-m-text); color:#fff; }
.qz-m-btn-retake:hover{ background:var(--qz-m-accent); }
.qz-m-btn-home{ background:var(--qz-m-surface); color:var(--qz-m-text-light); border:1px solid var(--qz-m-border); }
.qz-m-btn-home:hover{ border-color:var(--qz-m-accent); color:var(--qz-m-accent); }
.qz-m-result-state{ flex:1 1 100%; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); padding:22px; box-shadow:0 1px 3px rgba(15,23,42,0.04); margin-bottom:16px; }
.qz-m-result-cta-title{ font-size:17px; font-weight:800; margin-bottom:8px; color:var(--qz-m-text); }
.qz-m-result-cta-desc{ font-size:14px; color:var(--qz-m-text-light); margin-bottom:16px; line-height:1.65; }

/* 其他结果 */
.qz-m-other-results{ border-top:1px solid var(--qz-m-border); padding-top:24px; margin-top:28px; }
.qz-m-other-results h3{ font-size:14px; font-weight:800; color:var(--qz-m-text-light); margin-bottom:14px; }
.qz-m-other-list{ display:flex; flex-wrap:wrap; gap:10px; }
.qz-m-other-item{ display:inline-block; padding:10px 18px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:24px; font-size:13px; color:var(--qz-m-text-light); text-decoration:none; transition:all .2s; }
.qz-m-other-item:hover{ border-color:var(--qz-m-accent); color:var(--qz-m-accent); }

/* 分享 */
.qz-m-share{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px; padding-top:24px; border-top:1px solid var(--qz-m-border); }
.qz-m-share-btn{ display:inline-flex; align-items:center; gap:6px; padding:10px 18px; background:var(--qz-m-surface); border:1px solid var(--qz-m-border); border-radius:24px; font-size:13px; font-weight:700; color:var(--qz-m-text); cursor:pointer; transition:all .2s; font-family:var(--qz-m-font); }
.qz-m-share-btn:hover{ border-color:var(--qz-m-accent); color:var(--qz-m-accent); }
.qz-m-share-btn .qz-m-icon{ width:16px; height:16px; }
.qz-m-share-tip{ position:fixed; bottom:30px; left:50%; transform:translateX(-50%); padding:10px 22px; background:var(--qz-m-text); color:var(--qz-m-surface); border-radius:24px; font-size:13px; z-index:1000; opacity:0; transition:opacity .3s; pointer-events:none; }
.qz-m-share-tip.show{ opacity:1; }

/* 配置显隐 */
.qz-no-progress .qz-m-progress-bar{ display:none; }
.qz-no-progress .qz-m-test-header{ top:0; }
.qz-no-back .qz-m-btn-prev{ display:none !important; }
.qz-no-sharing .qz-m-share{ display:none; }

/* 响应式 */
@media(max-width:768px){
.qz-m-hero{ padding:72px 24px 48px; }
.qz-m-title{ font-size:44px; }
.qz-m-desc{ font-size:17px; }
.qz-m-hero-badges{ gap:8px; }
.qz-m-badge{ min-width:54px; padding:8px 10px; }
.qz-m-badge b{ font-size:18px; }
.qz-m-section{ padding:44px 24px; }
.qz-m-feature-grid{ gap:14px; }
.qz-m-feature-card{ padding:22px; }
.qz-m-feature-icon{ width:40px; height:40px; padding:10px; }
.qz-m-step-list{ flex-direction:column; gap:28px; }
.qz-m-step-list::before{ display:none; }
.qz-m-results-overview{ padding:44px 24px; }
.qz-m-science{ padding:44px 24px; }
.qz-m-trust-bar{ gap:8px 24px; padding:20px; }
.qz-m-test-header{ padding:14px 20px; top:3px; }
.qz-m-question-wrap{ padding:24px 20px 130px; }
.qz-m-q-title{ font-size:21px; }
.qz-m-option{ padding:14px; gap:12px; }
.qz-m-option-key{ width:32px; height:32px; font-size:13px; }
.qz-m-option-label{ font-size:14px; }
.qz-m-nav{ padding:14px 20px; }
.qz-m-btn-prev,.qz-m-btn-next,.qz-m-btn-submit{ padding:13px 24px; font-size:14px; }
.qz-m-result-hero{ padding:56px 20px 40px; }
.qz-m-result-title{ font-size:28px; }
.qz-m-result-body{ padding:32px 20px 50px; }
.qz-m-charts{ grid-template-columns:1fr; gap:16px; }
.qz-m-chart-box{ padding:18px; }
.qz-m-chart-box canvas{ max-height:260px; }
.qz-m-result-body .qz-m-section-card{ padding:20px; margin-bottom:16px; }
.qz-m-two-col{ grid-template-columns:1fr; gap:16px; margin-bottom:16px; }
.qz-m-result-actions{ gap:12px; margin:24px 0; }
.qz-m-btn-retake,.qz-m-btn-home{ padding:13px 22px; font-size:14px; min-width:0; }
.qz-m-share{ gap:10px; margin-top:24px; padding-top:20px; }
.qz-m-share-btn{ padding:9px 16px; font-size:12px; }
.qz-m-test-heading{ font-size:24px; padding:24px 20px 12px; }
.qz-m-quick-banner{ margin:0 20px 18px; padding:14px 18px; }
.qz-m-quick-banner-top,.qz-m-quick-banner-bottom{ margin:0 0 20px; }
}
@media(max-width:480px){
.qz-m-app{ padding-bottom:24px; }
.qz-m-hero{ padding:56px 18px 36px; }
.qz-m-hero-metrics{ flex-direction:column; align-items:stretch; max-width:100%; }
.qz-m-metric{ min-width:auto; padding:12px 18px; border-right:none; border-bottom:1px solid var(--qz-m-border); }
.qz-m-metric:last-child{ border-bottom:none; }
.qz-m-metric b{ font-size:28px; }
.qz-m-deco{ display:none; }
.qz-m-title{ font-size:34px; margin-bottom:16px; }
.qz-m-desc{ font-size:16px; margin-bottom:12px; }
.qz-m-subtitle{ font-size:13px; margin-bottom:24px; }
.qz-m-hero-top{ flex-direction:column; align-items:flex-start; gap:12px; }
.qz-m-hero-actions{ flex-direction:column; align-items:flex-start; gap:10px; }
.qz-m-hero-badges{ width:100%; justify-content:flex-start; }
.qz-m-btn-start,.qz-m-btn-secondary{ width:100%; max-width:320px; padding:13px 24px; }
.qz-m-section{ padding:36px 18px; }
.qz-m-section-title{ font-size:21px; margin-bottom:24px; }
.qz-m-feature-grid{ grid-template-columns:1fr; }
.qz-m-feature-card{ padding:20px 18px; }
.qz-m-results-overview{ padding:36px 18px; }
.qz-m-science{ padding:36px 18px; }
.qz-m-test-header{ padding:12px 16px; }
.qz-m-back{ width:44px; height:44px; min-width:44px; min-height:44px; }
.qz-m-test-header .qz-progress-text{ font-size:13px; }
.qz-m-question-wrap{ padding:20px 16px 120px; }
.qz-m-test-page[data-mode="quick"] .qz-m-question-wrap{ padding-bottom:150px; }
.qz-m-q-title{ font-size:19px; margin-bottom:12px; }
.qz-m-q-desc,.qz-m-q-hint{ font-size:14px; margin-bottom:14px; }
.qz-m-q-options{ gap:10px; }
.qz-m-option{ padding:13px 12px; gap:10px; border-width:1.5px; transition:border-color .15s, background .15s; }
.qz-m-option:hover{ box-shadow:none; transform:none; }
.qz-m-option-key{ width:30px; height:30px; font-size:12px; }
.qz-m-option-label{ font-size:14px; }
.qz-m-option-desc{ font-size:11px; }
.qz-m-btn-start:hover,.qz-m-btn-secondary:hover,.qz-m-btn-retake:hover,.qz-m-btn-home:hover,.qz-m-btn-prev:hover,.qz-m-btn-next:hover,.qz-m-btn-submit:hover{ transform:none; box-shadow:none; }
.qz-m-feature-card:hover{ transform:none; box-shadow:none; }
.qz-m-result-card:hover{ padding-left:0; background:transparent; }
.qz-scale-row{ gap:8px; }
.qz-scale-item{ min-width:48px; padding:14px 6px; }
.qz-scale-num{ font-size:18px; }
.qz-bubbles{ gap:6px; }
.qz-bubble-size-0{ flex:1; max-width:56px; }
.qz-bubble-size-1{ flex:1.25; max-width:74px; }
.qz-bubble-size-2{ flex:1.5; max-width:94px; }
.qz-bubble-size-3{ flex:1.75; max-width:112px; }
.qz-bubble-size-4{ flex:1.95; max-width:128px; }
.qz-bubble-size-5{ flex:2.1; max-width:142px; }
.qz-bubble-size-6{ flex:2.25; max-width:154px; }
.qz-bubble-check svg{ width:18px; height:18px; }
.qz-bubble-selected{ font-size:14px; margin-top:12px; }
.qz-bubble-top-labels{ display:flex; font-size:12px; }
.qz-bubble-side-label{ display:none; }
.qz-slider-value{ font-size:24px; }
.qz-m-nav{ padding:12px 16px; bottom:28px; width:calc(100% - 24px); }
.qz-m-btn-prev,.qz-m-btn-next,.qz-m-btn-submit{ padding:12px 18px; font-size:14px; min-height:44px; }
.qz-m-result-hero{ padding:44px 16px 30px; }
.qz-m-result-badge{ font-size:11px; padding:6px 14px; }
.qz-m-result-img{ width:80px; height:80px; }
.qz-m-result-title{ font-size:24px; margin-bottom:8px; }
.qz-m-result-summary{ font-size:14px; }
.qz-m-result-body{ padding:24px 16px 40px; }
.qz-m-chart-box{ padding:16px 12px; }
.qz-m-chart-box h3{ font-size:14px; margin-bottom:12px; }
.qz-m-chart-box canvas{ max-height:220px; }
.qz-m-result-body .qz-m-section-card{ padding:18px; border-radius:var(--qz-m-radius-sm); }
.qz-m-section-card h2{ font-size:15px; margin-bottom:12px; }
.qz-m-section-body{ font-size:13px; line-height:1.75; }
.qz-m-section-card li{ margin-bottom:8px; }
.qz-m-ritual-tab{ padding:12px 14px; font-size:13px; }
.qz-m-ritual-body{ padding:14px; font-size:13px; }
.qz-m-result-actions{ flex-direction:column; gap:10px; margin:22px 0; }
.qz-m-btn-retake,.qz-m-btn-home{ width:100%; padding:13px 20px; }
.qz-m-other-results{ padding-top:20px; margin-top:22px; }
.qz-m-other-list{ gap:8px; }
.qz-m-other-item{ padding:9px 14px; font-size:12px; }
.qz-m-share{ gap:8px; margin-top:22px; }
.qz-m-share-btn{ padding:8px 14px; font-size:12px; border-radius:20px; min-height:44px; }
.qz-m-lang-btn{ min-height:44px; padding:8px 14px; }
.qz-game-area{ min-height:180px; font-size:16px; padding:18px; }
.qz-m-test-heading{ font-size:22px; padding:20px 16px 10px; }
.qz-m-quick-banner{ margin:0 16px 16px; padding:12px 16px; }
.qz-m-quick-banner-top,.qz-m-quick-banner-bottom{ margin:0 0 16px; }
}

/* 多选题提示 - 强化版 */
.qz-multi-hint{ display:flex; align-items:center; gap:10px; padding:12px 16px; background:var(--qz-m-muted); border:1.5px dashed var(--qz-m-border); border-radius:var(--qz-m-radius-sm); font-size:14px; font-weight:700; color:var(--qz-m-text-light); margin-bottom:14px; }
.qz-multi-hint-icon{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; background:var(--qz-m-surface); border-radius:50%; color:var(--qz-m-accent); flex-shrink:0; }
.qz-multi-hint-icon svg{ width:14px; height:14px; }

/* 图片选择题 */
.qz-image-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; }
.qz-image-card{ position:relative; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); overflow:hidden; cursor:pointer; transition:all .2s; }
.qz-image-card:hover{ transform:translateY(-2px); border-color:var(--qz-m-accent); }
.qz-image-card.selected{ border-color:var(--qz-m-accent); box-shadow:0 0 0 3px rgba(15,23,42,0.06); }
.qz-image-card.selected .qz-image-card-badge{ background:var(--qz-m-text); color:#fff; }
.qz-image-card-img{ aspect-ratio:4/3; background:var(--qz-m-bg); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.qz-image-card-img img{ width:100%; height:100%; object-fit:cover; }
.qz-image-card-placeholder{ color:var(--qz-m-text-light); opacity:.6; }
.qz-image-card-label{ padding:12px 14px; font-size:14px; font-weight:700; color:var(--qz-m-text); }
.qz-image-card-desc{ padding:0 14px 10px; font-size:12px; color:var(--qz-m-text-light); line-height:1.5; }
.qz-image-card-badge{ position:absolute; top:10px; right:10px; padding:4px 10px; background:rgba(255,255,255,0.92); border:1px solid var(--qz-m-border); border-radius:20px; font-size:11px; font-weight:700; color:var(--qz-m-text-light); }

/* 星级评分题 */
.qz-rating-list{ display:flex; flex-direction:column; gap:14px; }
.qz-rating-row{ background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); padding:16px; display:flex; flex-direction:column; gap:10px; }
.qz-rating-text{ font-size:15px; font-weight:600; color:var(--qz-m-text); }
.qz-rating-stars{ display:flex; gap:6px; }
.qz-rating-star{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:none; background:transparent; cursor:pointer; color:var(--qz-m-border); transition:all .15s; padding:0; }
.qz-rating-star:hover,.qz-rating-star.filled{ color:#f59e0b; transform:scale(1.1); }

/* 开关题 */
.qz-toggle-list{ display:flex; flex-direction:column; gap:10px; }
.qz-toggle-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); cursor:pointer; transition:all .2s; }
.qz-toggle-item:hover{ border-color:var(--qz-m-accent); }
.qz-toggle-item.checked{ border-color:var(--qz-m-success); background:rgba(21,128,61,0.04); }
.qz-toggle-text{ font-size:15px; font-weight:600; color:var(--qz-m-text); }
.qz-toggle-switch{ position:relative; width:48px; height:28px; flex-shrink:0; }
.qz-toggle-input{ opacity:0; width:0; height:0; }
.qz-toggle-knob{ position:absolute; inset:0; background:var(--qz-m-border); border-radius:28px; transition:all .25s; cursor:pointer; }
.qz-toggle-knob::before{ content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; background:#fff; border-radius:50%; transition:all .25s; box-shadow:0 1px 3px rgba(15,23,42,0.15); }
.qz-toggle-item.checked .qz-toggle-knob{ background:var(--qz-m-success); }
.qz-toggle-item.checked .qz-toggle-knob::before{ transform:translateX(20px); }

/* AI 提示词区 */
.qz-m-ai-section{ background:var(--qz-m-surface); border-top:1px solid var(--qz-m-border); border-bottom:1px solid var(--qz-m-border); }
.qz-m-ai-desc{ font-size:15px; color:var(--qz-m-text-light); margin-bottom:20px; line-height:1.7; }
.qz-m-ai-box{ display:flex; flex-direction:column; gap:12px; }
.qz-m-ai-text{ width:100%; padding:16px; background:var(--qz-m-bg); border:1px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); font-family:var(--qz-m-font); font-size:13px; line-height:1.7; color:var(--qz-m-text); resize:vertical; }
.qz-m-ai-text:focus{ outline:none; border-color:var(--qz-m-accent); }
.qz-m-ai-copy{ display:inline-flex; align-items:center; justify-content:center; gap:8px; align-self:flex-start; padding:12px 22px; background:var(--qz-m-text); color:#fff; border:none; border-radius:var(--qz-m-radius-sm); font-size:14px; font-weight:700; cursor:pointer; transition:all .2s; }
.qz-m-ai-copy:hover{ background:var(--qz-m-accent); }
.qz-m-ai-copy .qz-m-icon{ width:16px; height:16px; }
.qz-m-ai-cta{ margin-top:20px; }
.qz-m-ai-cta-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:100%; padding:18px 20px; background:var(--qz-m-primary); color:#fff; text-decoration:none; border-radius:var(--qz-m-radius-sm); transition:all .2s; box-shadow:0 6px 18px rgba(31,41,55,0.14); }
.qz-m-ai-cta-btn:hover{ background:var(--qz-m-accent); transform:translateY(-2px); box-shadow:0 10px 24px rgba(31,41,55,0.18); }
.qz-m-ai-cta-main{ font-size:18px; font-weight:800; line-height:1.3; }
.qz-m-ai-cta-sub{ font-size:13px; font-weight:500; opacity:.85; }

/* 一致性检测 */
.qz-m-consistency h2 .qz-m-icon{ color:var(--qz-m-success); }
.qz-m-consistency-body{ padding:4px 0; }
.qz-m-consistency-score{ display:flex; align-items:center; gap:22px; }
.qz-m-consistency-ring{ position:relative; width:90px; height:90px; flex-shrink:0; }
.qz-m-consistency-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.qz-m-consistency-track{ fill:none; stroke:var(--qz-m-border); stroke-width:3; }
.qz-m-consistency-progress{ fill:none; stroke:var(--qz-m-success); stroke-width:3; stroke-linecap:round; transition:stroke-dasharray .8s ease; }
.qz-m-consistency-ring span{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:900; color:var(--qz-m-text); }
.qz-m-consistency-info{ flex:1; }
.qz-m-consistency-level{ font-size:17px; font-weight:800; color:var(--qz-m-text); margin-bottom:6px; }
.qz-m-consistency-level.qz-m-consistency-high{ color:var(--qz-m-success); }
.qz-m-consistency-level.qz-m-consistency-medium{ color:#b45309; }
.qz-m-consistency-level.qz-m-consistency-low{ color:#dc2626; }
.qz-m-consistency-progress.qz-m-consistency-high{ stroke:var(--qz-m-success); }
.qz-m-consistency-progress.qz-m-consistency-medium{ stroke:#b45309; }
.qz-m-consistency-progress.qz-m-consistency-low{ stroke:#dc2626; }
.qz-m-consistency-desc{ font-size:14px; color:var(--qz-m-text-light); line-height:1.7; }
.qz-m-consistency-method{ font-size:12px; color:var(--qz-m-text-light); opacity:.85; margin-top:6px; line-height:1.6; }

/* 结果页 AI 追问 */
.qz-m-ai-result h2 .qz-m-icon{ color:var(--qz-m-primary); }

/* 快速重置卡片 */
.qz-m-section-resets h2 .qz-m-icon{ color:var(--qz-m-success); }
.qz-m-reset-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; }
.qz-m-reset-card{ padding:18px; background:var(--qz-m-bg); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); transition:all .2s; }
.qz-m-reset-card:hover{ border-color:var(--qz-m-accent); }
.qz-m-reset-title{ font-size:14px; font-weight:700; color:var(--qz-m-text); margin-bottom:8px; }
.qz-m-reset-desc{ font-size:13px; color:var(--qz-m-text-light); line-height:1.6; }
.qz-m-section-workplace h2 .qz-m-icon{ color:#2563eb; }
.qz-m-section-seasonal h2 .qz-m-icon{ color:var(--qz-m-success); }
.qz-m-season-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.qz-m-season-card{ position:relative; padding:18px; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:var(--qz-m-radius-sm); overflow:hidden; }
.qz-m-season-card::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; }
.qz-m-season-card.spring::before{ background:linear-gradient(90deg,#86efac,#22c55e); }
.qz-m-season-card.summer::before{ background:linear-gradient(90deg,#fde047,#f59e0b); }
.qz-m-season-card.autumn::before{ background:linear-gradient(90deg,#fdba74,#ea580c); }
.qz-m-season-card.winter::before{ background:linear-gradient(90deg,#93c5fd,#3b82f6); }
.qz-m-season-name{ font-size:14px; font-weight:700; color:var(--qz-m-text); margin-bottom:8px; }
.qz-m-season-desc{ font-size:13px; color:var(--qz-m-text-light); line-height:1.65; }
@media (max-width:640px){ .qz-m-season-grid{ grid-template-columns:1fr; } }

/* 延伸阅读链接 */
.qz-m-links{ display:flex; flex-wrap:wrap; gap:10px; }
.qz-m-links a{ display:inline-flex; align-items:center; gap:6px; padding:10px 16px; background:var(--qz-m-surface); border:1.5px solid var(--qz-m-border); border-radius:24px; font-size:13px; font-weight:700; color:var(--qz-m-text); text-decoration:none; transition:all .2s; }
.qz-m-links a:hover{ background:var(--qz-m-text); color:#fff; border-color:var(--qz-m-text); }

@media(max-width:480px){
.qz-image-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
.qz-image-card-label{ font-size:13px; padding:10px 12px; }
.qz-image-card-badge{ font-size:10px; padding:3px 8px; top:8px; right:8px; }
.qz-rating-row{ padding:14px; }
.qz-rating-text{ font-size:14px; }
.qz-rating-star{ width:32px; height:32px; }
.qz-toggle-item{ padding:14px; }
.qz-toggle-text{ font-size:14px; }
}

/* 中医体质结果页新增区块 */
.qz-m-section-body-signals h2 .qz-m-icon{ color:#2563eb; }
.qz-m-section-meridian h2 .qz-m-icon{ color:#7c3aed; }
.qz-m-section-herbal h2 .qz-m-icon{ color:#15803d; }
.qz-m-section-daily-rhythm h2 .qz-m-icon{ color:#b45309; }
.qz-m-section-exercise h2 .qz-m-icon{ color:#c2410c; }
.qz-m-section-home h2 .qz-m-icon{ color:#0e7490; }
.qz-m-section-quote h2 .qz-m-icon{ color:#475569; }
.qz-m-section-population h2 .qz-m-icon{ color:#4f46e5; }

/* 一日养生节律时间线 */
.qz-m-rhythm-list{ position:relative; padding-left:18px; }
.qz-m-rhythm-list::before{ content:''; position:absolute; top:8px; bottom:8px; left:5px; width:2px; background:var(--qz-m-border); }
.qz-m-rhythm-item{ position:relative; display:flex; gap:16px; padding:14px 0; }
.qz-m-rhythm-item::before{ content:''; position:absolute; left:-13px; top:20px; width:10px; height:10px; border-radius:50%; background:var(--qz-m-surface); border:2px solid var(--qz-m-accent); }
.qz-m-rhythm-time{ flex:0 0 90px; font-size:13px; font-weight:800; color:var(--qz-m-accent); }
.qz-m-rhythm-body{ flex:1; }
.qz-m-rhythm-title{ font-size:15px; font-weight:700; color:var(--qz-m-text); margin-bottom:4px; }
.qz-m-rhythm-desc{ font-size:13px; color:var(--qz-m-text-light); line-height:1.65; }
@media (max-width:480px){ .qz-m-rhythm-time{ flex:0 0 70px; } .qz-m-rhythm-item{ gap:10px; } }

/* 古籍名句 */
.qz-m-quote{ margin:0; padding:18px 22px; background:var(--qz-m-bg); border-left:4px solid var(--qz-m-accent); border-radius:var(--qz-m-radius-sm); font-size:15px; color:var(--qz-m-text-light); line-height:1.75; font-style:italic; }
.qz-m-quote p{ margin-bottom:10px; }
.qz-m-quote p:last-child{ margin-bottom:0; }

/* 人群分布图 */
.qz-m-population-chart-wrap{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:center; padding:10px 0; }
.qz-m-population-chart-wrap canvas{ max-width:280px; width:100%; height:auto; }
.qz-m-population-legend{ display:flex; flex-direction:column; gap:10px; min-width:140px; }
.qz-m-population-legend-item{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--qz-m-text-light); }
.qz-m-population-dot{ width:10px; height:10px; border-radius:50%; flex:0 0 10px; }
.qz-m-population-label{ flex:1; }
.qz-m-population-value{ font-weight:700; color:var(--qz-m-text); }
@media (max-width:480px){ .qz-m-population-chart-wrap{ flex-direction:column; gap:16px; } .qz-m-population-legend{ flex-direction:row; flex-wrap:wrap; justify-content:center; } }

/* 在线测试 - 浏览器本地测试记录按钮与弹窗样式 */
.yb-quiz-history-toggle { position: relative; width: 36px; height: 36px; border: none; background: rgba(26,58,42,0.06); border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #1a3a2a; transition: background 0.15s; }
.yb-quiz-history-toggle:hover { background: rgba(26,58,42,0.12); }
.yb-quiz-history-toggle svg { width: 20px; height: 20px; }
.yb-quiz-history-badge { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; background: #e74c3c; color: #fff; border-radius: 9px; font-size: 11px; font-weight: 800; display: none; align-items: center; justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.yb-quiz-history-popup { position: fixed; top: 58px; right: 12px; width: min(360px, calc(100vw - 24px)); max-height: min(520px, calc(100vh - 80px)); background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(15,23,42,0.15); border: 1px solid rgba(0,0,0,0.06); z-index: 120; display: flex; flex-direction: column; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity 0.2s, transform 0.2s; }
.yb-quiz-history-popup.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.yb-quiz-history-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid rgba(0,0,0,0.06); }
.yb-quiz-history-header span { font-size: 15px; font-weight: 800; color: #1f2937; }
.yb-quiz-history-header button { width: 28px; height: 28px; border: none; background: transparent; border-radius: 6px; cursor: pointer; color: #64748b; display: inline-flex; align-items: center; justify-content: center; }
.yb-quiz-history-header button:hover { background: rgba(0,0,0,0.04); color: #1f2937; }
.yb-quiz-history-body { overflow-y: auto; padding: 8px; flex: 1; }
.yb-quiz-history-empty { padding: 32px 16px; text-align: center; color: #94a3b8; font-size: 14px; }
.yb-quiz-history-item { display: block; padding: 12px 14px; border-radius: 10px; text-decoration: none; color: inherit; transition: background 0.15s; }
.yb-quiz-history-item:hover { background: rgba(26,58,42,0.04); }
.yb-quiz-history-item-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.yb-quiz-history-item-title { font-size: 14px; font-weight: 700; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.yb-quiz-history-item-status { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 10px; white-space: nowrap; }
.yb-quiz-history-item-status.completed { background: rgba(58,107,74,0.1); color: #3a6b4a; }
.yb-quiz-history-item-status.progress { background: rgba(245,158,11,0.12); color: #b45309; }
.yb-quiz-history-item-bottom { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #64748b; }
.yb-quiz-history-result { font-weight: 700; color: #4A7C59; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 160px; }
.yb-quiz-history-progress-wrap { flex: 1; height: 5px; background: rgba(0,0,0,0.06); border-radius: 3px; overflow: hidden; min-width: 80px; }
.yb-quiz-history-progress-bar { height: 100%; background: linear-gradient(90deg, #4A7C59, #6b9e7a); border-radius: 3px; transition: width 0.3s; }
.yb-quiz-history-progress-text { font-weight: 700; min-width: 34px; text-align: right; }
.yb-quiz-history-time { margin-left: auto; font-size: 11px; color: #94a3b8; }
.yb-quiz-history-footer { padding: 10px 12px; border-top: 1px solid rgba(0,0,0,0.06); text-align: center; }
.yb-quiz-history-clear { border: none; background: transparent; color: #94a3b8; font-size: 13px; font-weight: 600; cursor: pointer; padding: 6px 12px; border-radius: 6px; }
.yb-quiz-history-clear:hover { color: #e74c3c; background: rgba(231,76,60,0.06); }
@media (max-width: 420px) { .yb-quiz-history-popup { right: 8px; width: calc(100vw - 16px); top: 54px; max-height: calc(100vh - 70px); } .yb-quiz-history-result { max-width: 110px; } }

/* Sleep 睡眠测试模板 - Night Garden 视觉系统
   设计方向：夜园 sanctuary / 高级康养杂志 / 宽屏非对称排版
   关键约束：CSS 横向书写，遇到新选择器换行；rem 全局缩放；最大宽度 1440px */

/* ===== 设计令牌 ===== */
:root{
  --qz-ng-bg:#f6f4ef;
  --qz-ng-bg-2:#ede9e1;
  --qz-ng-bg-warm:#faf8f3;
  --qz-ng-surface:#ffffff;
  --qz-ng-surface-2:#f9f7f2;
  --qz-ng-border:#ddd8cc;
  --qz-ng-border-subtle:#ece8df;
  --qz-ng-text:#1f2d26;
  --qz-ng-text-secondary:#5c6b62;
  --qz-ng-text-muted:#8a968e;
  --qz-ng-accent:#b08d55;
  --qz-ng-accent-soft:rgba(176,141,85,0.12);
  --qz-ng-green:#3d5a50;
  --qz-ng-green-soft:rgba(61,90,80,0.08);
  --qz-ng-sage:#7d9a7b;
  --qz-ng-sage-soft:rgba(125,154,123,0.12);
  --qz-ng-ivory:#fffdf8;
  --qz-ng-success:#5a8a6e;
  --qz-ng-warning:#c9a227;
  --qz-ng-danger:#b85c5c;
  --qz-ng-radius:1rem;
  --qz-ng-radius-sm:0.5rem;
  --qz-ng-radius-lg:1.5rem;
  --qz-ng-radius-pill:999px;
  --qz-ng-shadow-sm:0 1px 3px rgba(31,45,38,0.06);
  --qz-ng-shadow:0 12px 40px rgba(31,45,38,0.10);
  --qz-ng-shadow-lg:0 28px 80px rgba(31,45,38,0.14);
  --qz-ng-font-display:'Playfair Display','Noto Serif SC','Songti SC',Georgia,serif;
  --qz-ng-font-body:'Outfit','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --qz-ng-font-mono:'SF Mono','Fira Code',monospace;
  --qz-ng-max-width:1440px;
  --qz-ng-content-width:1120px;
  --qz-ng-narrow-width:760px;
}

html{ font-size:14px; scroll-behavior:smooth; }
@media(min-width:768px){ html{ font-size:15px; } }
@media(min-width:1200px){ html{ font-size:16px; } }
@media(min-width:1920px){ html{ font-size:17px; } }

body{ margin:0; background:var(--qz-ng-bg); color:var(--qz-ng-text); font-family:var(--qz-ng-font-body); line-height:1.6; -webkit-font-smoothing:antialiased; font-size:1rem; }
.qz-ng-app *,.qz-ng-app *::before,.qz-ng-app *::after{ box-sizing:border-box; }
.qz-ng-app img{ max-width:100%; display:block; }
.qz-ng-app a{ color:inherit; text-decoration:none; }

/* 全局背景：温润纸张 + 植物阴影 */
.qz-ng-app{ position:relative; width:100%; min-height:100vh; background:var(--qz-ng-bg); overflow-x:hidden; }
.qz-ng-app::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(ellipse 80% 50% at 90% -10%,rgba(125,154,123,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 60% 40% at 10% 100%,rgba(176,141,85,0.08) 0%,transparent 50%),
    radial-gradient(ellipse 50% 30% at 50% 120%,rgba(61,90,80,0.06) 0%,transparent 45%);
}
.qz-ng-app::after{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* 容器 */
.qz-ng-container{ position:relative; z-index:1; width:100%; max-width:var(--qz-ng-max-width); margin:0 auto; padding:0 1.5rem; }
.qz-ng-content{ position:relative; z-index:1; width:100%; max-width:var(--qz-ng-content-width); margin:0 auto; padding:0 1.5rem; }
.qz-ng-narrow{ position:relative; z-index:1; width:100%; max-width:var(--qz-ng-narrow-width); margin:0 auto; padding:0 1.5rem; }
@media(min-width:768px){ .qz-ng-container,.qz-ng-content,.qz-ng-narrow{ padding:0 2.5rem; } }
@media(min-width:1400px){ .qz-ng-container,.qz-ng-content,.qz-ng-narrow{ padding:0 3.5rem; } }

/* 通用区块 */
.qz-ng-section{ position:relative; z-index:1; padding:1.2rem 0; margin-bottom:2.5rem; }
@media(min-width:768px){ .qz-ng-section{ padding:1.8rem 0; margin-bottom:3rem; } }
@media(min-width:1200px){ .qz-ng-section{ padding:2.2rem 0; margin-bottom:3.5rem; } }

.qz-ng-section-header{ max-width:var(--qz-ng-narrow-width); margin:5em auto 2rem; text-align:center; }
.qz-ng-section-header.left{ text-align:left; margin-left:0; margin-right:auto; }
.qz-ng-eyebrow{ display:flex; align-items:center; gap:0.9rem; margin-bottom:1rem; font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--qz-ng-accent); width:100%; }
.qz-ng-eyebrow::before,.qz-ng-eyebrow::after{ content:''; display:block; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--qz-ng-accent) 20%,var(--qz-ng-accent) 80%,transparent); opacity:0.45; }
.qz-ng-section-header.left .qz-ng-eyebrow{ display:flex; width:100%; }
.qz-ng-section-header.left .qz-ng-eyebrow::before{ display:block; flex:1; background:linear-gradient(90deg,transparent,var(--qz-ng-accent) 20%,var(--qz-ng-accent) 80%,transparent); }
.qz-ng-section-header.left .qz-ng-eyebrow::after{ display:block; flex:1; background:linear-gradient(90deg,transparent,var(--qz-ng-accent) 20%,var(--qz-ng-accent) 80%,transparent); }
.qz-ng-section-title{ font-family:var(--qz-ng-font-display); font-size:clamp(2.4rem,5vw,4.2rem); font-weight:600; line-height:1.05; color:var(--qz-ng-text); margin:0 0 1.25rem; letter-spacing:-0.02em; }
.qz-ng-section-title em{ font-style:italic; color:var(--qz-ng-accent); }
.qz-ng-section-desc{ font-size:clamp(1.05rem,1.3vw,1.2rem); color:var(--qz-ng-text-secondary); line-height:1.85; margin:0; }
.qz-ng-section-header.left .qz-ng-section-desc{ margin-left:0; }

/* 按钮 */
.qz-ng-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:0.6rem; padding:1rem 2.2rem; border-radius:var(--qz-ng-radius-pill); font-size:0.9rem; font-weight:600; letter-spacing:0.02em; border:1px solid transparent; cursor:pointer; transition:all 0.25s ease; white-space:nowrap; }
.qz-ng-btn-primary{ background:var(--qz-ng-green); color:#fff; border-color:var(--qz-ng-green); }
.qz-ng-btn-primary:hover{ background:#2f473f; transform:translateY(-2px); box-shadow:0 14px 34px rgba(61,90,80,0.22); }
.qz-ng-btn-accent{ background:var(--qz-ng-accent); color:#fff; border-color:var(--qz-ng-accent); }
.qz-ng-btn-accent:hover{ background:#9a7a48; transform:translateY(-2px); box-shadow:0 14px 34px rgba(176,141,85,0.22); }
.qz-ng-btn-ghost{ background:transparent; color:var(--qz-ng-text); border-color:var(--qz-ng-border); }
.qz-ng-btn-ghost:hover{ border-color:var(--qz-ng-accent); color:var(--qz-ng-accent); background:var(--qz-ng-accent-soft); }
.qz-ng-btn-lg{ padding:1.2rem 3rem; font-size:1rem; }
.qz-ng-btn svg{ width:1.1em; height:1.1em; }
/* 修复 a.qz-ng-btn 被 .qz-ng-app a 覆盖导致文字颜色异常 */
.qz-ng-app a.qz-ng-btn-primary,.qz-ng-app a.qz-ng-btn-accent{ color:#fff; }

/* 标签 */
.qz-ng-badge{ display:inline-flex; align-items:center; gap:0.4rem; padding:0.45rem 1.1rem; border-radius:var(--qz-ng-radius-pill); font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; background:var(--qz-ng-surface); color:var(--qz-ng-accent); border:1px solid var(--qz-ng-border); box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-tag{ display:inline-flex; align-items:center; gap:0.35rem; padding:0.45rem 0.95rem; border-radius:var(--qz-ng-radius-pill); font-size:0.9rem; font-weight:600; background:var(--qz-ng-surface-2); color:var(--qz-ng-text-secondary); border:1px solid var(--qz-ng-border-subtle); }
.qz-ng-tag-success{ background:rgba(90,138,110,0.10); color:var(--qz-ng-success); border-color:rgba(90,138,110,0.20); }
.qz-ng-tag-warning{ background:rgba(201,162,39,0.10); color:var(--qz-ng-warning); border-color:rgba(201,162,39,0.20); }
.qz-ng-tag-danger{ background:rgba(184,92,92,0.10); color:var(--qz-ng-danger); border-color:rgba(184,92,92,0.20); }

/* 卡片（克制使用，追求雕塑感） */
.qz-ng-card{ position:relative; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); transition:all 0.3s ease; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-card:hover{ border-color:var(--qz-ng-border); transform:translateY(-4px); box-shadow:var(--qz-ng-shadow); }

/* ===== 介绍页 Hero ===== */
.qz-ng-hero{ position:relative; z-index:1; min-height:auto; display:flex; align-items:center; padding:3.5rem 0 2.5rem; overflow:hidden; }
.qz-ng-hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.qz-ng-hero-bg::before{
  content:''; position:absolute; top:-10%; right:-5%; width:60vw; height:60vw; max-width:800px; max-height:800px; border-radius:50%;
  background:radial-gradient(circle,rgba(125,154,123,0.14) 0%,transparent 60%);
  filter:blur(50px);
}
.qz-ng-hero-bg::after{
  content:''; position:absolute; bottom:-15%; left:-8%; width:50vw; height:50vw; max-width:650px; max-height:650px; border-radius:50%;
  background:radial-gradient(circle,rgba(176,141,85,0.10) 0%,transparent 55%);
  filter:blur(60px);
}
.qz-ng-hero-leaf{
  position:absolute; top:12%; right:8%; width:min(10rem,20vw); height:min(10rem,20vw); border-radius:50% 50% 50% 0;
  background:linear-gradient(135deg,var(--qz-ng-sage) 0%,var(--qz-ng-green) 100%); opacity:0.12; transform:rotate(-45deg); pointer-events:none;
}
.qz-ng-hero-leaf::before{ content:''; position:absolute; inset:1.2rem; border-radius:50% 50% 50% 0; background:var(--qz-ng-bg); }

.qz-ng-hero-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; max-width:var(--qz-ng-max-width); margin:0 auto; padding:0 1.5rem; }
@media(min-width:1100px){ .qz-ng-hero-inner{ grid-template-columns:1.1fr 0.9fr; gap:5rem; padding:0 3.5rem; } }

.qz-ng-hero-content{ max-width:720px; }
.qz-ng-hero-kicker{ margin-bottom:1.5rem; }
.qz-ng-hero-title{ font-family:var(--qz-ng-font-display); font-size:clamp(1.6rem,3.2vw,2.6rem); font-weight:600; line-height:1.18; margin:0 0 1rem; color:var(--qz-ng-text); letter-spacing:-0.02em; }
.qz-ng-hero-title em{ font-style:normal; color:var(--qz-ng-text-secondary); }
.qz-ng-hero-title .line{ display:block; }
.qz-ng-hero-title .line:nth-child(2){ padding-left:clamp(0rem,3vw,1.5rem); font-size:clamp(0.95rem,1.2vw,1.05rem); line-height:1.65; margin-top:0.45rem; color:var(--qz-ng-text-secondary); }
.qz-ng-hero-desc{ font-size:clamp(1.05rem,1.4vw,1.25rem); color:var(--qz-ng-text-secondary); line-height:1.8; margin-bottom:2rem; max-width:580px; }
.qz-ng-hero-actions{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:3rem; }
.qz-ng-hero-stats{ display:flex; gap:3.5rem; padding-top:1.5rem; border-top:1px solid var(--qz-ng-border); }
.qz-ng-hero-stat{ display:flex; flex-direction:column; gap:0.5rem; }
.qz-ng-hero-stat b{ font-family:var(--qz-ng-font-display); font-size:clamp(2.4rem,3.5vw,3.6rem); font-weight:600; color:var(--qz-ng-green); line-height:1; }
.qz-ng-hero-stat span{ font-family:var(--qz-ng-font-mono); font-size:0.9rem; color:var(--qz-ng-text-muted); text-transform:uppercase; letter-spacing:0.1em; font-weight:700; }

.qz-ng-hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; min-height:24rem; }
@media(min-width:1100px){ .qz-ng-hero-visual{ min-height:34rem; } }
.qz-ng-animal-orbit{ position:absolute; width:min(28rem,80vw); height:min(28rem,80vw); border-radius:50%; border:1px solid var(--qz-ng-border); background:radial-gradient(circle,rgba(255,255,255,0.6) 0%,transparent 70%); }
.qz-ng-animal-orbit::before{ content:''; position:absolute; inset:3rem; border-radius:50%; border:1px dashed var(--qz-ng-border); }
.qz-ng-animal-orbit::after{ content:''; position:absolute; inset:6rem; border-radius:50%; border:1px solid var(--qz-ng-border-subtle); background:var(--qz-ng-surface); box-shadow:var(--qz-ng-shadow); }
.qz-ng-animal-list{ position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; gap:0.75rem; width:min(34rem,92vw); }
.qz-ng-animal-row{
  display:flex; align-items:center; gap:0.85rem; padding:0.9rem 1.1rem;
  background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius);
  transition:all 0.3s ease; box-shadow:var(--qz-ng-shadow-sm); flex:1 1 calc(50% - 0.75rem); min-width:11rem; max-width:16rem;
}
.qz-ng-animal-row:hover{ transform:translateY(-3px); border-color:var(--qz-ng-green); background:var(--qz-ng-ivory); box-shadow:var(--qz-ng-shadow); }
.qz-ng-animal-row .icon{
  display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem;
  border-radius:50%; background:linear-gradient(135deg,var(--qz-ng-green-soft),rgba(125,154,123,0.12)); color:var(--qz-ng-green); flex-shrink:0;
}
.qz-ng-animal-row .icon svg{ width:1.15rem; height:1.15rem; }
.qz-ng-animal-row .name{ font-family:var(--qz-ng-font-body); font-size:1rem; font-weight:600; color:var(--qz-ng-text); flex:1; }
.qz-ng-animal-row .type{ display:none; }
@media(min-width:1100px){
  .qz-ng-animal-list{ width:min(36rem,94vw); gap:0.85rem; }
  .qz-ng-animal-row{ flex:1 1 calc(33.333% - 0.85rem); min-width:10rem; max-width:none; padding:1rem 1.25rem; }
  .qz-ng-animal-row:nth-child(4),.qz-ng-animal-row:nth-child(5){ flex:1 1 calc(50% - 0.85rem); max-width:calc(50% - 0.85rem); }
}

/* 快速版入口条 */
.qz-ng-quick-bar{ position:relative; z-index:1; background:var(--qz-ng-surface); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-quick-bar-inner{ max-width:var(--qz-ng-max-width); margin:0 auto; padding:1.25rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
@media(min-width:768px){ .qz-ng-quick-bar-inner{ padding:1.25rem 2.5rem; } }
.qz-ng-quick-bar-text{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.qz-ng-quick-bar-text strong{ color:var(--qz-ng-text); font-size:1.05rem; font-weight:700; }
.qz-ng-quick-bar-text span{ color:var(--qz-ng-text-muted); font-size:0.9rem; }

/* ===== Features 特性区 ===== */
.qz-ng-features{ position:relative; z-index:1; }
.qz-ng-features-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px){ .qz-ng-features-grid{ grid-template-columns:repeat(2,1fr); gap:1.5rem; } }
@media(min-width:1200px){ .qz-ng-features-grid{ grid-template-columns:repeat(4,1fr); gap:2rem; } }
.qz-ng-feature{ padding:2.25rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); transition:all 0.3s ease; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-feature:hover{ transform:translateY(-6px); border-color:var(--qz-ng-border); box-shadow:var(--qz-ng-shadow); }
.qz-ng-feature-num{ font-family:var(--qz-ng-font-mono); font-size:0.9rem; color:var(--qz-ng-accent); letter-spacing:0.12em; margin-bottom:1.25rem; font-weight:700; }
.qz-ng-feature h3{ font-family:var(--qz-ng-font-display); font-size:1.35rem; font-weight:600; margin-bottom:0.85rem; color:var(--qz-ng-text); }
.qz-ng-feature p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.8; margin:0; }

/* ===== 维度列表 ===== */
.qz-ng-dimensions{ background:var(--qz-ng-bg-2); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-dimensions-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--qz-ng-border); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); }
@media(min-width:640px){ .qz-ng-dimensions-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1200px){ .qz-ng-dimensions-grid{ grid-template-columns:repeat(5,1fr); } }
.qz-ng-dimension{ padding:2.5rem 1.75rem; background:var(--qz-ng-bg); transition:all 0.25s ease; }
.qz-ng-dimension:hover{ background:var(--qz-ng-surface); }
.qz-ng-dimension-num{ font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:700; color:var(--qz-ng-accent); margin-bottom:1rem; letter-spacing:0.1em; }
.qz-ng-dimension h4{ font-family:var(--qz-ng-font-display); font-size:1.25rem; font-weight:600; margin-bottom:0.6rem; color:var(--qz-ng-text); }
.qz-ng-dimension p{ font-size:1rem; color:var(--qz-ng-text-muted); line-height:1.7; margin:0; }

/* ===== 流程 ===== */
.qz-ng-steps{ position:relative; z-index:1; }
.qz-ng-steps-list{ display:grid; grid-template-columns:1fr; gap:2.5rem; justify-items:center; }
@media(min-width:768px){ .qz-ng-steps-list{ grid-template-columns:repeat(3,1fr); gap:3rem; } }
.qz-ng-step{ position:relative; width:100%; max-width:24rem; padding:2rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); box-shadow:var(--qz-ng-shadow-sm); transition:all 0.3s ease; text-align:center; }
.qz-ng-step:hover{ transform:translateY(-4px); box-shadow:var(--qz-ng-shadow); }
.qz-ng-step-num{ display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--qz-ng-green-soft); color:var(--qz-ng-green); font-family:var(--qz-ng-font-display); font-size:1.1rem; font-weight:600; margin-bottom:1.25rem; }
.qz-ng-step h4{ font-size:1.1rem; font-weight:700; margin-bottom:0.5rem; color:var(--qz-ng-text); }
.qz-ng-step p{ font-size:0.9rem; color:var(--qz-ng-text-secondary); line-height:1.75; margin:0; }

/* ===== 可能结果 ===== */
.qz-ng-results{ background:var(--qz-ng-bg-2); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-results-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:640px){ .qz-ng-results-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1200px){ .qz-ng-results-grid{ grid-template-columns:repeat(3,1fr); } }
.qz-ng-result-card{ display:flex; align-items:flex-start; gap:1.25rem; padding:1.5rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); transition:all 0.3s ease; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-result-card:hover{ transform:translateY(-5px) translateX(5px); border-color:var(--qz-ng-border); box-shadow:var(--qz-ng-shadow); }
.qz-ng-result-card .num{ display:inline-flex; align-items:center; justify-content:center; width:2.6rem; height:2.6rem; border-radius:50%; background:var(--qz-ng-green-soft); color:var(--qz-ng-green); font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:700; flex-shrink:0; margin-top:0.1rem; }
.qz-ng-result-card h4{ font-family:var(--qz-ng-font-display); font-size:1.25rem; font-weight:600; color:var(--qz-ng-text); margin-bottom:0.35rem; }
.qz-ng-result-card p{ font-size:0.95rem; color:var(--qz-ng-text-secondary); line-height:1.7; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ===== 科学依据 ===== */
.qz-ng-science{ position:relative; z-index:1; }
.qz-ng-science-card{ display:grid; grid-template-columns:1fr; gap:0; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); overflow:hidden; box-shadow:var(--qz-ng-shadow); }
@media(min-width:768px){ .qz-ng-science-card{ grid-template-columns:320px 1fr; } }
.qz-ng-science-visual{ display:flex; align-items:center; justify-content:center; padding:2.5rem; background:linear-gradient(135deg,var(--qz-ng-bg-2),var(--qz-ng-bg)); border-bottom:1px solid var(--qz-ng-border-subtle); }
@media(min-width:768px){ .qz-ng-science-visual{ border-bottom:none; border-right:1px solid var(--qz-ng-border-subtle); } }
.qz-ng-science-icon{ width:5.5rem; height:5.5rem; border-radius:50%; background:var(--qz-ng-surface); display:flex; align-items:center; justify-content:center; font-size:2.2rem; border:1px solid var(--qz-ng-border); box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-science-body{ padding:2.5rem; }
@media(min-width:768px){ .qz-ng-science-body{ padding:3.5rem; } }
.qz-ng-science-body h3{ font-family:var(--qz-ng-font-display); font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:600; margin-bottom:1rem; color:var(--qz-ng-text); }
.qz-ng-science-body p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.9; }
.qz-ng-block-lead{ font-size:1.1rem; color:var(--qz-ng-text-secondary); line-height:1.9; margin:1.5rem 0 1.75rem; padding-left:1.25rem; border-left:3px solid var(--qz-ng-accent); }
.qz-ng-block-tip{ font-size:0.95rem; color:var(--qz-ng-text-muted); line-height:1.75; padding:1rem 1.25rem; background:var(--qz-ng-bg-warm); border-radius:var(--qz-ng-radius-sm); border-left:3px solid var(--qz-ng-sage); }

/* ===== 做题页覆盖 ===== */
.qz-ng-app .qz-m-test-page{ max-width:900px; margin:0 auto; padding:3rem 1.5rem 8rem; position:relative; z-index:1; }
.qz-ng-app .qz-m-test-heading{ display:none; }
.qz-ng-app .qz-m-test-header{ margin-bottom:2rem; padding-bottom:1.25rem; border-bottom:1px solid var(--qz-ng-border); display:flex; align-items:center; justify-content:space-between; }
.qz-ng-app .qz-m-back{ color:var(--qz-ng-text-muted); font-size:0.9rem; transition:color 0.2s; display:inline-flex; align-items:center; gap:0.4rem; }
.qz-ng-app .qz-m-back:hover{ color:var(--qz-ng-green); }
.qz-ng-app .qz-progress-text{ color:var(--qz-ng-text-muted); font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }
.qz-ng-app .qz-m-progress-bar{ position:fixed; top:var(--navbar-height, 0px); left:0; width:100%; height:0.35rem; background:var(--qz-ng-border-subtle); overflow:hidden; z-index:1030; }
.qz-ng-app .qz-progress-fill{ height:100%; background:linear-gradient(90deg,var(--qz-ng-green),var(--qz-ng-accent)); transition:width 0.4s ease; }
.qz-ng-app .qz-m-test-page{ padding-top:calc(3rem + var(--navbar-height, 0px)); }
@media(min-width:768px){ .qz-ng-app .qz-m-test-page{ padding-top:calc(3rem + var(--navbar-height, 0px)); } }
@media(max-width:480px){ .qz-ng-app .qz-m-test-page{ padding-top:calc(2rem + var(--navbar-height, 0px)); } }
.qz-ng-app .qz-m-q-meta{ margin-bottom:1.25rem; }
.qz-ng-app .qz-m-q-badge{ background:var(--qz-ng-green-soft); color:var(--qz-ng-green); border:1px solid rgba(61,90,80,0.12); font-family:var(--qz-ng-font-mono); font-size:0.9rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; padding:0.4rem 0.85rem; border-radius:var(--qz-ng-radius-pill); }
.qz-ng-app .qz-m-q-total{ color:var(--qz-ng-text-muted); font-size:0.9rem; }
.qz-ng-app .qz-m-q-title{ font-family:var(--qz-ng-font-display); font-size:clamp(1.9rem,3.5vw,3rem); font-weight:600; color:var(--qz-ng-text); line-height:1.2; margin-bottom:1.25rem; }
.qz-ng-app .qz-m-q-desc{ color:var(--qz-ng-text-secondary); font-size:1.05rem; line-height:1.8; }
.qz-ng-app .qz-m-q-hint{ color:var(--qz-ng-text-muted); font-size:0.9rem; background:var(--qz-ng-bg-warm); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-sm); padding:1rem 1.2rem; line-height:1.65; }

/* 普通选项 */
.qz-ng-app .qz-m-q-options{ display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; }
.qz-ng-app .qz-m-option{ display:flex; align-items:center; gap:1.1rem; padding:1.25rem 1.5rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); color:var(--qz-ng-text-secondary); cursor:pointer; transition:all 0.25s ease; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-app .qz-m-option:hover{ border-color:var(--qz-ng-accent); color:var(--qz-ng-text); background:var(--qz-ng-surface); transform:translateX(6px); box-shadow:var(--qz-ng-shadow); }
.qz-ng-app .qz-m-option.selected{ background:var(--qz-ng-green-soft); border-color:var(--qz-ng-green); color:var(--qz-ng-text); box-shadow:0 4px 16px rgba(61,90,80,0.12); }
.qz-ng-app .qz-m-option.selected .qz-m-option-key{ background:var(--qz-ng-green); color:#fff; }
.qz-ng-app .qz-m-option-key{ width:2rem; height:2rem; border-radius:50%; background:var(--qz-ng-bg-2); display:flex; align-items:center; justify-content:center; font-size:0.9rem; font-weight:800; color:var(--qz-ng-text-muted); transition:all 0.2s; border:1px solid var(--qz-ng-border); flex-shrink:0; }
.qz-ng-app .qz-m-option-label{ font-size:1.05rem; font-weight:500; }
.qz-ng-app .qz-m-option-desc{ display:block; font-size:0.9rem; color:var(--qz-ng-text-muted); margin-top:0.15rem; }

/* rect_scale 题型 */
.qz-ng-app .qz-rect-scale{ width:100%; padding:1rem 0; }
.qz-ng-app .qz-rect-row{ display:flex; justify-content:center; }
.qz-ng-app .qz-rects{ display:flex; align-items:flex-end; justify-content:center; gap:0.6rem; flex-wrap:wrap; }
.qz-ng-app .qz-rect-item-wrap{ display:flex; flex-direction:column-reverse; align-items:center; gap:0.5rem; }
.qz-ng-app .qz-rect-item{
  position:relative; border-radius:var(--qz-ng-radius-sm); background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.25s ease; padding:0; box-shadow:var(--qz-ng-shadow-sm);
}
.qz-ng-app .qz-rect-item .qz-rect-check{ display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(0.6); transition:all 0.25s ease; }
.qz-ng-app .qz-rect-item .qz-rect-check svg{ color:var(--qz-ng-text); width:1.2rem; height:1.2rem; }
.qz-ng-app .qz-rect-item-wrap.selected .qz-rect-item{ background:var(--qz-ng-green); border-color:var(--qz-ng-green); box-shadow:0 8px 28px rgba(61,90,80,0.22); }
.qz-ng-app .qz-rect-item-wrap.selected .qz-rect-item .qz-rect-check{ opacity:1; transform:scale(1); }
.qz-ng-app .qz-rect-item-wrap.selected .qz-rect-item .qz-rect-check svg{ color:#fff; }
.qz-ng-app .qz-rect-label{ font-size:0.9rem; color:var(--qz-ng-text-muted); text-align:center; min-height:1.4rem; max-width:5rem; line-height:1.2; }
.qz-ng-app .qz-rect-item-wrap.selected .qz-rect-label{ color:var(--qz-ng-green); font-weight:700; }
.qz-ng-app .qz-rect-selected{ text-align:center; margin-top:1.25rem; font-size:0.95rem; color:var(--qz-ng-green); min-height:1.4rem; font-weight:600; }
.qz-ng-app .qz-rect-hint{ text-align:center; margin-top:0.75rem; font-size:0.9rem; color:var(--qz-ng-text-muted); }
.qz-ng-app .qz-rect-size-0{ width:2.2rem; height:2.2rem; }
.qz-ng-app .qz-rect-size-1{ width:2.5rem; height:2.5rem; }
.qz-ng-app .qz-rect-size-2{ width:2.9rem; height:2.9rem; }
.qz-ng-app .qz-rect-size-3{ width:3.4rem; height:3.4rem; }
.qz-ng-app .qz-rect-size-4{ width:3.9rem; height:3.9rem; }
.qz-ng-app .qz-rect-size-5{ width:4.4rem; height:4.4rem; }
.qz-ng-app .qz-rect-size-6{ width:4.9rem; height:4.9rem; }
.qz-ng-app .qz-rect-item:hover{ border-color:var(--qz-ng-accent); background:var(--qz-ng-surface-2); }
.qz-ng-app .qz-rect-item:focus{ outline:2px solid var(--qz-ng-accent); outline-offset:2px; }

/* bubble_scale 题型 - 大圆小圆，占满容器全宽，中间小、两端大 */
.qz-ng-app .qz-bubble-scale{ width:100%; padding:0.5rem 0 1rem; }
.qz-ng-app .qz-bubble-top-labels{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:1rem; padding:0 0.25rem; font-size:0.95rem; font-weight:700; }
.qz-ng-app .qz-bubble-top-low,.qz-ng-app .qz-bubble-side-low{ color:#c17373; }
.qz-ng-app .qz-bubble-top-high,.qz-ng-app .qz-bubble-side-high{ color:#5a8a6e; }
.qz-ng-app .qz-bubble-row{ display:flex; align-items:center; justify-content:space-between; gap:clamp(0.5rem,2vw,1.25rem); width:100%; }
.qz-ng-app .qz-bubbles{ display:flex; align-items:center; justify-content:space-between; flex:1 1 auto; min-width:0; gap:clamp(0.45rem,2vw,1rem); width:100%; }
.qz-ng-app .qz-bubble-side-label{ display:none; }
.qz-ng-app .qz-bubble-item{ position:relative; flex:1; aspect-ratio:1/1; min-width:0; max-width:none; border-radius:50%; border:2px solid var(--qz-ng-border); background:linear-gradient(145deg,var(--qz-ng-surface),var(--qz-ng-surface-2)); cursor:pointer; transition:all 0.25s ease; box-shadow:var(--qz-ng-shadow-sm); display:flex; align-items:center; justify-content:center; padding:0; }
.qz-ng-app .qz-bubble-size-0,.qz-ng-app .qz-bubble-size-1,.qz-ng-app .qz-bubble-size-2,.qz-ng-app .qz-bubble-size-3{ max-width:none; }
.qz-ng-app .qz-bubble-item:hover{ border-color:var(--qz-ng-accent); transform:scale(1.06); background:var(--qz-ng-surface); }
.qz-ng-app .qz-bubble-item.selected{ background:var(--qz-ng-green); border-color:var(--qz-ng-green); box-shadow:0 12px 32px rgba(61,90,80,0.28); transform:scale(1.08); }
.qz-ng-app .qz-bubble-check{ display:flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:50%; background:rgba(255,255,255,0.95); opacity:0; transform:scale(0.6); transition:all 0.25s ease; box-shadow:0 2px 8px rgba(31,45,38,0.15); }
.qz-ng-app .qz-bubble-check svg{ width:1.1rem; height:1.1rem; color:var(--qz-ng-green); stroke-width:3; }
.qz-ng-app .qz-bubble-item.selected .qz-bubble-check{ opacity:1; transform:scale(1); }
.qz-ng-app .qz-bubble-side-label{ font-size:0.95rem; font-weight:600; white-space:nowrap; flex-shrink:0; }
.qz-ng-app .qz-bubble-selected{ text-align:center; margin-top:1rem; font-size:1.05rem; color:var(--qz-ng-green); font-weight:600; min-height:1.4rem; }
.qz-ng-app .qz-bubble-hint{ text-align:center; margin-top:0.75rem; font-size:0.9rem; color:var(--qz-ng-text-muted); }
/* sizeIdx 是到中心的距离：0=中心（最小），max=两端（最大） */
.qz-ng-app .qz-bubble-size-0{ flex:1.15; }
.qz-ng-app .qz-bubble-size-1{ flex:1.75; }
.qz-ng-app .qz-bubble-size-2{ flex:2.45; }
.qz-ng-app .qz-bubble-size-3{ flex:2.9; }
/* 颜色：左侧低分偏红，右侧高分偏绿，中间中性灰 */
.qz-ng-app .qz-bubble-side-left{ border-color:rgba(193,115,115,0.65); background:linear-gradient(145deg,#fff,#faf4f4); }
.qz-ng-app .qz-bubble-side-right{ border-color:rgba(90,138,110,0.65); background:linear-gradient(145deg,#fff,#f4f8f5); }
.qz-ng-app .qz-bubble-side-center{ border-color:#9ca8a2; background:linear-gradient(145deg,var(--qz-ng-surface),#f2f2f0); }
.qz-ng-app .qz-bubble-side-left.selected{ background:rgba(193,115,115,0.85); border-color:rgba(193,115,115,0.9); box-shadow:0 12px 32px rgba(193,115,115,0.28); }
.qz-ng-app .qz-bubble-side-right.selected{ background:rgba(90,138,110,0.85); border-color:rgba(90,138,110,0.9); box-shadow:0 12px 32px rgba(90,138,110,0.28); }
.qz-ng-app .qz-bubble-side-center.selected{ background:#7d8a84; border-color:#7d8a84; box-shadow:0 12px 32px rgba(125,138,132,0.28); }
.qz-ng-app .qz-bubble-side-left.selected .qz-bubble-check svg,.qz-ng-app .qz-bubble-side-right.selected .qz-bubble-check svg,.qz-ng-app .qz-bubble-side-center.selected .qz-bubble-check svg{ color:#fff; }

/* 导航按钮 */
.qz-ng-app .qz-m-nav{ position:relative; display:flex; justify-content:space-between; gap:1rem; margin:3rem 0 6.5rem; }
.qz-ng-app .qz-m-btn-prev,.qz-ng-app .qz-m-btn-next,.qz-ng-app .qz-m-btn-submit{ padding:1rem 2.2rem; border-radius:var(--qz-ng-radius-pill); font-size:0.9rem; font-weight:600; letter-spacing:0.02em; border:none; cursor:pointer; transition:all 0.25s ease; }
.qz-ng-app .qz-m-btn-prev{ background:transparent; color:var(--qz-ng-text-secondary); border:1px solid var(--qz-ng-border); }
.qz-ng-app .qz-m-btn-prev:hover{ border-color:var(--qz-ng-accent); color:var(--qz-ng-accent); }
.qz-ng-app .qz-m-btn-next,.qz-ng-app .qz-m-btn-submit{ background:var(--qz-ng-green); color:#fff; }
.qz-ng-app .qz-m-btn-next:hover,.qz-ng-app .qz-m-btn-submit:hover{ background:#2f473f; transform:translateY(-2px); box-shadow:0 12px 30px rgba(61,90,80,0.22); }
.qz-ng-app .qz-m-btn-next:disabled,.qz-ng-app .qz-m-btn-submit:disabled{ opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }

/* 快速版横幅 */
.qz-ng-app .qz-m-quick-banner{ background:var(--qz-ng-bg-warm); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius); padding:1.75rem; margin-bottom:2.5rem; }
.qz-ng-app .qz-m-quick-banner p{ color:var(--qz-ng-text-secondary); font-size:1rem; line-height:1.75; }
.qz-ng-app .qz-m-quick-banner p strong{ color:var(--qz-ng-text); }
.qz-ng-app .qz-m-quick-banner p u{ color:var(--qz-ng-accent); text-decoration:none; border-bottom:1px solid var(--qz-ng-accent); }
.qz-ng-app .qz-m-quick-link,.qz-ng-app .qz-m-quick-full-link{ display:inline-flex; align-items:center; gap:0.5rem; color:var(--qz-ng-green); font-weight:700; }
.qz-ng-app .qz-m-quick-link:hover,.qz-ng-app .qz-m-quick-full-link:hover{ color:var(--qz-ng-accent); }
.qz-ng-app .qz-m-quick-full-link{ margin-top:0.75rem; padding:0.55rem 1.2rem; background:var(--qz-ng-green); color:#fff; border-radius:var(--qz-ng-radius-pill); font-size:0.95rem; }
.qz-ng-app .qz-m-quick-full-link:hover{ background:#2f473f; color:#fff; }

/* ===== 结果页 ===== */
.qz-ng-result-page{ position:relative; z-index:1; padding-bottom:5rem; }
.qz-ng-result-hero{ position:relative; padding:3.5rem 0 2.5rem; overflow:hidden; border-bottom:1px solid var(--qz-ng-border); background:linear-gradient(180deg,var(--qz-ng-bg-warm) 0%,var(--qz-ng-bg) 100%); }
@media(min-width:768px){ .qz-ng-result-hero{ padding:4.5rem 0 3.5rem; } }
.qz-ng-result-hero::before{ content:''; position:absolute; top:-20%; right:-5%; width:55vw; height:55vw; max-width:650px; max-height:650px; border-radius:50%; background:radial-gradient(circle,rgba(125,154,123,0.14) 0%,transparent 55%); filter:blur(60px); pointer-events:none; }
.qz-ng-result-hero-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; max-width:var(--qz-ng-max-width); margin:0 auto; padding:0 1.5rem; }
@media(min-width:992px){ .qz-ng-result-hero-inner{ grid-template-columns:0.85fr 1.15fr; gap:5rem; padding:0 3.5rem; } }
.qz-ng-result-animal{ text-align:center; }
.qz-ng-result-animal .icon{ display:inline-flex; align-items:center; justify-content:center; width:20rem; height:20rem; color:var(--qz-ng-green); background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); border-radius:50%; margin-bottom:1.5rem; box-shadow:var(--qz-ng-shadow); }
.qz-ng-result-animal .icon svg{ width:5rem; height:5rem; }
.qz-ng-result-animal .icon img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
@media(min-width:768px){ .qz-ng-result-animal .icon{ width:20rem; height:20rem; } .qz-ng-result-animal .icon svg{ width:6.5rem; height:6.5rem; } }
.qz-ng-result-animal .slogan{ font-size:1.1rem; color:var(--qz-ng-accent); font-style:italic; font-family:var(--qz-ng-font-display); }
.qz-ng-result-summary{ max-width:720px; }
.qz-ng-result-summary .qz-ng-badge{ margin-bottom:1.5rem; }
.qz-ng-result-summary h1{ font-family:var(--qz-ng-font-display); font-size:clamp(2.4rem,4.5vw,4.5rem); font-weight:600; line-height:1.05; margin:0 0 1.25rem; }
.qz-ng-result-summary p{ font-size:clamp(1.05rem,1.4vw,1.25rem); color:var(--qz-ng-text-secondary); line-height:1.85; margin-bottom:1.5rem; }
.qz-ng-result-tags{ display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:0.75rem; }

/* 快速版升级提示 */
.qz-ng-upgrade-top{ background:var(--qz-ng-accent-soft); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-upgrade-top-inner{ max-width:var(--qz-ng-max-width); margin:0 auto; padding:1.25rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
@media(min-width:768px){ .qz-ng-upgrade-top-inner{ padding:1.25rem 2.5rem; } }
.qz-ng-upgrade-top-text strong{ color:var(--qz-ng-accent); font-size:1.05rem; }
.qz-ng-upgrade-top-text span{ color:var(--qz-ng-text-secondary); font-size:0.9rem; }

/* 置信度 */
.qz-ng-confidence{ background:linear-gradient(180deg,var(--qz-ng-bg-2) 0%,var(--qz-ng-bg) 100%); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-confidence-card{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius-lg); padding:2rem; box-shadow:var(--qz-ng-shadow); }
@media(min-width:768px){ .qz-ng-confidence-card{ padding:2.5rem; } }
.qz-ng-confidence-head{ display:flex; flex-direction:column; align-items:center; gap:1.75rem; text-align:center; }
@media(min-width:768px){ .qz-ng-confidence-head{ flex-direction:row; text-align:left; gap:2.5rem; } }
.qz-ng-confidence-score{ position:relative; width:9.5rem; height:9.5rem; flex-shrink:0; }
.qz-ng-confidence-score svg{ width:100%; height:100%; transform:rotate(-90deg); }
.qz-ng-confidence-score circle{ fill:none; stroke-width:8; stroke-linecap:round; }
.qz-ng-confidence-score .bg{ stroke:var(--qz-ng-border-subtle); }
.qz-ng-confidence-score .fg{ stroke:var(--qz-ng-green); stroke-dashoffset:339; transition:stroke-dashoffset 1s cubic-bezier(0.25,0.46,0.45,0.94); }
.qz-ng-confidence-score .num{ position:absolute; top:38%; left:0; right:0; text-align:center; font-family:var(--qz-ng-font-display); font-size:2.6rem; font-weight:600; color:var(--qz-ng-text); line-height:1; }
.qz-ng-confidence-score .label{ position:absolute; top:62%; left:0; right:0; text-align:center; font-size:0.75rem; color:var(--qz-ng-text-muted); text-transform:uppercase; letter-spacing:0.08em; }
.qz-ng-confidence-score.level-high .fg{ stroke:var(--qz-ng-success); }
.qz-ng-confidence-score.level-medium .fg{ stroke:var(--qz-ng-warning); }
.qz-ng-confidence-score.level-low .fg{ stroke:var(--qz-ng-danger); }
.qz-ng-confidence-text{ flex:1; }
.qz-ng-confidence-status{ display:inline-flex; align-items:center; gap:0.6rem; font-family:var(--qz-ng-font-display); font-size:clamp(1.5rem,2.5vw,2rem); font-weight:600; margin-bottom:0.75rem; color:var(--qz-ng-text); }
.qz-ng-confidence-status::before{ content:''; width:0.6rem; height:0.6rem; border-radius:50%; background:var(--qz-ng-success); }
.qz-ng-confidence-status.level-medium::before{ background:var(--qz-ng-warning); }
.qz-ng-confidence-status.level-low::before{ background:var(--qz-ng-danger); }
.qz-ng-confidence-text > p{ color:var(--qz-ng-text-secondary); line-height:1.85; margin:0 0 0.5rem; }
.qz-ng-confidence-method{ font-size:0.9rem; color:var(--qz-ng-text-muted); padding-top:0.75rem; border-top:1px dashed var(--qz-ng-border-subtle); margin-top:0.75rem; }
.qz-ng-conflicts{ margin-top:2rem; padding-top:2rem; border-top:1px solid var(--qz-ng-border-subtle); }
.qz-ng-conflicts-title{ font-family:var(--qz-ng-font-display); font-size:1.4rem; font-weight:600; margin-bottom:1.25rem; display:flex; align-items:center; gap:0.6rem; }
.qz-ng-conflicts-title::before{ content:''; width:0.35rem; height:1.4rem; background:var(--qz-ng-accent); border-radius:var(--qz-ng-radius-sm); }
.qz-ng-conflict{ padding:1.5rem; background:var(--qz-ng-bg-warm); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); margin-bottom:1rem; }
.qz-ng-conflict-badge{ display:inline-flex; align-items:center; gap:0.4rem; padding:0.35rem 0.9rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius-pill); font-family:var(--qz-ng-font-mono); font-size:0.8rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--qz-ng-accent); margin-bottom:1rem; }
.qz-ng-conflict-row{ display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; }
@media(max-width:640px){ .qz-ng-conflict-row{ grid-template-columns:1fr; } .qz-ng-conflict-vs{ transform:rotate(90deg); padding:0.25rem 0; } }
.qz-ng-conflict-item{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); padding:1.25rem; position:relative; }
.qz-ng-conflict-dot{ position:absolute; top:1rem; left:1rem; width:0.5rem; height:0.5rem; border-radius:50%; background:var(--qz-ng-danger); }
.qz-ng-conflict-dot-alt{ background:var(--qz-ng-warning); }
.qz-ng-conflict-title{ font-size:1rem; color:var(--qz-ng-text); line-height:1.6; margin:0 0 0.75rem; padding-left:1rem; font-weight:500; }
.qz-ng-conflict-answer{ font-size:0.9rem; color:var(--qz-ng-text-secondary); padding-top:0.75rem; border-top:1px solid var(--qz-ng-border-subtle); }
.qz-ng-conflict-answer strong{ color:var(--qz-ng-text); font-weight:600; }
.qz-ng-conflict-vs{ font-family:var(--qz-ng-font-mono); font-size:0.85rem; font-weight:700; color:var(--qz-ng-accent); text-align:center; padding:0 0.5rem; }
.qz-ng-conflicts-toggle{ display:inline-flex; align-items:center; gap:0.5rem; margin-top:0.5rem; padding:0.7rem 1.4rem; background:transparent; border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius-pill); color:var(--qz-ng-text-secondary); font-size:0.9rem; font-weight:600; cursor:pointer; transition:all 0.2s ease; }
.qz-ng-conflicts-toggle:hover{ background:var(--qz-ng-accent-soft); border-color:var(--qz-ng-accent); color:var(--qz-ng-accent); }
.qz-ng-conflicts-more{ margin-top:1rem; }

/* 图表 */
.qz-ng-charts{ position:relative; z-index:1; }
.qz-ng-charts-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:992px){ .qz-ng-charts-grid{ grid-template-columns:1fr 1fr; gap:2rem; } }
.qz-ng-chart-card{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); padding:1.75rem; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-chart-card h3{ font-family:var(--qz-ng-font-display); font-size:1.4rem; font-weight:600; margin-bottom:1.25rem; color:var(--qz-ng-text); }
.qz-ng-chart-card canvas{ width:100%; height:auto; max-height:320px; }
.qz-ng-chart-note{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.75; margin:1.25rem 0 0; padding:1rem 1.25rem; background:var(--qz-ng-bg-warm); border-radius:var(--qz-ng-radius-sm); border-left:3px solid var(--qz-ng-sage); }
.qz-ng-chart-legend{ display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1rem; }
.qz-ng-chart-legend span{ display:inline-flex; align-items:center; gap:0.45rem; padding:0.45rem 0.85rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-pill); font-size:0.85rem; color:var(--qz-ng-text-secondary); }
.qz-ng-chart-legend i{ display:inline-block; width:1.1rem; height:1.1rem; border-radius:3px; flex-shrink:0; }
.qz-ng-chart-legend em{ display:inline-flex; align-items:center; justify-content:center; width:1.3rem; height:1.3rem; border-radius:50%; font-style:normal; font-size:0.75rem; font-weight:700; color:#fff; background:var(--qz-ng-green); flex-shrink:0; }
.qz-ng-chart-legend b{ font-weight:500; }

/* 人群比例图 */
.qz-ng-population-chart{ position:relative; z-index:1; }
.qz-ng-population-card{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); padding:2rem; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-population-layout{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; }
@media(min-width:992px){ .qz-ng-population-layout{ grid-template-columns:1.1fr 0.9fr; gap:3rem; } }
.qz-ng-population-visual{ display:flex; align-items:center; justify-content:center; min-height:320px; }
.qz-ng-population-visual canvas{ width:100%; max-width:520px; height:auto; }
@media(min-width:992px){ .qz-ng-population-visual{ min-height:420px; } .qz-ng-population-visual canvas{ max-width:560px; } }
.qz-ng-population-info{ display:flex; flex-direction:column; gap:1.5rem; }
.qz-ng-population-current{ padding:1.5rem; background:var(--qz-ng-bg-warm); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); }
.qz-ng-population-current-label{ display:block; font-family:var(--qz-ng-font-mono); font-size:0.85rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--qz-ng-text-muted); margin-bottom:0.5rem; }
.qz-ng-population-current-pct{ display:block; font-family:var(--qz-ng-font-display); font-size:clamp(2.4rem,4vw,3.6rem); font-weight:600; line-height:1; margin-bottom:0.75rem; }
.qz-ng-population-current p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.8; margin:0; }
.qz-ng-population-legend{ display:flex; flex-direction:column; gap:0.7rem; }
.qz-ng-population-legend span{ display:flex; align-items:center; gap:0.65rem; font-size:0.95rem; color:var(--qz-ng-text-secondary); padding:0.45rem 0.6rem; border-radius:var(--qz-ng-radius-sm); transition:all 0.2s; }
.qz-ng-population-legend span:hover{ background:var(--qz-ng-bg-warm); }
.qz-ng-population-legend span.qz-ng-pop-current{ background:var(--qz-ng-bg-warm); font-weight:700; color:var(--qz-ng-text); border:1px solid var(--qz-ng-accent); box-shadow:0 2px 8px rgba(176,141,85,0.12); padding-left:0.55rem; padding-right:0.55rem; }
.qz-ng-population-legend i{ display:inline-block; width:0.85rem; height:0.85rem; border-radius:50%; flex-shrink:0; }
.qz-ng-population-legend b{ font-weight:500; }
.qz-ng-population-legend em{ margin-left:auto; font-style:normal; font-family:var(--qz-ng-font-mono); font-weight:700; color:var(--qz-ng-text); }

/* 内容区块 */
.qz-ng-content-block{ position:relative; z-index:1; }
.qz-ng-block-header{ display:flex; align-items:center; gap:0.9rem; margin-bottom:2rem; }
.qz-ng-block-header .icon{ display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem; background:var(--qz-ng-green-soft); border:1px solid rgba(61,90,80,0.12); border-radius:var(--qz-ng-radius-sm); color:var(--qz-ng-green); font-size:1.1rem; }
.qz-ng-block-header h2{ font-family:var(--qz-ng-font-display); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; color:var(--qz-ng-text); margin:0; }
.qz-ng-info-icon{ display:inline-flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; margin-right:0.5rem; color:var(--qz-ng-green); vertical-align:middle; }
.qz-ng-info-icon svg{ width:100%; height:100%; }
.qz-ng-info-icon-txt{ display:inline-flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; margin-right:0.5rem; font-size:1rem; line-height:1; vertical-align:middle; }
.qz-ng-eyebrow svg{ width:1.1em; height:1.1em; color:var(--qz-ng-accent); flex-shrink:0; }

.qz-ng-card-grid{ display:grid; grid-template-columns:1fr; gap:1.25rem; margin-bottom:1.25rem; }
@media(min-width:768px){ .qz-ng-card-grid.qz-ng-card-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; } }
.qz-ng-card-grid.qz-ng-card-grid-3{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.qz-ng-card-grid > .qz-ng-info-card{ height:100%; }
.qz-ng-info-card{ padding:2rem 1.75rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); transition:all 0.25s ease; box-shadow:var(--qz-ng-shadow-sm); }
@media(min-width:768px){ .qz-ng-info-card{ padding:2.5rem; } }
.qz-ng-info-card .qz-ng-article-section{ margin-bottom:1.75rem; }
.qz-ng-info-card .qz-ng-article-section:last-child{ margin-bottom:0; }
.qz-ng-info-card:hover{ transform:translateY(-4px); box-shadow:var(--qz-ng-shadow); }
.qz-ng-info-card h4{ display:flex; align-items:center; gap:0.5rem; font-size:1.15rem; font-weight:700; color:var(--qz-ng-text); margin-bottom:0.75rem; }
.qz-ng-info-card p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.8; margin:0; }
.qz-ng-info-card .qz-ng-card-grid{ margin-top:1rem; margin-bottom:1rem; }
.qz-ng-info-card .qz-ng-info-card{ background:var(--qz-ng-bg-warm); border-color:var(--qz-ng-border-subtle); }
.qz-ng-info-card-success{ border-left:3px solid var(--qz-ng-success); }
.qz-ng-info-card-warning{ border-left:3px solid var(--qz-ng-warning); }
.qz-ng-info-card-danger{ border-left:3px solid var(--qz-ng-danger); }

.qz-ng-article-body{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.9; }
.qz-ng-article-body h3{ font-family:var(--qz-ng-font-display); font-size:1.6rem; font-weight:600; color:var(--qz-ng-text); margin:2rem 0 1rem; }
.qz-ng-article-body p{ margin-bottom:1rem; }
.qz-ng-article-body ul{ padding-left:1.5rem; margin-bottom:1rem; }
.qz-ng-article-body li{ margin-bottom:0.5rem; }

.qz-ng-article-section{ margin-bottom:2rem; }

/* 详细解读区 - 增强设计感 */
.qz-ng-detailed-section{ position:relative; }
.qz-ng-detailed-section::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--qz-ng-border) 15%,var(--qz-ng-border) 85%,transparent); }
.qz-ng-detailed-head{ display:grid; grid-template-columns:1fr; gap:1.5rem; margin-bottom:2.5rem; }
@media(min-width:768px){ .qz-ng-detailed-head{ grid-template-columns:180px 1fr; gap:2.5rem; align-items:start; } }
.qz-ng-detailed-visual{ display:flex; align-items:center; justify-content:center; padding:2rem; background:linear-gradient(135deg,var(--qz-ng-bg-2),var(--qz-ng-bg)); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); }
.qz-ng-detailed-visual .icon{ display:inline-flex; align-items:center; justify-content:center; width:4.5rem; height:4.5rem; border-radius:50%; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); color:var(--qz-ng-green); box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-detailed-visual .icon svg{ width:2rem; height:2rem; }
.qz-ng-detailed-summary{ padding:1.75rem; background:var(--qz-ng-bg-warm); border-left:3px solid var(--qz-ng-accent); border-radius:0 var(--qz-ng-radius) var(--qz-ng-radius) 0; }
.qz-ng-detailed-summary p{ margin:0; font-size:1.05rem; color:var(--qz-ng-text-secondary); line-height:1.85; }
.qz-ng-detailed-body{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); padding:2rem 1.75rem; box-shadow:var(--qz-ng-shadow-sm); }
@media(min-width:768px){ .qz-ng-detailed-body{ padding:3rem; } }
.qz-ng-detailed-body .qz-ng-article-body p{ font-size:1.05rem; line-height:2; }
.qz-ng-detailed-body .qz-ng-article-body h3{ position:relative; padding-left:1rem; margin-top:2.5rem; }
.qz-ng-detailed-body .qz-ng-article-body h3::before{ content:''; position:absolute; left:0; top:0.35rem; bottom:0.35rem; width:4px; background:var(--qz-ng-green); border-radius:2px; }
.qz-ng-detailed-body .qz-ng-article-body ul li{ position:relative; padding-left:0.25rem; margin-bottom:0.75rem; }
.qz-ng-detailed-body .qz-ng-article-body ul li::marker{ color:var(--qz-ng-accent); }
.qz-ng-article-section h4,.qz-ng-article-section h5{ font-size:1.1rem; font-weight:700; color:var(--qz-ng-text); margin-bottom:0.6rem; }
.qz-ng-article-section ul{ padding-left:1.5rem; margin:0; }
.qz-ng-article-section li{ color:var(--qz-ng-text-secondary); margin-bottom:0.4rem; font-size:0.95rem; }

/* 维度洞察 */
.qz-ng-dimension-insights{ display:flex; flex-direction:column; gap:1px; background:var(--qz-ng-border); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius); overflow:hidden; }
.qz-ng-dim-insight{ padding:1.5rem; background:var(--qz-ng-surface); transition:all 0.2s ease; }
.qz-ng-dim-insight:hover{ background:var(--qz-ng-surface-2); }
.qz-ng-dim-insight-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:0.75rem; }
.qz-ng-dim-insight-head .label{ font-family:var(--qz-ng-font-display); font-size:1.2rem; font-weight:600; color:var(--qz-ng-text); }
.qz-ng-dim-insight-head .score{ font-family:var(--qz-ng-font-mono); font-size:1.1rem; font-weight:700; color:var(--qz-ng-green); }
.qz-ng-dim-insight p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.75; margin:0 0 0.5rem; }
.qz-ng-dim-insight .tip{ font-size:0.95rem; color:var(--qz-ng-text-muted); }

/* 4 周月计划卡片 */
.qz-ng-week-grid{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media(min-width:640px){ .qz-ng-week-grid{ grid-template-columns:repeat(2,1fr); gap:1.5rem; } }
@media(min-width:1200px){ .qz-ng-week-grid{ grid-template-columns:repeat(4,1fr); gap:2rem; } }
.qz-ng-week-card{ position:relative; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); padding:1.75rem; box-shadow:var(--qz-ng-shadow-sm); transition:all 0.25s ease; }
.qz-ng-week-card:hover{ transform:translateY(-4px); border-color:var(--qz-ng-border); box-shadow:var(--qz-ng-shadow); }
.qz-ng-week-num{ position:absolute; top:1rem; right:1rem; font-family:var(--qz-ng-font-display); font-size:2.2rem; font-weight:600; color:var(--qz-ng-green); opacity:0.15; line-height:1; }
.qz-ng-week-time{ font-family:var(--qz-ng-font-mono); font-size:0.85rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--qz-ng-accent); margin-bottom:0.75rem; }
.qz-ng-week-card h4{ font-size:1.15rem; font-weight:700; color:var(--qz-ng-text); margin-bottom:0.75rem; }
.qz-ng-week-card p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.8; margin:0; }

/* 时间线 */
.qz-ng-timeline{ position:relative; padding-left:2rem; }
.qz-ng-timeline::before{ content:''; position:absolute; top:0.5rem; bottom:0.5rem; left:0.45rem; width:1px; background:linear-gradient(180deg,transparent,var(--qz-ng-border) 10%,var(--qz-ng-border) 90%,transparent); }
.qz-ng-timeline-item{ position:relative; padding-bottom:2rem; }
.qz-ng-timeline-item::before{ content:''; position:absolute; left:-1.55rem; top:0.2rem; width:0.7rem; height:0.7rem; border-radius:50%; background:var(--qz-ng-surface); border:2px solid var(--qz-ng-accent); }
.qz-ng-timeline-item:last-child{ padding-bottom:0; }
.qz-ng-timeline-time{ font-family:var(--qz-ng-font-mono); font-size:0.9rem; color:var(--qz-ng-accent); font-weight:700; margin-bottom:0.25rem; }
.qz-ng-timeline-body h4{ font-size:1.15rem; font-weight:700; color:var(--qz-ng-text); margin-bottom:0.35rem; }
.qz-ng-timeline-body p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.75; margin:0; }

/* 底部升级 */
.qz-ng-upgrade-bottom{ padding:0 1.5rem; }
@media(min-width:768px){ .qz-ng-upgrade-bottom{ padding:0 2.5rem; } }
.qz-ng-upgrade-bottom-card{ max-width:var(--qz-ng-content-width); margin:0 auto 5rem; padding:2.5rem; background:linear-gradient(135deg,var(--qz-ng-surface),var(--qz-ng-accent-soft)); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius-lg); text-align:center; box-shadow:var(--qz-ng-shadow); }
@media(min-width:768px){ .qz-ng-upgrade-bottom-card{ padding:3.5rem; } }
.qz-ng-upgrade-bottom-card h3{ font-family:var(--qz-ng-font-display); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:600; margin-bottom:1rem; }
.qz-ng-upgrade-bottom-card p{ color:var(--qz-ng-text-secondary); max-width:600px; margin:0 auto 1.75rem; line-height:1.8; }

/* 结果页页脚 */
.qz-ng-result-footer{ background:linear-gradient(180deg,var(--qz-ng-bg) 0%,var(--qz-ng-bg-2) 100%); border-top:1px solid var(--qz-ng-border); }
.qz-ng-result-footer-inner{ max-width:var(--qz-ng-content-width); margin:0 auto; padding:2.5rem 1.5rem; display:flex; flex-direction:column; gap:1.5rem; align-items:center; text-align:center; background:rgba(255,255,255,0.55); border-radius:var(--qz-ng-radius-lg); border:1px solid var(--qz-ng-border-subtle); }
@media(min-width:768px){ .qz-ng-result-footer-inner{ flex-direction:row; justify-content:space-between; text-align:left; padding:3rem 2.5rem; } }
.qz-ng-result-footer h3{ font-family:var(--qz-ng-font-display); font-size:1.7rem; font-weight:600; margin-bottom:0.5rem; }
.qz-ng-result-footer p{ color:var(--qz-ng-text-secondary); font-size:1rem; }
.qz-ng-result-actions{ display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
.qz-ng-result-actions .qz-ng-btn-primary{ padding:1.2rem 3.2rem; font-size:1.05rem; background:linear-gradient(135deg,var(--qz-ng-green) 0%,#2f473f 100%); box-shadow:0 14px 38px rgba(61,90,80,0.28); border:none; }
.qz-ng-result-actions .qz-ng-btn-primary:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 20px 48px rgba(61,90,80,0.32); }
.qz-ng-result-actions .qz-ng-btn-ghost{ padding:1.2rem 2.4rem; font-size:1.05rem; }

/* AI Prompt 区 */
.qz-ng-ai-prompt{ position:relative; z-index:1; background:var(--qz-ng-bg-2); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); }
.qz-ng-ai-prompt-inner{ max-width:var(--qz-ng-narrow-width); margin:0 auto; padding:3.5rem 1.5rem; text-align:center; }
.qz-ng-ai-prompt .qz-m-ai-section{ max-width:var(--qz-ng-narrow-width); margin:0 auto; padding:3rem 1.5rem; text-align:center; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius); box-shadow:var(--qz-ng-shadow-lg); }
@media(min-width:768px){ .qz-ng-ai-prompt .qz-m-ai-section{ padding:3.5rem 2.5rem; } }
.qz-ng-ai-prompt .qz-m-section-title{ font-family:var(--qz-ng-font-display); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600; margin-bottom:0.75rem; color:var(--qz-ng-text); }
.qz-ng-ai-prompt .qz-m-ai-desc{ color:var(--qz-ng-text-secondary); margin-bottom:1.75rem; font-size:1rem; line-height:1.75; }
.qz-ng-ai-prompt .qz-m-ai-box{ display:flex; flex-direction:column; gap:1rem; }
.qz-ng-ai-prompt textarea{ width:100%; min-height:140px; background:var(--qz-ng-bg-warm); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius-sm); color:var(--qz-ng-text); padding:1rem; font-size:0.9rem; line-height:1.7; resize:vertical; margin-bottom:0.5rem; }
.qz-ng-ai-prompt .qz-m-ai-copy{ display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; align-self:center; padding:0.9rem 1.6rem; background:var(--qz-ng-green); color:#fff; border:none; border-radius:var(--qz-ng-radius-pill); font-size:0.9rem; font-weight:600; cursor:pointer; transition:all 0.25s ease; }
.qz-ng-ai-prompt .qz-m-ai-copy:hover{ background:#2f473f; transform:translateY(-2px); }
.qz-ng-ai-prompt .qz-m-ai-copy svg{ width:1.1em; height:1.1em; }
.qz-ng-ai-prompt .qz-m-ai-cta{ margin-top:1.5rem; }
.qz-ng-ai-prompt .qz-m-ai-cta-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.35rem; width:100%; padding:1.1rem 1.5rem; background:var(--qz-ng-green); color:#fff !important; text-decoration:none; border-radius:var(--qz-ng-radius-pill); transition:all 0.25s ease; box-shadow:0 8px 24px rgba(61,90,80,0.18); text-shadow:0 1px 2px rgba(0,0,0,0.12); }
.qz-ng-ai-prompt .qz-m-ai-cta-btn:hover{ background:#2f473f; transform:translateY(-2px); box-shadow:0 12px 32px rgba(61,90,80,0.24); }
.qz-ng-ai-prompt .qz-m-ai-cta-main{ font-size:1.1rem; font-weight:700; line-height:1.3; color:#fff !important; }
.qz-ng-ai-prompt .qz-m-ai-cta-sub{ font-size:0.9rem; font-weight:500; opacity:0.92; color:#fff !important; }

/* 结果页字号下限保护：正文相关元素不小于 0.9rem */
.qz-ng-result-page,.qz-ng-result-page p,.qz-ng-result-page li,.qz-ng-result-page .qz-ng-info-card p,.qz-ng-result-page .qz-ng-timeline-body p,.qz-ng-result-page .qz-ng-article-section li{ font-size:clamp(0.9rem,1vw,1.05rem); margin-bottom:1rem; }
.qz-ng-result-page h4,.qz-ng-result-page h5{ font-size:clamp(1rem,1.2vw,1.15rem); }

/* 浮动导航 + 返回顶部 */
.qz-ng-float-nav{ position:fixed; right:1.5rem; bottom:1.5rem; z-index:999; display:flex; flex-direction:column; align-items:flex-end; gap:0.75rem; }
.qz-ng-float-nav-panel{ position:absolute; right:0; bottom:4.5rem; width:16rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border); border-radius:var(--qz-ng-radius); box-shadow:var(--qz-ng-shadow-lg); padding:1rem; opacity:0; transform:translateY(10px); pointer-events:none; transition:all 0.25s ease; }
.qz-ng-float-nav-panel.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
.qz-ng-float-nav-panel.force-closed{ opacity:0 !important; pointer-events:none !important; }
.qz-ng-float-nav-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:0.75rem; padding-bottom:0.75rem; border-bottom:1px solid var(--qz-ng-border-subtle); }
.qz-ng-float-nav-brand{ font-family:var(--qz-ng-font-mono); font-size:0.8rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:var(--qz-ng-accent); }
.qz-ng-float-nav-brand small{ display:inline-block; margin-left:0.5rem; font-size:0.65rem; font-weight:700; color:var(--qz-ng-green); background:var(--qz-ng-green-soft); padding:0.15rem 0.4rem; border-radius:var(--qz-ng-radius-pill); letter-spacing:0.04em; text-transform:none; vertical-align:middle; }
.qz-ng-float-nav-close{ display:inline-flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; border:none; background:transparent; color:var(--qz-ng-text-muted); cursor:pointer; border-radius:50%; transition:all 0.2s; }
.qz-ng-float-nav-close:hover{ background:var(--qz-ng-bg-2); color:var(--qz-ng-text); }
.qz-ng-float-nav-list{ list-style:none; margin:0; padding:0; max-height:min(32rem, calc(100vh - 12rem)); overflow-y:auto; }
.qz-ng-float-nav-list li{ border-bottom:1px solid var(--qz-ng-border-subtle); }
.qz-ng-float-nav-list li:last-child{ border-bottom:none; }
.qz-ng-float-nav-list a{ display:block; padding:0.75rem 0.6rem; color:var(--qz-ng-text-secondary); font-size:0.9rem; font-weight:500; text-decoration:none; transition:all 0.15s; border-radius:var(--qz-ng-radius-sm); border-left:3px solid transparent; }
.qz-ng-float-nav-list a:hover{ background:var(--qz-ng-bg-warm); color:var(--qz-ng-green); }
.qz-ng-float-nav-list a.active{ background:var(--qz-ng-green-soft); color:var(--qz-ng-green); border-left-color:var(--qz-ng-green); font-weight:700; }
.qz-ng-float-nav-list a.qz-ng-float-nav-ai{ position:relative; color:var(--qz-ng-accent); font-weight:600; }
.qz-ng-float-nav-list a.qz-ng-float-nav-ai::before{ content:'✦'; margin-right:0.35rem; color:var(--qz-ng-accent); }
.qz-ng-float-nav-list a.qz-ng-float-nav-ai:hover{ background:var(--qz-ng-accent-soft); color:#9a7a48; }
.qz-ng-float-nav-list a.qz-ng-float-nav-ai.active{ background:var(--qz-ng-accent-soft); color:var(--qz-ng-accent); border-left-color:var(--qz-ng-accent); }
.qz-ng-float-nav-toggle,.qz-ng-float-nav-top{ display:inline-flex; align-items:center; justify-content:center; width:3rem; height:3rem; border-radius:50%; border:none; background:var(--qz-ng-surface); color:var(--qz-ng-green); box-shadow:var(--qz-ng-shadow); cursor:pointer; transition:all 0.25s ease; }
.qz-ng-float-nav-toggle:hover,.qz-ng-float-nav-top:hover{ background:var(--qz-ng-green); color:#fff; transform:translateY(-2px); }
.qz-ng-float-nav-top{ background:var(--qz-ng-accent); color:#fff; }
.qz-ng-float-nav-top:hover{ background:#9a7a48; }
.qz-ng-float-nav-panel.open ~ .qz-ng-float-nav-toggle{ display:none; }
@media(min-width:1300px){ .qz-ng-float-nav-panel{ width:18rem; } }
@media(max-width:768px){ .qz-ng-float-nav{ right:1rem; bottom:1rem; } .qz-ng-float-nav-panel{ position:fixed; inset:auto 1rem 5rem 1rem; width:auto; bottom:5rem; max-height:60vh; } }

/* Bong 的碎碎念 */
.qz-ng-bong-note{ position:relative; z-index:1; }
.qz-ng-bong-card{ background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); padding:2rem 1.75rem; box-shadow:var(--qz-ng-shadow); }
@media(min-width:768px){ .qz-ng-bong-card{ padding:2.5rem; } }
.qz-ng-bong-header{ display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.qz-ng-bong-avatar{ display:inline-flex; align-items:center; justify-content:center; width:3.2rem; height:3.2rem; border-radius:50%; background:var(--qz-ng-green-soft); color:var(--qz-ng-green); border:1px solid rgba(61,90,80,0.12); flex-shrink:0; }
.qz-ng-bong-avatar svg{ width:1.5rem; height:1.5rem; }
.qz-ng-bong-info{ flex:1; min-width:0; }
.qz-ng-bong-info h3{ font-family:var(--qz-ng-font-display); font-size:1.35rem; font-weight:600; color:var(--qz-ng-text); margin:0 0 0.25rem; }
.qz-ng-bong-from{ font-size:0.85rem; color:var(--qz-ng-text-muted); margin:0; font-style:italic; }
.qz-ng-bong-logo{ font-family:var(--qz-ng-font-mono); font-size:0.8rem; font-weight:700; letter-spacing:0.05em; color:var(--qz-ng-accent); padding:0.35rem 0.7rem; background:var(--qz-ng-accent-soft); border-radius:var(--qz-ng-radius-pill); }
.qz-ng-bong-content{ font-size:1.05rem; color:var(--qz-ng-text-secondary); line-height:1.9; margin-bottom:1.25rem; }
.qz-ng-bong-content p{ margin-bottom:0.75rem; }
.qz-ng-bong-disclaimer{ font-size:0.85rem; color:var(--qz-ng-text-muted); line-height:1.7; margin:0; padding-top:1.25rem; border-top:1px solid var(--qz-ng-border-subtle); }

/* 推荐其它测试 */
.qz-ng-related-tests{ background:var(--qz-ng-bg-2); border-top:1px solid var(--qz-ng-border); border-bottom:1px solid var(--qz-ng-border); padding-top:4rem; padding-bottom:4rem; margin-top:4rem; }
@media(min-width:768px){ .qz-ng-related-tests{ padding-top:5rem; padding-bottom:5rem; margin-top:5rem; } }
.qz-ng-related-grid{ display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:768px){ .qz-ng-related-grid{ grid-template-columns:repeat(3,1fr); } }
.qz-ng-related-card{ display:flex; align-items:center; gap:1rem; padding:1.5rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius); text-decoration:none; color:var(--qz-ng-text); transition:all 0.25s ease; box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-related-card:hover{ transform:translateY(-4px); border-color:var(--qz-ng-accent); box-shadow:var(--qz-ng-shadow); }
.qz-ng-related-icon{ display:inline-flex; align-items:center; justify-content:center; width:2.8rem; height:2.8rem; border-radius:50%; background:var(--qz-ng-green-soft); color:var(--qz-ng-green); flex-shrink:0; }
.qz-ng-related-icon svg{ width:1.3rem; height:1.3rem; }
.qz-ng-related-body{ flex:1; min-width:0; }
.qz-ng-related-body h4{ font-size:1.05rem; font-weight:700; margin-bottom:0.35rem; color:var(--qz-ng-text); }
.qz-ng-related-body p{ font-size:0.9rem; color:var(--qz-ng-text-secondary); line-height:1.6; margin:0; }
.qz-ng-related-arrow{ font-size:1.25rem; color:var(--qz-ng-accent); }

/* ===== 移动端适配 ===== */
@media(max-width:768px){
  .qz-ng-hero{ padding:4rem 0 3rem; min-height:auto; }
  .qz-ng-hero-inner{ gap:2.5rem; }
  .qz-ng-hero-title .line:nth-child(2){ padding-left:0; }
  .qz-ng-hero-actions{ flex-direction:column; align-items:stretch; }
  .qz-ng-hero-actions .qz-ng-btn{ width:100%; }
  .qz-ng-hero-stats{ gap:1.75rem; }
  .qz-ng-section{ padding:1.5rem 0; }
  .qz-ng-section-header{ margin-bottom:1.5rem; }
  .qz-ng-result-hero{ padding:2.5rem 0 2rem; }
  .qz-ng-result-hero-inner{ gap:1.75rem; }
  .qz-ng-result-animal .icon{ width:18rem; height:18rem; margin-bottom:1rem; }
  .qz-ng-result-animal .icon svg{ width:4rem; height:4rem; }
  .qz-ng-result-animal .slogan{ font-size:1rem; }
  .qz-ng-result-summary .qz-ng-badge{ margin-bottom:1rem; }
  .qz-ng-result-summary h1{ font-size:clamp(2rem,8vw,3rem); margin-bottom:0.75rem; }
  .qz-ng-result-summary p{ font-size:1rem; margin-bottom:1rem; }
  .qz-ng-result-footer-inner{ text-align:center; }
  .qz-ng-result-actions{ justify-content:center; }
  .qz-ng-rects{ gap:0.45rem; }
  .qz-ng-features-grid,.qz-ng-dimensions-grid,.qz-ng-results-grid,.qz-ng-card-grid{ grid-template-columns:1fr; }
  .qz-ng-science-card{ grid-template-columns:1fr; }
  .qz-ng-science-visual{ border-right:none; border-bottom:1px solid var(--qz-ng-border-subtle); }
  .qz-ng-app .qz-m-test-page{ padding:2rem 1rem 4rem; }
  .qz-ng-app .qz-bubble-scale{ padding:0.25rem 0 0.75rem; }
  .qz-ng-app .qz-bubble-top-labels{ margin-bottom:1rem; font-size:0.85rem; }
  .qz-ng-app .qz-bubble-row{ gap:0.5rem; }
  .qz-ng-app .qz-bubbles{ gap:0.35rem; }
  .qz-ng-app .qz-bubble-size-0{ flex:1; }
  .qz-ng-app .qz-bubble-size-1{ flex:1.45; }
  .qz-ng-app .qz-bubble-size-2{ flex:2; }
  .qz-ng-app .qz-bubble-size-3{ flex:2.35; }
  .qz-ng-app .qz-bubble-check{ width:1.5rem; height:1.5rem; }
  .qz-ng-app .qz-bubble-check svg{ width:0.85rem; height:0.85rem; }
  .qz-ng-detailed-visual{ display:none; }
}

/* ===== 工具类 ===== */
.qz-ng-text-accent{ color:var(--qz-ng-accent); }
.qz-ng-text-green{ color:var(--qz-ng-green); }
.qz-ng-text-muted{ color:var(--qz-ng-text-muted); }
.qz-ng-text-center{ text-align:center; }
.qz-ng-mb-0{ margin-bottom:0; }
.qz-ng-mb-1{ margin-bottom:1rem; }
.qz-ng-mb-2{ margin-bottom:2rem; }

/* 可信度低时重新测试按钮 */
.qz-ng-confidence-retake{ margin-top:1.5rem; padding-top:1.25rem; border-top:1px dashed var(--qz-ng-border); }
.qz-ng-confidence-retake p{ font-size:0.95rem; color:var(--qz-ng-text-secondary); margin:0 0 1rem; line-height:1.7; }
.qz-ng-confidence-retake .qz-ng-btn{ padding:0.85rem 1.8rem; }

/* 国际社交分享组件 */
.qz-ng-share-section{ position:relative; z-index:1; }
.qz-ng-share-card{ display:grid; grid-template-columns:1fr; gap:1.75rem; align-items:center; max-width:var(--qz-ng-content-width); margin:0 auto; padding:2rem 1.75rem; background:var(--qz-ng-surface); border:1px solid var(--qz-ng-border-subtle); border-radius:var(--qz-ng-radius-lg); box-shadow:var(--qz-ng-shadow); }
@media(min-width:768px){ .qz-ng-share-card{ grid-template-columns:auto 1fr; padding:2.25rem 2.5rem; gap:2.5rem; } }
.qz-ng-share-preview{ width:100%; max-width:16rem; aspect-ratio:1200/630; border-radius:var(--qz-ng-radius); overflow:hidden; border:1px solid var(--qz-ng-border-subtle); background:var(--qz-ng-bg-2); }
.qz-ng-share-preview img{ width:100%; height:100%; object-fit:cover; }
.qz-ng-share-body{ text-align:center; }
@media(min-width:768px){ .qz-ng-share-body{ text-align:left; } }
.qz-ng-share-body h3{ font-family:var(--qz-ng-font-display); font-size:clamp(1.5rem,3vw,2rem); font-weight:600; color:var(--qz-ng-text); margin:0 0 0.5rem; }
.qz-ng-share-body > p{ font-size:1rem; color:var(--qz-ng-text-secondary); line-height:1.7; margin:0 0 1.25rem; }
.qz-ng-share-btns{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0.6rem; }
@media(min-width:768px){ .qz-ng-share-btns{ justify-content:flex-start; } }
.qz-ng-share-btn{ display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; width:2.75rem; height:2.75rem; border-radius:50%; border:1px solid var(--qz-ng-border); background:var(--qz-ng-surface-2); color:var(--qz-ng-text-secondary); cursor:pointer; transition:all 0.2s ease; }
.qz-ng-share-btn:hover{ transform:translateY(-2px); background:var(--qz-ng-surface); box-shadow:var(--qz-ng-shadow-sm); }
.qz-ng-share-btn svg{ width:1.1rem; height:1.1rem; }
.qz-ng-share-copy{ width:auto; padding:0 1.1rem; border-radius:var(--qz-ng-radius-pill); font-size:0.85rem; font-weight:600; color:var(--qz-ng-green); border-color:var(--qz-ng-green); background:rgba(61,90,80,0.06); }
.qz-ng-share-copy:hover{ background:var(--qz-ng-green); color:#fff; }
.qz-ng-share-copy .qz-ng-share-label{ white-space:nowrap; }
/* 各平台品牌色悬停 */
.qz-ng-share-btn[data-act="twitter"]:hover{ color:#000; border-color:#000; background:rgba(0,0,0,0.04); }
.qz-ng-share-btn[data-act="facebook"]:hover{ color:#1877f2; border-color:#1877f2; background:rgba(24,119,242,0.06); }
.qz-ng-share-btn[data-act="linkedin"]:hover{ color:#0a66c2; border-color:#0a66c2; background:rgba(10,102,194,0.06); }
.qz-ng-share-btn[data-act="whatsapp"]:hover{ color:#25d366; border-color:#25d366; background:rgba(37,211,102,0.06); }
.qz-ng-share-btn[data-act="telegram"]:hover{ color:#08c; border-color:#08c; background:rgba(0,136,204,0.06); }
/* 复制提示 */
.qz-ng-share-tip{ position:fixed; left:50%; bottom:2rem; transform:translateX(-50%) translateY(1rem); z-index:9999; padding:0.7rem 1.4rem; background:var(--qz-ng-text); color:#fff; border-radius:var(--qz-ng-radius-pill); font-size:0.9rem; font-weight:500; opacity:0; pointer-events:none; transition:opacity 0.25s ease, transform 0.25s ease; box-shadow:var(--qz-ng-shadow); }
.qz-ng-share-tip.show{ opacity:1; transform:translateX(-50%) translateY(0); }
@media(max-width:768px){
  .qz-ng-share-card{ padding:1.5rem; gap:1.25rem; }
  .qz-ng-share-preview{ max-width:12rem; margin:0 auto; }
  .qz-ng-share-body h3{ font-size:1.35rem; }
  .qz-ng-share-btns{ gap:0.5rem; }
  .qz-ng-share-btn{ width:2.5rem; height:2.5rem; }
  .qz-ng-share-copy{ flex:1 1 100%; width:100%; border-radius:var(--qz-ng-radius); }
}

/* Sleep 模板 - 午夜森林主题（默认）：深林绿点缀 */
.qz-ng-midnight{
  --qz-ng-bg:#f5f4f0;
  --qz-ng-bg-2:#eae8e2;
  --qz-ng-bg-warm:#faf9f5;
  --qz-ng-surface:#ffffff;
  --qz-ng-surface-2:#f8f7f3;
  --qz-ng-border:#dad7ce;
  --qz-ng-border-subtle:#ebe9e2;
  --qz-ng-text:#1e2b25;
  --qz-ng-text-secondary:#5b685f;
  --qz-ng-text-muted:#889286;
  --qz-ng-accent:#a67c48;
  --qz-ng-green:#3a554b;
  --qz-ng-sage:#758f73;
}
