:root {
  --ink: #18372b;
  --muted: #63746b;
  --paper: #fffdf6;
  --cream: #f7f0df;
  --green: #26734f;
  --green-dark: #174b34;
  --green-soft: #dceede;
  --leaf: #72a66f;
  --orange: #dc7a3f;
  --orange-soft: #fbe4ce;
  --gold: #d5a438;
  --yellow: #fff2b8;
  --red: #b94a3f;
  --blue: #39799a;
  --line: rgba(24, 55, 43, .14);
  --shadow: 0 22px 60px rgba(40, 62, 45, .12);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
  color: var(--ink);
  background: var(--cream);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 5%, rgba(255, 205, 109, .28), transparent 25rem),
    radial-gradient(circle at 92% 18%, rgba(86, 159, 104, .18), transparent 28rem),
    linear-gradient(180deg, #fffaf0 0%, #f4eddd 100%);
}
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #efb440; outline-offset: 3px; }

.skip-link { position: fixed; left: 12px; top: -80px; z-index: 99; padding: 10px 16px; border-radius: 8px; color: white; background: var(--green-dark); }
.skip-link:focus { top: 12px; }

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 12px max(18px, calc((100vw - 1440px) / 2));
  border-bottom: 1px solid rgba(24, 75, 52, .12);
  background: rgba(255, 253, 246, .92);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; color: inherit; text-decoration: none; }
.brand-logo { display: block; flex: 0 0 48px; width: 48px; height: 48px; border: 2px solid #d9b558; border-radius: 15px; object-fit: cover; background: #11100f; box-shadow: 0 7px 18px rgba(40, 42, 35, .22); }
.brand-seal { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; border: 2px solid #fff; border-radius: 15px; color: white; font-family: Georgia, "STKaiti", serif; font-size: 25px; font-weight: 800; background: linear-gradient(145deg, var(--green), var(--green-dark)); box-shadow: 0 7px 18px rgba(23, 75, 52, .22); transform: rotate(-2deg); }
.brand-copy { min-width: 0; }
.brand strong, .brand small { display: block; }
.brand strong { overflow: hidden; font-size: 18px; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.brand small { overflow: hidden; max-width: 460px; margin-top: 3px; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.scene-chip, .connection-chip { flex: 0 0 auto; padding: 8px 13px; border: 1px solid rgba(38, 115, 79, .18); border-radius: 999px; color: var(--green-dark); font-size: 13px; font-weight: 800; background: var(--green-soft); }

.page-frame { width: min(1440px, 100%); min-height: calc(100vh - 140px); margin: 0 auto; padding: clamp(18px, 3vw, 42px); }
.app-shell { min-height: 520px; }
.site-footer { padding: 20px; color: #6c786f; text-align: center; font-size: 13px; }
.site-footer p { margin: 0; }

.boot-card, .calculating-card, .fatal-card { display: grid; min-height: 460px; place-content: center; justify-items: center; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-xl); text-align: center; background: rgba(255, 253, 246, .9); box-shadow: var(--shadow); }
.boot-card p, .calculating-card p, .fatal-card p { color: var(--muted); }
.calculating-card h1, .fatal-card h1 { margin: 8px 0 4px; }
.spinner { display: block; width: 34px; height: 34px; border: 4px solid rgba(38, 115, 79, .16); border-top-color: var(--green); border-radius: 50%; animation: spin .8s linear infinite; }
.spinner.small { width: 24px; height: 24px; border-width: 3px; }
@keyframes spin { to { transform: rotate(360deg); } }

.eyebrow, .step-kicker, .print-kicker { margin: 0 0 8px; color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }

.intro-view { display: grid; gap: 24px; }
.intro-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: clamp(30px, 5vw, 76px); overflow: hidden; min-height: 590px; padding: clamp(32px, 6vw, 82px); border: 1px solid rgba(38, 115, 79, .13); border-radius: 38px; background: linear-gradient(135deg, rgba(255, 253, 246, .97), rgba(235, 242, 218, .93)); box-shadow: var(--shadow); }
.intro-hero::before { position: absolute; right: -100px; bottom: -150px; width: 430px; height: 430px; border: 56px solid rgba(229, 153, 70, .12); border-radius: 50%; content: ""; }
.intro-copy { position: relative; z-index: 2; align-self: center; }
.intro-copy h1 { max-width: 760px; margin: 14px 0 24px; font-family: "STKaiti", "KaiTi", serif; font-size: clamp(38px, 5vw, 68px); line-height: 1.08; letter-spacing: -.03em; }
.intro-copy h1 em { color: var(--orange); font-style: normal; }
.intro-lead { max-width: 700px; margin: 0; color: #4e6359; font-size: clamp(16px, 1.7vw, 20px); line-height: 1.85; }
.intro-actions { display: flex; align-items: center; gap: 18px; margin-top: 30px; }
.intro-actions span { color: var(--muted); font-size: 14px; }
.trust-strip { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.trust-strip span { padding: 8px 12px; border-radius: 10px; color: var(--green-dark); font-size: 13px; font-weight: 800; background: rgba(220, 238, 222, .8); }
.intro-visual { position: relative; z-index: 2; display: grid; align-content: center; gap: 14px; }
.intro-visual article { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 0 16px; padding: 20px 22px; border: 1px solid rgba(23, 75, 52, .12); border-radius: 18px; background: rgba(255, 255, 255, .88); box-shadow: 0 12px 30px rgba(42, 72, 49, .1); }
.intro-visual article:nth-of-type(2) { transform: translateX(24px); }
.intro-visual b { grid-row: 1 / 3; align-self: center; color: var(--orange); font-family: Georgia, serif; font-size: 28px; }
.intro-visual strong { font-size: 18px; }
.intro-visual p { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.sun-shape { position: absolute; right: 4%; top: 1%; width: 118px; height: 118px; border: 25px solid rgba(232, 157, 71, .19); border-radius: 50%; }

.standard-banner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: center; padding: 28px 34px; border-radius: var(--radius-lg); color: white; background: linear-gradient(120deg, var(--green-dark), #2c7954); box-shadow: 0 18px 36px rgba(23, 75, 52, .18); }
.standard-banner .eyebrow { color: #f2cf7c; }
.standard-banner h2 { margin: 0; font-size: clamp(20px, 2vw, 28px); }
.standard-banner > p { margin: 0; color: #eaf3ec; line-height: 1.75; }
.boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.boundary-grid article { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255, 253, 246, .9); }
.boundary-grid article > span { font-size: 30px; }
.boundary-grid h3 { margin: 12px 0 8px; }
.boundary-grid p { margin: 0; color: var(--muted); line-height: 1.7; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; padding: 11px 22px; border: 1px solid rgba(23, 75, 52, .18); border-radius: 13px; color: var(--green-dark); font-weight: 900; cursor: pointer; background: #fffdf6; box-shadow: 0 4px 0 rgba(23, 75, 52, .11); transition: transform .16s ease, box-shadow .16s ease, filter .16s ease; }
.button:hover { transform: translateY(-1px); filter: saturate(1.06); }
.button:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(23, 75, 52, .1); }
.button.primary { border-color: var(--green-dark); color: white; background: linear-gradient(145deg, #318461, var(--green-dark)); box-shadow: 0 5px 0 #103b28, 0 12px 20px rgba(23, 75, 52, .18); }
.button.secondary { color: #8a4329; border-color: rgba(184, 86, 43, .25); background: #fff4e8; box-shadow: 0 4px 0 rgba(184, 86, 43, .12); }
.button.success { border-color: #176a42; color: white; background: #238354; }
.button.large { min-height: 58px; padding-inline: 30px; font-size: 17px; }
.button:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(.2); transform: none; box-shadow: none; }
.text-button { padding: 6px 3px; border: 0; color: var(--green); font-weight: 900; text-decoration: underline; cursor: pointer; background: transparent; }

.assessment-layout { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.5fr); gap: 24px; align-items: start; }
.guide-panel { position: sticky; top: 100px; overflow: hidden; min-height: 470px; padding: clamp(28px, 4vw, 48px); border-radius: var(--radius-xl); color: white; background: linear-gradient(155deg, var(--green-dark), #2f8059 72%, #5d9f67); box-shadow: var(--shadow); }
.guide-panel::after { position: absolute; right: -70px; bottom: -70px; width: 230px; height: 230px; border: 36px solid rgba(255, 216, 128, .13); border-radius: 50%; content: ""; }
.guide-panel .eyebrow { color: #ffd88b; }
.guide-panel h1 { position: relative; z-index: 1; margin: 14px 0 18px; font-family: "STKaiti", "KaiTi", serif; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.12; }
.guide-panel > p { position: relative; z-index: 1; color: rgba(255,255,255,.84); line-height: 1.8; }
.guide-note { position: relative; z-index: 1; display: grid; gap: 7px; margin-top: 28px; padding: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.09); }
.guide-note strong { color: #ffd88b; }
.guide-note span { color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.65; }
.mini-trust { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.mini-trust li { padding: 6px 9px; border-radius: 8px; color: #f2f7f3; font-size: 12px; background: rgba(255,255,255,.1); }

.question-panel { min-width: 0; padding: clamp(22px, 3.2vw, 42px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: rgba(255, 253, 246, .95); box-shadow: var(--shadow); }
.progress-zone { margin-bottom: 30px; }
.progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; color: var(--muted); font-size: 13px; font-weight: 800; }
.progress-track { overflow: hidden; height: 9px; border-radius: 99px; background: #e6e4d7; }
.progress-track span { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--orange), #e3b238 45%, var(--green)); transition: width .35s ease; }
.panel-heading { margin-bottom: 28px; }
.panel-heading h2 { margin: 4px 0 8px; font-size: clamp(25px, 2.8vw, 36px); line-height: 1.2; }
.panel-heading > p:not(.step-kicker) { margin: 0; color: var(--muted); line-height: 1.65; }
.step-kicker { color: var(--orange); }

.choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.choice-grid.branch-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
.choice-grid.compact { grid-template-columns: repeat(4, minmax(100px, 1fr)); }
.choice-grid.small { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.choice-button { display: flex; min-height: 58px; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid rgba(30, 75, 55, .17); border-radius: 13px; color: var(--ink); text-align: left; cursor: pointer; background: #fff; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.choice-button:hover { border-color: rgba(38, 115, 79, .45); transform: translateY(-1px); }
.choice-button.is-selected { border-color: var(--green); color: var(--green-dark); background: var(--green-soft); box-shadow: inset 0 0 0 1px var(--green); }
.choice-dot { display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border: 2px solid #9eaaa2; border-radius: 50%; background: white; }
.choice-button.is-selected .choice-dot { border: 6px solid var(--green); }
.choice-button strong { font-size: 15px; }
.form-actions { display: flex; justify-content: space-between; gap: 14px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.form-actions .button:last-child { margin-left: auto; }
.form-error { display: none; margin: 14px 0 0; padding: 11px 14px; border-radius: 10px; color: #8b2f2b; font-size: 14px; background: #ffe4df; }
.form-error.is-visible, .token-form .form-error:not(:empty) { display: block; }

.question-stack { display: grid; gap: 16px; }
.question-card { min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.question-card legend { display: flex; width: 100%; align-items: flex-start; gap: 11px; padding: 0 4px; font-size: 17px; font-weight: 900; line-height: 1.55; }
.question-card legend span { flex: 0 0 auto; color: var(--orange); font-family: Georgia, serif; font-size: 20px; }
.answer-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 15px; }
.answer-button { display: grid; min-height: 54px; place-content: center; padding: 8px 5px; border: 1px solid #d8ddd7; border-radius: 11px; color: #495b51; cursor: pointer; background: #fbfcf8; }
.answer-button strong, .answer-button small { display: block; }
.answer-button strong { font-size: 14px; }
.answer-button small { margin-top: 2px; color: #869088; font-size: 10px; }
.answer-button.is-selected { border-color: var(--green); color: white; background: linear-gradient(145deg, #3b906a, var(--green-dark)); box-shadow: 0 4px 12px rgba(23, 75, 52, .18); }
.answer-button.is-selected small { color: rgba(255,255,255,.78); }

.field-grid { display: grid; gap: 16px; }
.field-grid.three { grid-template-columns: repeat(3, 1fr); }
.field-card { display: grid; gap: 10px; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.field-card > span { font-weight: 900; }
.field-card > div { display: flex; align-items: center; gap: 8px; }
.field-card input { min-width: 0; width: 100%; height: 54px; padding: 10px 12px; border: 2px solid #dfe5df; border-radius: 11px; color: var(--ink); font-size: 21px; font-weight: 900; background: #fbfcf8; }
.field-card b { flex: 0 0 auto; color: var(--muted); font-size: 13px; }
.field-card small { color: var(--muted); }
.lifestyle-stack { display: grid; gap: 16px; }
.mini-question { padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.mini-question h3 { margin: 0 0 13px; font-size: 16px; }
.no-concern { display: flex; width: 100%; min-height: 58px; align-items: center; gap: 12px; padding: 13px 16px; border: 2px dashed #d2a04a; border-radius: 14px; color: #744a17; text-align: left; cursor: pointer; background: var(--yellow); }
.no-concern.is-selected { color: white; border-style: solid; border-color: var(--green); background: var(--green); }
.no-concern span { font-size: 22px; }
.concern-fields { display: grid; gap: 16px; margin-top: 18px; }
.concern-fields.is-disabled { display: none; }
.severity-grid { display: grid; grid-template-columns: repeat(11, 1fr); gap: 7px; }
.severity-button { aspect-ratio: 1; min-width: 0; border: 1px solid #d5ddd7; border-radius: 10px; color: var(--ink); font-weight: 900; cursor: pointer; background: #f9fbf7; }
.severity-button:nth-child(n+8) { background: #fff0e8; }
.severity-button.is-selected { color: white; border-color: var(--orange); background: var(--orange); box-shadow: 0 4px 10px rgba(220, 122, 63, .25); }
.review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.review-grid article { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.review-grid span, .review-grid strong, .review-grid p { display: block; }
.review-grid span { color: var(--orange); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.review-grid strong { margin: 7px 0; font-size: 18px; }
.review-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.review-notice, .operator-tip, .print-tip { margin-top: 18px; padding: 15px 17px; border-left: 5px solid var(--gold); border-radius: 10px; color: #5e4b23; line-height: 1.65; background: #fff4ce; }

.result-view { display: grid; gap: 15px; max-width: 1120px; margin: 0 auto; }
.compact-result-hero { display: grid; gap: 17px; padding: clamp(24px, 3.8vw, 38px); border-radius: 25px; color: white; background: linear-gradient(132deg, #143f2e, #26734f 72%, #d39331); box-shadow: var(--shadow); }
.compact-result-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.compact-result-title .eyebrow { flex: 0 0 auto; margin-bottom: 5px; color: #f5ce78; }
.compact-result-title h1 { margin: 0; font-family: "STKaiti", "KaiTi", serif; font-size: clamp(29px, 4vw, 43px); line-height: 1.16; }
.compact-focus-line { display: flex; align-items: center; gap: 13px; min-width: 0; }
.compact-focus-line > span { flex: 0 0 auto; color: #f6d78d; font-size: 15px; font-weight: 900; }
.focus-pill-list { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 8px; min-width: 0; }
.focus-pill { display: inline-flex; align-items: baseline; gap: 7px; min-width: 0; padding: 9px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; color: #173c2b; background: rgba(255,255,255,.95); }
.focus-pill b { font-size: 16px; line-height: 1.2; white-space: nowrap; }
.focus-pill small { color: #7a4727; font-size: 12px; font-weight: 900; line-height: 1.3; white-space: nowrap; }
.focus-pill.is-neutral { padding-inline: 15px; }
.compact-result-boundary { margin: -2px 0 0; color: rgba(255,255,255,.83); font-size: 14px; font-weight: 700; line-height: 1.6; }
.result-block { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--line); border-radius: 21px; background: rgba(255,253,246,.97); box-shadow: 0 10px 28px rgba(40,62,45,.07); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-heading h2 { margin: 3px 0 0; font-size: clamp(23px, 2.7vw, 31px); }
.section-heading > span { color: var(--muted); font-size: 13px; font-weight: 700; }
.section-heading.compact { margin-bottom: 15px; }
.constitution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.constitution-card { position: relative; isolation: isolate; overflow: hidden; min-width: 0; min-height: 138px; border: 1.5px solid rgba(180,102,48,.2); border-radius: 16px; color: #3f3026; background: #fffaf4; }
.constitution-card.is-balanced { border-color: rgba(38,115,79,.22); color: #153e2d; background: #f5fbf6; }
.constitution-card.is-focus { border-width: 2px; border-color: #bd5f29; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55), 0 5px 14px rgba(128,67,31,.1); }
.constitution-card.is-balanced.is-focus { border-color: #23754f; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55), 0 5px 14px rgba(31,104,69,.1); }
.constitution-water { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: var(--level); background: rgba(220,122,63,var(--water-alpha)); transition: height .55s ease; }
.constitution-card.is-balanced .constitution-water { background: rgba(38,115,79,var(--water-alpha)); }
.constitution-water::before { position: absolute; top: -7px; left: -5%; width: 110%; height: 14px; border-radius: 50%; background: inherit; content: ""; opacity: .86; }
.constitution-card-content { display: grid; min-height: 138px; align-content: space-between; justify-items: start; gap: 5px; padding: 13px 14px; }
.constitution-card strong { font-size: 18px; font-weight: 900; line-height: 1.25; }
.constitution-card b { color: #a54f24; font-size: 14px; line-height: 1; }
.constitution-card b span { font-family: Georgia, "Times New Roman", serif; font-size: 31px; }
.constitution-card.is-balanced b { color: #1d6544; }
.constitution-card small { min-height: 18px; font-size: 13px; font-weight: 900; line-height: 1.35; }
.constitution-legend { margin: 15px 0 0; padding: 11px 13px; border-left: 5px solid var(--gold); border-radius: 9px; color: #574b32; font-size: 15px; font-weight: 650; line-height: 1.68; background: #fff5cf; }
.result-safety-strip { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 12px 18px; padding: 17px 20px; border: 1px solid rgba(185,74,63,.2); border-left: 7px solid var(--red); border-radius: 16px; color: #66322d; background: #fff0e9; box-shadow: 0 7px 20px rgba(90,48,36,.06); }
.result-safety-strip > strong { font-size: 18px; }
.result-safety-strip ul { display: grid; gap: 5px; margin: 0; padding-left: 20px; font-size: 15px; font-weight: 700; line-height: 1.55; }
.result-details { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,253,246,.97); box-shadow: 0 7px 20px rgba(40,62,45,.05); }
.result-details summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 19px; cursor: pointer; list-style: none; }
.result-details summary::-webkit-details-marker { display: none; }
.result-details summary > span { min-width: 0; }
.result-details summary b, .result-details summary small { display: block; }
.result-details summary b { font-size: 18px; line-height: 1.4; }
.result-details summary small { overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.result-details summary i { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: var(--green-dark); font-size: 24px; font-style: normal; background: var(--green-soft); transition: transform .2s ease; }
.result-details[open] summary { border-bottom: 1px solid var(--line); }
.result-details[open] summary i { transform: rotate(45deg); }
.compact-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; padding: 16px; }
.compact-summary-grid article { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.compact-summary-grid span, .compact-summary-grid strong { display: block; }
.compact-summary-grid span { color: var(--orange); font-size: 13px; font-weight: 900; }
.compact-summary-grid strong { margin: 6px 0; font-size: 18px; line-height: 1.45; }
.compact-summary-grid p, .result-details-copy p { margin: 0; color: var(--muted); font-size: 15px; font-weight: 600; line-height: 1.65; }
.result-details-copy { display: grid; gap: 10px; padding: 17px 20px 20px; }
.result-quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.result-quick-actions .button { min-height: 54px; font-size: 17px; }
.result-action-note { margin: 12px 0 0; color: var(--muted); font-size: 14px; font-weight: 650; line-height: 1.6; }
.report-image-feedback { min-height: 22px; margin: 8px 0 0; color: var(--muted); font-size: 14px; font-weight: 750; line-height: 1.55; }
.report-image-feedback:empty { display: none; }
.report-image-feedback.is-working { color: #765116; }
.report-image-feedback.is-success { color: #17603c; }
.report-image-feedback.is-error { color: #8a302b; }
.consent-panel { margin-top: 18px; padding: 22px; border: 1px solid rgba(220,122,63,.25); border-radius: 18px; background: #fff7ee; }
.consent-check { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 18px; cursor: pointer; }
.consent-check input { flex: 0 0 24px; width: 24px; height: 24px; margin: 2px 0 0; accent-color: var(--green); }
.consent-check strong, .consent-check small { display: block; }
.consent-check small { margin-top: 6px; color: var(--muted); line-height: 1.65; }
.send-status { display: flex; align-items: flex-start; gap: 13px; margin-top: 18px; padding: 16px; border-radius: 13px; }
.send-status > span:not(.spinner) { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: white; font-weight: 900; }
.send-status strong, .send-status p { display: block; }
.send-status p { margin: 5px 0 0; line-height: 1.55; }
.send-status.success { color: #175938; background: #ddf3e4; }
.send-status.success > span { background: var(--green); }
.send-status.error { color: #842e2e; background: #ffe2dd; }
.send-status.error > span { background: var(--red); }
.send-status.sending { color: #6b4c17; background: #fff0c7; }
.result-restart { padding: 2px 0 8px; text-align: center; }
.result-restart .text-button { min-height: 44px; padding: 10px 14px; }

.result-interlude { display: grid; min-height: min(690px, calc(100vh - 130px)); place-items: center; }
.interlude-card { position: relative; overflow: hidden; width: min(720px, 100%); padding: clamp(28px, 5vw, 50px); border: 1px solid rgba(38,115,79,.16); border-radius: 28px; text-align: center; background: rgba(255,253,246,.97); box-shadow: var(--shadow); }
.interlude-card::before { position: absolute; top: -120px; right: -95px; width: 260px; height: 260px; border: 42px solid rgba(220,122,63,.09); border-radius: 50%; content: ""; }
.interlude-brand { position: relative; display: inline-flex; align-items: center; gap: 13px; margin-bottom: 25px; text-align: left; }
.interlude-brand img { display: block; width: 64px; height: 64px; border: 2px solid #d9b558; border-radius: 18px; object-fit: cover; background: #11100f; box-shadow: 0 7px 18px rgba(40,42,35,.17); }
.interlude-brand strong, .interlude-brand small { display: block; }
.interlude-brand strong { font-size: 20px; }
.interlude-brand small { margin-top: 4px; color: var(--muted); font-size: 13px; font-weight: 700; }
.interlude-card .eyebrow { margin-bottom: 9px; }
.interlude-card h1 { position: relative; margin: 0; font-family: "STKaiti", "KaiTi", serif; font-size: clamp(29px, 4vw, 41px); line-height: 1.25; }
.interlude-note { margin: 11px auto 24px; color: var(--muted); font-size: 15px; font-weight: 650; line-height: 1.65; }
.interlude-progress-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: var(--muted); font-size: 14px; font-weight: 800; }
.interlude-progress-meta strong { color: var(--green-dark); font-size: 18px; }
.interlude-progress { overflow: hidden; height: 15px; border: 1px solid rgba(23,75,52,.13); border-radius: 999px; background: #e7ebe4; box-shadow: inset 0 2px 4px rgba(28,65,45,.1); }
.interlude-progress > span { display: block; width: var(--interlude-progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d9a333, #df7740 45%, #26734f); box-shadow: 0 0 18px rgba(38,115,79,.24); transition: width .12s linear; }
.interlude-ad { margin-top: 27px; padding: 17px 18px; border: 1px solid rgba(213,164,56,.28); border-radius: 16px; background: linear-gradient(135deg, #fff5cf, #f7ebd5); }
.interlude-ad-kicker { margin: 0; color: #8c591d; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.interlude-message-stage { position: relative; min-height: 38px; margin-top: 7px; }
.interlude-message { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--green-dark); font-size: clamp(17px, 2.6vw, 21px); font-weight: 900; line-height: 1.45; opacity: 0; transform: translateY(8px); transition: opacity .28s ease, transform .28s ease; }
.interlude-message.is-active { opacity: 1; transform: translateY(0); }

body.report-image-open { overflow: hidden; }
.report-image-modal { position: fixed; z-index: 200; inset: 0; display: grid; overflow-y: auto; place-items: center; padding: max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom)); background: rgba(16,30,23,.78); backdrop-filter: blur(8px); }
.report-image-modal[hidden] { display: none; }
.report-image-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 36px); overflow-y: auto; padding: 25px; border: 1px solid rgba(255,255,255,.35); border-radius: 24px; background: #fffdf6; box-shadow: 0 26px 80px rgba(0,0,0,.34); }
.report-image-close { position: sticky; z-index: 2; top: 0; float: right; display: grid; width: 44px; height: 44px; margin: -7px -7px 0 12px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green-dark); font-size: 30px; line-height: 1; cursor: pointer; background: rgba(255,255,255,.96); }
.report-image-copy { padding-right: 35px; }
.report-image-copy h2 { margin: 5px 0 9px; font-size: clamp(25px, 4vw, 34px); }
.report-image-copy > p:last-child { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.report-image-preview { display: grid; margin: 19px auto 16px; place-items: center; }
.report-image-preview img { display: block; width: auto; max-width: 100%; max-height: 58vh; border: 1px solid #cfd7d1; border-radius: 10px; background: white; box-shadow: 0 10px 32px rgba(38,61,46,.16); }
.report-image-modal-actions { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10px; }
.report-image-modal-actions .button { min-height: 52px; font-size: 17px; }

/* Print station */
.station-body { background: #edf0e9; }
.station-frame { width: min(1600px, 100%); margin: 0 auto; padding: 24px; }
.station-head-actions { display: flex; align-items: center; gap: 16px; }
.connection-chip[data-state="online"] { color: #155c39; background: #d8f1e0; }
.connection-chip[data-state="waiting"] { color: #765116; background: #fff0c5; }
.connection-chip[data-state="error"] { color: #8a302b; background: #ffe0dc; }
.station-login { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: center; max-width: 1050px; min-height: 440px; margin: 60px auto; padding: clamp(30px, 5vw, 64px); border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.login-copy h1 { margin: 8px 0 14px; font-size: clamp(32px, 4vw, 48px); }
.login-copy > p:last-child { color: var(--muted); line-height: 1.7; }
.token-form { padding: 25px; border-radius: 20px; background: var(--green-soft); }
.token-form label { display: block; margin-bottom: 9px; font-weight: 900; }
.token-row { display: grid; gap: 11px; }
.token-row input { width: 100%; height: 54px; padding: 10px 13px; border: 2px solid rgba(23,75,52,.18); border-radius: 12px; color: var(--ink); background: white; }
.station-grid { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 20px; align-items: start; }
.queue-panel, .preview-panel { border: 1px solid var(--line); border-radius: 22px; background: var(--paper); box-shadow: 0 12px 30px rgba(34,53,41,.08); }
.queue-panel { position: sticky; top: 98px; overflow: hidden; }
.queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 22px 14px; }
.queue-heading h2 { margin: 3px 0 0; }
.icon-refresh { min-height: 40px; padding: 7px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--green); font-weight: 900; cursor: pointer; background: white; }
.queue-note { margin: 0; padding: 0 22px 18px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.station-operations { margin:0 16px 16px; padding:15px; border:1px solid #d8cec4; border-radius:16px; background:#f8f4ef; }
.station-operations h3 { margin:2px 0 12px; font-size:17px; }
.station-operations dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
.station-operations dl>div { padding:9px; border-radius:10px; background:#fff; }
.station-operations dt { color:#736860; font-size:11px; font-weight:750; }
.station-operations dd { margin:2px 0 0; color:#8f2f22; font-size:22px; font-weight:900; font-variant-numeric:tabular-nums; }
.station-operations>small { display:block; margin-top:10px; color:#6c625b; font-size:11px; font-weight:700; line-height:1.45; word-break:break-all; }
.job-list { display: grid; gap: 9px; max-height: calc(100vh - 280px); overflow: auto; padding: 0 14px 18px; }
.job-card { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.job-card.is-active { border-color: var(--green); background: var(--green-soft); }
.job-card span, .job-card small { color: var(--muted); }
.job-card strong { font-size: 24px; letter-spacing: .12em; }
.job-card button { grid-column: 2; grid-row: 1 / 4; align-self: center; min-height: 42px; padding: 8px 13px; border: 0; border-radius: 10px; color: white; font-weight: 900; cursor: pointer; background: var(--green); }
.empty-queue { padding: 35px 16px; color: var(--muted); text-align: center; }
.preview-panel { min-height: calc(100vh - 122px); padding: 22px; }
.empty-preview { display: grid; min-height: 530px; place-content: center; justify-items: center; color: var(--muted); text-align: center; }
.empty-preview > span { font-size: 52px; }
.empty-preview h2 { margin: 16px 0 4px; color: var(--ink); }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.preview-toolbar h2 { margin: 3px 0 0; }
.preview-toolbar h2 strong { color: var(--orange); letter-spacing: .12em; }
.preview-actions { display: flex; gap: 11px; }
.station-print-preview { overflow: auto; margin-top: 20px; padding: 25px; border-radius: 16px; background: #dfe3dd; }
.station-print-preview .print-document { display: grid; gap: 24px; justify-content: center; }
.station-print-preview .print-sheet { width: 210mm; min-height: 297mm; transform-origin: top center; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.station-message { min-height: 20px; margin: 14px 0 0; color: var(--muted); }
.print-setup-panel { margin: 18px 0 0; padding: 18px; border: 2px solid rgba(38,115,79,.18); border-radius: 16px; background: #f5f8f0; }
.print-setup-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.print-setup-heading h3 { margin: 3px 0 0; font-size: 19px; line-height: 1.35; }
.print-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.print-settings-grid label { display: grid; gap: 7px; color: var(--ink); font-weight: 900; }
.print-settings-grid select { width: 100%; min-height: 48px; padding: 9px 38px 9px 12px; border: 2px solid rgba(23,75,52,.2); border-radius: 11px; color: var(--ink); font: inherit; font-weight: 800; background: #fff; }
.print-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; counter-reset: print-step; }
.print-steps li { position: relative; min-height: 82px; padding: 14px 14px 13px 46px; border: 1px solid rgba(23,75,52,.14); border-radius: 12px; color: #42564c; font-size: 14px; font-weight: 700; line-height: 1.55; background: #fff; counter-increment: print-step; }
.print-steps li::before { position: absolute; left: 13px; top: 13px; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; font-size: 12px; font-weight: 900; background: var(--green-dark); content: counter(print-step); }
.print-steps strong { color: var(--green-dark); font-weight: 900; }

/* Shared print document: the colour treatment remains the default. */
.print-root { display: none; }
.print-document { color: #18372b; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-weight: 600; }
.print-sheet { position: relative; overflow: hidden; width: 210mm; height: 297mm; padding: 10mm 11mm 9mm; color: #18372b; background: #fffdf7; }
.print-top-band { position: absolute; inset: 0 0 auto; height: 5.5mm; background: linear-gradient(90deg, #174b34, #3f8c62 60%, #e2b048); }
.print-top-band.warm { background: linear-gradient(90deg, #c75d31, #e59a43 55%, #6f9d61); }
.print-report-head { display: grid; grid-template-columns: 1fr auto; gap: 8mm; align-items: start; padding-top: 1.5mm; }
.print-report-head h1 { margin: 1.2mm 0; font-family: "STKaiti", "KaiTi", serif; font-size: 25pt; font-weight: 900; line-height: 1.12; }
.print-report-head > div:first-child > p:last-child { margin: 0; color: #465c51; font-size: 10.5pt; font-weight: 700; line-height: 1.4; }
.print-code { min-width: 39mm; padding: 3mm 3.5mm; border: 1.5px solid rgba(23,75,52,.25); border-radius: 3mm; text-align: right; background: #edf5e9; }
.print-code span, .print-code strong, .print-code small { display: block; }
.print-code span { color: #425b50; font-size: 8.4pt; font-weight: 800; }
.print-code strong { margin: .6mm 0; color: #b84e27; font-size: 19pt; font-weight: 900; letter-spacing: .08em; }
.print-code small { color: #4f6259; font-size: 8pt; font-weight: 700; }
.print-focus-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.3mm; align-items: start; margin-top: 4mm; padding: 4mm 4.5mm; border-radius: 4mm; color: white; background: linear-gradient(125deg, #174b34, #397f59); }
.print-focus-card > div { min-width: 0; }
.print-focus-card span, .print-focus-card strong { display: block; }
.print-focus-card span { color: #f4d58c; font-size: 10.5pt; font-weight: 900; }
.print-focus-card strong { display: inline-block; width: max-content; max-width: 100%; margin-top: 1.5mm; padding: 1.6mm 3mm; border: 1.5px solid rgba(255,255,255,.38); border-radius: 99px; font-size: 15.5pt; font-weight: 900; line-height: 1.22; white-space: normal; word-break: keep-all; overflow-wrap: normal; background: rgba(255,255,255,.09); }
.print-focus-card p { margin: 0; color: #f1f6f2; font-size: 10.5pt; font-weight: 700; line-height: 1.4; }
.print-focus-pills { display: flex; flex-wrap: wrap; gap: 2mm; align-items: center; margin-top: .4mm; }
.print-focus-card .print-focus-pill { display: inline-flex; width: auto; max-width: 100%; align-items: baseline; gap: 1.5mm; margin-top: 0; white-space: nowrap; }
.print-focus-pill b { font-size: inherit; font-weight: 900; }
.print-focus-pill small { color: inherit; font-size: 10.5pt; font-weight: 900; }
.print-block { margin-top: 3.3mm; }
.print-block-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 5mm; margin-bottom: 1.8mm; padding-bottom: 1.2mm; border-bottom: 1.5px solid rgba(23,75,52,.24); }
.print-block-title h2 { margin: 0; font-size: 14.2pt; font-weight: 900; line-height: 1.2; }
.print-block-title span { color: #4f6259; font-size: 8.4pt; font-weight: 700; white-space: nowrap; }
.print-score-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm; }
.print-score { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: .5mm 2mm; min-height: 13mm; padding: 2.4mm 3mm; border: 1.3px solid rgba(23,75,52,.18); border-radius: 2.5mm; background: #f6f7f1; }
.print-score.is-focus { border-color: rgba(205,100,51,.42); background: #fff0df; }
.print-score span { font-size: 10.5pt; font-weight: 900; line-height: 1.25; }
.print-score strong { grid-row: 1 / 3; grid-column: 2; align-self: center; color: #b84e27; font-size: 13.5pt; font-weight: 900; }
.print-score small { color: #4f6259; font-size: 8.2pt; font-weight: 700; white-space: nowrap; }
.print-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.3mm; }
.print-info-grid article { min-height: 21mm; padding: 2.8mm 3.2mm; border: 1.3px solid rgba(23,75,52,.18); border-radius: 2.5mm; background: white; }
.print-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.print-overview-grid article { min-height: 27mm; }
.print-info-grid span, .print-info-grid strong { display: block; }
.print-info-grid span { color: #ae4823; font-size: 8.8pt; font-weight: 900; }
.print-info-grid strong { overflow: hidden; margin: .7mm 0; font-size: 10.5pt; font-weight: 900; line-height: 1.3; }
.print-info-grid p { display: -webkit-box; overflow: hidden; margin: 0; color: #3f554a; font-size: 10.5pt; font-weight: 700; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.print-advice-block ol { display: grid; grid-template-columns: repeat(6, 1fr); gap: 2mm; margin: 0; padding: 0; list-style: none; }
.print-advice-block li { min-height: 20mm; padding: 2.8mm 3mm; border: 1px solid rgba(23,75,52,.08); border-radius: 2.5mm; background: #edf5e9; }
.print-advice-block li { grid-column: span 2; }
.print-advice-block li:nth-child(4), .print-advice-block li:nth-child(5) { grid-column: span 3; }
.print-advice-block li:nth-child(even) { background: #fff0df; }
.print-advice-block strong, .print-advice-block span { display: block; }
.print-advice-block strong { margin-bottom: 1mm; color: #185f3f; font-size: 9.5pt; font-weight: 900; line-height: 1.25; white-space: nowrap; }
.print-advice-block span { display: -webkit-box; overflow: hidden; color: #2e463a; font-size: 10.5pt; font-weight: 700; line-height: 1.36; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.print-alert { display: grid; grid-template-columns: 24mm 1fr; gap: 3mm; margin-top: 3mm; padding: 2.8mm 3mm; border: 1px solid rgba(128,86,24,.15); border-left: 3mm solid #d49a35; border-radius: 2mm; background: #fff1c8; }
.print-alert strong { color: #67420d; font-size: 9.5pt; font-weight: 900; }
.print-alert ul { margin: 0; padding-left: 4mm; }
.print-alert li { margin-bottom: .8mm; color: #483817; font-size: 10.5pt; font-weight: 700; line-height: 1.32; }
.print-page-footer { position: absolute; right: 11mm; bottom: 4.5mm; left: 11mm; display: flex; align-items: flex-end; justify-content: space-between; gap: 6mm; padding-top: 1.5mm; border-top: 1.3px solid rgba(23,75,52,.2); color: #4e6157; font-size: 9pt; font-weight: 700; line-height: 1.3; }
.print-page-footer span { max-width: 162mm; }
.print-page-footer b { flex: 0 0 auto; color: #234e3a; font-weight: 900; }
.print-document-report-only .print-report-sheet { break-after: auto; page-break-after: auto; }
.print-document.is-rotated .print-report-sheet { transform: rotate(180deg); transform-origin: center; }

/* Disposable direction-calibration page used before loading pre-printed stock. */
.calibration-sheet { display: grid; grid-template-rows: auto 1fr auto; padding: 12mm; border: 3mm solid #111; color: #111; background: #fff; }
.calibration-top, .calibration-bottom { padding: 5mm; border: 2px solid #111; text-align: center; font-size: 17pt; font-weight: 900; letter-spacing: .04em; background: #e5e5e5; }
.calibration-body { align-self: center; padding: 12mm; border: 3px double #111; }
.calibration-body .eyebrow { color: #111; font-size: 11pt; }
.calibration-body h1 { margin: 3mm 0 6mm; font-size: 30pt; line-height: 1.2; }
.calibration-body > p { font-size: 15pt; font-weight: 800; }
.calibration-body ol { margin: 7mm 0 0; padding-left: 8mm; font-size: 13pt; font-weight: 700; line-height: 1.75; }
.calibration-bottom { font-size: 11pt; }

.promo-hero { margin-top: 4mm; padding: 9mm; border-radius: 5mm; color: white; background: linear-gradient(130deg, #9b4426, #d77338 60%, #e3a64f); }
.promo-hero .print-kicker { color: #ffe3a9; }
.promo-hero h1 { margin: 2mm 0 3mm; font-family: "STKaiti", "KaiTi", serif; font-size: 27pt; line-height: 1.12; }
.promo-hero > p:not(.print-kicker) { max-width: 150mm; margin: 0; color: #fff3e5; font-size: 9pt; line-height: 1.6; }
.promo-pills { display: flex; gap: 3mm; margin-top: 5mm; }
.promo-pills span { padding: 1.7mm 3mm; border-radius: 99px; color: #7e371f; font-size: 7.5pt; font-weight: 900; background: #fff3d8; }
.promo-block { margin-top: 6mm; }
.promo-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5mm; }
.promo-benefits article { min-height: 34mm; padding: 3.5mm; border: 1px solid rgba(23,75,52,.13); border-radius: 3mm; background: #fff; }
.promo-benefits b, .promo-benefits strong { display: block; }
.promo-benefits b { color: #d77338; font-family: Georgia, serif; font-size: 15pt; }
.promo-benefits strong { margin: 1.5mm 0; font-size: 9pt; }
.promo-benefits p { margin: 0; color: #5c6d64; font-size: 7pt; line-height: 1.45; }
.promo-method { display: grid; grid-template-columns: 1.25fr .75fr; gap: 7mm; padding: 5mm; border-radius: 4mm; color: white; background: linear-gradient(130deg, #174b34, #2c7551); }
.promo-method .print-kicker { color: #f4d58c; }
.promo-method h2 { margin: 1mm 0 2mm; font-size: 15pt; }
.promo-method ul { display: grid; gap: 1.2mm; margin: 0; padding-left: 5mm; color: #e9f1eb; font-size: 7.2pt; line-height: 1.5; }
.promo-flow { display: grid; grid-template-columns: repeat(2, 1fr); align-content: center; gap: 2mm; }
.promo-flow span { padding: 3mm 2mm; border: 1px solid rgba(255,255,255,.18); border-radius: 2.5mm; text-align: center; font-size: 8pt; font-weight: 900; background: rgba(255,255,255,.09); }
.promo-contact { display: grid; grid-template-columns: 43mm 1fr; gap: 7mm; align-items: center; margin-top: 6mm; padding: 5mm; border: 1px solid rgba(201,102,52,.22); border-radius: 4mm; background: #fff1df; }
.promo-qr { display: grid; width: 40mm; height: 40mm; place-items: center; padding: 2mm; border: 1px solid rgba(23,75,52,.18); border-radius: 3mm; color: #5b685f; text-align: center; background: white; }
.promo-qr img, .promo-qr canvas { max-width: 100% !important; max-height: 100% !important; }
.promo-contact-copy h2 { margin: 1mm 0 2mm; font-size: 16pt; }
.promo-contact-copy p { margin: 1mm 0; color: #435c50; font-size: 7.6pt; line-height: 1.4; }
.promo-contact-copy small { display: block; margin-top: 2mm; color: #8a5c37; font-size: 6.5pt; }
.promo-philosophy { display: grid; grid-template-columns: 28mm 1fr; gap: 5mm; margin-top: 5mm; padding: 4mm; border-left: 3mm solid #d59b35; border-radius: 2mm; background: #fff1c8; }
.promo-philosophy strong { color: #79521c; font-size: 9pt; }
.promo-philosophy p { margin: 0; color: #624e2d; font-size: 7.2pt; line-height: 1.55; }

/* Toner-conscious black-and-white mode. Strong borders remain meaningful even
   when the browser's "background graphics" option is switched off. */
.print-document.is-monochrome,
.print-root.is-monochrome .print-document { color: #111; font-weight: 700; }
.print-document.is-monochrome .print-sheet,
.print-root.is-monochrome .print-sheet { color: #111; background: #fff; }
.print-document.is-monochrome .print-top-band,
.print-root.is-monochrome .print-top-band { background: #111; }
.print-document.is-monochrome .print-top-band.warm,
.print-root.is-monochrome .print-top-band.warm { background: #555; }
.print-document.is-monochrome .print-kicker,
.print-root.is-monochrome .print-kicker,
.print-document.is-monochrome .print-report-head > div:first-child > p:last-child,
.print-root.is-monochrome .print-report-head > div:first-child > p:last-child { color: #222; }
.print-document.is-monochrome .print-code,
.print-root.is-monochrome .print-code { border: 2px solid #111; color: #111; background: #eee; }
.print-document.is-monochrome .print-code span,
.print-document.is-monochrome .print-code strong,
.print-document.is-monochrome .print-code small,
.print-root.is-monochrome .print-code span,
.print-root.is-monochrome .print-code strong,
.print-root.is-monochrome .print-code small { color: #111; }
.print-document.is-monochrome .print-focus-card,
.print-root.is-monochrome .print-focus-card { border: 2.5px solid #111; color: #111; background-color: #ededed; background-image: repeating-linear-gradient(135deg, transparent 0, transparent 7px, rgba(0,0,0,.055) 7px, rgba(0,0,0,.055) 8px); }
.print-document.is-monochrome .print-focus-card span,
.print-document.is-monochrome .print-focus-card p,
.print-root.is-monochrome .print-focus-card span,
.print-root.is-monochrome .print-focus-card p { color: #111; }
.print-document.is-monochrome .print-focus-card strong,
.print-root.is-monochrome .print-focus-card strong { border: 2px solid #111; color: #000; background: #fff; }
.print-document.is-monochrome .print-block-title,
.print-root.is-monochrome .print-block-title { border-bottom: 2px solid #111; }
.print-document.is-monochrome .print-block-title span,
.print-root.is-monochrome .print-block-title span { color: #222; }
.print-document.is-monochrome .print-score,
.print-root.is-monochrome .print-score { border: 1.5px solid #555; color: #111; background: #fff; }
.print-document.is-monochrome .print-score:nth-child(3n + 2),
.print-root.is-monochrome .print-score:nth-child(3n + 2) { background: #ededed; }
.print-document.is-monochrome .print-score.is-focus,
.print-root.is-monochrome .print-score.is-focus { border: 3px double #000; background: #d9d9d9; }
.print-document.is-monochrome .print-score strong,
.print-document.is-monochrome .print-score small,
.print-root.is-monochrome .print-score strong,
.print-root.is-monochrome .print-score small { color: #111; }
.print-document.is-monochrome .print-info-grid article,
.print-root.is-monochrome .print-info-grid article { border: 1.5px solid #444; background: #fff; }
.print-document.is-monochrome .print-info-grid article:nth-child(4n + 2),
.print-document.is-monochrome .print-info-grid article:nth-child(4n + 3),
.print-root.is-monochrome .print-info-grid article:nth-child(4n + 2),
.print-root.is-monochrome .print-info-grid article:nth-child(4n + 3) { background: #f0f0f0; }
.print-document.is-monochrome .print-info-grid span,
.print-document.is-monochrome .print-info-grid p,
.print-root.is-monochrome .print-info-grid span,
.print-root.is-monochrome .print-info-grid p { color: #111; }
.print-document.is-monochrome .print-advice-block li,
.print-root.is-monochrome .print-advice-block li { border: 1.5px solid #444; border-top: 5px solid #555; color: #111; background: #f7f7f7; }
.print-document.is-monochrome .print-advice-block li:nth-child(even),
.print-root.is-monochrome .print-advice-block li:nth-child(even) { border-top-color: #111; background: #dedede; }
.print-document.is-monochrome .print-advice-block strong,
.print-document.is-monochrome .print-advice-block span,
.print-root.is-monochrome .print-advice-block strong,
.print-root.is-monochrome .print-advice-block span { color: #111; }
.print-document.is-monochrome .print-alert,
.print-root.is-monochrome .print-alert { border: 2px solid #111; border-left-width: 8px; color: #111; background: #e5e5e5; }
.print-document.is-monochrome .print-alert strong,
.print-document.is-monochrome .print-alert li,
.print-root.is-monochrome .print-alert strong,
.print-root.is-monochrome .print-alert li { color: #111; }
.print-document.is-monochrome .print-page-footer,
.print-root.is-monochrome .print-page-footer { border-top: 1.5px solid #111; color: #222; }
.print-document.is-monochrome .print-page-footer b,
.print-root.is-monochrome .print-page-footer b { color: #111; }
.print-document.is-monochrome .promo-hero,
.print-root.is-monochrome .promo-hero { color: #fff; background: #222; }
.print-document.is-monochrome .promo-hero .print-kicker,
.print-document.is-monochrome .promo-hero > p:not(.print-kicker),
.print-root.is-monochrome .promo-hero .print-kicker,
.print-root.is-monochrome .promo-hero > p:not(.print-kicker) { color: #fff; }
.print-document.is-monochrome .promo-pills span,
.print-root.is-monochrome .promo-pills span { border: 1px solid #111; color: #111; background: #fff; }
.print-document.is-monochrome .promo-benefits article,
.print-root.is-monochrome .promo-benefits article { border: 1.5px solid #444; background: #fff; }
.print-document.is-monochrome .promo-benefits b,
.print-document.is-monochrome .promo-benefits p,
.print-root.is-monochrome .promo-benefits b,
.print-root.is-monochrome .promo-benefits p { color: #111; }
.print-document.is-monochrome .promo-method,
.print-root.is-monochrome .promo-method { border: 2px solid #111; color: #111; background: #e3e3e3; }
.print-document.is-monochrome .promo-method .print-kicker,
.print-document.is-monochrome .promo-method ul,
.print-root.is-monochrome .promo-method .print-kicker,
.print-root.is-monochrome .promo-method ul { color: #111; }
.print-document.is-monochrome .promo-flow span,
.print-root.is-monochrome .promo-flow span { border: 1.5px solid #333; background: #fff; }
.print-document.is-monochrome .promo-contact,
.print-root.is-monochrome .promo-contact,
.print-document.is-monochrome .promo-philosophy,
.print-root.is-monochrome .promo-philosophy { border: 1.5px solid #333; border-left-width: 8px; background: #eee; }
.print-document.is-monochrome .promo-contact-copy p,
.print-document.is-monochrome .promo-contact-copy small,
.print-document.is-monochrome .promo-philosophy strong,
.print-document.is-monochrome .promo-philosophy p,
.print-root.is-monochrome .promo-contact-copy p,
.print-root.is-monochrome .promo-contact-copy small,
.print-root.is-monochrome .promo-philosophy strong,
.print-root.is-monochrome .promo-philosophy p { color: #111; }

@media (max-width: 980px) {
  .site-header { min-height: 68px; padding: 10px 16px; }
  .brand small { max-width: 260px; }
  .page-frame { padding: 18px; }
  .intro-hero { grid-template-columns: 1fr; min-height: auto; }
  .intro-visual { grid-template-columns: repeat(3, 1fr); }
  .intro-visual article, .intro-visual article:nth-of-type(2) { grid-template-columns: 1fr; transform: none; }
  .intro-visual b { grid-row: auto; }
  .standard-banner { grid-template-columns: 1fr; gap: 12px; }
  .assessment-layout { grid-template-columns: 1fr; }
  .guide-panel { position: relative; top: 0; min-height: 0; }
  .mini-trust { margin-top: 14px; }
  .station-grid { grid-template-columns: 300px minmax(0, 1fr); }
  .station-print-preview .print-sheet { transform: scale(.78); margin-bottom: -65mm; }
  .station-print-preview .print-document.is-rotated .print-report-sheet { transform: scale(.78) rotate(180deg); }
}

@media (max-width: 720px) {
  .scene-chip { padding: 7px 9px; font-size: 11px; }
  .site-header { gap: 10px; }
  .brand { gap: 9px; }
  .brand-logo { flex-basis: 42px; width: 42px; height: 42px; border-radius: 13px; }
  .brand-seal { flex-basis: 42px; width: 42px; height: 42px; font-size: 22px; }
  .brand strong { font-size: 16px; letter-spacing: 0; }
  .brand small { display: block; max-width: 180px; margin-top: 2px; font-size: 11px; }
  .page-frame { padding: 12px; }
  .intro-hero { padding: 28px 22px; border-radius: 24px; }
  .intro-copy h1 { font-size: 39px; }
  .intro-actions { align-items: stretch; flex-direction: column; }
  .intro-actions span { text-align: center; }
  .intro-visual { grid-template-columns: 1fr; }
  .intro-visual article { grid-template-columns: 45px 1fr; padding: 16px; }
  .intro-visual b { grid-row: 1 / 3; }
  .standard-banner { padding: 23px; }
  .boundary-grid { grid-template-columns: 1fr; }
  .guide-panel { padding: 25px; border-radius: 22px; }
  .guide-panel h1 { font-size: 33px; }
  .question-panel { padding: 20px 15px; border-radius: 22px; }
  .choice-grid, .choice-grid.branch-grid, .choice-grid.compact { grid-template-columns: repeat(2, 1fr); }
  .choice-grid.small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice-button { min-height: 54px; padding: 11px; }
  .question-card { padding: 16px 11px; }
  .question-card legend { font-size: 16px; }
  .answer-scale { gap: 5px; }
  .answer-button { min-height: 50px; padding-inline: 2px; }
  .answer-button strong { font-size: 12px; }
  .answer-button small { display: none; }
  .field-grid.three, .review-grid, .summary-grid, .export-options, .result-score-grid { grid-template-columns: 1fr; }
  .severity-grid { grid-template-columns: repeat(6, 1fr); }
  .severity-button { min-height: 45px; aspect-ratio: auto; }
  .form-actions { position: sticky; z-index: 8; bottom: 8px; margin-inline: -5px; padding: 12px 5px 5px; border: 0; background: linear-gradient(0deg, rgba(255,253,246,1) 68%, rgba(255,253,246,0)); }
  .form-actions .button { flex: 1; padding-inline: 12px; }
  .result-hero { grid-template-columns: 1fr; padding: 28px 22px; border-radius: 24px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .export-card p { min-height: 0; }
  .compact-result-hero { gap: 14px; padding: 21px 18px; border-radius: 21px; }
  .compact-result-title { display: block; }
  .compact-result-title h1 { font-size: clamp(28px, 8vw, 34px); }
  .compact-result-title .eyebrow { margin-bottom: 7px; }
  .compact-focus-line { display: block; }
  .compact-focus-line > span { display: block; margin-bottom: 8px; }
  .focus-pill-list { gap: 6px; }
  .focus-pill { gap: 5px; padding: 8px 9px; }
  .focus-pill b { font-size: 15px; }
  .focus-pill small { font-size: 11px; }
  .compact-result-boundary { font-size: 14px; }
  .result-block { padding: 17px 14px; border-radius: 18px; }
  .section-heading.compact { align-items: flex-end; flex-direction: row; gap: 10px; }
  .section-heading.compact h2 { font-size: 24px; }
  .section-heading.compact > span { max-width: 45%; text-align: right; }
  .constitution-grid { gap: 6px; }
  .constitution-card, .constitution-card-content { min-height: 120px; }
  .constitution-card { border-radius: 12px; }
  .constitution-card-content { gap: 3px; padding: 10px 8px; }
  .constitution-card strong { font-size: 16px; }
  .constitution-card b { font-size: 12px; }
  .constitution-card b span { font-size: 25px; }
  .constitution-card small { font-size: 12px; line-height: 1.28; }
  .constitution-legend { margin-top: 12px; padding: 10px 11px; font-size: 14px; line-height: 1.6; }
  .result-safety-strip { grid-template-columns: 1fr; gap: 7px; padding: 14px 13px; border-left-width: 6px; }
  .result-safety-strip > strong { font-size: 17px; }
  .result-safety-strip ul { gap: 4px; font-size: 14px; }
  .result-details summary { min-height: 70px; padding: 12px 14px; }
  .result-details summary b { font-size: 17px; }
  .result-details summary small { max-width: 230px; font-size: 12px; }
  .compact-summary-grid { grid-template-columns: 1fr; padding: 12px; }
  .result-details-copy { padding: 15px; }
  .result-quick-actions { grid-template-columns: 1fr; gap: 10px; }
  .result-quick-actions .button { width: 100%; min-height: 54px; }
  .consent-panel { padding: 17px 14px; }
  .result-interlude { min-height: calc(100vh - 116px); }
  .interlude-card { padding: 26px 18px; border-radius: 22px; }
  .interlude-brand { gap: 10px; margin-bottom: 22px; }
  .interlude-brand img { width: 56px; height: 56px; border-radius: 16px; }
  .interlude-brand strong { font-size: 18px; }
  .interlude-card h1 { font-size: 29px; }
  .interlude-note { margin-bottom: 20px; font-size: 14px; }
  .interlude-ad { margin-top: 22px; padding: 15px 10px; }
  .interlude-message-stage { min-height: 48px; }
  .interlude-message { font-size: 17px; }
  .report-image-modal { align-items: start; padding-inline: 9px; }
  .report-image-dialog { max-height: none; padding: 18px 13px 14px; border-radius: 19px; }
  .report-image-copy { padding: 3px 34px 0 3px; }
  .report-image-copy h2 { font-size: 26px; }
  .report-image-copy > p:last-child { font-size: 16px; }
  .report-image-preview { margin-block: 15px 13px; }
  .report-image-preview img { max-height: none; }
  .report-image-modal-actions { grid-template-columns: 1fr; }
  .report-image-modal-actions .button { width: 100%; min-height: 54px; }
  .station-header .brand small { display: block; max-width: 200px; }
  .station-frame { padding: 12px; }
  .station-login { grid-template-columns: 1fr; gap: 20px; margin: 20px auto; padding: 25px; }
  .station-grid { grid-template-columns: 1fr; }
  .queue-panel { position: relative; top: 0; }
  .job-list { max-height: 340px; }
  .preview-toolbar { align-items: stretch; flex-direction: column; }
  .preview-actions { flex-direction: column; }
  .print-setup-heading { align-items: stretch; flex-direction: column; }
  .print-settings-grid, .print-steps { grid-template-columns: 1fr; }
  .print-steps li { min-height: 0; font-size: 15px; }
  .station-print-preview { display: none; }
}

@media (max-width: 340px) {
  .site-header { padding-inline: 12px; }
  .scene-chip { display: none; }
  .brand strong { font-size: 15px; }
  .section-heading.compact > span { display: none; }
  .constitution-card, .constitution-card-content { min-height: 116px; }
  .constitution-card-content { padding-inline: 7px; }
  .constitution-card strong { font-size: 15px; }
  .constitution-card b span { font-size: 23px; }
  .constitution-card small { font-size: 11px; }
}

/* Elder-friendly phone layout. Repeating the nth-of-type selector here is
   intentional: it prevents the tablet rule above from turning step 02 into a
   one-column card. */
@media (max-width: 720px) {
  .scene-chip { font-size: 13px; }
  .intro-hero { gap: 20px; padding: 23px 18px; border-radius: 22px; }
  .intro-hero::before { right: -145px; bottom: -190px; opacity: .65; }
  .intro-copy h1 { margin: 10px 0 16px; font-size: clamp(32px, 9.4vw, 37px); line-height: 1.1; }
  .intro-lead { font-size: 16px; font-weight: 600; line-height: 1.68; }
  .intro-actions { gap: 10px; margin-top: 18px; }
  .intro-actions .button { width: 100%; min-height: 58px; font-size: 18px; }
  .intro-actions span { font-size: 14px; font-weight: 700; }
  .trust-strip { gap: 7px; margin-top: 16px; }
  .trust-strip span { padding: 7px 9px; font-size: 14px; }
  .intro-visual { grid-template-columns: 1fr; gap: 10px; }
  .intro-visual article,
  .intro-visual article:nth-of-type(2) {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2px 8px;
    min-height: 0;
    padding: 14px 12px;
    border-radius: 15px;
    transform: none;
  }
  .intro-visual b,
  .intro-visual article:nth-of-type(2) b { grid-column: 1; grid-row: 1 / 3; align-self: center; font-size: 25px; line-height: 1; }
  .intro-visual strong,
  .intro-visual article:nth-of-type(2) strong { grid-column: 2; grid-row: 1; align-self: end; font-size: 18px; line-height: 1.3; }
  .intro-visual p,
  .intro-visual article:nth-of-type(2) p { grid-column: 2; grid-row: 2; margin: 2px 0 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
  .sun-shape { display: none; }
  .standard-banner > p,
  .boundary-grid p { font-size: 15px; font-weight: 600; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .constitution-water,
  .interlude-progress > span,
  .interlude-message,
  .result-details summary i { transition: none; }
  .spinner { animation-duration: 1.8s; }
}

@media (orientation: landscape) and (min-width: 900px) and (max-height: 900px) {
  .page-frame { padding-top: 20px; }
  .guide-panel { top: 92px; min-height: 420px; }
  .question-panel { padding-block: 28px; }
  .intro-hero { min-height: 500px; padding-block: 48px; }
}

@page { size: A4 portrait; margin: 0; }
@media print {
  html, body { width: 210mm !important; min-width: 210mm !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: white !important; print-color-adjust: exact !important; -webkit-print-color-adjust: exact !important; }
  body > *:not(.print-root) { display: none !important; }
  .print-root { display: block !important; width: 210mm !important; margin: 0 !important; padding: 0 !important; }
  .print-document { display: block !important; width: 210mm !important; margin: 0 !important; }
  .print-sheet { display: block !important; width: 210mm !important; height: 297mm !important; min-height: 297mm !important; margin: 0 !important; break-after: page !important; page-break-after: always !important; box-shadow: none !important; }
  .print-sheet:last-child { break-after: auto !important; page-break-after: auto !important; }

  /* Attach one of these mode classes to .print-document, .print-root or body.
     This keeps single-sided printers from producing an unwanted second page. */
  .report-only .print-back,
  .is-report-only .print-back,
  .print-report-only .print-back { display: none !important; }
  .report-only .print-front,
  .is-report-only .print-front,
  .print-report-only .print-front { break-after: auto !important; page-break-after: auto !important; }
  .promo-only .print-front,
  .is-promo-only .print-front,
  .print-promo-only .print-front { display: none !important; }
  .promo-only .print-back,
  .is-promo-only .print-back,
  .print-promo-only .print-back { break-after: auto !important; page-break-after: auto !important; }
}

/* Shared 15-question quick assessment (personalized entry + Outreach entry). */
.result-brand { display:flex; align-items:center; gap:13px; margin-bottom:18px; color:#241c18; }
.result-brand img { width:54px; height:54px; object-fit:contain; border-radius:16px; background:#161313; box-shadow:0 6px 16px rgba(84,35,23,.18); }
.result-brand span { min-width:0; }
.result-brand strong,.result-brand small { display:block; }
.result-brand strong { font-size:22px; font-weight:900; line-height:1.25; }
.result-brand small { margin-top:3px; color:#74675e; font-size:14px; font-weight:750; }
.result-brand.is-compact { margin-bottom:28px; color:#fff; }
.result-brand.is-compact small { color:#f1d7a3; }
.quick-intro { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:30px; max-width:1180px; margin:auto; padding:clamp(28px,5vw,64px); overflow:hidden; border:1px solid #ead7bd; border-radius:32px; background:radial-gradient(circle at 92% 8%,rgba(238,182,55,.24),transparent 30%),linear-gradient(135deg,#fffdf8,#f5ead7); box-shadow:0 22px 60px rgba(75,48,31,.10); }
.quick-intro-copy h1 { margin:12px 0 20px; color:#231d19; font-size:clamp(40px,5vw,67px); line-height:1.08; letter-spacing:-2px; }
.quick-intro-copy h1 em { color:#9b3023; font-style:normal; }
.quick-intro-copy>p:not(.eyebrow) { max-width:660px; color:#544c46; font-size:19px; font-weight:650; line-height:1.8; }
.quick-feature-row { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0; }
.quick-feature-row span { padding:8px 13px; border:1px solid #dbc6aa; border-radius:999px; background:#fff; color:#634936; font-weight:800; }
.button.large { min-height:60px; padding-inline:34px; font-size:19px; }
.quick-intro-stack { display:grid; align-content:center; gap:12px; }
.quick-intro-stack article { display:grid; grid-template-columns:58px 1fr; gap:2px 15px; padding:20px; border:1px solid rgba(131,78,42,.14); border-radius:20px; background:rgba(255,255,255,.85); }
.quick-intro-stack b { grid-row:1/3; color:#c64f2e; font:900 31px Georgia,serif; }
.quick-intro-stack strong { font-size:20px; font-weight:900; }
.quick-intro-stack p { margin:4px 0 0; color:#6b625b; font-size:15px; line-height:1.65; }
.quick-boundary { max-width:1180px; margin:16px auto 0; padding:15px 20px; border-left:6px solid #9d3424; border-radius:14px; background:#fff7e9; color:#5a4b40; }
.quick-boundary strong { margin-right:12px; color:#8e2e20; }
.quick-boundary p { display:inline; margin:0; font-weight:650; }
.quick-assessment-shell { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:24px; max-width:1200px; margin:auto; }
.quick-guide { position:sticky; top:90px; align-self:start; min-height:520px; padding:34px; border-radius:28px; background:linear-gradient(145deg,#221b18,#5a211b); color:#fff; box-shadow:0 18px 45px rgba(49,24,18,.18); }
.quick-guide h2 { margin:12px 0; font-size:36px; line-height:1.2; }
.quick-guide>p:not(.eyebrow) { color:#f1ded0; font-size:17px; line-height:1.75; }
.quick-guide-tip { margin-top:46px; padding:18px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.08); }
.quick-guide-tip strong,.quick-guide-tip span { display:block; }
.quick-guide-tip span { margin-top:5px; color:#ead5c8; }
.quick-question-card { min-height:600px; padding:clamp(24px,4vw,46px); border:1px solid #eadfd2; border-radius:28px; background:#fff; box-shadow:0 18px 45px rgba(75,48,31,.08); }
.progress-meta { display:flex; justify-content:space-between; color:#806f61; font-weight:800; }
.progress-track { height:10px; margin-top:8px; overflow:hidden; border-radius:99px; background:#eee5dc; }
.progress-track span { display:block; width:var(--progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,#a73626,#e0a726); transition:width .25s; }
.quick-question-title { display:flex; align-items:flex-start; gap:18px; margin:34px 0 26px; }
.quick-question-title>span { color:#d6902b; font:900 34px Georgia,serif; }
.quick-question-title h1 { margin:0; color:#251e19; font-size:34px; line-height:1.25; }
.quick-question-title p { margin:7px 0 0; color:#796e66; font-size:16px; }
.quick-matrix { display:grid; gap:13px; }
.quick-matrix-row { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr); align-items:center; gap:16px; margin:0; padding:16px; border:1px solid #eadfd4; border-radius:17px; }
.quick-matrix-row legend { display:contents; font-size:17px; font-weight:800; }
.quick-scale { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.quick-scale-button,.quick-option { min-height:54px; border:1.5px solid #d9cdc0; border-radius:14px; background:#fff; color:#40362f; font-size:15px; cursor:pointer; }
.quick-scale-button.is-selected,.quick-option.is-selected { border-color:#9e3022; outline:2px solid rgba(158,48,34,.12); background:#fff0e8; color:#84271d; }
.quick-option-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.quick-option { display:flex; align-items:center; gap:10px; padding:13px 15px; text-align:left; }
.quick-option>span { flex:0 0 20px; width:20px; height:20px; border:2px solid #b8aaa0; border-radius:7px; }
.quick-option.is-selected>span { border:6px solid #9e3022; background:#fff; }
.selection-count { text-align:right; color:#76695f; font-weight:750; }
.quick-concern { display:grid; gap:22px; }
.concern-group h3 { margin:0 0 10px; font-size:19px; }
.quick-option-grid.compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
.quick-question-card .form-actions { margin-top:28px; }
.result-interlude { display:grid; min-height:70vh; place-items:center; }
.interlude-card { width:min(620px,100%); padding:40px; border:1px solid #ead7bd; border-radius:28px; background:#fff; text-align:center; box-shadow:0 22px 60px rgba(75,48,31,.13); }
.interlude-card .result-brand { justify-content:center; text-align:left; }
.interlude-leaf { display:block; color:#d89b25; font-size:42px; }
.interlude-card h1 { margin:8px 0; font-size:36px; }
.interlude-card>p { color:#71655d; font-size:17px; }
.interlude-progress { height:13px; margin:24px 0 10px; overflow:hidden; border-radius:99px; background:#eee5dc; }
.interlude-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#9b3023,#e5a923); transition:width .22s; }
.interlude-ad { margin-top:26px; padding:17px; border-radius:16px; background:#fff4de; }
.interlude-ad b { color:#962d20; font-size:18px; }
.interlude-ad p { margin:6px 0 0; color:#5f5147; line-height:1.7; }
.quick-result-view { max-width:1180px; margin:auto; }
.result-report-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:18px; padding:24px 28px; border:1px solid #ded3ca; border-radius:22px; background:#fff; box-shadow:0 10px 28px rgba(63,45,35,.07); }
.result-report-heading h1 { margin:4px 0 8px; color:#241e1a; font-family:"STZhongsong","Noto Serif SC","SimSun",serif; font-size:clamp(32px,4.5vw,46px); font-weight:900; letter-spacing:.04em; }
.result-report-heading p { margin:0; color:#5e544d; font-size:16px; font-weight:700; line-height:1.65; }
.result-report-heading small { display:block; margin-top:5px; color:#746960; font-size:13px; font-weight:700; line-height:1.55; }
.result-report-heading>span { flex:0 0 auto; margin-top:4px; padding:8px 12px; border:1px solid #bcb0a7; border-radius:10px; background:#f5f1ec; color:#5c5149; font-size:13px; font-weight:850; font-variant-numeric:tabular-nums; }
.result-summary-card { padding:34px; border:1px solid #d8cdc3; border-left:8px solid #9b3023; border-radius:24px; background:linear-gradient(135deg,#f7f4ef,#eee9e3); color:#211d1a; box-shadow:0 14px 35px rgba(63,45,35,.10); }
.result-summary-card .eyebrow { color:#8f2f22; }
.result-summary-card h1 { margin:7px 0 12px; font-size:clamp(34px,5vw,52px); }
.result-summary-card>p:not(.eyebrow) { max-width:850px; color:#514942; font-size:18px; font-weight:700; line-height:1.75; }
.focus-chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.focus-chips span { padding:9px 14px; border-radius:99px; background:#fff; color:#74251b; font-weight:850; }
.result-main-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.result-main-grid>section,.recipes-section { padding:26px; border:1px solid #e7dbcf; border-radius:24px; background:#fff; }
.section-title { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-bottom:15px; }
.section-title h2 { margin:2px 0 0; font-size:28px; }
.score-chart-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(175px,.65fr); align-items:stretch; gap:18px; }
.score-bars { display:grid; align-content:center; gap:7px; }
.score-bar-row { display:grid; grid-template-columns:82px minmax(0,1fr) 36px; align-items:center; gap:9px; min-height:28px; }
.score-bar-row>span { color:#4c433d; font-size:14px; font-weight:800; white-space:nowrap; }
.score-bar-row>i { display:block; height:11px; overflow:hidden; border:1px solid #d5ccc4; border-radius:99px; background:#f0ebe6; }
.score-bar-row>i b { display:block; width:var(--score); height:100%; border-radius:inherit; background:#aa9f95; }
.score-bar-row>strong { color:#3e3732; font-size:16px; text-align:right; }
.score-bar-row.is-focus>span,.score-bar-row.is-focus>strong { color:#8f2f22; }
.score-bar-row.is-focus>i { border-color:#9f6e64; }
.score-bar-row.is-focus>i b { background:#9b3023; }
.score-bar-row.is-balanced>i b { background:repeating-linear-gradient(135deg,#8c978f 0,#8c978f 4px,#d7ddd9 4px,#d7ddd9 8px); }
.score-evidence { display:grid; align-content:center; gap:9px; padding-left:16px; border-left:1px solid #ded5cd; }
.score-evidence>p { margin:0; color:#8d3022; font-size:14px; font-weight:900; }
.score-evidence ol { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.score-evidence li { display:grid; grid-template-columns:25px 1fr; align-items:center; gap:8px; min-height:44px; padding:8px; border-radius:11px; background:#f3efea; color:#514841; font-size:13px; font-weight:750; line-height:1.35; }
.score-evidence li>b { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#4c443f; color:#fff; font-size:12px; }
.score-evidence>small { color:#776a61; font-size:12px; font-weight:700; line-height:1.45; }
.priority-list { display:grid; gap:10px; }
.priority-action { display:grid; grid-template-columns:36px 1fr; gap:12px; padding:14px; border-radius:15px; background:#f8f3ec; }
.priority-action>span { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:#8f2f22; color:#fff; font-weight:900; }
.priority-action h3 { margin:0 0 5px; font-size:18px; }
.priority-action p { margin:0; color:#5d534c; font-size:15px; line-height:1.6; }
.priority-action small { display:block; margin-top:6px; color:#9a3224; font-weight:800; }
.priority-action details { margin-top:7px; color:#75675e; font-size:13px; }
.recipes-section { margin-top:20px; }
.fridge-title>span { padding:8px 12px; border-radius:99px; background:#fff1d2; color:#852b20; font-weight:850; }
.fridge-note { margin:-5px 0 16px; color:#6f6259; font-weight:650; }
.result-recipes { display:grid; gap:12px; }
.result-recipe-card { overflow:hidden; border:1px solid #e3d6c8; border-radius:18px; background:#fffdfa; }
.result-recipe-card summary { display:grid; grid-template-columns:46px 1fr auto; align-items:center; gap:12px; min-height:76px; padding:13px 18px; cursor:pointer; list-style:none; }
.result-recipe-card summary>span { color:#c1502e; font:900 29px Georgia,serif; }
.result-recipe-card summary small,.result-recipe-card summary strong { display:block; }
.result-recipe-card summary strong { margin-top:2px; font-size:21px; }
.result-recipe-card summary>b { color:#8d3022; }
.recipe-body { padding:0 18px 18px 76px; color:#4e453f; }
.recipe-reason { padding:12px; border-left:5px solid #d49a2d; background:#fff3d8; line-height:1.7; }
.recipe-reason strong { display:block; color:#8b2d20; }
.recipe-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.recipe-columns h4 { margin-bottom:7px; font-size:17px; }
.recipe-columns li,.recipe-body>p { line-height:1.65; }
.recipe-note { color:#8b3828; }
.result-coupon { display:grid; grid-template-columns:60px 1fr 120px; align-items:center; gap:18px; margin-top:20px; padding:22px 26px; border:3px dashed #a83927; border-radius:22px; background:linear-gradient(100deg,#fff0c7,#ffe0cc); color:#702218; }
.coupon-scissors { display:grid; width:58px; height:58px; place-items:center; border-radius:50%; background:#9a3022; color:#fff; font-size:27px; }
.result-coupon p,.result-coupon h2,.result-coupon span,.result-coupon small { display:block; margin:0; }
.result-coupon h2 { margin:2px 0 6px; font-size:28px; }
.result-coupon h2 strong { font-size:42px; }
.result-coupon small { margin-top:6px; font-weight:700; }
.service-prompt,.print-consent-card,.pickup-card { margin-top:16px; padding:20px; border-radius:18px; background:#eef5ef; }
.service-prompt strong { font-size:20px; }
.service-prompt p { margin:5px 0 0; line-height:1.7; }
.print-consent-card label { display:flex; gap:12px; align-items:flex-start; }
.print-consent-card input { width:24px; height:24px; }
.print-consent-card span strong,.print-consent-card span small { display:block; }
.print-consent-card span small { margin-top:4px; color:#657069; }
.print-consent-card .button { margin-top:14px; }
.pickup-card { text-align:center; }
.pickup-card>strong { display:block; margin:8px; color:#922f22; font-size:44px; letter-spacing:8px; }
.result-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.image-message,.registration-message,.result-disclaimer { color:#6c625b; font-weight:650; line-height:1.7; }
.registration-message { margin:8px 0; color:#963729; }
.report-image-modal { position:fixed; z-index:1000; inset:0; display:grid; padding:18px; place-items:center; overflow:auto; background:rgba(22,17,15,.78); }
.report-image-dialog { position:relative; width:min(700px,100%); max-height:92vh; padding:24px; overflow:auto; border-radius:22px; background:#fff; text-align:center; }
.report-image-dialog>button { position:absolute; top:10px; right:12px; border:0; background:transparent; font-size:34px; cursor:pointer; }
.report-image-dialog img { display:block; width:100%; margin:16px 0; border:1px solid #ddd; }

/* A4 personal report and enterprise introduction. */
.quick-a4-report,.quick-a4-promo { box-sizing:border-box; display:flex; flex-direction:column; gap:2.2mm; padding:8mm 10mm 6mm; color:#171717; background:#fffdf8; font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
.quick-a4-report { gap:.9mm; padding:4mm 9mm 3mm; }
.a4-brand { display:grid; grid-template-columns:12mm 1fr auto; align-items:start; gap:0 3mm; min-height:12mm; padding-bottom:1mm; border-bottom:1.2pt solid #292929; }
.a4-brand img { width:10.5mm; height:10.5mm; object-fit:contain; border-radius:2.5mm; background:#111; transform:translateY(-.3mm); }
.a4-brand div strong,.a4-brand div small { display:block; }
.a4-brand div strong { font-size:12.7pt; font-weight:900; line-height:1.05; }
.a4-brand div small { margin-top:.8mm; font-size:8.2pt; font-weight:750; }
.a4-brand>span { align-self:center; padding:1.2mm 3mm; border:1pt solid #333; border-radius:99px; font-size:8pt; font-weight:850; }
.a4-report-brand aside { display:grid; justify-items:end; gap:.8mm; }
.a4-report-brand time { color:#555; font-size:7pt; font-weight:700; }
.a4-report-brand aside b { font-size:7.3pt; font-variant-numeric:tabular-nums; }
.a4-report-intro { display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:.5mm 3mm; padding:.8mm 1mm 1mm; }
.a4-report-intro h1 { grid-row:1/3; margin:0; color:#1e1b19; font-family:"STZhongsong","Noto Serif SC","SimSun",serif; font-size:16.5pt; font-weight:900; letter-spacing:.4pt; white-space:nowrap; }
.a4-report-intro p,.a4-report-intro small { margin:0; color:#555; font-weight:700; line-height:1.35; }
.a4-report-intro p { font-size:7.2pt; }
.a4-report-intro small { font-size:6.5pt; }
.a4-summary { display:grid; grid-template-columns:1fr; align-items:center; min-height:19mm; padding:1.6mm 4mm; border:1pt solid #b8b4af; border-left:3mm solid #545454; border-radius:3mm; background:#ededeb; color:#151515; }
.a4-summary p,.a4-summary h1,.a4-summary span { display:block; margin:0; }
.a4-summary p { color:#4d4d4d; font-size:9pt; font-weight:900; }
.a4-summary h1 { margin:.5mm 0; font-size:16.5pt; line-height:1.15; }
.a4-summary span { color:#353535; font-size:9pt; font-weight:700; line-height:1.45; }
.a4-section-title { display:grid; grid-template-columns:8mm auto 1fr; align-items:center; gap:2mm; margin-bottom:.7mm; }
.a4-section-title>span { display:grid; width:8mm; height:8mm; place-items:center; border:1pt solid #aaa39a; border-radius:1.5mm; color:#222; background:#eeeeec; font:900 9pt/1 "Microsoft YaHei","PingFang SC",sans-serif; font-variant-numeric:tabular-nums; }
.a4-section-title h2 { margin:0; font-size:13pt; }
.a4-section-title small { justify-self:end; color:#4a4a4a; font-size:7.5pt; font-weight:750; }
.a4-score-card { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(50mm,.65fr); align-items:stretch; gap:2mm; height:53mm; padding:1.5mm 2mm; border:1pt solid #aaa6a0; border-radius:3mm; }
.a4-score-bars { display:grid; align-content:center; gap:.65mm; }
.a4-score-row { display:grid; grid-template-columns:25mm minmax(0,1fr) 9mm; align-items:center; gap:1.6mm; min-height:4.6mm; }
.a4-score-row>span { font-size:7.7pt; font-weight:850; white-space:nowrap; }
.a4-score-row>i { display:block; height:2.7mm; overflow:hidden; border:.8pt solid #aaa; border-radius:99px; background:#ededeb; }
.a4-score-row>i b { display:block; width:var(--score); height:100%; border-radius:inherit; background:#9a9691; }
.a4-score-row>strong { font-size:8.5pt; text-align:right; }
.a4-score-row.is-focus>span,.a4-score-row.is-focus>strong { font-weight:950; }
.a4-score-row.is-focus>i { border-color:#555; }
.a4-score-row.is-focus>i b { background:#3f3f3f; }
.a4-score-row.is-balanced>i b { background:repeating-linear-gradient(135deg,#888 0,#888 1.2mm,#d7d7d7 1.2mm,#d7d7d7 2.4mm); }
.a4-score-evidence { display:grid; align-content:center; gap:1mm; padding-left:2.2mm; border-left:1pt solid #c7c4bf; }
.a4-score-evidence>p { margin:0; color:#333; font-size:8pt; font-weight:900; }
.a4-score-evidence ol { display:grid; gap:1mm; margin:0; padding:0; list-style:none; }
.a4-score-evidence li { display:grid; grid-template-columns:6mm 1fr; align-items:center; gap:1.2mm; min-height:10mm; padding:1mm; border:1pt solid #d0ccc7; border-radius:1.5mm; background:#f0efed; font-size:7.3pt; font-weight:750; line-height:1.25; }
.a4-score-evidence li>b { display:grid; width:5mm; height:5mm; place-items:center; border-radius:50%; color:#fff; background:#444; font-size:6.5pt; }
.a4-score-evidence>small { color:#555; font-size:6.5pt; font-weight:700; line-height:1.3; }
.a4-recipes { display:grid; grid-template-columns:1fr; gap:1mm; }
.a4-recipe { display:grid; grid-template-columns:35mm 1fr; grid-template-rows:auto auto; gap:.7mm 2mm; min-height:22mm; padding:1.5mm 2mm; border:1pt solid #aaa39a; border-radius:2.5mm; background:#fff; }
.a4-recipe header { display:grid; grid-template-columns:7mm 1fr; align-items:start; align-content:start; gap:1.5mm; }
.a4-recipe header>span { display:grid; width:7mm; height:7mm; place-items:center; border-radius:50%; background:#333; color:#fff; font-size:8pt; font-weight:900; }
.a4-recipe h3 { margin:.4mm 0 0; font-size:10.5pt; line-height:1.25; }
.a4-recipe header small { font-size:7.2pt; font-weight:750; }
.a4-recipe-content { display:grid; grid-template-columns:minmax(45mm,.85fr) minmax(0,1.15fr); gap:2mm; }
.a4-reason { min-height:0; margin:0; padding:1.4mm; border-left:2mm solid #555; background:#ededed; font-size:7.8pt; font-weight:700; line-height:1.4; }
.a4-reason b { font-weight:900; }
.a4-recipe-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:1mm; }
.a4-recipe-grid b { font-size:8pt; }
.a4-recipe-grid ul,.a4-recipe-grid ol { margin:.7mm 0 0; padding-left:4mm; font-size:7.2pt; line-height:1.35; }
.a4-recipe footer { grid-column:1/-1; display:grid; grid-template-columns:.75fr 1fr 1.15fr; gap:1mm; margin:0; padding-top:1mm; border-top:1pt dashed #999; font-size:7pt; line-height:1.3; }
.a4-actions>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:2mm; }
.a4-actions article { display:grid; grid-template-columns:7mm 1fr; gap:1.5mm; min-height:33mm; padding:1.7mm 2mm; border:1pt solid #aaa; border-radius:2.5mm; }
.a4-actions article>b { display:grid; width:6mm; height:6mm; place-items:center; border-radius:50%; background:#333; color:#fff; font-size:7pt; }
.a4-actions h3 { margin:0; font-size:10pt; }
.a4-actions p { margin:.8mm 0; font-size:8pt; font-weight:700; line-height:1.4; }
.a4-actions article small,.a4-actions article span { display:block; font-size:7.2pt; line-height:1.35; }
.a4-actions article span { margin-top:.7mm; color:#4c403a; }
.a4-safety { display:grid; grid-template-columns:22mm 1fr; align-items:center; min-height:10mm; gap:2mm; padding:1mm 2.5mm; border:1.3pt solid #333; background:#e4e4e4; font-size:7.5pt; line-height:1.35; }
.a4-safety p { margin:0; }
.a4-coupon { display:grid; grid-template-columns:17mm 1fr 20mm; align-items:center; gap:2.5mm; min-height:23mm; padding:1.8mm 3mm; border:2pt dashed #202020; border-radius:3mm; background:repeating-linear-gradient(135deg,#eee,#eee 3mm,#fff 3mm,#fff 6mm); }
.a4-coupon>span { font-size:8pt; font-weight:900; writing-mode:vertical-rl; letter-spacing:1mm; }
.a4-coupon h2,.a4-coupon p,.a4-coupon small { display:block; margin:0; }
.a4-coupon h2 { font-size:12.5pt; }
.a4-coupon h2 strong { font-size:18pt; }
.a4-coupon p { margin:.7mm 0; font-size:8pt; font-weight:800; }
.a4-coupon small { font-size:7pt; }
.a4-coupon>b { font:900 28pt Georgia,serif; text-align:center; }
.a4-coupon>b em { display:block; font:900 8pt sans-serif; }
.a4-footer { display:grid; grid-template-columns:1fr auto; gap:3mm; margin-top:auto; padding-top:1.2mm; border-top:1pt solid #333; font-size:6.8pt; line-height:1.35; }
.quick-a4-report .a4-footer { grid-template-columns:1fr; }
.promo-new-hero { padding:8mm; border-radius:5mm; background:#27201c; color:#fff; }
.promo-new-hero p { margin:0; color:#f0bd55; font-size:10pt; font-weight:850; }
.promo-new-hero h1 { margin:2mm 0; font-size:26pt; line-height:1.18; }
.promo-new-hero span { font-size:11pt; font-weight:700; }
.promo-new-benefits { display:grid; grid-template-columns:repeat(2,1fr); gap:3mm; }
.promo-new-benefits article { padding:4mm; border:1.3pt solid #222; border-radius:3mm; }
.promo-new-benefits b { color:#8e3023; font:900 17pt Georgia,serif; }
.promo-new-benefits h2 { display:inline; margin-left:3mm; font-size:13pt; }
.promo-new-benefits p { margin:2mm 0 0; font-size:9pt; font-weight:650; line-height:1.55; }
.promo-new-values { padding:4mm 5mm; border-left:3mm solid #333; background:#e9e9e9; }
.promo-new-values h2 { margin:0 0 1.5mm; font-size:14pt; }
.promo-new-values p { margin:0; font-size:9pt; font-weight:650; line-height:1.6; }
.promo-new-values div { display:flex; gap:2mm; margin-top:2mm; }
.promo-new-values span { padding:1mm 3mm; border:1pt solid #444; border-radius:99px; background:#fff; font-size:7.5pt; font-weight:850; }
.promo-new-contact { display:grid; grid-template-columns:1fr 1fr; gap:4mm; }
.promo-new-contact>div { display:flex; flex-direction:column; align-items:center; padding:4mm; border:1.5pt solid #222; border-radius:4mm; text-align:center; }
.promo-new-contact h2 { margin:0; font-size:14pt; }
.promo-new-contact p { min-height:11mm; margin:1.5mm 0; font-size:8.5pt; font-weight:700; line-height:1.45; }
.promo-booking-qr { display:grid; width:48mm; height:48mm; place-items:center; padding:2mm; background:#fff; }
.promo-booking-qr img,.promo-booking-qr canvas { width:44mm!important; height:44mm!important; }
.promo-customer-qr { width:55mm; height:75mm; object-fit:contain; margin-top:-8mm; }
.promo-new-cta { padding:4mm; border:2pt dashed #222; border-radius:3mm; background:#f0f0f0; text-align:center; }
.promo-new-cta strong { font-size:13pt; }
.promo-new-cta p { margin:1.5mm 0 0; font-size:9pt; font-weight:700; line-height:1.55; }
.print-document.is-monochrome .quick-a4-report,
.print-document.is-monochrome .quick-a4-promo { color:#000; background:#fff; filter:grayscale(1) contrast(1.08); }
.print-document.is-monochrome .promo-new-hero,
.print-document.is-monochrome .a4-actions article>b,
.print-document.is-monochrome .a4-recipe header>span,
.print-document.is-monochrome .a4-coupon>b { color:#fff; background:#111; }
.print-document.is-monochrome .a4-reason,
.print-document.is-monochrome .a4-safety,
.print-document.is-monochrome .promo-new-values,
.print-document.is-monochrome .promo-new-cta { color:#000; background:#e3e3e3; }
.print-document.is-monochrome .a4-coupon { border-color:#000; background:repeating-linear-gradient(135deg,#ddd,#ddd 3mm,#fff 3mm,#fff 6mm); }
.print-document.is-monochrome .a4-summary { border-color:#555; border-left-color:#111; color:#111; background:#ededed; }
.print-document.is-monochrome .a4-summary p,.print-document.is-monochrome .a4-summary span { color:#222; }

@media (max-width:900px) {
  .quick-intro,.quick-assessment-shell,.result-main-grid { grid-template-columns:1fr; }
  .quick-guide { position:relative; top:0; min-height:auto; }
  .quick-guide-tip { margin-top:20px; }
  .quick-option-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-option-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .quick-matrix-row { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .quick-intro { gap:20px; padding:24px 18px; border-radius:23px; }
  .quick-intro-copy h1 { font-size:36px; letter-spacing:-1px; }
  .quick-intro-copy>p:not(.eyebrow) { font-size:17px; }
  .quick-intro-stack article { padding:15px; }
  .quick-guide { padding:22px; border-radius:21px; }
  .quick-guide h2 { font-size:28px; }
  .quick-question-card { min-height:0; padding:20px 14px; border-radius:20px; }
  .quick-question-title { gap:10px; margin:25px 0 18px; }
  .quick-question-title h1 { font-size:27px; }
  .quick-option-grid,.quick-option-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .quick-option { min-height:58px; padding:10px; font-size:15px; }
  .quick-matrix-row { padding:13px 10px; }
  .quick-scale { gap:5px; }
  .quick-scale-button { min-height:54px; padding:4px; font-size:13px; }
  .result-brand strong { font-size:18px; }
  .result-brand small { font-size:12px; }
  .result-summary-card { padding:25px 18px; border-radius:21px; }
  .result-main-grid>section,.recipes-section { padding:19px 14px; border-radius:20px; }
  .score-chart-card { grid-template-columns:1fr; }
  .score-bar-row { grid-template-columns:76px minmax(0,1fr) 32px; gap:7px; }
  .score-evidence { padding:14px 0 0; border-top:1px solid #ded5cd; border-left:0; }
  .recipe-body { padding:0 13px 15px; }
  .recipe-columns { grid-template-columns:1fr; }
  .result-recipe-card summary { grid-template-columns:38px 1fr auto; padding:11px; }
  .result-coupon { grid-template-columns:46px 1fr; padding:18px 13px; }
  .result-coupon h2 { font-size:22px; }
  .result-coupon h2 strong { font-size:34px; }
  .result-actions { display:grid; }
  .result-actions>* { width:100%; }
  .interlude-card { padding:29px 17px; }
  .interlude-card h1 { font-size:29px; }
}

@media print {
  .quick-a4-report,.quick-a4-promo { width:210mm!important; height:297mm!important; min-height:297mm!important; overflow:hidden!important; }
  .quick-a4-report *,.quick-a4-promo * { box-sizing:border-box; }
}
  .result-report-heading { display:block; padding:20px 17px; border-radius:20px; }
  .result-report-heading h1 { font-size:32px; line-height:1.25; }
  .result-report-heading>span { display:inline-block; margin-top:12px; }
