:root {
  --brand-green: #0f4c4a;
  --brand-green-dark: #0b403e;
  --brand-green-mid: #1e6b64;
  --brand-green-soft: #a7c7bc;
  --brand-green-pale: #edf4f1;
  --brand-gold: #d4af37;
  --brand-gold-deep: #b98e35;
  --brand-gold-soft: #f1e6cf;
  --brand-orange: #c86b4c;
  --brand-orange-soft: #f8e9e2;
  --sage-soft: #eef3ef;
  --page-bg: #f7f5ef;
  --card-bg: #fffefb;
  --text-primary: #172b29;
  --text-secondary: #4f5e5a;
  --text-muted: #89928f;
  --border-soft: #e7e3da;
  --border-green: #d8e3de;
  --shadow-soft: 0 5px 18px rgba(20, 47, 44, .055);
  --radius-card: 15px;
  --radius-small: 11px;
  --safe-inline: 14px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; min-height: 100%; }
html { background: var(--page-bg); }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: var(--page-bg);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
button { font: inherit; }
button, .option-button { -webkit-tap-highlight-color: transparent; }
.hidden { display: none !important; }

.page {
  width: 100%; min-height: 100vh;
  padding: max(12px, env(safe-area-inset-top)) var(--safe-inline) max(28px, env(safe-area-inset-bottom));
  display: flex; justify-content: center; align-items: flex-start;
}
.screen, .result-page { width: min(100%, 430px); }

/* Brand */
.brand-lockup { display: inline-flex; align-items: center; gap: 7px; color: var(--text-primary); }
.brand-mark { width: 22px; height: 22px; display: inline-grid; place-items: center; color: var(--brand-gold-deep); font-size: 11px; }
.brand { font-size: 14px; font-weight: 800; letter-spacing: .06em; }

/* Home */
.home-screen { background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-soft); }
.home-hero {
  min-height: 300px; position: relative; overflow: hidden; padding: 24px 24px 30px;
  background: radial-gradient(circle at 84% 68%, rgba(212,175,55,.13), transparent 22%), linear-gradient(150deg,#0b403e,#0f4c4a 62%,#145b56);
  color: #fff;
}
.home-hero::before,.home-hero::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.07); border-radius:50%; pointer-events:none; }
.home-hero::before { width:280px;height:280px;right:-128px;top:34px; }
.home-hero::after { width:190px;height:190px;right:-75px;top:81px; }
.home-hero .brand-lockup { color:#fff; position:relative; z-index:2; }
.home-hero .brand-mark { color:#e8ca72; }
.home-hero h1 { position:relative; z-index:2; margin:58px 0 0; font-size:39px; line-height:1.12; font-weight:850; letter-spacing:.015em; }
.subtitle { position:relative; z-index:2; margin:12px 0 0; font-size:15px; line-height:1.55; font-weight:600; color:rgba(255,255,255,.88); }
.home-insight { position:relative; z-index:2; max-width:300px; margin:21px 0 0; font-size:13px; line-height:1.7; color:rgba(255,255,255,.84); }
.home-orbit { position:absolute; inset:0; pointer-events:none; }
.orbit-dot { position:absolute; width:4px;height:4px;border-radius:50%;background:#e8c96e;box-shadow:0 0 10px rgba(232,201,110,.65); }
.orbit-dot-a { right:66px;top:83px; }.orbit-dot-b { right:111px;top:145px;width:2px;height:2px;opacity:.65; }
.home-body { position:relative; padding:18px 20px 22px; }
.info-list { display:flex; flex-wrap:wrap; gap:7px; padding-right:68px; }
.info-list span { padding:7px 9px; border:1px solid var(--border-soft); border-radius:999px; background:#fbfaf7; color:#53615e; font-size:11px; line-height:1; }
.character-placeholder { position:absolute; right:20px; top:18px; width:50px;height:50px; border-radius:13px; background:var(--brand-green-pale); color:var(--brand-green); display:grid;place-items:center;font-size:10px;font-weight:800;overflow:hidden; }
.ip-placeholder-ring { position:absolute;width:30px;height:30px;border:1px solid rgba(15,76,74,.18);border-radius:50%; }
.primary-button,.next-button { width:100%; border:0; border-radius:12px; padding:15px 18px; background:var(--brand-green); color:#fff; font-size:15px; font-weight:800; cursor:pointer; box-shadow:0 5px 14px rgba(15,76,74,.12); }
.primary-button { margin-top:20px; }
.primary-button:active,.next-button:active,.option-button:active { transform:scale(.988); }

/* Question */
.question-screen { padding-top:2px; }
.question-header { padding:10px 2px 15px; border-bottom:1px solid var(--border-soft); margin-bottom:14px; }
.question-header .brand-lockup { margin-bottom:16px; }
.question-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:var(--text-secondary); font-size:12px; font-weight:600; }
.question-progress-label { color:var(--brand-green); font-weight:800; }
.progress { width:100%;height:5px;overflow:hidden;border-radius:999px;background:#e7e8e3; }
.progress-bar { width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-green),var(--brand-gold));transition:width .22s ease; }
.question-notice { margin:0 0 13px;padding:15px 16px;border-radius:12px;background:#f2f5f2;border:1px solid var(--border-green);border-left:3px solid var(--brand-gold);color:#485754;font-size:13px;line-height:1.65; }
.question-notice::before { content:"档案补充 · 最后3个小问题";display:block;margin-bottom:5px;color:var(--brand-green);font-size:11px;font-weight:850;letter-spacing:.04em; }
.question-panel { padding:22px 18px 18px;background:var(--card-bg);border:1px solid var(--border-soft);border-radius:15px;box-shadow:var(--shadow-soft); }
.question-title { margin:0 0 9px;color:var(--brand-green-mid);font-size:12px;font-weight:850;letter-spacing:.04em; }
.question-panel h2 { margin:0 0 20px;font-size:22px;line-height:1.48;font-weight:800;white-space:pre-line;letter-spacing:.002em; }
.options { display:flex;flex-direction:column;gap:9px; }
.option-button { width:100%;min-height:52px;padding:13px 14px;border:1px solid #e1e3dd;border-radius:11px;background:#fbfaf7;color:#263936;text-align:left;font-size:14px;line-height:1.5;cursor:pointer;transition:.15s ease; }
.option-button.selected { border-color:var(--brand-green-mid);background:#edf4f1;box-shadow:inset 3px 0 0 var(--brand-gold);font-weight:650; }
.next-button { margin-top:13px; }
.prev-button { width:100%;margin-top:5px;padding:12px 16px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer; }
.prev-button:active { background:#eceee9; }

/* Result common */
.result-page { padding:0 0 44px; }
.result-header { display:none; }
.result-module { position:relative;width:100%;margin-bottom:11px;padding:16px;background:var(--card-bg);border:1px solid var(--border-soft);border-radius:15px;box-shadow:var(--shadow-soft);overflow:hidden; }
.module-heading { display:flex;align-items:flex-start;gap:9px;margin-bottom:13px; }
.module-index { flex:0 0 auto; min-width:32px;height:28px;display:inline-grid;place-items:center;border-radius:7px;background:var(--brand-green);color:#fff;font-size:13px;font-weight:900; }
.gold-index { background:var(--brand-gold-deep); }
.module-eyebrow { margin:1px 0 2px;color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.08em; }
.module-heading h3 { margin:0;font-size:18px;line-height:1.32;font-weight:850;letter-spacing:.004em; }

/* Result hero */
.result-hero { min-height:460px;padding:0;background:linear-gradient(155deg,#0a3e3c,#0f4c4a 58%,#125953);border:0;color:#fff;box-shadow:0 8px 22px rgba(15,76,74,.13); }
.hero-topbar { position:relative;z-index:3;height:53px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08); }
.hero-brand { font-size:13px;font-weight:850;letter-spacing:.06em; }
.hero-report-type { color:rgba(255,255,255,.58);font-size:9px;letter-spacing:.05em; }
.result-hero > .module-index.light { display:none; }
.hero-orbit { position:absolute;border:1px solid rgba(239,221,161,.09);border-radius:50%;pointer-events:none; }
.hero-orbit-a { width:330px;height:330px;right:-168px;top:60px; }
.hero-orbit-b { width:235px;height:235px;right:-116px;top:106px; }
.result-hero::after { content:"";position:absolute;width:1px;height:250px;right:76px;top:92px;background:linear-gradient(transparent,rgba(231,202,116,.22),transparent);transform:rotate(37deg); }
.hero-star { position:absolute;border-radius:50%;background:#e7ca74;box-shadow:0 0 13px rgba(231,202,116,.55); }
.hero-star-a { width:7px;height:7px;right:27px;top:113px; }.hero-star-b { width:3px;height:3px;right:112px;top:157px;opacity:.7; }
.result-label { position:relative;z-index:2;margin:41px 22px 8px;color:#e7ca74;font-size:13px;font-weight:800; }
.result-hero h2 { position:relative;z-index:2;margin:0 22px;font-size:43px;line-height:1.05;font-weight:900;letter-spacing:.012em; }
.result-summary { position:relative;z-index:2;max-width:330px;margin:21px 22px 0;font-size:14px;line-height:1.68;font-weight:650;color:rgba(255,255,255,.92); }
.result-moment { position:relative;z-index:2;margin:12px 22px 0;max-width:320px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.55;font-weight:500; }
.hero-keywords { position:relative;z-index:2;margin:18px 22px 19px;gap:7px; }
.hero-keywords span { padding:6px 10px;border:1px solid rgba(231,202,116,.30);border-radius:999px;color:#efd88f;background:rgba(255,255,255,.045);font-size:11px;font-weight:700; }
.hero-friction-strip { position:absolute;z-index:4;left:0;right:0;bottom:0;min-height:82px;padding:15px 19px;display:flex;align-items:center;gap:11px;background:#fffefb;color:var(--text-primary);border-top:1px solid rgba(255,255,255,.16); }
.strip-icon { width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:var(--brand-gold-soft);color:var(--brand-gold-deep);font-weight:900;font-size:13px; }
.hero-friction-strip span:not(.strip-icon) { display:block;color:var(--text-muted);font-size:10px;font-weight:700;margin-bottom:2px; }
.hero-friction-strip strong { display:block;color:var(--brand-orange);font-size:18px;line-height:1.25;font-weight:900; }

/* Module 02 */
.mechanism-module { padding-bottom:14px; }
.mechanism-primary-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.mechanism-primary { min-width:0;padding:13px 12px 12px;border-radius:11px;background:#f2f6f3;border:1px solid #e3ebe7; }
.mechanism-power { background:#faf6ec;border-color:#eee5cf; }
.line-icon { width:27px;height:27px;display:grid;place-items:center;margin-bottom:8px;border:1px solid #c9ddd6;border-radius:50%;color:var(--brand-green);font-size:15px;font-weight:800; }
.line-icon.gold { border-color:#e7d8af;color:var(--brand-gold-deep); }
.mechanism-primary h4 { margin:0 0 6px;font-size:13px;font-weight:850; }
.mechanism-primary p,.mechanism-secondary p,.principle-band p { margin:0;white-space:pre-line;font-size:12px;line-height:1.55;color:#455551; }
.mechanism-secondary { margin-top:8px;padding:10px 2px 8px;border-bottom:1px solid #eceae4; }
.secondary-label { margin-bottom:4px;color:var(--brand-orange);font-size:10px;font-weight:850; }
.principle-band { margin-top:9px;padding:11px 12px;display:flex;gap:8px;align-items:flex-start;border-radius:9px;background:#e8f1ed;border:1px solid #d7e5df; }
.principle-mark { color:var(--brand-green);font-size:12px; }
.principle-band span:not(.principle-mark) { display:block;margin-bottom:2px;color:var(--brand-green);font-size:10px;font-weight:850; }
.principle-band p { color:#2f4b46;font-weight:700; }

/* Module 03 */
.friction-intro { padding:0 1px 11px;border-bottom:1px solid var(--border-soft); }
.friction-intro h4 { margin:0 0 5px;color:var(--brand-orange);font-size:24px;line-height:1.16;font-weight:900; }
.friction-intro > p { margin:0;color:#455551;font-size:12.5px;line-height:1.58;font-weight:550; }
.friction-keywords { margin:9px 0 0;gap:6px; }
.friction-keywords span { padding:5px 8px;border-radius:999px;background:var(--brand-orange-soft);color:#9f563f;font-size:10px;font-weight:700; }
.analysis-section { padding:11px 1px 0; }
.analysis-section + .analysis-section { margin-top:10px;border-top:1px solid #efede7; }
.analysis-label { margin-bottom:7px;color:var(--brand-green);font-size:11px;font-weight:900; }
.analysis-label span { display:inline-block;width:18px;color:var(--brand-gold-deep); }
.trigger-section > p { display:grid;grid-template-columns:1fr;gap:5px; }
.compact-text-item { position:relative;display:block;padding-left:13px;color:#465652;font-size:12px;line-height:1.48; }
.compact-text-item::before { content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--brand-green-mid); }
.analysis-section > p { margin:0;white-space:pre-line;color:#465652;font-size:12px;line-height:1.55; }
.flow-content { display:flex;flex-wrap:wrap;align-items:center;gap:5px; }
.flow-kicker { width:100%;margin-bottom:1px;color:var(--text-muted);font-size:10px;font-weight:650; }
.flow-node { max-width:100%;padding:6px 8px;border-radius:7px;background:#eef4f1;color:#34514c;font-size:10.5px;line-height:1.35;font-weight:650; }
.flow-arrow { color:var(--brand-gold-deep);font-size:11px;font-weight:800; }
.memory-band { margin-top:12px;padding:11px 12px;display:flex;gap:7px;align-items:flex-start;border-radius:9px;background:#f5ecd8;border:1px solid #eadbb7; }
.memory-band > span { color:var(--brand-gold-deep);font-size:23px;line-height:.9; }
.memory-band p { margin:0;color:#373f3d;font-size:12.5px;line-height:1.5;font-weight:800; }

/* Module 04 */
.formula-band { padding:12px;border-radius:10px;background:#f3e7cd;border:1px solid #e9d7ad; }
.formula-heading { margin-bottom:8px;color:#69542a;font-size:11px;font-weight:900; }
.formula-flow { display:flex;flex-wrap:wrap;align-items:center;gap:5px; }
.formula-flow .flow-node { background:rgba(255,255,255,.48);color:#4e422b;font-weight:750; }
.action-group { margin-top:9px;padding:12px;border-radius:10px;border:1px solid transparent; }
.good-actions { background:#edf4f1;border-color:#dce9e3; }
.avoid-actions { background:#f8e9e2;border-color:#efd9cf; }
.action-group-heading { display:flex;align-items:center;gap:7px;margin-bottom:5px; }
.action-group-heading h4 { margin:0;font-size:12px;font-weight:900; }
.action-symbol { width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:900; }
.good-actions .action-symbol { background:var(--brand-green);color:#fff; }.avoid-actions .action-symbol { background:var(--brand-orange);color:#fff; }
.action-group ol { list-style:none;margin:0;padding:0;counter-reset:action; }
.action-group li { position:relative;margin:0;padding:7px 0 7px 29px;color:#40514d;font-size:11.5px;line-height:1.5;counter-increment:action; }
.action-group li + li { border-top:1px solid rgba(24,48,46,.07); }
.action-group li::before { content:"0" counter(action);position:absolute;left:0;top:8px;color:var(--brand-green);font-size:10px;font-weight:900; }
.avoid-actions li::before { color:var(--brand-orange); }
.reboot-quote { margin-top:9px;padding:11px 12px;border-left:3px solid var(--brand-green);border-radius:0 9px 9px 0;background:#f4f6f2; }
.reboot-quote > span { display:block;margin-bottom:3px;color:var(--text-muted);font-size:10px;font-weight:800; }
.reboot-quote p { margin:0;color:#263f3a;font-size:12.5px;line-height:1.52;font-weight:800; }

/* Module 05 */
.experiment-intro { margin:-3px 0 12px;padding:0 1px;color:#4a5a56;font-size:12px;line-height:1.55;font-weight:550;white-space:pre-line; }
.experiment-timeline { position:relative;padding-left:23px; }
.experiment-timeline::before { content:"";position:absolute;left:7px;top:8px;bottom:9px;width:1px;background:#d5dfda; }
.experiment-day { position:relative;margin:0;padding:0 0 12px 10px;display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:start; }
.experiment-day:last-child { padding-bottom:0; }
.experiment-day::before { content:"";position:absolute;left:-19px;top:5px;width:8px;height:8px;border:2px solid var(--card-bg);border-radius:50%;background:var(--brand-green);box-shadow:0 0 0 1px #b8ccc4; }
.experiment-day h4 { margin:0;color:var(--brand-green);font-size:10px;font-weight:900;line-height:1.45;padding-top:1px; }
.experiment-day-content { min-width:0; }
.experiment-day p { margin:0;white-space:pre-line;color:#455551;font-size:11.5px;line-height:1.48; }
.day-core { font-weight:750;color:#2d4540 !important; }
.day-detail { margin-top:3px !important;color:#65706d !important;font-size:10.8px !important;line-height:1.46 !important; }
.experiment-reboot { margin-top:13px;padding:11px 12px;border-radius:9px;background:#edf3f0;border:1px solid #dce7e2; }
.experiment-reboot > span { display:block;margin-bottom:3px;color:var(--brand-green);font-size:10px;font-weight:900; }
.experiment-reboot p { margin:0;color:#2f4944;font-size:12.5px;line-height:1.5;font-weight:800; }

/* Responsive */
@media (max-width: 414px) {
  .result-module { padding:15px; }
  .result-hero { padding:0; }
}
@media (max-width: 390px) {
  .home-hero { min-height:292px;padding-left:21px;padding-right:21px; }
  .home-body { padding-left:18px;padding-right:18px; }
  .result-hero h2 { font-size:41px; }
  .result-summary { font-size:13.5px; }
}
@media (max-width: 375px) {
  :root { --safe-inline: 11px; }
  .home-hero h1 { font-size:36px; }
  .question-panel h2 { font-size:20px; }
  .result-hero h2 { font-size:39px; }
  .module-heading h3 { font-size:17px; }
  .mechanism-primary { padding:11px 9px; }
  .mechanism-primary p { font-size:11.5px; }
  .flow-node { font-size:10px; }
  .experiment-day { grid-template-columns:43px 1fr; }
}
@media (min-width:650px) { .page { padding-top:28px;padding-bottom:40px; } }

/* Precision pass: keep the report denser and closer to the approved visual rhythm. */
body { font-family: "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
.result-hero { min-height: 0; }
.hero-friction-strip { position: relative; left: auto; right: auto; bottom: auto; margin-top: 20px; }
.result-moment { margin-bottom: 0; }
.experiment-day { display:flex; grid-template-columns:none; }
.experiment-day h4 { flex:0 0 46px; width:46px; }
.experiment-day-content { flex:1 1 auto; width:auto; min-width:0; }

/* =========================================================
   FINAL PRECISION REFINEMENT — visual-only pass
   ========================================================= */
:root {
  --brand-green: #0f4c4a;
  --brand-green-dark: #0a403e;
  --brand-green-mid: #1e6b64;
  --brand-green-soft: #a7c7bc;
  --brand-green-pale: #edf3f0;
  --brand-gold: #d4af37;
  --brand-gold-deep: #b98b2f;
  --brand-gold-soft: #f1e6cf;
  --brand-orange: #c86b4c;
  --brand-orange-soft: #f8e8e1;
  --page-bg: #f7f5ef;
  --card-bg: #fffefa;
  --text-primary: #182c29;
  --text-secondary: #3d4d49;
  --text-muted: #87918e;
  --border-soft: #dfddd5;
  --border-green: #d5e1dc;
  --shadow-soft: 0 3px 12px rgba(23, 48, 44, .045);
  --radius-card: 13px;
  --radius-small: 9px;
}

body { color: var(--text-primary); font-weight: 450; }
.result-page { padding-bottom: 32px; }
.result-module {
  margin-bottom: 9px;
  padding: 14px 15px 15px;
  border-radius: var(--radius-card);
  border-color: var(--border-soft);
  box-shadow: var(--shadow-soft);
}
.module-heading { gap: 8px; margin-bottom: 11px; align-items: center; }
.module-index { min-width: 31px; height: 27px; border-radius: 6px; font-size: 12px; }
.module-eyebrow { margin: 0 0 1px; font-size: 7.5px; letter-spacing: .105em; color: #a3aaa7; font-weight: 650; }
.module-heading h3 { font-size: 18px; line-height: 1.26; font-weight: 900; color: #172b29; }

/* 01 — match the approved hero proportion and hierarchy */
.result-hero {
  background: var(--card-bg);
  border: 1px solid var(--border-soft);
  color: var(--text-primary);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.hero-green-zone {
  position: relative;
  min-height: 333px;
  padding-bottom: 24px;
  overflow: hidden;
  background: linear-gradient(154deg, #0a413f 0%, #0f4c4a 60%, #135b55 100%);
  color: #fff;
}
.hero-green-zone::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 230px;
  right: 78px;
  top: 78px;
  background: linear-gradient(transparent, rgba(232, 207, 134, .11), transparent);
  transform: rotate(37deg);
  pointer-events: none;
}
.hero-topbar { height: 51px; padding: 0 19px; border-bottom-color: rgba(255,255,255,.065); }
.hero-brand { font-size: 12.5px; font-weight: 850; }
.hero-report-type { font-size: 7.5px; color: rgba(255,255,255,.42); letter-spacing: .06em; }
.hero-orbit { border-color: rgba(239,221,161,.055); }
.hero-orbit-a { width: 315px; height: 315px; right: -162px; top: 43px; }
.hero-orbit-b { width: 225px; height: 225px; right: -112px; top: 89px; }
.hero-star { opacity: .68; box-shadow: 0 0 10px rgba(231,202,116,.36); }
.hero-star-a { width: 5px; height: 5px; right: 29px; top: 108px; }
.hero-star-b { width: 2px; height: 2px; right: 116px; top: 151px; }
.result-label { margin: 35px 21px 4px; color: #e6c86e; font-size: 12px; font-weight: 850; }
.result-hero h2 { margin: 0 21px; font-size: 46px; line-height: 1.02; font-weight: 950; letter-spacing: .005em; color: #fff; }
.result-summary { max-width: 306px; margin: 18px 21px 0; font-size: 13.6px; line-height: 1.52; font-weight: 650; color: rgba(255,255,255,.93); }
.result-moment { max-width: 310px; margin: 10px 21px 0; font-size: 11px; line-height: 1.42; color: rgba(255,255,255,.57); }
.hero-keywords {
  margin: 0;
  padding: 10px 10px 9px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  background: #fffefa;
  border-bottom: 1px solid #ebe7dd;
}
.hero-keywords span {
  min-width: 0;
  height: 50px;
  padding: 6px 4px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid #e4e2da;
  border-radius: 8px;
  background: #fbfaf6;
  color: #24413c;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 820;
}
.hero-keywords span::before {
  content: "◎";
  display: block;
  margin-bottom: 1px;
  color: var(--brand-green-mid);
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
}
.hero-keywords span:nth-child(2)::before { content: "◇"; color: var(--brand-gold-deep); }
.hero-keywords span:nth-child(3)::before { content: "↗"; color: var(--brand-green-mid); }
.hero-friction-strip {
  margin: 0;
  min-height: 66px;
  padding: 10px 13px;
  gap: 9px;
  background: #fffefa;
  border-top: 0;
}
.strip-icon { width: 27px; height: 27px; flex-basis: 27px; font-size: 11px; background: #f2e5c9; }
.hero-friction-copy { min-width: 0; }
.hero-friction-strip span:not(.strip-icon) { margin-bottom: 1px; font-size: 9px; color: #7f8a86; }
.hero-friction-strip strong { font-size: 19px; line-height: 1.15; font-weight: 900; color: var(--brand-orange); }

/* 02 — denser, more editorial, less form-like */
.mechanism-primary-grid { gap: 7px; align-items: stretch; }
.mechanism-primary {
  padding: 10px 10px 9px;
  border-radius: 9px;
  border-color: #dfe8e4;
  background: #f1f5f2;
}
.mechanism-power { background: #fbf7ed; border-color: #eee2c8; }
.line-icon { width: 22px; height: 22px; margin-bottom: 7px; font-size: 10px; }
.mechanism-primary h4 { margin-bottom: 5px; font-size: 12.5px; font-weight: 900; color: #1e3430; }
.mechanism-primary p,
.mechanism-secondary p,
.principle-band p { font-size: 11.3px; line-height: 1.43; color: #3e4f4b; }
.compact-paragraph { display: block; }
.compact-paragraph + .compact-paragraph { margin-top: 5px; }
.mechanism-secondary { margin-top: 7px; padding: 8px 1px 7px; border-bottom: 1px solid #ebe9e2; }
.secondary-label { margin-bottom: 3px; font-size: 9px; }
.principle-band { margin-top: 7px; padding: 9px 10px; gap: 7px; border-radius: 8px; background: #e4efea; border-color: #cfdfd8; }
.principle-mark { font-size: 10px; margin-top: 2px; }
.principle-band span:not(.principle-mark) { font-size: 9px; margin-bottom: 2px; }
.principle-band p { color: #28453f; font-weight: 760; }

/* 03 — mechanism analysis, not an article */
.friction-intro { padding-bottom: 9px; }
.friction-intro h4 { margin-bottom: 4px; font-size: 23px; font-weight: 950; }
.friction-intro > p { font-size: 11.7px; line-height: 1.46; color: #3d4e49; }
.friction-keywords { margin-top: 7px; gap: 5px; }
.friction-keywords span { padding: 4px 7px; border-radius: 999px; font-size: 9.5px; }
.analysis-section { padding-top: 9px; }
.analysis-section + .analysis-section { margin-top: 8px; }
.analysis-label { margin-bottom: 6px; font-size: 10.5px; }
.compact-text-item { padding-left: 12px; font-size: 11.3px; line-height: 1.42; color: #3f514c; }
.compact-text-item + .compact-text-item { margin-top: 3px; }
.compact-text-item::before { top: .62em; width: 4px; height: 4px; }
.behavior-flow { display: block; }
.flow-kicker { margin-bottom: 5px; font-size: 9px; color: #8c9491; }
.behavior-flow-row { display: grid; grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr); gap: 5px; align-items: center; }
.behavior-flow-node {
  min-width: 0;
  padding: 7px 7px;
  border-radius: 7px;
  background: #eef4f1;
  border: 1px solid #e0e9e5;
  color: #2f4e48;
  text-align: center;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 720;
}
.behavior-flow-arrow, .behavior-flow-down { color: var(--brand-gold-deep); font-size: 11px; font-weight: 900; text-align: center; }
.behavior-flow-down { height: 13px; line-height: 13px; }
.explanation-section { padding: 9px 10px !important; border-top: 0 !important; border-radius: 8px; background: #f6f7f3; }
.explanation-section .analysis-label { margin-bottom: 4px; }
.explanation-section > p { white-space: normal; font-size: 11.2px; line-height: 1.42; color: #3c4c48; }
.memory-band { margin-top: 9px; padding: 9px 11px; border-radius: 8px; }
.memory-band > span { font-size: 20px; }
.memory-band p { font-size: 12.2px; line-height: 1.4; font-weight: 900; }

/* 04 — keep structure, tighten rhythm */
.formula-band { padding: 10px 11px; border-radius: 9px; }
.formula-heading { margin-bottom: 6px; font-size: 10px; }
.formula-flow { gap: 4px; }
.formula-flow .flow-node { padding: 5px 7px; font-size: 10px; }
.action-group { margin-top: 8px; padding: 10px 11px; border-radius: 9px; }
.action-group-heading { margin-bottom: 3px; }
.action-group-heading h4 { font-size: 11.5px; }
.action-symbol { width: 20px; height: 20px; font-size: 9px; }
.action-group li { padding: 6px 0 6px 27px; color: #354a45; font-size: 11.1px; line-height: 1.43; }
.action-group li::before { top: 7px; font-size: 9.5px; }
.reboot-quote { margin-top: 8px; padding: 9px 10px; }
.reboot-quote > span { font-size: 9px; }
.reboot-quote p { font-size: 12px; line-height: 1.42; }

/* 05 — structured vertical timeline with explicit reading hierarchy */
.experiment-intro { margin-bottom: 10px; font-size: 11.4px; line-height: 1.45; color: #3f504b; }
.experiment-timeline { padding-left: 20px; }
.experiment-timeline::before { left: 6px; top: 7px; bottom: 7px; background: #cadbd4; }
.experiment-day {
  position: relative;
  display: grid;
  grid-template-columns: 43px minmax(0,1fr);
  gap: 7px;
  padding: 0 0 9px 8px;
  align-items: start;
}
.experiment-day::before { left: -17px; top: 5px; width: 7px; height: 7px; }
.experiment-day h4 { width: auto; flex: none; padding-top: 0; font-size: 9.5px; line-height: 1.35; letter-spacing: .015em; }
.experiment-day-content { padding: 0 0 7px; border-bottom: 1px solid #eeece5; }
.experiment-day:last-child .experiment-day-content { border-bottom: 0; padding-bottom: 0; }
.day-action-label, .day-observe-label {
  display: block;
  margin-bottom: 2px;
  color: #8c9692;
  font-size: 8px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: .04em;
}
.day-core { margin: 0 !important; font-size: 11.2px !important; line-height: 1.38 !important; color: #29443e !important; font-weight: 820 !important; }
.day-detail { margin: 4px 0 0 !important; font-size: 10.6px !important; line-height: 1.38 !important; color: #56645f !important; }
.day-observe {
  margin: 5px 0 0;
  padding: 6px 7px;
  border-radius: 6px;
  background: #f3f6f4;
  color: #53645f;
  font-size: 10.3px;
  line-height: 1.36;
}
.experiment-reboot { margin-top: 10px; padding: 9px 10px; border-radius: 8px; }
.experiment-reboot > span { font-size: 9px; }
.experiment-reboot p { font-size: 12px; line-height: 1.42; }

@media (max-width: 390px) {
  .hero-green-zone { min-height: 326px; }
  .result-hero h2 { font-size: 44px; }
  .result-summary { font-size: 13.2px; }
}
@media (max-width: 375px) {
  .result-hero h2 { font-size: 42px; }
  .hero-keywords span { height: 48px; font-size: 10.5px; }
  .mechanism-primary { padding: 9px 8px; }
  .mechanism-primary p { font-size: 10.9px; }
  .behavior-flow-node { font-size: 9.6px; }
}

/* Renderer-safe flex refinements; same behavior in modern mobile browsers. */
.flow-content > .behavior-flow { width: 100%; flex: 1 1 100%; }
.behavior-flow-row { display: flex; width: 100%; gap: 5px; align-items: center; }
.behavior-flow-node { flex: 1 1 0; }
.behavior-flow-arrow { flex: 0 0 18px; }
.experiment-day { display: flex; gap: 7px; }
.experiment-day h4 { flex: 0 0 43px; width: 43px; }
.experiment-day-content { flex: 1 1 auto; min-width: 0; }

/* =========================================================
   HERO FINAL SCREEN PRECISION PASS — module 01 only
   ========================================================= */
:root {
  --safe-inline: 18px;
}

.result-page { padding-top: 2px; }
.result-page .result-hero {
  margin-bottom: 11px;
  padding: 0;
  border-radius: 22px;
  border: 1px solid #e8e3d7;
  background: #f7f5ef;
  box-shadow: 0 8px 24px rgba(20, 35, 32, 0.05);
  overflow: hidden;
}

.result-page .result-hero .hero-green-zone {
  position: relative;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  padding: 0 28px 34px;
  min-height: 430px;
  background: linear-gradient(145deg, #0F4C4A 0%, #165B56 48%, #1B625B 100%);
  color: #fff;
}
.result-page .result-hero .hero-green-zone::before,
.result-page .result-hero .hero-green-zone::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(212,175,55,0.11);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.result-page .result-hero .hero-green-zone::before {
  width: 480px;
  height: 320px;
  right: -175px;
  top: 56px;
  transform: rotate(-18deg);
  opacity: .14;
}
.result-page .result-hero .hero-green-zone::after {
  width: 380px;
  height: 280px;
  right: -126px;
  top: 118px;
  transform: rotate(-28deg);
  opacity: .10;
}
.result-page .result-hero .hero-topbar {
  position: relative;
  z-index: 2;
  height: auto;
  padding: 14px 0 12px;
  margin: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.result-page .result-hero .hero-brand,
.result-page .result-hero .hero-report-type,
.result-page .result-hero .result-label,
.result-page .result-hero h2,
.result-page .result-hero .result-summary,
.result-page .result-hero .result-moment {
  position: relative;
  z-index: 2;
}
.result-page .result-hero .hero-brand {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.72);
  letter-spacing: 0;
}
.result-page .result-hero .hero-report-type {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.56);
  letter-spacing: 0;
  text-align: right;
}
.result-page .result-hero .hero-orbit { display: none; }
.result-page .result-hero::after { display: none; }
.result-page .result-hero .hero-star {
  background: rgba(231,196,111,0.85);
  box-shadow: 0 0 8px rgba(231,196,111,0.22);
  opacity: .9;
  z-index: 1;
}
.result-page .result-hero .hero-star-a {
  width: 5px;
  height: 5px;
  right: 31px;
  top: 128px;
}
.result-page .result-hero .hero-star-b {
  width: 3px;
  height: 3px;
  right: 116px;
  top: 167px;
  opacity: .75;
}
.result-page .result-hero .result-label {
  margin: 0 0 12px;
  color: #E2C06B;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
}
.result-page .result-hero h2 {
  margin: 0 0 22px;
  font-size: clamp(48px, 13vw, 64px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}
.result-page .result-hero .result-summary {
  max-width: 90%;
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
}
.result-page .result-hero .result-moment {
  max-width: 88%;
  margin: 18px 0 0;
  padding-left: 14px;
  border-left: 2px solid #D4AF37;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: rgba(255,255,255,0.72);
}

.result-page .result-hero .hero-keywords {
  position: relative;
  z-index: 3;
  margin: -18px 18px 0;
  padding: 18px 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-radius: 22px;
  border: 1px solid rgba(15,76,74,0.06);
  background: #FFFDF8;
  box-shadow: 0 8px 24px rgba(31,43,39,0.06);
}
.result-page .result-hero .hero-keywords span {
  min-width: 0;
  padding: 0 8px;
  min-height: 84px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #183935;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
}
.result-page .result-hero .hero-keywords span:not(:last-child) {
  border-right: 1px solid rgba(15,76,74,0.08);
}
.result-page .result-hero .hero-keywords span::before {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin: 0;
  border-radius: 50%;
  background: #f7f1e4;
  color: var(--brand-green-mid);
  font-size: 16px;
  line-height: 1;
}
.result-page .result-hero .hero-keywords span:nth-child(1)::before { content: "◌"; }
.result-page .result-hero .hero-keywords span:nth-child(2)::before { content: "◇"; color: var(--brand-gold-deep); }
.result-page .result-hero .hero-keywords span:nth-child(3)::before { content: "↗"; }

.result-page .result-hero .hero-friction-card {
  margin: 16px 18px 18px;
  padding: 18px 20px 18px;
  border-radius: 21px;
  border: 1px solid rgba(15,76,74,0.06);
  background: #FFFDF9;
  box-shadow: 0 8px 26px rgba(35,39,37,0.05);
}
.result-page .result-hero .hero-friction-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.result-page .result-hero .strip-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f2e5c9;
  color: #b38a34;
  font-size: 12px;
  font-weight: 800;
}
.result-page .result-hero .hero-friction-title {
  color: #7b8581;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
}
.result-page .result-hero .hero-friction-card strong {
  display: block;
  margin: 0 0 8px;
  color: #C86B4C;
  font-size: 28px;
  line-height: 1.18;
  font-weight: 700;
}
.result-page .result-hero .hero-friction-summary {
  margin: 0;
  color: #32403c;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 400;
}

@media (max-width: 390px) {
  .result-page .result-hero .hero-green-zone {
    padding-left: 26px;
    padding-right: 26px;
    min-height: 420px;
  }
  .result-page .result-hero .hero-topbar {
    margin-bottom: 34px;
  }
  .result-page .result-hero .hero-report-type { font-size: 11.5px; }
  .result-page .result-hero .result-label { font-size: 16px; }
  .result-page .result-hero h2 { font-size: 50px; }
  .result-page .result-hero .result-summary { font-size: 17px; }
  .result-page .result-hero .result-moment { font-size: 15px; }
}

@media (max-width: 375px) {
  :root { --safe-inline: 16px; }
  .result-page .result-hero .hero-green-zone {
    padding-left: 24px;
    padding-right: 24px;
    min-height: 400px;
  }
  .result-page .result-hero .hero-keywords {
    margin-left: 16px;
    margin-right: 16px;
  }
  .result-page .result-hero .hero-friction-card {
    margin-left: 16px;
    margin-right: 16px;
  }
  .result-page .result-hero h2 { font-size: 46px; }
  .result-page .result-hero .hero-keywords span {
    font-size: 15px;
    min-height: 80px;
    padding: 0 6px;
  }
}

/* =========================================================
   MODULES 02–05 FINAL REFINEMENT PASS
   Keep hero untouched.
   ========================================================= */
.result-page .mechanism-module,
.result-page .friction-module,
.result-page .how-module,
.result-page .experiment-module {
  margin-top: 0;
  padding: 16px 16px 15px;
  border-radius: 18px;
  border: 1px solid #e7e3d8;
  background: #fffdfa;
  box-shadow: 0 8px 24px rgba(20, 35, 32, 0.045);
}

.result-page .mechanism-module .module-heading,
.result-page .friction-module .module-heading,
.result-page .how-module .module-heading,
.result-page .experiment-module .module-heading {
  margin-bottom: 12px;
  gap: 10px;
  align-items: center;
}
.result-page .mechanism-module .module-index,
.result-page .friction-module .module-index,
.result-page .how-module .module-index,
.result-page .experiment-module .module-index {
  min-width: 34px;
  height: 28px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
}
.result-page .mechanism-module .module-eyebrow,
.result-page .friction-module .module-eyebrow,
.result-page .how-module .module-eyebrow,
.result-page .experiment-module .module-eyebrow {
  margin: 0 0 2px;
  color: #a7afab;
  font-size: 9px;
  line-height: 1.15;
  letter-spacing: .12em;
  font-weight: 700;
}
.result-page .mechanism-module h3,
.result-page .friction-module h3,
.result-page .how-module h3,
.result-page .experiment-module h3 {
  color: #162c29;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 900;
}

/* 02 */
.result-page .mechanism-primary-grid {
  gap: 9px;
  align-items: stretch;
}
.result-page .mechanism-primary {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 146px;
  padding: 13px 13px 12px;
  border-radius: 14px;
  border: 1px solid #dfe8e4;
  background: #f2f6f3;
}
.result-page .mechanism-power {
  border-color: #eee1c3;
  background: #fbf7ee;
}
.result-page .mechanism-primary .line-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 8px;
  font-size: 10px;
}
.result-page .mechanism-primary h4 {
  margin: 0 0 6px;
  color: #19302d;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 900;
}
.result-page .mechanism-primary p,
.result-page .mechanism-secondary p,
.result-page .principle-band p {
  color: #354743;
  font-size: 12.2px;
  line-height: 1.58;
  font-weight: 500;
}
.result-page .mechanism-primary .compact-paragraph + .compact-paragraph {
  margin-top: 4px;
}
.result-page .mechanism-secondary {
  margin-top: 9px;
  padding: 8px 0 7px;
  border-bottom: 1px solid #ece8de;
}
.result-page .secondary-label {
  margin-bottom: 3px;
  color: #b97359;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}
.result-page .principle-band {
  margin-top: 9px;
  padding: 10px 11px;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid #d5e3dc;
  background: #e8f1ed;
}
.result-page .principle-band .principle-mark {
  margin-top: 2px;
  font-size: 11px;
}
.result-page .principle-band span:not(.principle-mark) {
  margin-bottom: 3px;
  color: #1d5d56;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}
.result-page .principle-band p {
  color: #28413c;
  line-height: 1.55;
  font-weight: 700;
}

/* 03 */
.result-page .friction-intro {
  padding: 0 0 11px;
  border-bottom: 1px solid #ece8de;
}
.result-page .friction-intro h4 {
  margin: 0 0 4px;
  color: #c86b4c;
  font-size: 26px;
  line-height: 1.16;
  font-weight: 800;
}
.result-page .friction-intro > p {
  margin: 0;
  color: #354642;
  font-size: 12.4px;
  line-height: 1.6;
  font-weight: 500;
}
.result-page .friction-keywords {
  margin-top: 8px;
  gap: 6px;
}
.result-page .friction-keywords span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #f8e8e1;
  color: #9b5841;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
}
.result-page .analysis-section {
  padding-top: 10px;
}
.result-page .analysis-section + .analysis-section {
  margin-top: 9px;
  border-top: 1px solid #efebe1;
}
.result-page .analysis-label {
  margin-bottom: 7px;
  color: #1d5d56;
  font-size: 11px;
  line-height: 1.25;
  font-weight: 800;
}
.result-page .analysis-label span {
  width: 17px;
}
.result-page .trigger-section > p {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.result-page .compact-text-item {
  padding-left: 12px;
  color: #374844;
  font-size: 12px;
  line-height: 1.56;
}
.result-page .compact-text-item::before {
  top: .72em;
  width: 4px;
  height: 4px;
  background: #2e6f68;
}
.result-page .behavior-flow {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.result-page .behavior-flow-node {
  width: 100%;
  padding: 9px 11px;
  border-radius: 12px;
  border: 1px solid #dfe8e4;
  background: #eef4f1;
  color: #2f4a45;
  text-align: center;
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 700;
}
.result-page .behavior-flow-arrow {
  align-self: center;
  color: #b78d36;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}
.result-page .flow-kicker,
.result-page .behavior-flow-row,
.result-page .behavior-flow-down {
  display: none !important;
}
.result-page .explanation-section {
  padding: 10px 11px !important;
  border-top: 0 !important;
  border-radius: 12px;
  background: #f5f6f3;
}
.result-page .explanation-section .analysis-label {
  margin-bottom: 4px;
}
.result-page .explanation-section > p {
  margin: 0;
  color: #384844;
  font-size: 11.8px;
  line-height: 1.55;
  font-weight: 500;
}
.result-page .memory-band {
  margin-top: 10px;
  padding: 10px 12px;
  align-items: center;
  border-radius: 12px;
  border: 1px solid #eddcb3;
  background: #f3e9d1;
}
.result-page .memory-band > span {
  font-size: 18px;
}
.result-page .memory-band p {
  color: #2d3b38;
  font-size: 12.8px;
  line-height: 1.55;
  font-weight: 800;
}

/* 04 */
.result-page .formula-band {
  padding: 11px 12px;
  border-radius: 12px;
}
.result-page .formula-heading {
  margin-bottom: 7px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}
.result-page .formula-flow .flow-node {
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 10.6px;
  line-height: 1.35;
}
.result-page .action-group {
  margin-top: 9px;
  padding: 11px 12px;
  border-radius: 12px;
}
.result-page .action-group-heading {
  margin-bottom: 5px;
}
.result-page .action-group-heading h4 {
  color: #1a302d;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 800;
}
.result-page .action-group li {
  padding: 7px 0 7px 28px;
  color: #354642;
  font-size: 11.8px;
  line-height: 1.55;
  font-weight: 500;
}
.result-page .reboot-quote {
  margin-top: 9px;
  padding: 10px 11px;
  border-left-width: 3px;
  border-radius: 0 12px 12px 0;
}
.result-page .reboot-quote > span {
  margin-bottom: 4px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}
.result-page .reboot-quote p {
  color: #27403c;
  font-size: 12.6px;
  line-height: 1.55;
  font-weight: 800;
}

/* 05 */
.result-page .experiment-intro {
  margin: -1px 0 11px;
  color: #3a4c47;
  font-size: 12.1px;
  line-height: 1.58;
  font-weight: 500;
}
.result-page .experiment-timeline {
  padding-left: 18px;
}
.result-page .experiment-timeline::before {
  left: 6px;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background: #cad8d2;
}
.result-page .experiment-day {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 0 0 10px 8px;
}
.result-page .experiment-day:last-child {
  padding-bottom: 0;
}
.result-page .experiment-day::before {
  left: -17px;
  top: 6px;
  width: 8px;
  height: 8px;
  border: 2px solid #fffdfa;
  box-shadow: 0 0 0 1px #b9cbc5;
}
.result-page .experiment-day h4 {
  flex: 0 0 45px;
  width: 45px;
  margin: 0;
  padding-top: 0;
  color: #1c5b54;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: .02em;
}
.result-page .experiment-day-content {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0 9px;
  border-bottom: 1px solid #eeebe2;
}
.result-page .experiment-day:last-child .experiment-day-content {
  padding-bottom: 0;
  border-bottom: 0;
}
.result-page .day-action-label,
.result-page .day-observe-label {
  display: block;
  margin-bottom: 3px;
  color: #8f9793;
  font-size: 8.8px;
  line-height: 1.2;
  letter-spacing: .04em;
  font-weight: 700;
}
.result-page .day-core {
  margin: 0 !important;
  color: #243d39 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}
.result-page .day-detail {
  margin: 4px 0 0 !important;
  color: #586661 !important;
  font-size: 11.1px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}
.result-page .day-observe {
  margin: 6px 0 0;
  padding: 7px 8px;
  border-radius: 10px;
  background: #f1f4f2;
  color: #51615d;
  font-size: 10.8px;
  line-height: 1.45;
  font-weight: 500;
}
.result-page .experiment-reboot {
  margin-top: 11px;
  padding: 10px 11px;
  border-radius: 12px;
  border: 1px solid #dce5e1;
  background: #edf3f0;
}
.result-page .experiment-reboot > span {
  margin-bottom: 4px;
  color: #1c5b54;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}
.result-page .experiment-reboot p {
  margin: 0;
  color: #2c4540;
  font-size: 12.6px;
  line-height: 1.55;
  font-weight: 800;
}

@media (max-width: 390px) {
  .result-page .mechanism-module,
  .result-page .friction-module,
  .result-page .how-module,
  .result-page .experiment-module {
    padding: 15px 15px 14px;
  }
  .result-page .mechanism-primary {
    min-height: 140px;
    padding: 12px 11px 11px;
  }
  .result-page .mechanism-primary p,
  .result-page .mechanism-secondary p,
  .result-page .principle-band p,
  .result-page .friction-intro > p,
  .result-page .compact-text-item,
  .result-page .explanation-section > p,
  .result-page .action-group li,
  .result-page .experiment-intro,
  .result-page .day-detail,
  .result-page .day-observe {
    font-size: 11.6px;
  }
  .result-page .behavior-flow-node { font-size: 11.2px; }
}


/* Final delivery fix: keep all personality names on one line without viewport-based sizing. */
.result-page .result-hero h2 {
  font-size: 50px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
@media (max-width: 414px) {
  .result-page .result-hero h2 { font-size: 48px; }
}
@media (max-width: 390px) {
  .result-page .result-hero h2 { font-size: 46px; }
}
@media (max-width: 375px) {
  .result-page .result-hero h2 { font-size: 44px; }
}
