.mirai-check { --mac-teal:#1f665a; --mac-ink:#253b43; --mac-line:#d7e0d9; color:var(--mac-ink); font:inherit; line-height:1.85; }
.mirai-check *, .mirai-check *::before, .mirai-check *::after { box-sizing:border-box; }
.mirai-check [hidden] { display:none !important; }
.mirai-check h1,.mirai-check h2,.mirai-check h3,.mirai-check p { margin:0; }
.mirai-check h1,.mirai-check h2,.mirai-check h3 { color:var(--mac-ink); line-height:1.5; }
.mirai-check button,.mirai-check input,.mirai-check textarea { font:inherit; }
.mirai-check button,.mirai-check a { touch-action:manipulation; }
.mirai-check button:focus-visible,.mirai-check a:focus-visible,.mirai-check input:focus-visible,.mirai-check summary:focus-visible,.mirai-check textarea:focus-visible { outline:3px solid #488d80; outline-offset:4px; }
.mirai-check h2:focus { outline:none; }
.mac-wrap { max-width:1160px; margin:0 auto; padding:0 40px; }
.mac-hero { padding:22px 0 28px; background:#eaf4f7; }
.mac-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#53686d; margin-bottom:18px; }
.mac-breadcrumb a { color:#53686d; }
.mac-breadcrumb a::after { content:'/'; margin-left:10px; color:#8da4a6; }
.mac-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,48px); }
.mirai-check .mac-benefits { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 12px; padding:0; }
.mac-benefits li { padding:4px 11px; border:1px solid #a9c9c0; border-radius:999px; background:#f7fcfa; color:var(--mac-teal); font-size:12px; font-weight:700; line-height:1.6; white-space:nowrap; }
.mirai-check .mac-eyebrow { color:var(--mac-teal); font-size:13px; font-weight:700; margin-bottom:14px; }
.mirai-check h1 { font-size:clamp(24px,2.5vw,30px); letter-spacing:-.04em; }
.mirai-check .mac-lead { font-size:14px; margin:12px 0 14px; }
.mac-hero-art { width:100%; max-width:420px; margin:0; justify-self:end; }
.mac-hero-art img { display:block; width:100%; height:auto; border-radius:12px; }
.mac-main { padding-top:28px; padding-bottom:72px; }
.mac-about { max-width:700px; }
.mac-about p { color:#53686d; }
.mirai-check .mac-primary,.mirai-check .mac-secondary,.mirai-check .mac-text-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:13px 24px; border-radius:7px; border:1px solid transparent; cursor:pointer; line-height:1.65; font-size:14px; font-weight:700; text-align:center; text-decoration:none; white-space:normal; }
.mirai-check .mac-primary { background:var(--mac-teal); color:white; }
.mirai-check .mac-primary:hover { background:#174c44; color:white; }
.mirai-check .mac-secondary { background:transparent; color:var(--mac-teal); border-color:#a9bfb7; }
.mirai-check .mac-secondary:hover { background:#e7efe5; }
.mirai-check .mac-secondary:disabled { opacity:.5; cursor:default; background:transparent; }
.mirai-check .mac-text-button { background:transparent; color:#53686d; padding-left:8px; padding-right:8px; text-decoration:underline; font-weight:400; }
.mac-progress-label { display:flex; justify-content:space-between; gap:16px; font-size:13px; margin-bottom:8px; color:#53686d; }
.mirai-check progress { display:block; width:100%; height:7px; border:none; border-radius:6px; background:#dfe7e1; accent-color:var(--mac-teal); margin-bottom:24px; }
.mirai-check progress::-webkit-progress-bar { background:#dfe7e1; border-radius:6px; }
.mirai-check progress::-webkit-progress-value { background:var(--mac-teal); border-radius:6px; }
.mirai-check progress::-moz-progress-bar { background:var(--mac-teal); border-radius:6px; }
.mac-card { background:#fffdfa; padding:36px 40px; border:1px solid var(--mac-line); border-radius:12px; }
.mac-card h2,[data-result-title] { font-size:clamp(23px,2.7vw,30px); scroll-margin-top:24px; text-wrap:balance; }
.mac-step-help { font-size:14px; margin-top:12px !important; color:#53686d; }
.mirai-check fieldset { border:0; padding:0; margin:28px 0 0; min-width:0; }
.mirai-check legend { display:block; float:none; width:100%; font-size:16px; line-height:1.8; font-weight:700; margin-bottom:12px; padding:0; }
.mirai-check .mac-hint { font-size:13px; color:#53686d; line-height:1.8; margin-bottom:12px; }
.mac-choices { display:flex; flex-wrap:wrap; gap:10px; }
.mac-choice { display:flex; align-items:flex-start; gap:10px; padding:12px 17px; background:#fff; border:1px solid #bccbc4; border-radius:7px; cursor:pointer; font-size:14px; line-height:1.7; margin:0; }
.mac-choice:hover { border-color:var(--mac-teal); }
.mac-choice:has(input:checked) { border-color:var(--mac-teal); background:#e7efe5; box-shadow:inset 0 0 0 1px var(--mac-teal); }
.mac-choice input { flex-shrink:0; width:17px; height:17px; margin:3px 0 0; accent-color:var(--mac-teal); }
.mac-choice span { min-width:0; }
.mirai-check .mac-text-input { display:block; width:100%; max-width:560px; padding:12px 14px; border:1px solid #bccbc4; border-radius:7px; background:#fff; color:var(--mac-ink); font-size:16px; line-height:1.7; }
.mirai-check .mac-result-app { margin-top:18px; font-size:15px; font-weight:700; overflow-wrap:anywhere; }
.mac-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid var(--mac-line); margin-top:32px; padding-top:24px; }
.mac-actions [data-next] { margin-left:auto; }
.mac-error { color:#98432a; background:#fff1e9; padding:12px 16px; font-size:14px; margin-top:22px !important; }
.mirai-check .mac-urgent { color:#b42318; font-size:14px; font-weight:700; margin-top:12px; }
.mac-branch-note,.mac-routing-note { padding:24px; margin-top:24px !important; border-left:3px solid #9cb5a9; background:#edf2eb; }
.mac-result-lead { font-size:15px; margin-top:14px !important; }
.mac-score { --mac-score-color:#1f665a; --mac-score-fill:#2c8066; --mac-score-border:#bccfc0; display:grid; grid-template-columns:230px 1fr; gap:28px 32px; align-items:center; background:#e7efe5; border:1px solid var(--mac-score-border); border-radius:10px; padding:28px 32px; margin-top:30px; }
.mac-score-caution { --mac-score-color:#765307; --mac-score-fill:#dfad17; --mac-score-border:#e5cd7e; background:#fff4ce; }
.mac-score-high { --mac-score-color:#b42318; --mac-score-fill:#cf3b30; --mac-score-border:#e9b7b0; background:#fff0ed; }
.mac-score-number { border-right:1px solid var(--mac-score-border); }
.mac-score-number p { font-size:14px; font-weight:700; }
.mac-score-number strong { display:block; color:var(--mac-score-color); font-size:54px; line-height:1.3; letter-spacing:-.035em; }
.mac-score > div:nth-child(2) > p:first-child { font-size:14px; font-weight:700; margin-bottom:10px; }
.mac-score .mac-hint { margin-bottom:8px; }
.mac-barometer { grid-column:1 / -1; }
.mac-meter-label { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 20px; font-size:14px; font-weight:700; margin-bottom:10px; }
.mac-meter-message { color:var(--mac-score-color); font-size:13px; }
.mac-meter-track { height:16px; border-radius:999px; background:#fffdfa; border:1px solid var(--mac-score-border); overflow:hidden; }
.mac-meter-fill { display:block; height:100%; background:var(--mac-score-fill); border-radius:inherit; }
.mac-meter-legend { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 14px; margin-top:10px; font-size:12px; color:#53686d; }
.mac-meter-legend span { display:inline-flex; align-items:center; gap:6px; }
.mac-meter-legend span::before { content:''; width:9px; height:9px; border-radius:50%; background:#2c8066; }
.mac-meter-legend .mac-meter-key-caution::before { background:#dfad17; }
.mac-meter-legend .mac-meter-key-high::before { background:#cf3b30; }
.mac-result-cta { margin-top:24px; text-align:center; }
.mac-result-cta .mac-hint { margin-top:12px; }
.mac-result-list { list-style:none; margin:28px 0 0; padding:0; }
.mac-result-item { border-bottom:1px solid var(--mac-line); padding:22px 0; }
.mac-result-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:10px; }
.mac-result-heading h3 { font-size:17px; }
.mac-status { flex-shrink:0; border-radius:4px; padding:4px 10px; font-size:12px; background:#e7efe5; color:#285445; }
.mac-status-action .mac-status { background:#fae8db; color:#8b4125; }
.mac-status-unknown .mac-status { background:#f2ead3; color:#705724; }
.mac-status-na .mac-status { background:#edf0ed; color:#53686d; }
.mac-result-item > p { font-size:14px; }
.mac-next-note { margin-top:8px !important; color:var(--mac-teal); }
.mirai-check details { font-size:13px; margin-top:14px; }
.mirai-check summary { cursor:pointer; color:var(--mac-teal); padding:4px 0; }
.mirai-check details p { margin-top:10px; }
.mac-consultation { margin-top:34px; padding:30px; background:#eaf4f7; border-radius:10px; }
.mac-consultation h3 { font-size:21px; }
.mac-consultation > p { font-size:14px; margin:14px 0 22px; }
.mac-consultation .mac-hint { margin-bottom:0; margin-top:14px; }
.mac-report { padding:16px 0; }
.mac-report textarea { width:100%; max-width:100%; border:1px solid #bccbc4; background:#fffdfa; color:var(--mac-ink); font-size:13px; line-height:1.8; border-radius:6px; padding:15px; margin:14px 0; }
.mac-result-actions { justify-content:flex-start; }
@media (max-width:700px) {
  .mac-wrap { padding-left:22px; padding-right:22px; }
  .mac-hero { padding:18px 0 22px; }
  .mac-breadcrumb { font-size:11px; margin-bottom:16px; }
  .mac-hero-grid { grid-template-columns:1fr; gap:24px; }
  .mac-hero-art { max-width:290px; justify-self:center; }
  .mirai-check .mac-benefits { gap:6px; }
  .mac-benefits li { padding:4px 9px; font-size:11px; }
  .mac-main { padding-top:24px; padding-bottom:48px; }
  .mac-card { padding:24px 20px; }
  .mac-choices { gap:8px; }
  .mac-choice { width:100%; padding:12px 14px; }
  .mac-score { grid-template-columns:1fr; gap:18px; padding:24px; }
  .mac-score-number { border-right:0; border-bottom:1px solid var(--mac-score-border); padding-bottom:16px; }
  .mac-result-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .mac-consultation { padding:24px 20px; }
  .mac-consultation h3 { font-size:19px; }
  .mac-consultation .mac-primary { width:100%; padding:14px; }
  .mac-result-cta .mac-primary { width:100%; padding:14px; }
  .mac-result-actions { align-items:stretch; flex-direction:column; }
  .mac-desktop-break { display:none; }
}
@media (prefers-reduced-motion:reduce) { .mirai-check { scroll-behavior:auto; } }
