:root{color-scheme:light;--ink:#243d40;--muted:#53676a;--accent:#24685e;--accent-dark:#184d45;--line:#819792;--paper:#fff;--soft:#edf4f0;--amber:#775019;--amber-bg:#fcf3e4;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:#f5f6f1}
*{box-sizing:border-box}body{margin:0;line-height:1.75;overflow-wrap:anywhere}button,input{font:inherit}button,summary,label,a{touch-action:manipulation}button,summary{cursor:pointer}button{min-height:48px;padding:12px 20px;border:1px solid var(--accent);border-radius:12px;font-weight:700;line-height:1.5}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}:focus-visible{outline:3px solid #8753a4;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5}h1{font-size:clamp(1.7rem,5vw,2.5rem);letter-spacing:.01em;margin-bottom:20px}h2{font-size:1.5rem}h3{font-size:1.125rem}p{margin-bottom:16px}a{color:#225f80;text-underline-offset:4px}main{max-width:780px;margin:0 auto;padding:0 24px}.brand{max-width:828px;margin:auto;display:flex;gap:12px;align-items:center;padding:28px 24px;color:var(--accent-dark);font-weight:700;line-height:1.4}.brand small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px;font-weight:400}.brand-mark{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--accent);border-radius:13px;font-size:1.4rem;background:var(--soft)}.edition{margin-left:auto;font-size:.75rem;border:1px solid var(--line);border-radius:20px;padding:3px 12px}.card{background:var(--paper);border:1px solid #d3ded8;border-radius:24px;padding:36px;box-shadow:0 8px 30px #243d4006}.eyebrow{font-size:.875rem;font-weight:700;color:var(--accent);letter-spacing:.06em}.lite{font-size:.65em;color:var(--accent)}.lead{font-size:1.125rem;font-weight:600}.intro>p:not(.eyebrow){max-width:60ch}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0;padding:20px 0;border-block:1px solid #d3ded8}.overview>span{color:var(--accent);font-size:.8rem;font-weight:700}.overview span span{display:block;color:var(--ink);font-size:1rem;margin-top:4px}.privacy-note{background:var(--soft);border-radius:12px;padding:18px;color:#36554e}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent-dark)}.secondary{background:white;color:var(--accent)}.secondary:hover{background:var(--soft)}#start{width:100%;display:flex;justify-content:center;gap:24px;margin-top:24px}.question-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.875rem;font-weight:700}.question-meta p{margin-bottom:10px}.category{color:var(--accent)}progress{display:block;width:100%;height:6px;border:0;border-radius:10px;margin-bottom:28px;background:#dce7e1;accent-color:var(--accent)}progress::-webkit-progress-bar{background:#dce7e1;border-radius:10px}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent);border-radius:10px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;width:100%;margin-bottom:16px}legend h2{font-size:1.4rem;margin:0}.question-hint{color:var(--muted)}.options{display:grid;gap:10px;margin:24px 0 16px}.option{display:flex;gap:12px;align-items:flex-start;min-height:52px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;line-height:1.6}.option:hover{background:#f5f8f5}.option:has(input:checked){border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}input[type=radio]{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--accent)}details{border-top:1px solid #d3ded8}summary{min-height:48px;padding:12px 4px;font-weight:600;line-height:1.6}details>p,details>div{padding:0 4px}details details{margin:0 8px}details details summary{font-weight:500}.navigation{display:flex;gap:12px;margin-top:28px}.navigation>button{flex:1;min-width:0}.notice:empty,.error:empty{display:none}.notice{padding:16px;border:1px solid #a58042;border-radius:12px;background:var(--amber-bg);color:var(--amber);margin:20px 0 0}.error{color:#943328;font-weight:700;margin-top:16px}.reference{margin-top:24px;padding:0 8px}.reference p{color:var(--muted)}footer{text-align:center;padding:32px 16px;font-size:.8rem;color:var(--muted)}.result-heading{border-left:4px solid var(--accent);padding:4px 0 4px 18px;margin-bottom:24px}.result-heading.attention{border-color:#a58042}.result-heading h2{margin:0}.result-section{border-top:1px solid #d3ded8;padding-top:24px;margin-top:24px}.result-section>h3{margin-bottom:12px}.result-list{padding-left:22px;margin:12px 0}.result-list li{padding:8px 0}.reason-kind{display:block;font-size:.875rem;font-weight:700;color:var(--muted)}.action{background:var(--soft);padding:18px;border-radius:12px;margin:12px 0}.action h3{margin-bottom:8px}.action p:last-child{margin-bottom:0}.condition{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d3ded8;padding:12px 0}.condition span{flex-shrink:0;font-size:.875rem;color:var(--muted)}blockquote{margin:12px 0;padding:16px 18px;border-left:3px solid var(--line);background:#f5f7f4;user-select:text}.result-controls{display:grid;gap:12px;margin-top:24px}.concept{margin-top:28px;color:var(--muted)}.concept summary{color:var(--accent)}.source-list{padding-left:22px}.source-list a{display:inline-block;min-height:44px;padding:8px 0}
@media(max-width:480px){main{padding:0 12px}.brand{padding:20px 16px;font-size:.875rem;gap:9px}.brand-mark{flex-basis:34px;height:34px}.edition{padding:3px 9px}.card{padding:24px 20px;border-radius:20px}.overview{gap:8px}.overview span span{font-size:1rem}.option{padding:14px 12px}.condition{display:block}.condition span{display:block;margin-top:4px}legend h2{font-size:1.25rem}.navigation{gap:10px}.navigation button{padding:12px}.reference{padding:0 4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 公開前のUI調整：本文サイズ・フォーカス・通常フローを維持する。 */
.intro {
  background: radial-gradient(ellipse at 100% 0, #f1edf5 0, transparent 42%), var(--paper);
}
.intro-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.intro-caption .eyebrow { margin: 0; }
.creator-sketch { width: 100px; height: 72px; flex: 0 0 100px; color: #56766b; }
.overview { border-bottom: 0; }
.overview > span { border-top: 2px solid #c8d9d0; padding-top: 12px; }
.overview span span { word-break: keep-all; }
.overview > span:nth-child(2) { border-color: #d6cadf; }
.overview > span:nth-child(3) { border-color: #dfd1b9; }
.result-heading {
  background: var(--soft);
  border-radius: 0 16px 16px 0;
  padding: 22px;
}
.result-heading.attention { background: #faf5eb; }
.result-heading .eyebrow { margin-bottom: 10px; }
.result-heading + p { margin-bottom: 20px; }
.result-section { margin-top: 36px; padding-top: 28px; }
.section-caption {
  margin-bottom: 6px;
  color: var(--muted);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .05em;
}
.result-section > h3 { font-size: 1.375rem; margin-bottom: 20px; }
.reason-groups { display: grid; gap: 16px; margin: 16px 0; }
.reason-card {
  border: 1px solid #c9d5cf;
  border-radius: 14px;
  background: #fafbf9;
  overflow-wrap: anywhere;
}
.reason-kind { font-size: 1rem; margin: 0; padding: 16px 18px 0; line-height: 1.6; }
.reason-card .result-list { margin: 8px 18px 14px; padding-left: 20px; }
.reason-card .result-list li { padding: 5px 0; }
.reason-next {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  padding: 8px 18px;
  background: #edf3ef;
  border-radius: 0 0 14px 14px;
}
.reason-next-label { font-size: .875rem; color: var(--muted); }
.action-jump {
  background: transparent;
  color: var(--accent-dark);
  padding: 10px 4px;
  border: 0;
  border-radius: 4px;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-align: left;
}
.action-jump:hover { color: #143e37; background: #dfeae3; }
.actions-section {
  padding: 26px;
  border: 2px solid var(--accent);
  border-radius: 18px;
  background: #edf4f0;
  box-shadow: 0 5px 0 #dde8e0;
}
.actions-section > h3 { font-size: 1.625rem; color: var(--accent-dark); }
.actions-section .section-caption { color: var(--accent); }
.action {
  background: white;
  padding: 22px;
  border: 1px solid #c6d6cc;
  border-radius: 12px;
  margin: 16px 0 0;
  scroll-margin-top: 24px;
}
.action h4 { font-size: 1.125rem; margin: 0 0 12px; line-height: 1.6; color: var(--accent-dark); }
.action-lead { display: block; margin-bottom: 12px; }
.action-lead:only-child { margin-bottom: 0; }
.conditions-section { border-top: 3px solid #d9cfe2; }
.condition { padding: 16px 0; }
.condition span { color: #524760; }
.messages-section { border-top: 3px solid #d9d0bd; }
.messages-section blockquote {
  background: #fbf8f0;
  border-color: #9b855d;
  border-radius: 0 12px 12px 0;
  padding: 20px;
  margin: 18px 0;
}
.legal-section { color: var(--muted); }
.legal-section > h3 { font-size: 1.125rem; }
.result-controls { padding-top: 24px; border-top: 1px solid #d3ded8; }
.concept { padding: 12px 16px; background: #f5f4f7; border: 1px solid #d8d1df; border-radius: 12px; }
.concept p { margin-top: 12px; }
.reference { padding: 8px 16px; background: #eeefe9; border-radius: 16px; }
.reference > details:first-child { border-top: 0; }
@media (max-width: 480px) {
  .intro-caption { gap: 8px; }
  .creator-sketch { width: 72px; height: 58px; flex-basis: 72px; }
  .result-heading { padding: 18px 16px; }
  .result-heading h2 { font-size: 1.375rem; }
  .actions-section { padding: 20px 12px; }
  .actions-section > h3, .actions-section > .section-caption { margin-left: 4px; }
  .action { padding: 18px 14px; }
  .reason-kind { padding-inline: 14px; }
  .reason-next { padding-inline: 14px; }
  .messages-section blockquote { padding: 18px 16px; }
}
