.qzdiag {
  --qz-text: #1f2937;
  --qz-muted: #667085;
  --qz-line: #e5e7eb;
  --qz-bg: #f7f8fa;
  --qz-card: #ffffff;
  --qz-accent: #b96a21;
  --qz-accent-strong: #934d12;
  --qz-dark: #28323c;
  --qz-ok: #4f7b68;
  --qz-radius: 18px;
  max-width: 860px;
  margin: 32px auto;
  color: var(--qz-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.7;
}
.qzdiag * { box-sizing: border-box; }
.qzdiag button, .qzdiag a { font: inherit; }
.qzdiag__panel {
  background: var(--qz-card);
  border: 1px solid var(--qz-line);
  border-radius: var(--qz-radius);
  box-shadow: 0 10px 30px rgba(31,41,55,.07);
  overflow: hidden;
}
.qzdiag__hero { padding: 42px 38px 34px; background: linear-gradient(180deg,#fff 0%,#fbf7f2 100%); }
.qzdiag__eyebrow { margin: 0 0 8px; color: var(--qz-accent-strong); font-weight: 700; font-size: 14px; letter-spacing: .05em; }
.qzdiag h2 { margin: 0 0 14px; font-size: clamp(26px,4.2vw,40px); line-height: 1.3; color: var(--qz-dark); }
.qzdiag__lead { font-size: 17px; margin: 0 0 10px; }
.qzdiag__note { color: var(--qz-muted); font-size: 14px; margin: 0; }
.qzdiag__areas { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 24px 0 6px; }
.qzdiag__area-chip { padding: 10px 8px; border-radius: 10px; background:#fff; border:1px solid #eadbcf; text-align:center; font-weight:700; font-size:14px; }
.qzdiag__hero-actions { margin-top: 28px; display:flex; gap:12px; flex-wrap:wrap; }
.qzdiag__btn { appearance:none; border:0; border-radius:999px; padding:14px 24px; cursor:pointer; text-decoration:none!important; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; transition:.18s ease; }
.qzdiag__btn--primary { background:var(--qz-accent); color:#fff!important; }
.qzdiag__btn--primary:hover { background:var(--qz-accent-strong); transform:translateY(-1px); }
.qzdiag__btn--secondary { background:#fff; color:var(--qz-dark)!important; border:1px solid var(--qz-line); }
.qzdiag__btn--ghost { background:transparent; color:var(--qz-muted)!important; border:1px solid var(--qz-line); }
.qzdiag__quiz { padding: 28px 38px 38px; }
.qzdiag__progress-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; color:var(--qz-muted); font-size:14px; }
.qzdiag__progress { height:8px; background:#eee; border-radius:999px; overflow:hidden; margin-bottom:28px; }
.qzdiag__progress > span { display:block; height:100%; width:0; background:var(--qz-accent); transition:width .25s ease; }
.qzdiag__question-no { font-size:13px; color:var(--qz-accent-strong); font-weight:700; margin-bottom:6px; }
.qzdiag__question { font-size:23px; line-height:1.5; font-weight:700; margin:0 0 24px; color:var(--qz-dark); }
.qzdiag__answers { display:grid; gap:12px; }
.qzdiag__answer { width:100%; text-align:left; background:#fff; border:1px solid var(--qz-line); border-radius:14px; padding:16px 18px; cursor:pointer; font-weight:700; color:var(--qz-text); transition:.15s ease; }
.qzdiag__answer:hover, .qzdiag__answer:focus { border-color:var(--qz-accent); background:#fffaf5; outline:none; }
.qzdiag__answer small { display:block; color:var(--qz-muted); font-weight:400; margin-top:2px; }
.qzdiag__quiz-nav { margin-top:18px; }
.qzdiag__result { padding: 34px 38px 40px; }
.qzdiag__result-kicker { color:var(--qz-accent-strong); font-weight:700; margin-bottom:6px; }
.qzdiag__result h3 { font-size:30px; line-height:1.4; margin:0 0 14px; color:var(--qz-dark); }
.qzdiag__result-summary { font-size:17px; margin:0 0 26px; }
.qzdiag__score-wrap { display:grid; grid-template-columns: 260px 1fr; gap:28px; align-items:center; margin: 26px 0 34px; }
.qzdiag__radar { width:100%; max-width:260px; margin:auto; }
.qzdiag__radar svg { width:100%; height:auto; overflow:visible; }
.qzdiag__radar-label { font-size:12px; fill:var(--qz-text); font-weight:700; }
.qzdiag__score-list { display:grid; gap:11px; }
.qzdiag__score-item { display:grid; grid-template-columns: 120px 1fr 44px; gap:10px; align-items:center; }
.qzdiag__score-label { font-weight:700; font-size:14px; }
.qzdiag__score-track { height:10px; background:#eee; border-radius:99px; overflow:hidden; }
.qzdiag__score-bar { height:100%; background:var(--qz-dark); border-radius:99px; }
.qzdiag__score-item.is-low .qzdiag__score-bar { background:var(--qz-accent); }
.qzdiag__score-val { text-align:right; font-weight:700; }
.qzdiag__actions-box { background:var(--qz-bg); border-radius:14px; padding:22px 24px; margin:0 0 24px; }
.qzdiag__actions-box h4 { margin:0 0 10px; font-size:19px; }
.qzdiag__actions-box ol { margin:0; padding-left:1.4em; }
.qzdiag__actions-box li + li { margin-top:5px; }
.qzdiag__cta { border-top:1px solid var(--qz-line); padding-top:26px; margin-top:28px; }
.qzdiag__cta h4 { margin:0 0 8px; font-size:21px; }
.qzdiag__cta p { margin:0 0 16px; color:var(--qz-muted); }
.qzdiag__cta-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.qzdiag__disclaimer { color:var(--qz-muted); font-size:12px; margin-top:24px; }
.qzdiag__hidden { display:none!important; }
.qzdiag__restart { margin-top:18px; }
@media (max-width:700px){
  .qzdiag { margin:16px auto; }
  .qzdiag__hero, .qzdiag__quiz, .qzdiag__result { padding-left:20px; padding-right:20px; }
  .qzdiag__areas { grid-template-columns:repeat(2,1fr); }
  .qzdiag__score-wrap { grid-template-columns:1fr; }
  .qzdiag__score-item { grid-template-columns: 104px 1fr 40px; }
  .qzdiag__question { font-size:20px; }
  .qzdiag__btn { width:100%; }
  .qzdiag__cta-buttons { display:grid; }
}

/* v1.1: result guidance, tied results, homepage entry and compact CTAs */
.qzdiag__result-guidance{margin:0 0 8px;color:var(--qz-muted);font-size:14px;}
.qzdiag__score-note{background:#fffaf5;border:1px solid #eadbcf;border-radius:12px;padding:12px 14px;margin:-14px 0 24px;font-size:13px;color:var(--qz-muted);}
.qzdiag__multi-results{display:grid;gap:16px;margin:18px 0 26px;}
.qzdiag__result-card{border:1px solid var(--qz-line);border-radius:14px;padding:20px;background:#fff;}
.qzdiag__result-card-label{font-size:13px;font-weight:700;color:var(--qz-accent-strong);margin-bottom:4px;}
.qzdiag__result-card h4{margin:0 0 8px;font-size:20px;color:var(--qz-dark);}
.qzdiag__result-card p{margin:0 0 14px;}
.qzdiag__result-card .qzdiag__actions-box{margin:0;background:var(--qz-bg);}

.qzdiag-entry{max-width:980px;margin:36px auto;padding:30px;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbf7f2 100%);box-shadow:0 10px 30px rgba(31,41,55,.06);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#1f2937;}
.qzdiag-entry__head{text-align:center;max-width:720px;margin:0 auto 24px;}
.qzdiag-entry__eyebrow{margin:0 0 6px;color:#934d12;font-size:13px;font-weight:700;letter-spacing:.05em;}
.qzdiag-entry__head h2{margin:0 0 10px;font-size:clamp(24px,4vw,34px);line-height:1.35;color:#28323c;}
.qzdiag-entry__head p:last-child{margin:0;color:#667085;}
.qzdiag-entry__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.qzdiag-entry__card{display:flex;flex-direction:column;gap:5px;padding:22px;border:1px solid #eadbcf;border-radius:14px;background:#fff;text-decoration:none!important;color:#1f2937!important;transition:.18s ease;}
.qzdiag-entry__card:hover{transform:translateY(-2px);border-color:#b96a21;box-shadow:0 8px 24px rgba(31,41,55,.07);}
.qzdiag-entry__card strong{font-size:13px;color:#934d12;}
.qzdiag-entry__card span{font-size:20px;font-weight:700;color:#28323c;}
.qzdiag-entry__card small{color:#667085;line-height:1.6;}
.qzdiag-mini-cta{max-width:860px;margin:28px auto;padding:18px 20px;border:1px solid #eadbcf;border-radius:14px;background:#fffaf5;display:flex;align-items:center;justify-content:space-between;gap:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;}
.qzdiag-mini-cta div{display:flex;flex-direction:column;gap:3px;}
.qzdiag-mini-cta strong{font-size:18px;color:#28323c;}
.qzdiag-mini-cta span{font-size:14px;color:#667085;}
.qzdiag-mini-cta a{flex:0 0 auto;border-radius:999px;padding:11px 18px;background:#b96a21;color:#fff!important;text-decoration:none!important;font-weight:700;}
@media(max-width:700px){.qzdiag-entry{margin:20px auto;padding:20px}.qzdiag-entry__grid{grid-template-columns:1fr}.qzdiag-mini-cta{flex-direction:column;align-items:stretch}.qzdiag-mini-cta a{text-align:center}}
