:root {
  --ink: #18302b;
  --muted: #52645f;
  --paper: #f8f7f3;
  --surface: #ffffff;
  --coral: #e45d4e;
  --mint: #a9d7d0;
  --teal: #397c8e;
  --urgent: #b83b31;
  --yellow: #f2c94c;
  --blue: #77aee5;
  --line: #d9dfdb;
  --focus: #005fcc;
  --shadow: 0 12px 32px rgb(21 40 61 / 10%);
  color: var(--ink);
  background: var(--paper);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-synthesis: none;
}

/* Decision journey: procedure -> comparable quote -> region -> safety */
.decision-hub { display:grid; width:min(calc(100% - 3rem),1192px); margin:2.25rem auto 5rem; padding:2rem; grid-template-columns:minmax(16rem,.55fr) minmax(0,1fr); gap:2rem; border:1px solid var(--ink); background:var(--surface); }
.decision-hub h2 { margin:.35rem 0 .75rem; font:800 clamp(1.9rem,3.5vw,3.25rem)/1.12 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; letter-spacing:-.03em; }
.decision-hub ol { display:grid; margin:0; padding:0; grid-template-columns:repeat(3,1fr); gap:.5rem; list-style:none; }
.decision-hub li a { display:grid; min-height:9rem; padding:1.1rem; grid-template-columns:2rem 1fr; gap:.25rem .65rem; border-top:5px solid var(--coral); background:var(--paper); color:inherit; text-decoration:none; }
.decision-hub li:nth-child(2) a { border-color:var(--yellow); }.decision-hub li:nth-child(3) a { border-color:var(--mint); }
.decision-hub li span { grid-row:1/3; color:var(--muted); font-weight:900; }.decision-hub li b,.decision-hub li small { display:block; }.decision-hub li small { color:var(--muted); }
.decision-hub>.primary-action { grid-column:2; justify-self:start; }
.decision-page { width:min(100%,1240px); margin:0 auto; padding:clamp(3rem,8vw,7rem) 1.5rem 7.5rem; }
.decision-hero { display:grid; padding-bottom:3.5rem; grid-template-columns:minmax(0,1fr) minmax(16rem,.45fr); align-items:end; gap:3rem; border-bottom:1px solid var(--line); }.decision-hero.compact { display:block; max-width:56rem; }
.decision-hero h1,.procedure-detail-head h1 { margin:.18em 0; font:800 clamp(2.75rem,7vw,6.2rem)/.98 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; letter-spacing:-.055em; }.decision-hero .lead { max-width:45rem; }
.decision-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }.decision-actions>a:not(.primary-action) { min-height:48px; padding:.8rem 1rem; border:1px solid var(--line); text-decoration:none; }
.procedure-directory,.price-table-section,.decision-page>section { margin-top:4.5rem; }.procedure-list { border-top:2px solid var(--ink); }
.procedure-row { display:grid; padding:1.25rem .5rem; grid-template-columns:3rem minmax(11rem,1.3fr) 1fr 1fr minmax(7.5rem,.8fr); align-items:center; gap:1.1rem; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }.procedure-row:hover { background:var(--surface); }.procedure-row>span:first-child { color:var(--muted); font-variant-numeric:tabular-nums; }.procedure-row b,.procedure-row small { display:block; }.procedure-row small { margin-top:.2rem; color:var(--muted); }.procedure-row strong { text-align:right; }
.data-note,.definition-stack { margin-top:2rem; padding:1.5rem; border-left:5px solid var(--coral); background:var(--surface); }
.procedure-detail-head { display:grid; padding-bottom:3rem; grid-template-columns:1fr auto; gap:2rem; border-bottom:1px solid var(--line); }.procedure-detail-head .korean-name { color:var(--muted); font-size:1.25rem; }.procedure-detail-head dl { min-width:16rem; }.procedure-detail-head dl div { padding:.9rem 0; border-bottom:1px solid var(--line); }.procedure-detail-head dt { color:var(--muted); font-size:.78rem; }.procedure-detail-head dd { margin:.3rem 0 0; font-weight:800; }
.stat-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; }.stat-cards dl { margin:0; padding:1.4rem; border-top:4px solid var(--ink); background:var(--surface); }.stat-cards dt { color:var(--muted); font-size:.8rem; }.stat-cards dd { margin:.5rem 0 0; font-size:clamp(1.15rem,2.2vw,1.85rem); font-weight:900; }
.sample-ledger { margin-top:1rem; padding:1rem; border:1px solid var(--line); }.sample-ledger li { display:flex; padding:.55rem 0; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line); }.capture-note { color:var(--muted); font-size:.82rem; line-height:1.7; }.data-empty { padding:1.75rem; border:1px dashed var(--line); }
.preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }.preflight-grid>div { padding:1.75rem; background:var(--surface); }.preflight-grid li { margin:.75em 0; }
.table-scroll { width:100%; max-width:100%; overflow:auto; border:1px solid var(--line); }.price-table { width:100%; min-width:760px; border-collapse:collapse; }.price-table th,.price-table td { padding:1rem; border-bottom:1px solid var(--line); text-align:right; font-variant-numeric:tabular-nums; }.price-table th:first-child { text-align:left; }.price-table tbody th a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; color:inherit; }.price-table tbody th small { display:block; margin-top:.25rem; color:var(--muted); font-weight:400; }.data-pending { color:var(--muted); font-size:.84rem; }
.region-side>label {display:grid;gap:.45rem;font-weight:700}.region-side select {width:100%;min-width:0;min-height:48px;padding:.65rem .75rem;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}
.region-explorer { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr); gap:1.9rem; }.map-panel { min-width:0; padding:1.1rem; background:#edf1eb; }.map-panel svg { display:block; width:100%; max-height:680px; }.beauty-map-cell { stroke:#fff; stroke-width:.7; cursor:pointer; transition:fill .16s,stroke-width .16s; }.beauty-map-cell:hover,.beauty-map-cell:focus,.beauty-map-cell.selected { fill:var(--yellow); stroke:var(--ink); stroke-width:2; outline:none; }.map-status,.map-credit { color:var(--muted); font-size:.78rem; }.map-credit a,.data-note a { display:inline-flex; min-height:44px; align-items:center; }.region-side { display:flex; min-width:0; flex-direction:column; gap:1.25rem; }.region-detail { padding:1.6rem; background:var(--ink); color:#fff; }.region-detail span,.region-detail strong { display:block; }.region-detail strong { margin:.8rem 0; font-size:clamp(3rem,7vw,5.5rem); line-height:1; }.region-detail strong small { margin-left:.3rem; font-size:.9rem; }.region-legend { display:flex; align-items:center; gap:.25rem; font-size:.75rem; }.region-legend i { width:1.5rem; height:.75rem; }
.region-ranking { margin:0; padding:0; border-top:2px solid var(--ink); list-style:none; }.region-ranking li { display:grid; padding:.9rem .5rem; grid-template-columns:2.5rem minmax(9.4rem,.7fr) 1fr 4.4rem; align-items:center; gap:.9rem; border-bottom:1px solid var(--line); }.region-ranking b small { display:block; color:var(--muted); font-weight:400; }.region-ranking i { height:.6rem; background:var(--coral); }.region-ranking strong { text-align:right; }.hub-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }.hub-grid article { padding:1.25rem; border-top:4px solid var(--coral); background:var(--surface); }.hub-grid span,.hub-grid small { display:block; color:var(--muted); }.hub-grid h3 { margin:.3rem 0 1rem; }.hub-grid strong { font-size:1.8rem; }
.density-1 { fill:#d9ded8; background:#d9ded8!important; width:10%; }.density-2 { fill:#d7cfc6; background:#d7cfc6!important; width:20%; }.density-3 { fill:#d6c1b5; background:#d6c1b5!important; width:30%; }.density-4 { fill:#d6b2a3; background:#d6b2a3!important; width:40%; }.density-5 { fill:#d7a38f; background:#d7a38f!important; width:50%; }.density-6 { fill:#d9947b; background:#d9947b!important; width:60%; }.density-7 { fill:#dc856a; background:#dc856a!important; width:70%; }.density-8 { fill:#e0775c; background:#e0775c!important; width:80%; }.density-9 { fill:#e56955; background:#e56955!important; width:90%; }.density-10 { fill:var(--coral); background:var(--coral)!important; width:100%; }
.definition-stack dl { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }.definition-stack dl div { padding:1rem; background:var(--surface); }.definition-stack dt { font-weight:900; }.definition-stack dd { margin:.4rem 0 0; font-size:.85rem; }
.journey-checklist { display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }.journey-checklist article { padding:1.75rem; border-top:6px solid var(--coral); background:var(--surface); }.journey-checklist article:nth-child(2) { border-color:var(--yellow); }.journey-checklist article:nth-child(3) { border-color:var(--ink); }.journey-checklist span { font-size:.75rem; font-weight:900; letter-spacing:.12em; }.journey-checklist li { margin:.8em 0; }.official-help { display:grid; grid-template-columns:.6fr 1fr; gap:2.25rem; }.official-help ul { margin:0; padding:0; border-top:2px solid var(--ink); list-style:none; }.official-help a { display:grid; padding:1.1rem .4rem; grid-template-columns:1fr 1fr; gap:.75rem; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }.official-help a span { color:var(--muted); }.print-pass { margin-top:1.9rem; padding:1rem 1.4rem; border:1px solid var(--ink); background:transparent; font:inherit; font-weight:800; cursor:pointer; }

@media (max-width:760px) {
  .decision-hub,.decision-hero,.procedure-detail-head,.quote-checker,.region-explorer,.official-help { grid-template-columns:1fr; }.decision-hub { width:calc(100% - 2rem); padding:1rem; }.decision-hub ol { grid-template-columns:1fr; }.decision-hub li a { min-height:auto; }.decision-hub>.primary-action { grid-column:1; }
  .decision-page { padding-inline:1rem; }.procedure-row { grid-template-columns:2.2rem 1fr auto; }.procedure-row>span:nth-child(3),.procedure-row>span:nth-child(4) { display:none; }.stat-cards { grid-template-columns:1fr 1fr; }.preflight-grid,.journey-checklist { grid-template-columns:1fr; }.definition-stack dl { grid-template-columns:1fr 1fr; }.quote-checker { padding:1.35rem; }.region-ranking li { grid-template-columns:2rem 1fr 4rem; }.region-ranking i { display:none; }.hub-grid { grid-template-columns:1fr 1fr; }.official-help a { grid-template-columns:1fr; }
}

@media print { .site-header,footer,.decision-actions,.print-pass,.primary-action { display:none!important; }.decision-page { padding:0; }.journey-checklist { grid-template-columns:repeat(3,1fr); }.journey-checklist article { break-inside:avoid; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  display: flex;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  flex-direction: column;
  background: var(--paper);
  line-height: 1.7;
  overflow-wrap: break-word;
  word-break: normal;
}
main { flex: 1; }
a { color: inherit; text-underline-offset: .22em; }
button, a, input { touch-action: manipulation; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: .5rem;
  left: .5rem;
  min-height: 44px;
  padding: .65rem 1rem;
  background: white;
  color: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.site-header {
  display: flex;
  width: min(100%, 1240px);
  min-height: 84px;
  margin: 0 auto;
  padding: 1rem 1.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: .75rem;
  line-height: 1.15;
  text-decoration: none;
}
.brand-mark {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  font: 900 1.75rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  transform: rotate(-8deg);
}
.brand b { display: block; letter-spacing: .02em; }
.brand small {
  display: block;
  margin-top: .25rem;
  color: var(--muted);
  font-size: .75rem;
}
.site-header nav {
  display: flex;
  align-items: center;
  gap: .25rem;
  font-size: .88rem;
  font-weight: 800;
}
.site-header nav a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  padding: .6rem .8rem;
  align-items: center;
  text-decoration: none;
}
.site-header nav a:hover { text-decoration: underline; }

.category-label,
.section-number,
.footer-label {
  margin: 0;
  color: #36556c;
  font: 800 .75rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hero {
  display: grid;
  width: min(100%, 1240px);
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4.5rem) 1.5rem 2.5rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(24rem, .95fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
}
.hero-copy h1,
.article h1,
.plain-page h1,
.not-found h1 {
  margin: .7rem 0 1rem;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(2.7rem, 5.6vw, 5.4rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.hero-copy h1 em {
  display: block;
  color: var(--coral);
  font-style: normal;
}
.lead {
  max-width: 46rem;
  margin: 0;
  color: #3b4d5d;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}
.lead b { color: var(--ink); }
.hero-steps {
  display: grid;
  margin: 1.5rem 0;
  padding: 0;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  list-style: none;
}
.hero-steps li {
  position: relative;
  min-width: 0;
  padding: .8rem .65rem .75rem 2.25rem;
  border-top: 2px solid var(--ink);
}
.hero-steps li > span {
  position: absolute;
  top: .7rem;
  left: .3rem;
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  font: 800 .75rem/1 ui-monospace, monospace;
}
.hero-steps b,
.hero-steps small { display: block; }
.hero-steps b { font-size: .92rem; }
.hero-steps small {
  margin-top: .15rem;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.35;
}
.primary-action {
  display: inline-flex;
  min-height: 52px;
  padding: .75rem 1.1rem;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  border: 2px solid var(--ink);
  background: var(--ink);
  box-shadow: 5px 5px 0 var(--coral);
  color: white;
  font-weight: 900;
  text-decoration: none;
}
.primary-action span { color: var(--yellow); }
.hero-visual { min-width: 0; }
.hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 470px;
}
.hero-visual p {
  margin: .75rem 0 0;
  padding-left: 1rem;
  border-left: 3px solid var(--coral);
  color: var(--muted);
  font-size: .78rem;
}
.hero-visual p span { color: var(--coral); }

.boundary-strip {
  display: grid;
  width: min(calc(100% - 3rem), 1192px);
  margin: 0 auto;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ink);
  background: var(--surface);
}
.boundary-strip p {
  display: grid;
  margin: 0;
  padding: 1rem 1.2rem;
  grid-template-columns: auto 1fr;
  gap: .85rem;
  border-right: 1px solid var(--ink);
  align-items: baseline;
}
.boundary-strip p:last-child { border-right: 0; }
.boundary-strip b { white-space: nowrap; }
.boundary-strip span { color: var(--muted); font-size: .78rem; }

.literacy-paths,
.topics,
.question-studio {
  width: min(100%, 1240px);
  margin: 0 auto;
  padding: 7rem 1.5rem 0;
}
.section-heading,
.studio-head {
  display: flex;
  margin-bottom: 2rem;
  align-items: end;
  justify-content: space-between;
  gap: 3rem;
}
.section-heading h2,
.question-studio h2,
.article h2,
.plain-page h2 {
  margin: .45rem 0 0;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(1.8rem, 3.3vw, 3.2rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}
.section-heading > p,
.studio-head > div > p {
  max-width: 32rem;
  margin: 0;
  color: var(--muted);
}

.literacy-path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--ink);
}
.literacy-path-card {
  display: flex;
  min-width: 0;
  min-height: 22rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  flex-direction: column;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  background: var(--surface);
}
.literacy-path-card:nth-child(1) { border-top: 8px solid var(--mint); }
.literacy-path-card:nth-child(2) { border-top: 8px solid var(--yellow); }
.literacy-path-card:nth-child(3) { border-top: 8px solid var(--blue); }
.literacy-path-card:nth-child(4) { border-top: 8px solid var(--coral); }
.literacy-path-card header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.literacy-path-card header span { font: 800 2.75rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.literacy-path-card header small { color: var(--muted); font: 800 .75rem/1.3 ui-monospace, monospace; letter-spacing: .08em; }
.literacy-path-card h3 { margin: 1.25rem 0 .7rem; font: 800 clamp(1.75rem, 2.5vw, 2rem)/1.2 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.literacy-path-card p { margin: 0; color: var(--muted); }
.literacy-path-card strong { margin: auto 0 1rem; padding-top: 1.5rem; font-size: .86rem; }
.literacy-path-card a { display: inline-flex; min-height: 48px; padding: .6rem 0; align-items: center; justify-content: space-between; border-top: 1px solid var(--ink); font-weight: 900; text-decoration: none; }
.literacy-path-card a:hover { text-decoration: underline; }
.editorial-boundary {
  display: flex;
  width: min(calc(100% - 3rem), 1192px);
  margin: 2rem auto 0;
  padding: 1.2rem 1.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border: 1px solid var(--ink);
  background: #e5edf2;
}
.editorial-boundary p { margin: 0; }
.editorial-boundary a { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; font-weight: 900; }

.filter-row {
  display: flex;
  margin: 0;
  padding: .65rem;
  flex-wrap: wrap;
  gap: .5rem;
  border: 1px solid var(--line);
  background: var(--surface);
}
.filter-row legend {
  width: 100%;
  padding: 0 .25rem .35rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
}
.filter-option {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  cursor: pointer;
}
.filter-option input {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  margin: 0;
  border: 0;
  accent-color: var(--ink);
}
.filter-option span {
  display: inline-flex;
  min-height: 48px;
  margin-left: -.45rem;
  padding: .65rem .8rem .65rem .25rem;
  align-items: center;
  gap: .45rem;
  font-size: .85rem;
  font-weight: 800;
}
.filter-option b {
  display: grid;
  min-width: 1.7rem;
  min-height: 1.7rem;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  font: 700 .75rem/1 ui-monospace, monospace;
}
.filter-option:has(input:checked) {
  background: #dbeee7;
  outline: 2px solid var(--ink);
  outline-offset: -2px;
}
.filter-result {
  min-height: 1.7rem;
  margin: .75rem 0 1rem;
  color: var(--muted);
  font-size: .8rem;
}

.topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
}
.topic-card {
  min-width: 0;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.topic-card:nth-child(2n) { border-right: 0; }
.topic-card > a {
  display: grid;
  min-height: 285px;
  padding: 1.4rem;
  grid-template-columns: minmax(9rem, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 1.25rem;
  background: var(--surface);
  text-decoration: none;
  transition: background-color .18s ease;
}
.topic-card > a:hover { background: #fff; }
.topic-card > a:hover .topic-link { text-decoration: underline; }
.topic-card-visual {
  display: grid;
  min-height: 210px;
  place-items: center;
  background: var(--topic-color, var(--mint));
}
.topic-card:nth-child(4n + 1) { --topic-color: #9fdac5; }
.topic-card:nth-child(4n + 2) { --topic-color: #f4c975; }
.topic-card:nth-child(4n + 3) { --topic-color: #91bee8; }
.topic-card:nth-child(4n + 4) { --topic-color: #f39b87; }
.topic-visual {
  width: min(75%, 9.5rem);
  color: var(--ink);
  overflow: visible;
}
.topic-visual g {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.topic-visual .accent {
  fill: var(--surface);
  stroke: currentColor;
  stroke-width: 2.8;
}
.topic-card-copy { min-width: 0; }
.topic-meta {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--muted);
  font: 800 .75rem/1.3 ui-monospace, monospace;
  letter-spacing: .06em;
}
.topic-meta b {
  color: var(--coral);
  font-size: 1rem;
}
.topic-card h3 {
  margin: .75rem 0;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.35;
}
.topic-question {
  display: block;
  color: var(--muted);
  font-size: .83rem;
  line-height: 1.6;
}
.topic-link {
  display: inline-block;
  margin-top: 1.25rem;
  font-size: .82rem;
  font-weight: 900;
}
.empty-filter { padding: 2rem; background: var(--surface); }

.question-studio {
  margin-top: 7rem;
  padding-top: 4rem;
  padding-bottom: 7rem;
  border-top: 5px solid var(--ink);
}
.sheet-count {
  display: flex;
  flex: 0 0 auto;
  gap: .5rem;
}
.sheet-count strong {
  display: grid;
  min-width: 6.5rem;
  padding: .7rem;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: .4rem;
  border: 1px solid var(--ink);
  background: var(--surface);
}
.sheet-count span {
  font: 800 2.75rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.sheet-count small {
  padding-bottom: .2rem;
  color: var(--muted);
  font-size: .75rem;
}
.sheet-paper {
  position: relative;
  min-height: 360px;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border: 1px solid var(--ink);
  background-color: var(--surface);
  box-shadow: 9px 9px 0 var(--blue);
}
.sheet-paper::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(1rem, 3vw, 2.2rem);
  width: 1px;
  background: #efa28f;
  content: "";
}
.sheet-empty {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 280px;
  place-items: center;
  align-content: center;
  text-align: center;
}
.empty-mark {
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  place-items: center;
  border: 2px dashed var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  font-size: 2rem;
}
.sheet-empty h3 { margin: 1rem 0 .25rem; font: 800 1.75rem/1.3 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.sheet-empty p { margin: 0; color: var(--muted); }
.sheet-empty a {
  display: inline-flex;
  min-height: 44px;
  margin-top: .6rem;
  padding: .5rem .75rem;
  align-items: center;
  font-weight: 800;
}
.sheet-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2.5rem;
}
.sheet-topic {
  padding: .8rem 1rem 1.3rem;
  background: rgb(255 253 247 / 92%);
}
.sheet-topic header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: .2rem 1rem;
}
.sheet-topic header > span {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 800;
}
.sheet-topic h3 {
  margin: 0;
  font: 800 1.75rem/1.35 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.sheet-topic button {
  min-width: 48px;
  min-height: 44px;
  grid-row: 1 / 3;
  grid-column: 2;
  border: 1px solid var(--line);
  background: white;
  color: var(--muted);
  cursor: pointer;
}
.sheet-topic ol { margin: 1rem 0; padding-left: 1.6rem; }
.sheet-topic li { padding: .25rem 0; font-weight: 700; }
.sheet-topic > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--muted);
  font-size: .8rem;
}
.sheet-actions {
  display: flex;
  margin-top: 1.5rem;
  flex-wrap: wrap;
  gap: .65rem;
}
.sheet-action,
.save-topic,
.copy-questions {
  min-height: 48px;
  padding: .7rem 1rem;
  border: 2px solid var(--ink);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.3;
  cursor: pointer;
}
.sheet-action.primary,
.save-topic {
  background: var(--ink);
  color: white;
}
.sheet-action.quiet { margin-left: auto; border-color: var(--line); }
.sheet-action:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.saved-status,
.copy-status {
  min-height: 1.8rem;
  margin: .75rem 0 0;
  color: var(--muted);
  font-size: .85rem;
}

.article,
.plain-page,
.not-found {
  width: min(100%, 1100px);
  margin: 0 auto;
  padding: 3rem 1.5rem 7rem;
}
.breadcrumb {
  display: flex;
  margin-bottom: 2rem;
  align-items: center;
  gap: .35rem;
  color: var(--muted);
  font-size: .78rem;
}
.breadcrumb a {
  display: inline-flex;
  min-height: 44px;
  padding: .45rem .25rem;
  align-items: center;
}
.article-head {
  display: grid;
  padding-bottom: 3rem;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
  align-items: center;
  gap: 4rem;
}
.article h1,
.plain-page h1 {
  max-width: 52rem;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
}
.korea-context {
  max-width: 44rem;
  margin: 1.5rem 0 0;
  padding: 1rem 1.2rem;
  border-left: 5px solid var(--coral);
  background: var(--surface);
}
.korea-context b { display: block; margin-bottom: .2rem; font-size: .75rem; letter-spacing: .08em; }
.article-visual {
  padding: 1.5rem;
  background: var(--yellow);
  box-shadow: 7px 7px 0 var(--ink);
}
.topic-visual.large {
  display: block;
  width: 75%;
  max-width: 12rem;
  margin: auto;
}
.article-visual dl {
  display: grid;
  margin: 1.25rem 0 0;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink);
}
.article-visual dl div {
  padding: .65rem .3rem 0;
  text-align: center;
}
.article-visual dt { font-size: .75rem; line-height: 1.3; }
.article-visual dd { margin: 0; font: 800 1.75rem/1.2 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.question-panel {
  display: grid;
  padding: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: .8fr 1.2fr;
  gap: 2rem 4rem;
  border: 2px solid var(--ink);
  background: var(--surface);
  box-shadow: 8px 8px 0 var(--mint);
}
.article > .question-panel { margin-top: 4rem; }
.question-intro p:last-child { color: var(--muted); }
.question-panel ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: questions;
}
.question-panel li {
  position: relative;
  min-height: 4rem;
  padding: .65rem 0 .65rem 3.3rem;
  border-bottom: 1px solid var(--line);
  counter-increment: questions;
  font-weight: 800;
}
.question-panel li::before {
  position: absolute;
  top: .55rem;
  left: 0;
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  content: counter(questions);
  font: 800 .8rem/1 ui-monospace, monospace;
}
.question-actions {
  display: flex;
  grid-column: 2;
  flex-wrap: wrap;
  gap: .6rem;
}
.save-topic[aria-pressed="true"] {
  background: var(--mint);
  color: var(--ink);
}
.article-layout {
  display: grid;
  margin-top: 5rem;
  grid-template-columns: minmax(0, 1fr) 20rem;
  gap: 5rem;
}
.article-main > section { margin-bottom: 5rem; }
.section-number.warning { color: #b03e2c; }
.fact-list,
.warning-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.fact-list li,
.warning-list li {
  display: grid;
  min-height: 4rem;
  padding: 1rem 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
}
.warning-list li {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  font-weight: 800;
}
.warning-list li::before {
  position: absolute;
  top: .9rem;
  left: 0;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border-radius: 50%;
  background: var(--coral);
  color: white;
  content: "!";
  font-weight: 900;
}
.fact-sources {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .3rem;
}
.fact-sources a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  padding: .45rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: .75rem;
  text-decoration: none;
}
.evidence-card {
  position: sticky;
  top: 1rem;
  align-self: start;
  padding: 1.5rem;
  border-top: 5px solid var(--ink);
  background: #e5edf2;
}
.evidence-card h2 { font-size: 1.7rem; }
.evidence-card dl div {
  display: flex;
  min-height: 44px;
  padding: .6rem 0;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #b5c1ca;
}
.evidence-card dt { color: var(--muted); }
.evidence-card dd { margin: 0; text-align: right; font-weight: 800; }
.evidence-card ul { padding-left: 1.1rem; }
.evidence-card li { margin-top: 1.25rem; }
.evidence-card li > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-weight: 800;
}
.evidence-card li small,
.evidence-card li span {
  display: block;
  color: var(--muted);
  font-size: .76rem;
}
.evidence-card > p:last-child { color: var(--muted); font-size: .78rem; }
.topic-return { display: flex; margin-top: 2rem; justify-content: space-between; gap: 1rem; }
.topic-return a { display: inline-flex; min-height: 48px; padding: .6rem .8rem; align-items: center; font-weight: 800; }

.korea-guide {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 4rem 1.5rem 8rem;
}
.guide-intro {
  display: grid;
  padding-bottom: 3.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, .42fr);
  gap: 1rem 5rem;
  border-bottom: 5px solid var(--ink);
}
.guide-intro .category-label,
.guide-intro h1,
.guide-intro .lead { grid-column: 1; }
.guide-intro h1 { margin: .7rem 0 1rem; font: 800 clamp(3rem, 6.5vw, 6.75rem)/1.02 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; letter-spacing: -.055em; }
.guide-intro dl { display: grid; grid-row: 1 / 4; grid-column: 2; margin: 0; align-self: end; border-top: 7px solid var(--coral); background: var(--surface); }
.guide-intro dl div { display: flex; min-height: 4.2rem; padding: .8rem 1rem; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.guide-intro dt { color: var(--muted); font-size: .78rem; }
.guide-intro dd { margin: 0; font: 800 2rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.guide-index { display: grid; margin: 2rem 0 6rem; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.guide-index a { display: grid; min-height: 12rem; padding: 1.2rem; align-content: start; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--surface); text-decoration: none; }
.guide-index a:hover { background: white; }
.guide-index span { color: var(--coral); font: 800 1.75rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.guide-index b { margin-top: 1rem; font-size: 1rem; }
.guide-index small { margin-top: .5rem; color: var(--muted); line-height: 1.5; }
.literacy-chapters { display: grid; gap: 7rem; }
.literacy-chapter { scroll-margin-top: 1rem; }
.literacy-chapter > header { display: grid; padding-bottom: 1.5rem; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.5rem; border-bottom: 2px solid var(--ink); }
.literacy-chapter > header > span { display: grid; width: 5rem; height: 5rem; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); font: 800 1.75rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.literacy-chapter:nth-child(2) > header > span { background: var(--mint); }
.literacy-chapter:nth-child(3) > header > span { background: var(--blue); }
.literacy-chapter:nth-child(4) > header > span { background: var(--coral); }
.literacy-chapter h2 { margin: .35rem 0 0; font: 800 clamp(2rem, 4vw, 3.75rem)/1.15 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; letter-spacing: -.03em; }
.chapter-promise { max-width: 50rem; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.05rem; }
.chapter-outcome { display: grid; max-width: 50rem; margin: 1rem 0 2.5rem; padding: 1rem 1.2rem; grid-template-columns: 8rem 1fr; gap: 1rem; border-left: 5px solid var(--coral); background: var(--surface); }
.chapter-topics,
.chapter-sources { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 2rem; }
.chapter-topics h3,
.chapter-sources h3 { margin: 0; font-size: .82rem; letter-spacing: .06em; }
.chapter-topics ol,
.chapter-sources ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.chapter-topics a { display: grid; min-height: 6rem; padding: 1rem 0; grid-template-columns: 8rem minmax(0, .7fr) minmax(0, 1fr); align-items: start; gap: 1rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.chapter-topics a:hover b { text-decoration: underline; }
.chapter-topics span { color: var(--muted); font-size: .75rem; font-weight: 800; }
.chapter-topics b { line-height: 1.45; }
.chapter-topics small { color: var(--muted); line-height: 1.55; }
.chapter-sources { margin-top: 2.5rem; }
.chapter-sources li { display: flex; min-height: 4rem; padding: .65rem 0; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.chapter-sources a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 800; }
.chapter-sources small { color: var(--muted); white-space: nowrap; }
.guide-handoff { margin-top: 7rem; padding: clamp(1.5rem, 4vw, 3rem); border: 2px solid var(--ink); background: var(--mint); }
.guide-handoff h2 { max-width: 48rem; margin: .5rem 0; font: 800 clamp(2rem, 4vw, 3.75rem)/1.15 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.guide-handoff p:not(.section-number) { max-width: 48rem; }
.guide-handoff a { display: inline-flex; min-height: 48px; margin-top: 1rem; padding: .7rem 1rem; align-items: center; gap: 2rem; border: 2px solid var(--ink); background: var(--ink); color: white; font-weight: 900; text-decoration: none; }

.plain-page { max-width: 1050px; }
.plain-page > p:not(.section-number) { max-width: 48rem; }
.plain-page > h2 { margin-top: 3rem; font-size: 2rem; }
.policy-grid,
.source-list {
  display: grid;
  margin-top: 3rem;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.policy-grid section,
.source-list section {
  padding: 1.5rem;
  border-top: 5px solid var(--ink);
  background: var(--surface);
}
.policy-grid section:nth-child(2) { border-color: var(--coral); }
.policy-grid section:nth-child(3) { border-color: #4387be; }
.policy-grid h2,
.source-list h2 { font-size: 1.45rem; }
.policy-grid ul { padding-left: 1.2rem; }
.source-list section > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-weight: 800;
}
.source-state {
  display: inline-block;
  padding: .3rem .65rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 800;
}
.source-state.pending { background: var(--yellow); }
.source-state.blocked { background: #ffd2ca; }
.source-state.ready { background: var(--mint); }

.not-found {
  display: grid;
  min-height: 62vh;
  place-items: center;
  align-content: center;
  text-align: center;
}
.not-found-mark {
  display: grid;
  width: 7rem;
  height: 7rem;
  margin-top: 1rem;
  place-items: center;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--coral);
  font: 900 4rem/1 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  transform: rotate(8deg);
}
.not-found h1 { margin-bottom: .5rem; }
.not-found .primary-action { margin-top: 1rem; }

footer {
  margin-top: auto;
  background: var(--ink);
  color: #e9eef1;
}
.footer-inner {
  display: grid;
  width: min(100%, 1240px);
  margin: 0 auto;
  padding: 3rem 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 3rem;
}
.footer-inner > div > p:not(.footer-label) { max-width: 48rem; }
.footer-label { color: var(--mint); }
.footer-inner nav { display: flex; flex-wrap: wrap; gap: .25rem; }
.footer-inner nav a {
  display: inline-flex;
  min-height: 44px;
  padding: .5rem .65rem;
  align-items: center;
}
.footer-inner small {
  grid-column: 1 / -1;
  color: #afbcc7;
}

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr 20rem; gap: 2rem; }
  .hero-steps { grid-template-columns: 1fr; }
  .hero-steps li { min-height: 52px; }
  .boundary-strip { grid-template-columns: 1fr; }
  .boundary-strip p { border-right: 0; border-bottom: 1px solid var(--ink); }
  .boundary-strip p:last-child { border-bottom: 0; }
  .topic-card > a { grid-template-columns: 8rem 1fr; }
  .topic-card-visual { min-height: 175px; }
  .article-head { grid-template-columns: 1fr 16rem; gap: 2rem; }
  .article-layout { grid-template-columns: 1fr; gap: 2rem; }
  .evidence-card { position: static; }
  .guide-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chapter-topics a { grid-template-columns: 7rem minmax(0, .65fr) minmax(0, 1fr); }
}

@media (max-width: 680px) {
  .site-header {
    min-height: 0;
    padding: .75rem 1rem;
    flex-wrap: wrap;
    gap: .25rem .75rem;
  }
  .brand { min-height: 48px; }
  .brand-mark { width: 44px; height: 44px; flex-basis: 44px; }
  .site-header nav {
    width: 100%;
    justify-content: space-between;
    border-top: 1px solid var(--line);
  }
  .site-header nav a { padding: .5rem .2rem; font-size: .75rem; }
  .hero {
    padding: 1.35rem 1rem 1.5rem;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .hero-copy h1 {
    margin: .35rem 0 .55rem;
    font-size: 2.15rem;
  }
  .lead { font-size: .9rem; line-height: 1.55; }
  .hero-steps {
    margin: .85rem 0;
    grid-template-columns: repeat(3, 1fr);
    gap: .25rem;
  }
  .hero-steps li {
    min-height: 0;
    padding: .45rem .2rem .45rem 1.45rem;
  }
  .hero-steps li > span {
    top: .42rem;
    left: 0;
    width: 1.15rem;
    height: 1.15rem;
    font-size: .75rem;
  }
  .hero-steps b { font-size: .75rem; }
  .hero-steps small { display: none; }
  .primary-action { min-height: 48px; width: 100%; }
  .hero-visual {
    display: grid;
    grid-template-columns: 8.5rem 1fr;
    align-items: center;
    gap: .75rem;
  }
  .hero-visual img { max-height: 145px; }
  .hero-visual p { margin: 0; font-size: .75rem; line-height: 1.45; }
  .boundary-strip { width: calc(100% - 2rem); }
  .boundary-strip p { padding: .65rem .8rem; }
  .literacy-paths,
  .topics,
  .question-studio { padding-right: 1rem; padding-left: 1rem; }
  .literacy-paths,
  .topics { padding-top: 4.5rem; }
  .literacy-path-grid { grid-template-columns: 1fr; }
  .literacy-path-card { min-height: 19rem; }
  .editorial-boundary { width: calc(100% - 2rem); flex-direction: column; align-items: flex-start; gap: .5rem; }
  .section-heading,
  .studio-head {
    margin-bottom: 1.5rem;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .section-heading h2,
  .question-studio h2 { font-size: 2rem; }
  .filter-row { margin-right: -1rem; margin-left: -1rem; border-right: 0; border-left: 0; }
  .filter-option { width: calc(50% - .25rem); }
  .filter-option span { padding-right: .25rem; font-size: .75rem; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic-card,
  .topic-card:nth-child(2n) { border-right: 0; }
  .topic-card > a {
    min-height: 190px;
    padding: 1rem 0;
    grid-template-columns: 7.7rem 1fr;
    gap: 1rem;
  }
  .topic-card-visual { min-height: 154px; }
  .topic-card h3 { margin: .5rem 0; font-size: 1.18rem; }
  .topic-question { font-size: .75rem; line-height: 1.45; }
  .topic-link { margin-top: .65rem; }
  .question-studio { margin-top: 4rem; padding-top: 2.5rem; padding-bottom: 5rem; }
  .sheet-count { width: 100%; }
  .sheet-count strong { min-width: 0; flex: 1; }
  .sheet-paper { min-height: 310px; padding: 1.5rem 1rem 1.5rem 2rem; box-shadow: 6px 6px 0 var(--blue); }
  .sheet-action,
  .sheet-action.quiet { width: 100%; margin-left: 0; }
  .article,
  .plain-page,
  .not-found { padding: 2rem 1rem 5rem; }
  .breadcrumb { margin-bottom: 1rem; }
  .article-head {
    padding-bottom: 2rem;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .article h1,
  .plain-page h1 { font-size: 2.45rem; }
  .article-visual {
    display: grid;
    padding: 1rem;
    grid-template-columns: 8rem 1fr;
    align-items: center;
  }
  .topic-visual.large { width: 7rem; }
  .article-visual dl { margin: 0; grid-template-columns: 1fr; border-top: 0; }
  .article-visual dl div {
    display: flex;
    min-height: 36px;
    padding: .25rem;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--ink);
  }
  .article-visual dl div:last-child { border-bottom: 0; }
  .article-visual dd { font-size: 1.1rem; }
  .question-panel {
    padding: 1.35rem;
    grid-template-columns: 1fr;
    gap: 1rem;
    box-shadow: 6px 6px 0 var(--mint);
  }
  .question-actions { grid-column: 1; }
  .save-topic,
  .copy-questions { width: 100%; }
  .article-layout { margin-top: 4rem; }
  .article > .question-panel { margin-top: 3rem; }
  .fact-list li { grid-template-columns: 1fr; }
  .topic-return { flex-direction: column; }
  .korea-guide { padding: 2rem 1rem 5rem; }
  .guide-intro { padding-bottom: 2rem; grid-template-columns: 1fr; gap: 1.5rem; }
  .guide-intro .category-label,
  .guide-intro h1,
  .guide-intro .lead,
  .guide-intro dl { grid-row: auto; grid-column: 1; }
  .guide-intro h1 { font-size: 2.75rem; }
  .guide-index { margin-bottom: 4rem; grid-template-columns: 1fr; }
  .guide-index a { min-height: 8rem; }
  .literacy-chapters { gap: 5rem; }
  .literacy-chapter > header { grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; }
  .literacy-chapter > header > span { width: 3.7rem; height: 3.7rem; }
  .literacy-chapter h2 { font-size: 2rem; }
  .chapter-outcome { grid-template-columns: 1fr; gap: .25rem; }
  .chapter-topics,
  .chapter-sources { grid-template-columns: 1fr; gap: .7rem; }
  .chapter-topics a { grid-template-columns: 1fr; gap: .25rem; }
  .chapter-sources li { align-items: flex-start; flex-direction: column; gap: 0; }
  .chapter-sources small { white-space: normal; }
  .policy-grid,
  .source-list { grid-template-columns: 1fr; }
  .footer-inner { padding: 2.5rem 1rem; grid-template-columns: 1fr; }
  .footer-inner small { grid-column: 1; }
}

@media (max-width: 420px) {
  .article-visual {
    grid-template-columns: minmax(0, 1fr);
  }
  .topic-visual.large {
    width: min(7rem, 100%);
  }
  .article-visual dl {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 360px) {
  .brand { width: 100%; }
  .brand > span:last-child { min-width: 0; }
  .brand small { font-size: .75rem; }
  .hero-visual { grid-template-columns: 1fr; }
  .hero-visual img { width: min(100%, 11.5rem); margin: auto; }
  .topic-card > a { grid-template-columns: 32% minmax(0, 1fr); gap: .5rem; }
  .topic-card-visual { min-height: 145px; }
  .topic-card h3 { font-size: 1.08rem; }
  .filter-option { width: 100%; }
}

.nav-board {
  border: 1px solid var(--ink);
  background: var(--yellow);
}

.board-invite {
  display: grid;
  width: min(calc(100% - 3rem), 1192px);
  margin: 1.5rem auto 0;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  grid-template-columns: minmax(0, 1.3fr) auto;
  align-items: center;
  gap: 1.5rem 3rem;
  border: 2px solid var(--ink);
  background: var(--yellow);
  box-shadow: 8px 8px 0 var(--ink);
}
.board-invite h2 { margin: .35rem 0 .5rem; font: 800 clamp(1.75rem, 3vw, 2.6rem)/1.15 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.board-invite p { margin-bottom: 0; }
.board-invite dl { display: grid; margin: 0; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.board-invite dl div { display: flex; padding: .8rem 1rem 0; justify-content: space-between; gap: 1rem; border-right: 1px solid var(--ink); }
.board-invite dl div:last-child { border-right: 0; }
.board-invite dt { font-size: .75rem; font-weight: 800; }
.board-invite dd { margin: 0; font-weight: 900; }


.plan-board { width: min(100%, 1240px); margin: 0 auto; padding: 0 1.5rem 8rem; }
.plan-board .decision-hero { width: 100%; padding-inline: 0; }
.board-score { display: grid; min-width: 15rem; padding: 1.3rem; grid-template-columns: auto 1fr; align-items: baseline; border: 2px solid var(--ink); background: var(--yellow); box-shadow: 7px 7px 0 var(--ink); }
.board-score strong { font: 900 4.75rem/1 ui-monospace, monospace; }
.board-score span { font: 800 1.75rem/1 ui-monospace, monospace; }
.board-score small { margin-top: .6rem; grid-column: 1 / -1; color: #3d4650; }
.board-form { display: grid; gap: 5rem; }
.board-basics,
.board-quote { display: grid; padding: 2rem; grid-template-columns: 1.05fr 1fr 1fr; gap: 1.25rem; border: 1px solid var(--ink); background: var(--surface); }
.board-basics h2,
.board-quote h2,
.candidate-section h2,
.board-share h2 { margin: .35rem 0 .6rem; font: 800 clamp(1.75rem, 3vw, 2.7rem)/1.15 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.board-basics > label,
.board-quote > fieldset { display: grid; align-content: start; gap: .45rem; font-weight: 800; }
.board-basics select { width: 100%; min-width: 0; min-height: 52px; padding: .65rem; border: 1px solid var(--ink); background: white; color: var(--ink); font: inherit; }
.board-links { display: flex; grid-column: 2 / -1; flex-wrap: wrap; gap: .75rem; }
.board-links a,
.text-action { display: inline-flex; min-height: 44px; align-items: center; font-weight: 900; }
.board-quote > fieldset { margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 0; }
.board-quote > fieldset legend { margin-bottom: .5rem; font-weight: 900; }
.board-quote > fieldset label,
.candidate-card label { display: flex; min-height: 48px; align-items: center; gap: .65rem; cursor: pointer; }
.board-quote input,
.candidate-card input { width: 44px; height: 44px; flex: 0 0 44px; margin: 0; accent-color: var(--ink); }
.candidate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.candidate-card { min-width: 0; margin: 0; padding: 1.25rem; border: 1px solid var(--ink); background: var(--surface); }
.candidate-card legend { display: flex; width: calc(100% + .4rem); padding: 0 .2rem; align-items: center; justify-content: space-between; gap: 1rem; font: 900 1.75rem/1.2 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.candidate-card legend b { padding: .3rem .5rem; background: var(--mint); font: 800 .75rem/1 ui-monospace, monospace; }
.candidate-card > p { min-height: 3.5rem; color: var(--muted); font-size: .78rem; }
.candidate-card label { padding: .45rem 0; border-top: 1px solid var(--line); font-size: .86rem; }
.official-verify { display: grid; margin-top: 1rem; padding: 1.25rem; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1rem; border: 1px solid var(--ink); background: #e5edf2; }
.official-verify p { margin: .25rem 0 0; color: var(--muted); font-size: .82rem; }
.official-verify a { display: inline-flex; min-height: 48px; padding: .65rem .85rem; align-items: center; border: 1px solid var(--ink); background: white; font-weight: 900; text-decoration: none; }
.board-share { display: grid; padding: 2rem; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 2rem; border: 2px solid var(--ink); background: var(--mint); box-shadow: 8px 8px 0 var(--ink); }
.board-share output { display: block; min-height: 13rem; padding: 1.25rem; white-space: pre-wrap; border: 1px solid var(--ink); background: white; font: 700 .82rem/1.7 ui-monospace, monospace; }
.share-actions { display: flex; grid-column: 2; flex-wrap: wrap; gap: .75rem; }
.share-actions button,
.board-reset button { min-height: 48px; padding: .65rem .9rem; border: 1px solid var(--ink); background: white; color: var(--ink); font: inherit; font-weight: 900; cursor: pointer; }
.share-actions .primary-action { background: var(--ink); color: white; }
.board-share [data-board-status] { min-height: 1.5rem; margin: 0; grid-column: 1 / -1; font-size: .8rem; font-weight: 800; }
.board-reset { display: flex; margin-top: -3rem; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .78rem; }

@media (max-width: 760px) {
  .board-invite { width: calc(100% - 2rem); grid-template-columns: 1fr; }
  .board-invite .primary-action { width: 100%; }
  .board-invite dl { grid-template-columns: 1fr; }
  .board-invite dl div { padding-inline: 0; border-right: 0; }
  .plan-board { padding-inline: 1rem; }
  .board-score { min-width: 0; }
  .board-basics,
  .board-quote,
  .candidate-grid,
  .board-share,
  .official-verify { grid-template-columns: minmax(0, 1fr); }
  .board-basics,
  .board-quote,
  .board-share { padding: 1.25rem; }
  .board-links,
  .share-actions,
  .board-share [data-board-status] { grid-column: 1; }
  .board-quote > fieldset { grid-template-columns: 1fr 1fr; }
  .share-actions button { width: 100%; }
  .board-reset { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .topic-card > a { transition: none; }
}

@media print {
  body { background: white; color: black; }
  .site-header,
  .hero,
  .boundary-strip,
  .topics,
  .studio-head,
  .sheet-actions,
  .saved-status,
  footer { display: none !important; }
  .question-studio { margin: 0; padding: 0; border: 0; }
  .sheet-paper { min-height: 0; padding: 0; border: 0; box-shadow: none; background: white; }
  .sheet-paper::before,
  .sheet-empty,
  .sheet-topic button { display: none !important; }
  .sheet-topic { break-inside: avoid; background: white; }
}

@media screen and (max-width: 760px) {
  .journey-checklist,
  .preflight-grid,
  .official-help,
  .region-explorer,
  .quote-checker,
  .procedure-detail-head,
  .decision-hero { grid-template-columns: minmax(0, 1fr); }
  .decision-page > section { min-width: 0; }
}

/* Treatment navigator and licensed clinical-photo ledger */
.home-finder,.finder-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(19rem,.95fr);gap:clamp(1.5rem,5vw,5rem);width:min(calc(100% - 3rem),1192px);margin:0 auto;padding:clamp(3rem,7vw,6rem) 0 4rem;align-items:center}.home-finder h1,.finder-head h1{margin:.18em 0;font:800 clamp(2.8rem,6.5vw,6.6rem)/.96 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;letter-spacing:-.055em}.home-finder h1 em{color:var(--coral);font-style:normal}.finder-proof{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.finder-proof span{padding:.55rem .75rem;border:1px solid var(--ink);background:var(--surface);font-size:.78rem}.finder-proof b{margin-right:.25rem;font-size:1.25rem}.finder-form{display:grid;padding:1.4rem;gap:1rem;border:2px solid var(--ink);background:var(--surface);box-shadow:9px 9px 0 var(--teal)}.finder-form label,.finder-result-head label{display:grid;gap:.35rem;font-size:.82rem;font-weight:800}.finder-form select,.finder-result-head input{width:100%;min-height:48px;padding:.7rem;border:1px solid var(--ink);background:white;color:var(--ink);font:inherit}.finder-form small{color:var(--muted)}
.finder-page{padding-top:1rem}.finder-page .finder-head{width:100%}.finder-results{border-top:1px solid var(--ink)}.finder-result-head{display:grid;grid-template-columns:1fr minmax(17rem,.5fr);gap:1rem;align-items:end}.finder-status{min-height:1.7rem;color:var(--muted);font-weight:700}.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.treatment-card{min-width:0;border:1px solid var(--line);background:var(--surface)}.treatment-card>a{display:block;height:100%;color:inherit;text-decoration:none}.treatment-card>a:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.treatment-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:white}.treatment-thumb>img{box-sizing:border-box;width:100%;height:100%;padding:.35rem;object-fit:contain}.treatment-thumb>span{position:absolute;left:.75rem;bottom:.75rem;display:grid;width:3.3rem;height:3.3rem;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--paper)}.modality-glyph{width:2.25rem;height:2.25rem;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.modality-glyph .accent{stroke:var(--coral)}.treatment-copy{padding:1.15rem}.treatment-copy>p{display:flex;margin:0;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.75rem}.treatment-copy h3{margin:.45rem 0 0;font:800 1.75rem/1.2 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif}.treatment-copy>small{display:block;min-height:2rem;color:var(--muted)}.treatment-copy dl{margin:.8rem 0}.treatment-copy dl div{display:grid;padding:.45rem 0;grid-template-columns:5rem 1fr;gap:.5rem;border-top:1px solid var(--line);font-size:.77rem}.treatment-copy dt{color:var(--muted)}.treatment-copy dd{margin:0}.treatment-copy>strong{display:inline-flex;min-height:44px;align-items:center;font-size:.78rem}.pain-meter{display:grid;margin:.8rem 0;grid-template-columns:1fr auto;align-items:end;gap:.2rem .75rem}.pain-meter>span{font-size:.75rem;color:var(--muted)}.pain-meter>b{font:900 1.75rem/1 ui-monospace,monospace}.pain-meter small{font-size:.75rem}.pain-meter>i{position:relative;display:block;height:.55rem;grid-column:1/-1;background:linear-gradient(90deg,#b7d8c9 0 30%,#f2c94c 30% 60%,var(--coral) 60% 100%)}.pain-meter>i:after{position:absolute;inset:-.2rem auto -.2rem calc(var(--pain-max)*10% - .15rem);width:.3rem;background:var(--ink);content:""}.finder-empty{padding:2rem;border:2px dashed var(--ink);background:var(--surface)}.finder-empty button{min-height:48px;padding:.7rem 1rem;border:1px solid var(--ink);background:var(--ink);color:white;font:inherit;font-weight:800}
.treatment-title{display:grid;padding:1.5rem 0 3rem;grid-template-columns:8rem minmax(0,1fr) minmax(15rem,.4fr);gap:2rem;align-items:center;border-bottom:1px solid var(--line)}.treatment-title h1{margin:.15em 0;font:800 clamp(2.8rem,6vw,5.8rem)/.98 "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;letter-spacing:-.05em}.treatment-symbol{display:grid;place-items:center;gap:.5rem}.treatment-symbol .modality-glyph{width:5rem;height:5rem}.treatment-symbol span{font-weight:900}.photo-and-facts{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:2rem;align-items:start}.clinical-figure{margin:0;border:1px solid var(--ink);background:white}.clinical-figure img{display:block;width:100%;height:auto}.clinical-figure figcaption{display:grid;min-width:0;padding:.8rem;gap:.3rem;border-top:1px solid var(--line)}.clinical-figure figcaption>*{min-width:0;overflow-wrap:anywhere}.clinical-figure figcaption span,.clinical-figure figcaption small{color:var(--muted);font-size:.75rem}.participant-context{width:fit-content;max-width:100%;padding:.3rem .55rem;border-radius:999px;background:var(--teal);color:white;font-size:.75rem;line-height:1.35}.photo-caution{padding:1rem;border-left:4px solid var(--coral);background:var(--surface)}.source-actions{display:flex;flex-wrap:wrap;gap:.5rem}.source-actions a,.evidence-links a{display:inline-flex;min-height:44px;padding:.55rem .7rem;align-items:center;border:1px solid var(--ink);text-decoration:none}.reaction-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reaction-layout>div{padding:1.5rem;background:var(--surface)}.reaction-layout li{margin:.7rem 0}.urgent-panel{border-top:6px solid var(--urgent)}.aftercare-timeline{display:grid;margin:0;padding:0;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);list-style:none}.aftercare-timeline li{padding:1.25rem;background:var(--surface)}.aftercare-timeline b{color:var(--coral);font:900 1.75rem/1 ui-monospace,monospace}.trip-panel{display:grid;padding:1.75rem;grid-template-columns:1fr minmax(15rem,.38fr);gap:2rem;background:var(--teal);color:white}.trip-panel dl{margin:0}.trip-panel dl div{padding:.7rem 0;border-top:1px solid #ffffff55}.trip-panel dd{margin:.25rem 0 0;font-weight:900}.linked-prices>p{padding:1.2rem;border-left:5px solid var(--teal);background:var(--surface)}.linked-prices article{margin:1rem 0}.evidence-links{display:grid;grid-template-columns:.5fr 1fr;gap:2rem}.evidence-links ul{margin:0;padding:0;list-style:none}.evidence-links li{margin:.4rem 0}.detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem}.detail-actions>a{display:inline-flex;min-height:48px;padding:.7rem 1rem;align-items:center;border:1px solid var(--ink);text-decoration:none}
.photo-reading{padding:1.25rem;border:1px solid var(--ink);background:var(--surface)}.photo-atlas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.photo-atlas-grid>article{display:flex;min-width:0;padding:0 0 1rem;flex-direction:column;border:1px solid var(--line);background:var(--surface)}.photo-atlas-grid>article>p,.photo-atlas-grid>article>footer{margin:.7rem 1rem}.photo-atlas-grid footer{display:flex;flex-wrap:wrap;gap:.4rem .8rem;font-size:.75rem}.photo-atlas-grid footer span{width:100%;font-weight:800}
@media(max-width:900px){.treatment-grid,.photo-atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-title{grid-template-columns:5rem 1fr}.treatment-title>div:last-child{grid-column:1/-1}.photo-and-facts{grid-template-columns:1fr}.aftercare-timeline{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.home-finder,.finder-head,.finder-result-head,.treatment-grid,.treatment-title,.reaction-layout,.trip-panel,.evidence-links,.photo-atlas-grid{grid-template-columns:minmax(0,1fr)}.home-finder,.finder-head{width:calc(100% - 2rem)}.home-finder h1,.finder-head h1{font-size:clamp(2.55rem,14vw,4rem)}.finder-form{padding:1rem;box-shadow:5px 5px 0 var(--teal)}.treatment-symbol{justify-items:start}.treatment-title>div:last-child{grid-column:auto}.aftercare-timeline{grid-template-columns:1fr}.site-header nav{gap:.35rem;justify-content:flex-start;flex-wrap:wrap}.site-header nav a{padding:.45rem;font-size:.75rem}}

/* Preparation journey: one first action, then a portable question sheet. */
.home-start {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;max-width:1192px;margin:0 auto;padding:3rem 1.5rem;align-items:center}
.home-start h1,.compact-intro h1 {font-family:inherit;font-size:2.5rem;line-height:1.35;letter-spacing:0;font-weight:800;margin:.6rem 0 1rem}
.home-start .lead {font-size:1.15rem;line-height:1.8;margin:.6rem 0 1.4rem}
.start-secondary {display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.7rem 0}
.start-secondary a,.reading-links a,.chapter-tabs a {display:flex;align-items:center;min-height:44px;padding:.4rem 0}
.sample-question {border-left:5px solid var(--yellow);background:var(--surface);padding:1.5rem 2rem;box-shadow:5px 7px 0 var(--line)}
.sample-question p:not(.category-label) {font-size:1.25rem;line-height:1.8}
.sample-question [lang=ko] {color:var(--muted)}
.home-next,.home-reading,.home-deep {width:min(calc(100% - 3rem),1192px);margin:1.5rem auto 3rem}
.home-deep summary,details summary {cursor:pointer;min-height:44px;padding:.65rem 0;font-weight:700}
.reading-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.5rem}
.reading-links a {border-bottom:1px solid var(--line)}
.compact-intro {max-width:850px;margin-bottom:2rem}
.chapter-tabs {display:flex;flex-wrap:wrap;gap:1rem;border-block:1px solid var(--line);margin:1.5rem 0}
.preparation-controls,.finder-form[data-finder-fields],[data-compare-fields] {min-width:0;border:0;padding:0;margin:1.5rem 0}
.preparation-controls>label,[data-compare-fields]>label {display:block;margin:.8rem 0}
.preparation section {margin:2rem 0;scroll-margin-top:1rem}
.preparation select,.preparation input:not([type=checkbox]),.preparation textarea,[data-method-compare] select,[data-glossary-search] {display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:.7rem;font:inherit;line-height:1.5;border:1px solid var(--ink);background:var(--surface);color:var(--ink);min-height:44px}
.answer-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.answer-grid label {display:block;min-width:0;line-height:1.7}
.candidate-sheet {padding:1.5rem;border:1px solid var(--line);background:var(--surface)}
.preparation button,[data-treatment-finder] button,[data-method-compare] button {min-height:44px;padding:.65rem 1rem;white-space:normal;font:inherit;line-height:1.5;cursor:pointer}
.preparation button:disabled,fieldset:disabled {opacity:.65;cursor:default}
.bilingual-list {padding-left:1.6rem}
.bilingual-list li {padding:.6rem 0 1rem;border-bottom:1px solid var(--line);break-inside:avoid}
.bilingual-list p {margin:.4rem 0}
.bilingual-list [lang=ko] {color:var(--muted)}
.decline-card {background:var(--surface);border-left:5px solid var(--yellow);padding:1.5rem}
[data-decline-large] {font-size:1.6rem;line-height:1.8}
[data-prep-memo] {display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:var(--surface);font-size:1rem;line-height:1.8}
.evidence-summary,.research-context {border-block:1px solid var(--line);padding:1.5rem 0;margin:2rem 0}
.evidence-badge {display:inline-block;padding:.4rem .7rem;background:var(--yellow);color:var(--ink);font-weight:700}
.method-table {width:100%;table-layout:fixed;border-collapse:collapse}
.method-table th,.method-table td {border:1px solid var(--line);padding:.8rem;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.method-table th:first-child {width:20%}
.glossary-list article {padding:1.5rem 0;border-bottom:1px solid var(--line)}
.glossary-list dl>div {margin:.7rem 0}
.glossary-list dd {margin:.25rem 0}
.glossary-list dt {font-weight:700}
.bookmark-mark {border-radius:0 0 40% 0!important}
.treatment-grid:not(.compact-grid) {grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.treatment-card[hidden],.preparation [hidden],[data-glossary-item][hidden] {display:none!important}
:where(button,a,input,select,textarea,summary):focus-visible {outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:700px){
 .home-start {grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1rem}
 .home-start h1,.compact-intro h1 {font-size:2rem}
 .home-start .lead {font-size:1rem}
 .sample-question {padding:1rem;margin:0}
 .home-start .primary-action {width:100%;justify-content:center;box-sizing:border-box}
 .home-next,.home-reading,.home-deep {width:calc(100% - 2rem)}
 .reading-links,.answer-grid {grid-template-columns:minmax(0,1fr)}
 .candidate-sheet {padding:1rem}
 .method-table th,.method-table td {padding:.4rem}
 .site-header nav {gap:.25rem .8rem;flex-wrap:wrap}
 .site-header .nav-board {background:transparent;border:0;padding:0}
}
@media print {
 body:has([data-preparation]) .site-header,body:has([data-preparation]) footer,body:has([data-preparation]) .compact-intro,body:has([data-preparation]) .chapter-tabs,body:has([data-preparation]) .preparation-controls>legend,body:has([data-preparation]) .preparation-controls>label,body:has([data-preparation]) .preparation-controls>p,body:has([data-preparation]) #quote,body:has([data-preparation]) #trip,body:has([data-preparation]) #take,body:has([data-preparation]) details,body:has([data-preparation]) button,body:has([data-preparation]) section:has([data-edition-changes]) {display:none!important}
 .preparation-controls {opacity:1}.bilingual-list [lang=ko] {color:#000}.preparation {width:100%!important;padding:0!important}
}


.preparation input[type=date] {min-inline-size:0;inline-size:100%}
.preparation input[type=date]::-webkit-datetime-edit {padding:0;min-width:0}
[data-method-result]>a {display:inline-flex;min-height:44px;align-items:center;margin:.5rem 1rem .5rem 0}

/* Shared reading rhythm. Controls use sans; display type is reserved for page titles. */
.source-actions a,.evidence-links a {min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
@media screen {
  body {line-height:1.8}
  main :where(h1,h2,h3,p,li,dt,dd,label,legend) {overflow-wrap:break-word;word-break:normal}
  h1,h2,h3 {text-wrap:pretty}
  .site-header {max-width:1160px;min-height:76px;padding:1rem 1.5rem;gap:1rem}
  .brand {min-height:40px;gap:.65rem;flex-shrink:0}
  .brand-mark {width:34px;height:38px;flex-basis:34px;font-size:1.15rem;border-width:1px;transform:none}
  .brand b {font-size:1.05rem;font-weight:700;letter-spacing:.02em}
  .brand small {font-size:.75rem;line-height:1.5}
  .site-header nav {font-size:.8125rem;gap:.125rem}
  .site-header nav a {white-space:nowrap;font-weight:500;padding:.5rem .6rem;border-bottom:2px solid transparent}
  .site-header nav a[aria-current=page] {color:var(--ink);border-bottom-color:var(--ink);font-weight:700}
  .primary-action {font-family:inherit;font-size:1rem;line-height:1.6;font-weight:600;border:1px solid var(--ink);border-radius:6px;box-shadow:none;gap:.75rem;min-height:48px;padding:.75rem 1.25rem}
  button,input,select,textarea {font:inherit}
  button {cursor:pointer}
  button:disabled {cursor:default}
  .primary-action:hover {background:#2b4b40}
  .secondary-action,.preparation button:not(.primary-action),[data-method-compare] button,[data-treatment-finder] button {background:var(--surface);border:1px solid #8d9b94;border-radius:6px;color:var(--ink);font-weight:600}
  .decision-page,.article,.plain-page {max-width:1100px;padding:2.5rem 1.5rem 4rem}
  .decision-hero,.decision-hero.compact,.compact-intro,.procedure-detail-head {max-width:100%;padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--line);gap:1.5rem}
  .decision-hero h1,.procedure-detail-head h1,.treatment-title h1,.article h1,.plain-page h1,.not-found h1,.compact-intro h1,.home-start h1 {font-family:"Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;font-weight:600;font-size:2.75rem;line-height:1.5;letter-spacing:.015em;margin:.5rem 0 1rem}
  .decision-hero .lead,.compact-intro>p,.article .lead {max-width:44rem;font-size:1rem;line-height:1.9}
  .category-label,.section-number {font-family:inherit;font-size:.75rem;line-height:1.7;letter-spacing:.06em;font-weight:600;color:var(--muted)}
  .decision-page h2,.section-heading h2,.question-studio h2,.article h2,.plain-page h2,.home-next h2,.home-reading h2 {font-family:inherit;font-weight:650;font-size:1.5rem;line-height:1.6;letter-spacing:0;margin:.25rem 0 .75rem}
  .decision-page h3 {font-size:1.125rem;line-height:1.7}
  .decision-page>section,.price-table-section,.procedure-directory {margin-top:2.5rem}
  .section-heading,.studio-head {gap:1.5rem;margin-bottom:1.25rem;align-items:start}
  .section-heading>p {font-size:.875rem;line-height:1.8;max-width:29rem}
  .home-start {max-width:1100px;padding:3rem 1.5rem;gap:3rem}
  .home-start .lead {font-size:1.0625rem}
  .home-start .local-note {font-size:.8125rem;color:var(--muted)}
  .sample-question {border:1px solid var(--line);border-top:3px solid var(--yellow);padding:1.75rem;border-radius:4px;box-shadow:none}
  .sample-question p:not(.category-label) {font-size:1.0625rem;line-height:1.9}
  .sample-question small {font-size:.8125rem}
  .home-next,.home-reading,.home-deep {max-width:1052px;margin-bottom:2.5rem}
  .home-next {border-block:1px solid var(--line);padding:1.5rem 0}
  .topics,.question-studio,.literacy-paths {max-width:1100px;padding-top:3rem}
  .topic-card,.treatment-card {border-color:var(--line);border-radius:6px;overflow:hidden}
  .topic-card h3,.literacy-path-card h3 {font-family:inherit;font-size:1.25rem;line-height:1.6;letter-spacing:0}
  .treatment-copy {padding:1.25rem}
  .treatment-copy>p {display:block;font-size:.9375rem;line-height:1.8;margin:.6rem 0;color:var(--ink)}
  .treatment-copy>p.category-label {font-size:.75rem;color:var(--muted)}
  .treatment-copy h3 {font-family:inherit;font-size:1.125rem;line-height:1.65;font-weight:650;margin:.35rem 0}
  .treatment-copy>p.treatment-names {font-size:.8125rem;color:var(--muted)}
  .treatment-names [lang=ko] {display:block}
  .treatment-copy>small {font-size:.8125rem;min-height:0;margin-top:.5rem}
  .treatment-copy>strong {margin-top:.75rem;font-size:.875rem}
  .treatment-grid {gap:1rem}
  .data-note,.definition-stack,.decline-card {border-left-width:3px;border-radius:4px;padding:1.25rem}
  .finder-form {box-shadow:none;border:1px solid var(--line);border-radius:6px;padding:1.25rem!important}
  .finder-form label,.finder-result-head label {font-size:1rem}
  .finder-form select,.finder-form input,.preparation select,.preparation input:not([type=checkbox]),.preparation textarea,[data-method-compare] select,[data-glossary-search] {border:1px solid #8d9b94;border-radius:5px;background:white;font-size:1rem;line-height:1.5;min-height:48px}
  .chapter-tabs {gap:1.25rem;margin:1.25rem 0;font-size:.875rem}
  .candidate-sheet {border-radius:6px;padding:1.5rem}
  .candidate-sheet>h3 {margin:0 0 1rem}
  .candidate-sheet>label {display:block;max-width:28rem}
  .answer-group {border:0;min-width:0;padding:1.25rem 0 0;margin:1.5rem 0 0;border-top:1px solid var(--line)}
  .answer-group legend {font-size:.9375rem;font-weight:650;padding:0 .75rem 0 0}
  .answer-grid label {font-size:.9375rem}
  .answer-grid select,.answer-grid input {margin-top:.4rem}
  .preparation-controls>label {max-width:42rem}
  .bilingual-list {padding-left:1.4rem}
  .bilingual-list li {padding:.75rem .5rem 1rem}
  .method-table th,.method-table td {font-size:.9375rem;line-height:1.8;padding:1rem}
  .method-table thead {background:#eaf0ec}
  .glossary-list {max-width:48rem}
  .glossary-list h2 {margin-top:0}
  .footer-inner {max-width:1100px;padding-block:2rem;gap:1.5rem}
  .footer-inner p {font-size:.8125rem}
}

/* Quote composition: intro + panel; state messages never occupy layout columns. */
.quote-checker {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:3rem;background:transparent;padding:0;min-width:0}
.quote-checker>* {min-width:0}
.quote-intro {padding-top:.5rem}
.quote-intro>p:not(.section-number) {font-size:.9375rem;color:var(--muted);line-height:1.9}
.quote-steps {padding-left:1.3rem;line-height:2.2;font-size:.9375rem}
.quote-panel {padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0}
.quote-status {margin:0 0 1rem;font-size:.875rem;color:var(--muted);line-height:1.8}
.quote-fields {display:block;min-width:0;padding:0;margin:0;border:0}
.quote-fields>legend {font-size:1.125rem;font-weight:650;margin-bottom:1rem;padding:0}
.quote-field {display:flex;flex-direction:column;align-items:stretch;gap:.45rem;font-size:.9375rem;font-weight:600;min-width:0}
.quote-field small,.quote-inclusions small {font-size:.75rem;font-weight:500;margin-left:.4rem;color:var(--muted)}
.quote-field select,.input-unit input {width:100%;min-width:0;max-width:100%;min-height:48px;font:inherit;font-size:1rem;line-height:1.5;border:1px solid #8d9b94;border-radius:5px;background:white;color:var(--ink);padding:.7rem}
.field-hint,.quote-field .field-hint {font-size:.8125rem;font-weight:400;color:var(--muted);line-height:1.7;margin:.25rem 0 .75rem}
.quote-amounts {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1rem;margin:1rem 0}
.input-unit {display:flex;align-items:center;gap:.5rem;min-width:0}
.input-unit>span {font-size:.8125rem;font-weight:400;flex-shrink:0}
.quote-inclusions {min-width:0;margin:1.25rem 0;padding:1rem 0 0;border:0;border-top:1px solid var(--line)}
.quote-inclusions legend {padding:0 .5rem 0 0;font-size:.9375rem;font-weight:600;line-height:1.8}
.quote-inclusions>p {font-size:.8125rem;color:var(--muted);margin:.25rem 0 .75rem}
.quote-checks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.quote-checks label {display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:5px;font-size:.875rem;line-height:1.7;cursor:pointer}
.quote-checks input {width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--ink)}
.quote-fields>.primary-action {width:100%;font:inherit;font-weight:650}
.quote-result {display:block;min-width:0;border-top:2px solid var(--ink);margin-top:1.75rem;padding:1.5rem 0 0;background:white;color:var(--ink)}
.quote-result>h3 {font-size:1.125rem;margin:.5rem 0}
.quote-result>p {font-size:.875rem;line-height:1.8}
.quote-result .normalized-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}
.normalized-price strong {font-size:2rem;line-height:1.5;font-variant-numeric:tabular-nums;font-weight:650}
.normalized-price span {font-size:.875rem}
.quote-result dl {display:grid;grid-template-columns:1fr;gap:0;font-size:.875rem;margin:1rem 0;background:transparent}
.quote-result dl>div {display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.quote-result dd {margin:0;font-variant-numeric:tabular-nums}
.price-samples {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.price-sample {min-width:0;padding:1.25rem;background:white;border:1px solid var(--line);border-radius:6px}
.price-sample header {display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem;justify-content:space-between}
.price-sample header h3 {margin:0;font-size:1.0625rem}
.price-sample header span,.sample-unit {font-size:.8125rem;color:var(--muted)}
.sample-unit {margin:.4rem 0}
.sample-range {display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin:1rem 0}
.sample-range strong {font-size:1.125rem;line-height:1.6;font-variant-numeric:tabular-nums;font-weight:650}
.sample-range>span {font-size:.75rem}
.price-sample details {font-size:.8125rem;border-top:1px solid var(--line)}
.price-sample dl>div {display:flex;justify-content:space-between;gap:.5rem}
.price-sample dd {margin:0}
.price-sample .text-action {font-size:.8125rem}
@media screen and (max-width:960px) {
 .site-header {flex-direction:column;align-items:stretch;gap:.6rem;padding-bottom:0}
 .site-header nav {width:100%;overflow-x:auto;flex-wrap:nowrap;gap:.6rem;scrollbar-width:none}
 .site-header nav a {flex:0 0 auto;font-size:.8125rem;padding:.5rem .3rem}
 .quote-checker {grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .quote-intro h2 br {display:none}
 .quote-steps {display:none}
 .price-samples {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:700px) {
 .site-header {padding: .85rem 1rem 0}
 .decision-page,.article,.plain-page {padding:1.75rem 1rem 3rem}
 .decision-hero h1,.procedure-detail-head h1,.treatment-title h1,.article h1,.plain-page h1,.not-found h1,.compact-intro h1,.home-start h1 {font-size:2rem;line-height:1.5;letter-spacing:0}
 .decision-page h2,.section-heading h2,.home-next h2,.home-reading h2 {font-size:1.25rem;line-height:1.7}
 .decision-hero,.compact-intro {padding-bottom:1.25rem;margin-bottom:1.25rem}
 .decision-page>section {margin-top:1.75rem}
 .quote-panel {padding:1rem}
 .quote-amounts,.price-samples {grid-template-columns:minmax(0,1fr)}
 .quote-checks label {padding:.6rem .75rem}
 .quote-amounts {gap:.75rem}
 .quote-intro>p:not(.section-number) {margin:.6rem 0}
 .quote-intro .text-action {font-size:.875rem}
 .home-start {padding:1.75rem 1rem;gap:1.5rem}
 .home-start .lead {font-size:1rem}
 .sample-question {padding:1.25rem}
 .section-heading,.studio-head {display:block}
 .section-heading>p {margin-top:.75rem}
 .method-table thead th {font-size:.8125rem}
 .method-table th,.method-table td {font-size:.875rem;padding:.65rem;line-height:1.8}
 .method-table th:first-child {width:26%}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}.primary-action {transition:none}}

.quote-status:empty {display:none}
@media screen and (max-width:360px){.quote-checks {grid-template-columns:minmax(0,1fr)}}

.site-header nav::-webkit-scrollbar {display:none}

@media screen and (max-width:700px) {
 .method-table,.method-table tbody {display:block;width:100%}
 .method-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .method-table tbody tr {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:1rem 0;border:1px solid var(--line)}
 .method-table tbody th {display:block;grid-column:1/-1;width:auto!important;background:#eaf0ec;border:0;font-weight:700}
 .method-table tbody td {display:block;min-width:0;border:0}
 .method-table td::before {display:block;content:attr(data-method-label);font-weight:650;font-size:.8125rem;margin-bottom:.5rem;color:var(--ink)}
}

.breadcrumb a {flex-shrink:0;white-space:nowrap}
@media screen {
 .preparation .compact-intro {padding-bottom:.75rem;margin-bottom:.75rem}
 .preparation .chapter-tabs {margin:.75rem 0}
 .preparation [data-preparation-status] {font-size:.8125rem;color:var(--muted);margin:.5rem 0 0}
 .preparation [data-preparation-status]:empty {display:none}
 .preparation-controls {margin:1rem 0}
}

.prep-context {border-bottom:1px solid var(--line);padding-bottom:.5rem}
.prep-context>label {display:block;max-width:42rem;margin:.8rem 0}

/* 2026-10-13: readable quote results and in-consultation actions. */
.preparation-result {padding:1rem 1.25rem;border-left:4px solid #d5b331;background:#fff;margin:1rem 0 1.5rem}
.preparation-result p {margin:.5rem 0;line-height:1.7}
.preparation .compact-intro {margin-bottom:1rem;padding-block:1rem}
.preparation .compact-intro h1 {font-size:2rem;line-height:1.4;margin:.5rem 0}
.preparation .compact-intro h1 br {display:none}
.preparation-controls details {border-block:1px solid #d9dfdb;padding:.6rem 0;margin:.75rem 0}
.preparation-controls summary {font-weight:600;min-height:44px;cursor:pointer;padding:.6rem 0}
.preparation-controls label {display:grid;gap:.4rem}
.preparation-controls label:has(input[type=checkbox]) {display:flex;align-items:center;gap:.6rem;min-height:44px}
.preparation-controls input[type=file] {max-width:100%;font-size:1rem}
.quote-finding {font-size:.875rem;line-height:1.8;margin:1rem 0 0;background:#f5f7f3;padding:.75rem}
.quote-comparison-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.quote-comparison-grid>p {grid-column:1/-1}
.quote-comparison-card {padding:1rem;border:1px solid #d9dfdb;background:#fff;overflow-wrap:anywhere}
.question-dialog {width:min(90vw,40rem);max-height:85dvh;padding:1.5rem;border:1px solid #d9dfdb;border-radius:8px;background:#fff;overflow:auto}
.question-dialog::backdrop {background:#18302bc0}
.question-dialog strong {display:block;font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.6;overflow-wrap:anywhere;margin:1.25rem 0}
.question-dialog button {min-height:48px;padding:.65rem 1rem;font:inherit}
.beauty-menu {position:relative}.beauty-menu summary {cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;padding:.5rem}
.site-header .beauty-menu nav {position:absolute;right:0;top:100%;width:min(17rem,90vw);padding:1rem;background:#fff;border:1px solid #d9dfdb;z-index:30;display:grid;overflow:visible;white-space:normal}
.site-header .beauty-menu nav a {min-height:44px;padding:.65rem;white-space:normal}
.beauty-bottom-nav {display:none}
@media(max-width:700px){
 body {padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .site-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;padding:1rem}
 .site-header .brand {grid-column:1/-1;width:auto}
 .site-header>nav {display:flex;flex-wrap:wrap;overflow:visible;width:auto;gap:.6rem}
 .site-header>nav a {font-size:.875rem;min-width:44px;min-height:44px;padding:.5rem}
 .beauty-menu {align-self:center}
 .beauty-bottom-nav {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;inset-inline:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #d9dfdb;background:#fff;z-index:20}
 .beauty-bottom-nav a {display:flex;align-items:center;justify-content:center;min-height:48px;color:#18302b;font-weight:700;white-space:nowrap;text-decoration:none}
 body:has(input:focus,select:focus,textarea:focus,dialog[open]) .beauty-bottom-nav {display:none}
 .preparation-result {padding:1rem}.preparation-result .share-actions {display:grid;grid-template-columns:1fr}
 .quote-comparison-grid {grid-template-columns:minmax(0,1fr)}
 .preparation .candidate-sheet {padding:1rem}
 .preparation .answer-grid {grid-template-columns:minmax(0,1fr)}
 .preparation .chapter-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;overflow:visible}
 .preparation .chapter-tabs a {min-height:44px;display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;white-space:normal}
}
@media print { .beauty-bottom-nav,.beauty-menu,.preparation-result {display:none!important} }
@media(max-width:640px){.beauty-bottom-nav a{white-space:normal;text-align:center;padding:8px 4px;line-height:1.3}body{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}}

/* A4–A6: full-label radio pills at every viewport; native input stays focusable. */
.filter-option {align-items:center;border:1px solid var(--line);border-radius:999px;padding:.1rem .8rem;gap:.45rem}
.filter-option input {width:1.1rem;height:1.1rem;flex:0 0 1.1rem;margin:0}
.filter-option span {margin:0;padding:.6rem 0}
.beauty-menu summary {min-width:44px}
.decision-hero h1,.procedure-detail-head h1,.article-head h1 {color:var(--ink)}

/* Source-dependent copy is hidden even before the server availability gate runs. */
[data-source-ids][hidden]{display:none!important}
.source-status,.source-checking{font-size:12px;line-height:1.7}
.source-checking a{overflow-wrap:anywhere}

.region-tile-picker{margin:1rem 0}.region-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.region-tile-grid button,.region-tile-back{font:inherit;min-width:44px;min-height:48px;padding:.65rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.region-tile-grid button[aria-pressed="true"]{border:2px solid var(--ink);background:var(--paper)}.region-tile-grid small{display:block;font-size:.75rem}.region-tile-back{margin:0 0 .75rem}.beauty-map-cell{pointer-events:none}.region-tile-picker h3{font-family:inherit;font-size:1.1rem}@media(max-width:480px){.region-tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr))}}

@media(max-width:480px){.region-ranking li{grid-template-columns:1.1em minmax(0,1fr) auto;gap:.35rem;padding-inline:0}.region-ranking b{min-width:0;overflow-wrap:anywhere}.region-ranking strong{font-size:.9rem}.definition-stack dl{grid-template-columns:minmax(0,1fr)}.hub-grid{grid-template-columns:minmax(0,1fr)}.hub-grid article{min-width:0;overflow-wrap:anywhere}}
/* B: checklist first, existing quotations and backups behind their own tabs. */
.preparation-controls {min-width:0}
.preparation .compact-intro {margin-bottom:1rem}
.preparation .reading-tab-nav {margin-bottom:1rem}
.preparation [data-reading-panel] {padding-top:.5rem}
.payment-checklist>header {display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.payment-checklist h2 {font-size:1.35rem;margin:.5rem 0}
[data-payment-progress] {font-weight:800;font-size:.875rem}
[data-payment-list] {list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
[data-payment-row] {border:1px solid var(--line);padding:.8rem 1rem;background:var(--surface)}
.payment-check {display:flex!important;align-items:center;gap:.7rem;min-height:44px}
.payment-check input {width:24px!important;height:24px!important;min-height:24px!important;flex:0 0 24px}
[data-payment-row]>p {font-size:.875rem;margin:.25rem 0 .5rem}
.payment-answer {display:flex!important;align-items:center;gap:.6rem;font-size:.875rem}
.payment-answer input {min-width:0;width:100%;min-height:44px;font:inherit;padding:.5rem;background:white;color:var(--ink);border:1px solid var(--line)}
[data-payment-row] summary,.treatment-group>summary {min-height:44px;cursor:pointer;padding:.6rem 0;font-weight:700}
[data-payment-row] details p {font-size:1rem}
.payment-checklist button,.payment-present button {min-height:44px;padding:.6rem .8rem;font:inherit;margin-top:.75rem}
.payment-present {border-top:1px solid var(--line);margin-top:1.5rem}
.treatment-group {border-block:1px solid var(--line);margin:1rem 0;padding:.5rem 1rem}
.treatment-group>summary {font-size:1.2rem}
.treatment-group>summary span {margin-left:1rem;font-size:.875rem}
.treatment-group>p {font-size:.9375rem;line-height:1.7}
.treatment-group .treatment-grid {margin-block:1.25rem}
@media(max-width:600px){.payment-answer {align-items:stretch;flex-direction:column;gap:.25rem}[data-payment-row] {padding:.65rem .75rem}.payment-checklist>header {display:block}.preparation .compact-intro h1 {font-size:2rem}.treatment-group {padding-inline:.5rem}}
@media print {body:has([data-preparation]) .compact-intro,body:has([data-preparation]) details {display:block!important}.preparation [data-reading-panel] {display:block!important}.preparation .reading-tab-nav,.payment-present {display:none!important}.preparation input {border-bottom:1px solid black}.treatment-group::details-content {display:block}}
.preparation .visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Long Japanese path labels must shrink at 200% text, including topic breadcrumbs. */
.article .breadcrumb {flex-wrap:wrap;min-width:0;max-width:100%}
.article .breadcrumb a,.topic-return a {min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
