@font-face { font-family: "Noto Sans JP"; font-weight: 400; font-display: swap; src: url(fonts/NotoSansJP-400.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans JP"; font-weight: 700; font-display: swap; src: url(fonts/NotoSansJP-700.woff2) format("woff2"); }
@font-face { font-family: "Noto Serif JP"; font-weight: 600; font-display: swap; src: url(fonts/NotoSerifJP-600.woff2) format("woff2"); }
@font-face { font-family: "Noto Serif JP"; font-weight: 700; font-display: swap; src: url(data:font/woff2;base64,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) format("woff2"); }

/* Layout: 左に「今の歯の残り方」と型、右にコース図・道筋・説明。カマー図の色分けをコースの色として受け継ぐ */
:root {
  --paper: #f7f3ec; --surface: #fffdf9; --ink: #16242c; --ink-2: #52626b; --line: #e4dccd;
  --sky: #2a97d4; --accent: #0f4c5c; --now: #15646e; --accent-ink: #ffffff; --accent-soft: #e6efec;
  --tooth: #16303a; --ridge: #a7bbc0; --warn: #a8401a;
  --z1: #c9dcf1; --z2: #cde8d4; --z3: #f7e3a3; --z4: #f4bfb1;
  --f-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --f-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; font-size: 106.25%; }
@media (max-width: 640px) { html { font-size: 112.5%; } }
body { margin: 0; background: var(--paper) linear-gradient(#ece7da, #f7f3ec) no-repeat top / 100% 420px; color: var(--ink); font: 400 1rem/1.8 var(--f-sans); font-feature-settings: "palt" 1; }
h1, h2, h3 { margin: 0; line-height: 1.35; text-wrap: balance; }
p { margin: 0; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.num { font-variant-numeric: tabular-nums; }

.page { max-width: 1380px; margin: 0 auto; padding-left: 16px; padding-right: 16px; padding-top: 20px; padding-bottom: 40px; display: grid; gap: 20px; }

/* 共通の帯。図の意味の色は --now で保つ。 */
.top { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "clinic version" "title title" "sub sub" "intro intro"; align-items: start; gap: 0; max-width: 1380px; margin: 0 auto; padding: 11px 16px 9px; color: #fff;
  background: radial-gradient(circle at 96% 135%, rgba(143,211,201,.14) 0 16%, transparent 16.3%), radial-gradient(circle at 96% 135%, transparent 0 24%, rgba(255,255,255,.09) 24.2% 24.7%, transparent 24.9%), radial-gradient(circle at 96% 135%, transparent 0 32%, rgba(255,255,255,.06) 32.2% 32.7%, transparent 32.9%), #0f4c5c;
  box-shadow: 0 0 0 100vmax #0f4c5c; clip-path: inset(0 -100vmax); }
.clinic-name { grid-area: clinic; font-size: 16px; line-height: 1.4; font-weight: 700; letter-spacing: .2em; color: #bfe3dc; }
.app-version { grid-area: version; color: #d5e6e3; font-size: 16px; line-height: 1.4; font-variant-numeric: tabular-nums; }
html:not([data-audience="chairside"]):not([data-embed="hp"]) .app-version { letter-spacing: -.03em; }
.top h1 { grid-area: title; display: flex; align-items: center; gap: .35em; color: #fff; font-family: var(--f-serif); font-weight: 600; font-size: clamp(25px, 7.2vw, 36px); letter-spacing: .03em; line-height: 1.3; white-space: nowrap; }
.app-icon { display: block; flex: none; width: .9em; height: .9em; }
.h1-sub { grid-area: sub; display: block; margin-top: 4px; font: 700 clamp(1.05rem, 1.8vw, 1.3rem) var(--f-sans); letter-spacing: .04em; color: #fff; }
.kicker { display: block; margin-top: 2px; font-size: .95rem; font-weight: 700; letter-spacing: .08em; color: #bfe3dc; }
.lede-box { grid-area: intro; min-width: 0; }
.lede { max-width: 40em; color: #d5e6e3; font-size: 1rem; line-height: 1.7; word-break: auto-phrase; } /* 前文の単語を行の途中で割らない。 */
.lede-mobile { display: none; }
/* 481〜699pxも短い前文にそろえ、帯が高くなるのを防ぐ。 */
@media (max-width: 1199px) { .lede-full { display: none; } .lede-mobile { display: inline; } }
/* shortcut: 文節折りで1行増える幅だけ通常の折りに戻す。帯の列を見直すときに再検討する。 */
@media (min-width: 700px) and (max-width: 701.98px), (min-width: 765px) and (max-width: 768.98px) { .lede { word-break: normal; } }
.top :focus-visible { outline: 3px solid #fff; }
details[open] > summary .if-shut, details:not([open]) > summary .if-open { display: none; }
@media (min-width: 1200px) {
  .top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; grid-template-areas: "clinic clinic version" "title intro intro" "sub intro intro"; column-gap: 24px; }
}
/* 押した結果を初画面へ戻す。狭い幅では前文の列を作らず、版の逃げ先を保つ。 */
@media (min-width: 700px) and (max-width: 1199px) {
  .top { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "clinic intro version" "title sub sub"; column-gap: 20px; align-items: center; padding-top: 8px; padding-bottom: 6px; }
  .lede { max-width: none; line-height: 1.5; }
  .top h1 { align-self: end; }
  .h1-sub { margin-top: 0; align-self: center; }
  .top + .page { padding-top: 14px; }
}
@media (max-width: 699px) {
  .top { grid-template-areas: "clinic version" "title title" "sub sub" "intro intro"; padding-top: 4px; padding-bottom: 3px; }
  .clinic-name { letter-spacing: .04em; white-space: nowrap; }
  .h1-sub { margin-top: 0; }
  .top + .page { padding-top: 14px; }
}
@media (max-width: 374px) {
  .top { grid-template-areas: "clinic clinic" "version version" "title title" "sub sub" "intro intro"; }
  .lede { line-height: 1.25; }
}

/* 構図。PCは段ごとに見る: 1段目に「選ぶ」と結果を横に並べ、2段目に「この先」、3段目に「代表的な道筋」（2026-10-05、ユーザー指示）。
   見ている段の下が動かないよう、中身が変わる段（結果・この先）の高さは型によらず一定にする */
.app { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@media (min-width: 1280px) {
  .pane.pane-state { grid-template-columns: 380px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 36px; align-items: start; height: 520px; }  /* 全64型・再生中で収まる高さ（検査/欄の隠れを測る.py） */
  .pane.pane-state:has(.tri-cap details[open]) { height: auto; min-height: 520px; }  /* 見出しを含む右の列の自然な高さまで伸ばす */
  .no-css-has .pane.pane-state.tri-open { height: auto; min-height: 520px; }
  .pane-state > .pane-head, .pane-state > .start-hint, .pane-state > .mouth { grid-column: 1; }
  .pane-state > .state { grid-column: 2; grid-row: 1 / -1; border-top: 0; padding-top: 0; height: 100%; overflow-y: auto;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 28px; align-content: start; }
  .pane-state .frontal { grid-column: 1; grid-row: 2; }
  .pane-state .state-now { grid-column: 1; grid-row: 3; }
  .pane-state .tri-cap { grid-column: 2; grid-row: 2 / span 2; }
  .pane-state .tri { max-width: 280px; }
  .pane.pane-next { height: 345px; grid-template-rows: auto minmax(0, 1fr); align-content: start; }
  .pane-next > .story { align-content: start; }
  .pane-next .next-block { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); align-items: start; gap: 28px; }  /* 説明と進み具合の帯は短く、右の図に目が行くように */
  .pane-next .next-viewer { grid-column: 2; grid-row: 1; grid-template-columns: 380px minmax(0, 1fr); align-items: center; column-gap: 14px; }  /* 再生中は候補の図の場所に、その段階の図と説明を出す */
  .pane-next .next-viewer { align-self: center; }  /* 右の図は、左の説明に対して上下の中央に（ユーザー指示） */
  .pane-next .viewer-label { display: none; }
  .pane-next .viewer-text { height: auto; display: block; -webkit-line-clamp: none; }
  .pane-next .path-btn { flex: 1 1 calc(25% - 6px); min-width: 0; }  /* 行き先は4列（8本ある型でも2行） */
  .pane-next .path-btn svg { width: 52px; padding: 4px 6px; }  /* 記号は小さく、文字の行を少なく */
  .pane-course .map { height: 440px; }
  .pane-next > .story { display: none; }  /* PCは行き先を道筋の図の型で選ぶ（同じ選択肢を2か所に出さない。ユーザー指示） */
  .pane-course #mapHint { display: block; }
  .pane-course .filmstrip { justify-content: safe center; }  /* 道筋の図と同じく中央に */
  .pane-course .loss > summary { text-align: center; }
  .pane.pane-course { min-height: 902px; padding: 14px; gap: 4px; align-content: start; }
  .pane-course .pane-head { height: 46px; }
  .course-hints { height: 46px; display: flex; align-items: center; gap: 12px; font-size: .9rem; line-height: 1.4; }
  .course-hints .hint { font-size: inherit; line-height: inherit; }
  .film-slot { height: 268px; }
  .course-stage { height: 48px; font-size: .95rem; line-height: 1.4; color: var(--ink-2); }
  .pane-course .loss > summary { padding-top: 6px; padding-bottom: 6px; }
}
.pane { background: var(--surface); border: 1px solid transparent; border-radius: 22px; box-shadow: 0 1px 2px rgba(60,40,10,.05), 0 12px 32px -8px rgba(60,40,10,.14); padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }  /* 中身（1行に省略する見出しなど）で欄が横に広がらないように */
.pane-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.pane-head h2 { font-size: 1.08rem; letter-spacing: .04em; }
.hint { font-size: .95rem; color: var(--ink-2); }
#mapHint { display: none; }  /* 道筋の図の使い方。PCだけ（スマホは行き先のボタンで選ぶ） */
html[data-embed="hp"] .start-more { display: none; }  /* HPは案内を1文にし、部位ボタンを最初の画面に入れる（院長 K2 2026-11-04） */
html[data-embed="hp"] .pane-state > #reset { grid-column: 1; justify-self: start; margin-top: 8px; }  /* app.js で歯の下へ移した「戻す」 */
html[data-embed="hp"] #mapHint { display: block; }  /* HP版はどの幅でも図の型を押せる（app.js の mapPick） */
.refs { margin: 0; padding-left: 1.6em; font-size: .95rem; color: var(--ink-2); display: grid; gap: 4px; overflow-wrap: anywhere; line-break: strict; }  /* 出典（論文の参考文献の書き方、番号つき）。長音や小さい仮名を行頭にしない */

.btn { border: 1px solid #b9c7ce; background: var(--surface); border-radius: 14px; padding: 7px 16px; cursor: pointer; font-size: 1rem; line-height: 1.4; transition: border-color .15s, background .15s; }
.btn:hover { border-color: var(--accent); }
.btn.quiet { background: transparent; }
#reset { font-weight: 700; }  /* 使える前後で字幅を変えない。 */
#reset:not(:disabled) { border-color: var(--accent); color: var(--accent); background: var(--surface); }  /* 欠けた所があるときだけ押せる見た目に */
.btn.primary, .btn[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-weight: 700; }
.btn.small { padding: 8px 14px; font-size: 1rem; min-height: 40px; }
.btn.icon { width: 40px; height: 40px; padding: 0; display: grid; place-items: center; font-size: 1.1rem; }
.btn:disabled { opacity: .4; cursor: default; }
.btnrow { display: flex; flex-wrap: wrap; gap: 8px; }

/* 歯の残り方の入力（カマー図と同じ並び） */
.mouth { display: grid; gap: 0; max-width: 560px; }  /* 広い画面でも入力が横に伸びすぎない */
.jaw-name { font-size: 1rem; font-weight: 700; color: var(--ink-2); letter-spacing: .1em; padding-top: 2px; padding-bottom: 2px; }
.ridge { height: 12px; border-radius: 6px; background: var(--ridge); }
.teeth { display: grid; grid-template-columns: 1fr 1.18fr 1fr; gap: 8px; padding-left: 8px; padding-right: 8px; }
.teeth.up { margin-bottom: 16px; }
/* 歯がない部分は赤系の斜線で示す（濃い色を「ない」と取り違えないように） */
.seg { min-height: 72px; border: 2px dashed var(--warn); background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--warn) 24%, transparent) 0 5px, transparent 5px 11px), var(--surface); cursor: pointer; display: grid; place-content: center; gap: 0; line-height: 1.35; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.up .seg { border-top: 0; border-radius: 0 0 14px 14px; }
.lo .seg { border-bottom: 0; border-radius: 14px 14px 0 0; }
.seg b { font-size: .95rem; }
.seg small { font-size: 1rem; color: #8a3412; font-weight: 700; }  /* 斜線の上でも4.5:1を保つ。 */
.seg[aria-pressed="true"] { background: var(--tooth); border-color: var(--tooth); border-style: solid; color: var(--surface); }
.seg[aria-pressed="true"] small { color: inherit; opacity: .75; }
.seg:hover { border-color: var(--accent); }
.seg:active { transform: scale(.97); }
.sides { display: flex; justify-content: space-between; font-size: 1rem; color: var(--ink-2); padding-top: 8px; }

/* 今の型（左に番号と記号、右に咬合三角） */
.state { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px 16px; align-items: start; border-top: 1px solid var(--line); padding-top: 16px; }
.numeral { display: grid; justify-items: start; gap: 8px; line-height: 1; color: var(--ink-2); }
.numeral p { margin: 0; }
.nowrap { white-space: nowrap; }  /* 文節折りでも「ひとか／たまり」と割れた語（採点 2026-11-04） */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.numeral .no { font-size: .86rem; }
.numeral .num { display: inline-block; font-size: .86rem; }  /* 型の番号は補足。知りたい人は少ないので小さく */
@media (prefers-reduced-motion: no-preference) { .numeral .num.bump { animation: bump .4s cubic-bezier(.2, .8, .2, 1); } }
@keyframes bump { from { opacity: 0; transform: translateY(10px); } }
.state-icon { width: 160px; height: auto; background: var(--nc, var(--z1)); border-radius: 14px; padding: 12px; margin-top: 6px; }
.frontal { position: relative; margin: 0; max-width: 560px; border-radius: 14px; background: color-mix(in srgb, var(--nc, var(--z1)) 45%, var(--surface)); }
.frontal-layers { position: relative; overflow: hidden; border-radius: 14px; }  /* 切り抜きは内側で（図そのものに overflow を付けると、狭いときに行の高さが縮む） */
.frontal-layers img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity .5s ease; }
.frontal-layers img:first-child { position: relative; display: block; height: auto; }  /* 最初の1枚で図の高さを決める（縦横比は width・height 属性から） */
.frontal-layers img.on { opacity: 1; }
.fmini { position: relative; display: block; }
.fmini-teeth { position: relative; display: block; overflow: hidden; border-radius: 8px; background: color-mix(in srgb, var(--nc, var(--z1)) 45%, var(--surface)); }
.fmini img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.fmini img:first-child { position: relative; display: block; height: auto; }
/* 模式図は歯の図の下へ出し、患者さんの左下の欠損を隠さない。 */
/* 3D図の右下に模式図を重ねた複合図にする（院長 2026-10-04 の決定。図の外へ出したら 2026-11-04「なんで統一してない？」） */
.fmini-icon, .card .fmini-icon { position: absolute; right: 8px; bottom: 8px; z-index: 1; display: block; width: 40px; height: 26px; margin: 0; padding: 3px 4px; border-radius: 999px; background: var(--nc, var(--z1)); box-shadow: 0 0 0 3px var(--surface); }
.filmstrip { display: flex; align-items: flex-start; min-height: 220px; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.course-stage { text-align: center; }
@media (max-width: 1279px) { .course-stage { min-height: 2.8em; margin-bottom: 16px; } }
@media (max-width: 1279px) { .pane-course .loss[hidden] { display: block !important; visibility: hidden; } }
@media (min-width: 641px) and (max-width: 1279px) { .film-slot { min-height: 176px; } }
@media (max-width: 640px) { .course-stage { min-height: 5.4em; } }
.film-arrow { flex: none; color: var(--ink-2); font-weight: 700; }
.frame { flex: none; width: 254px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 6px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: inherit; font: inherit; text-align: center; }
.frame.now .frame-label { text-decoration: underline; text-decoration-color: var(--warn); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.frame-label { font-size: 1rem; font-weight: 700; line-height: 1.3; word-break: auto-phrase; overflow-wrap: anywhere; }  /* 狭いコマでは句の途中でも折り返す（はみ出して図を広げないように） */
@media (max-width: 640px) { .sides { font-size: .88rem; } .start-more { display: none; } }  /* スマホでは入力の案内の2文目を出さない（案内を2行に収める） */
.frame-label small { display: block; font-weight: 400; font-size: .9rem; color: var(--ink-2); }
.card .fmini { width: 120px; flex: none; }
.frame .fmini-icon { position: static; margin: 4px 0 0 auto; }  /* 道筋の帯の小さな図は模式図を図の外へ（院長の実地使用の指摘、eae195886） */
.next-block { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-content: start; }
.next-text { display: grid; gap: 10px; justify-items: start; }
.play-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.next-block h2 { font: 700 1.1rem var(--f-serif); letter-spacing: .04em; }
.next-block p { font-size: 1.05rem; margin: 0; }
.next-viewer { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 6px; }
.viewer-figure { position: relative; width: 100%; max-width: 380px; min-width: 0; }
.next-viewer .frontal-layers { border-radius: 12px; background: color-mix(in srgb, var(--nc, var(--z1)) 45%, var(--surface)); }
@media (min-width: 641px) { .frontal, .next-viewer .frontal-layers { width: 380px; max-width: 100%; } }  /* 今の状態の図と「この先」の図は同じ固定の大きさ（画面幅で伸び縮みさせない。ユーザー指示） */
.viewer-label { margin: 0; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.viewer-label span { color: var(--warn); margin-right: 8px; }
.viewer-text { margin: 0; height: 5.4em; line-height: 1.8; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.fmodel { display: block; padding: 8px 10px; border-radius: 8px; background: var(--nc, var(--z1)); }
.fmodel svg { display: block; width: 100%; height: auto; }
.frontal-state { position: absolute; left: 8px; top: 8px; z-index: 1; margin: 0; padding: 2px 10px; border-radius: 999px; background: var(--surface); font-size: .9rem; font-weight: 700; color: var(--accent); }
.frontal-state.example { color: var(--warn); }
.frontal-marks span { position: absolute; transform: translate(-50%, -50%); padding: 1px 8px; border: 2px dashed var(--warn); border-radius: 8px; font-size: .82rem; font-weight: 700; color: var(--warn);
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--warn) 24%, transparent) 0 4px, transparent 4px 9px), var(--surface); }
.frontal-layers img.g:not(.on) { transition-delay: .5s; } /* 歯ぐきは新しい形が出てから古い形を消す */
.pane-state .frontal .numeral { position: absolute; right: 8px; bottom: 8px; z-index: 1; display: flex; align-items: center; gap: 6px; padding: 3px; border-radius: 999px; background: var(--surface); font-size: .82rem; line-height: 1; }
.pane-state .frontal .state-icon { width: 40px; padding: 3px 4px; border-radius: 999px; margin: 0; }
.tri { margin: 8px 0 4px; min-width: 0; max-width: 360px; }
.tri svg { display: block; width: 100%; height: auto; }
.state-body { grid-column: 1 / -1; display: grid; gap: 6px; min-width: 0; }
.eyebrow { font-size: 1rem; font-weight: 700; letter-spacing: .08em; color: var(--ink-2); }
.eyebrow.example { color: var(--warn); }
.state h3 { font: 700 1.6rem/1.3 var(--f-serif); letter-spacing: .02em; word-break: auto-phrase; }
.tri-cap { grid-column: 1 / -1; font-size: .98rem; color: var(--ink-2); }
.tri-cap b { color: var(--ink); }
.state-now { grid-column: 1 / -1; font-size: 1.05rem; }
.areas { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 0; }
.areas dt { font-weight: 700; white-space: nowrap; }
.areas dt i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; background: var(--zc); }
.areas dd { margin: 0; }
@media (max-width: 760px) { .areas { grid-template-columns: minmax(0, 1fr); gap: 2px; } .areas dt { white-space: normal; } .areas dt:not(:first-child) { margin-top: 10px; } }  /* 狭い幅ではエリア名の下に説明を置く（横に並べると説明が細い列に押し込まれる） */

/* 咬合三角 */
.zone { stroke: none; transition: opacity .3s; }
.zone.off { opacity: .35; }
.z1 { fill: var(--z1); } .z2 { fill: var(--z2); } .z3 { fill: var(--z3); } .z4 { fill: var(--z4); }
.zone-label { fill: var(--ink); font: 700 15px var(--f-serif); text-anchor: middle; dominant-baseline: central; opacity: .7; }
.tri-frame { fill: none; stroke: var(--ink-2); stroke-width: 1.2; }
.tri-grid { stroke: var(--line); stroke-width: 1; }
.tri-tick { fill: var(--ink-2); font: 400 15px var(--f-sans); }
.tri-axis { fill: var(--ink-2); font: 700 15px var(--f-sans); }
.tri-trail { fill: none; stroke: var(--warn); stroke-width: 2; stroke-dasharray: 4 3; }
.tri-step { fill: var(--warn); }
.tri-now { fill: var(--now); stroke: var(--surface); stroke-width: 2.5; }
.tri-halo { fill: var(--now); opacity: .22; }
.tri-here { fill: var(--now); }
.tri-here-t { fill: var(--accent-ink); font: 700 15px var(--f-sans); text-anchor: middle; }
@media (max-width: 480px) {
  .state { grid-template-columns: minmax(0, 1fr); }
  .numeral { grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; }
  .state-icon { margin: 0; }
}

/* コース図 */
.map { display: block; width: 100%; height: auto; }
.map:not(.v) { max-width: var(--map-w, 797px); margin-left: auto; margin-right: auto; }  /* 横の図は、どの幅でも同じ大きさ（app.js の MAP_W）で中央に */
.map.v { max-width: 440px; margin-left: auto; margin-right: auto; }  /* 縦（2列）の図 */
.map.v .node .no { font-size: 14px; }
.map.v .node .short { font-size: 21px; }
.map.v .node .here-t { font-size: 21px; }
.map.v .stage-label { font-size: 21px; }
.map:not(.v) .stage-label { letter-spacing: .02em; }  /* 横の図は段の見出しが隣とぶつからないよう詰める */  /* 「いま」の札も実寸16px以上 */
.stage-label { fill: var(--ink-2); font: 700 18.5px var(--f-sans); letter-spacing: .06em; paint-order: stroke; stroke: var(--surface); stroke-width: 6px; stroke-linejoin: round; }
.band { fill: var(--paper); opacity: .7; }
.node { cursor: pointer; transition: opacity .45s, transform .35s cubic-bezier(.2, .8, .2, 1); transform-box: fill-box; transform-origin: center; }
.map:not(.v) .node.cur, .map:not(.v) .node.step { transform: scale(1.1); }
.node .bg { fill: var(--nc); stroke: var(--ink); stroke-opacity: .16; stroke-width: 1.5; transition: stroke .3s, stroke-width .3s; }
.node .no { fill: var(--ink); font: 400 16px var(--f-sans); text-anchor: middle; opacity: .75; }
.node .short { fill: var(--ink); font: 700 19px var(--f-sans); text-anchor: middle; }
.node .sub { fill: var(--ink); font: 400 19px var(--f-sans); text-anchor: middle; }  /* 規則の図の2行目（失う所・残る所） */
.map.v .node .sub { font-size: 21px; }
.node.cur .bg { stroke: var(--now); stroke-opacity: 1; stroke-width: 5; }
.node.step .bg { stroke: var(--warn); stroke-opacity: 1; stroke-width: 4; }  /* 選んだ道筋の段階は、横一列のコマ・道筋の選択肢と同じ実線のオレンジ */
.node.dim { opacity: .75; }  /* 再生中に選んだ道筋から外れた型（押せば道筋を替えられる）。選べない型より濃く */
.node.locked:not(.cur) { opacity: 1; pointer-events: none; }  /* 選べない型（いまから辿れない）: 白抜き・破線・薄く、押せない。全体を透かすと文字が読めないので、枠と記号だけ薄くして文字は読める濃さに */
.node.locked:not(.cur) .bg { fill: var(--surface); stroke-dasharray: 6 4; stroke-opacity: .55; }
.node.locked:not(.cur) text { fill: var(--ink-2); }
.node.locked:not(.cur) .ib, .node.locked:not(.cur) .ir, .node.locked:not(.cur) .ig { opacity: .4; }
.node.static { pointer-events: none; cursor: default; }  /* 1段組みの幅は図の型を押さない（行き先のボタンで選ぶ） */
.node:not(.locked):not(.static):not(.cur):not(.step):hover .bg { stroke: var(--accent); stroke-opacity: 1; stroke-width: 3; }  /* 選べる型は、指を乗せると枠が出る */

.node:focus { outline: none; }
.node.locked { cursor: default; }
.node:focus-visible .bg { stroke: var(--accent); stroke-opacity: 1; stroke-width: 3; stroke-dasharray: 5 4; }
.node .here { fill: var(--now); }
.node .here-t { fill: var(--accent-ink); font: 700 19px var(--f-sans); text-anchor: middle; }
.edge { fill: none; stroke: var(--ink-2); stroke-width: 2.5; opacity: .25; transition: opacity .45s, stroke .45s, stroke-width .3s; }
.edge.on { opacity: .95; stroke: var(--ink); }
.edge.past { opacity: .5; }
.edge.walk { opacity: 1; stroke: var(--warn); stroke-width: 3.5; }
.ib { fill: var(--tooth); }
.ir { fill: var(--tooth); opacity: .55; }
.ig { fill: none; stroke: var(--tooth); stroke-opacity: .25; stroke-width: 1; stroke-dasharray: 2 2; }
@media (prefers-reduced-motion: no-preference) {
  .map.enter .node { animation: rise .5s both; animation-delay: calc(var(--d, 0) * 110ms); }
  .map.enter .edge { stroke-dasharray: 1; animation: draw .7s both; animation-delay: calc(var(--d, 0) * 110ms + 120ms); }
  .map .edge.walk { stroke-dasharray: 1; animation: walk .8s cubic-bezier(.4, 0, .2, 1) both; } /* 道筋の再生: 進んだ線を伸ばして描く */
}
@keyframes walk { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes rise { from { opacity: 0; transform: translateY(6px); } }
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }

/* 道筋を順に見る */
.story { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; border-top: 1px solid var(--line); padding-top: 14px; }
/* 1段組みでは、道筋の選択を再生の操作のすぐ下（図の上）に並べ替える。選んだ道筋がすぐ下の図で進む。
   PCは道筋が最大8本あり上の欄に入らないため、コース図の下に置く（左の大きな図と道筋の帯が段階ごとに変わる） */
@media (max-width: 1279px) {
  .next-block { display: contents; }
  .next-text { order: -4; }
  .next-viewer { order: -3; }
  .pane-next > .story { order: -2; border-top: 0; padding-top: 0; }
  .pane-next .viewer-label { display: none; }
  .viewer-text { height: auto; min-height: var(--vt-min, 0px); display: block; -webkit-line-clamp: none; overflow: visible; }
}
.story-label { font-size: 1rem; color: var(--ink-2); }
.play { justify-self: start; display: inline-flex; align-items: center; gap: 10px; border: 0; border-radius: 14px; background: linear-gradient(#1a6477,#0f4c5c); box-shadow: 0 6px 14px -4px rgba(15,76,92,.55); color: var(--accent-ink); font: 700 .95rem var(--f-serif); letter-spacing: .04em; padding: 6px 18px 6px 6px; min-height: 44px; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.play:hover { transform: translateY(-1px); box-shadow: 0 10px 18px -4px rgba(15,76,92,.55); }
.play:active { transform: scale(.97); }
.play-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--accent-ink); color: var(--accent); font-size: .9rem; padding-left: 2px; }
.play.small { min-height: 36px; padding: 3px 14px 3px 3px; font-size: .9rem; gap: 8px; }
.play.small .play-icon { width: 28px; height: 28px; font-size: .7rem; }
.play:disabled { opacity: .4; cursor: default; box-shadow: none; }
.pane-about { gap: 10px; }
.about summary { cursor: pointer; font-family: var(--f-serif); font-weight: 700; font-size: 1.02rem; letter-spacing: .04em; padding-top: 10px; padding-bottom: 10px; }
.about[open] { display: grid; gap: 10px; padding-bottom: 6px; }
.cummer { margin: 8px 0 12px; display: grid; gap: 6px; }
.cummer figcaption { font-size: 1rem; color: var(--ink-2); }
.cummer-scroll { overflow-x: auto; }
.cummer-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; min-width: 640px; max-width: 900px; }
.cg { display: grid; gap: 2px; justify-items: center; padding: 6px 4px 4px; border-radius: 8px; background: var(--nc); border: 2px solid transparent; }
.cg svg { width: 100%; height: auto; }
.cg small { font-size: .9rem; font-weight: 700; color: var(--ink); }
.cg.now { border-color: var(--warn); }
.tri-about { max-width: 420px; margin: 8px 0 12px; }
.pane-keep h2 { font-family: var(--f-serif); font-size: 1.15rem; }
.keep-lead { font-size: 1.05rem; margin: 0; }
.replace { display: grid; gap: 10px; border-top: 1px solid var(--line); padding-top: 14px; }
.replace h3 { font: 700 1.05rem var(--f-serif); }
.replace p { margin: 0; }
.replace-now { font-weight: 700; color: var(--warn); }
.replace-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.replace-cards[hidden] { display: none; }
.replace-card { margin: 0; display: grid; gap: 6px; align-content: start; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }  /* 本文の長さで余りが図の行に配られて、小見出しの位置がずれないよう上に詰める */
.replace-card svg { width: 100%; height: auto; max-width: 320px; margin-left: auto; margin-right: auto; }  /* 図は欄の中央に */
.replace-card figcaption { font-size: 1rem; }
.replace-card figcaption b { display: block; font-family: var(--f-serif); font-size: 1.05rem; margin-bottom: 2px; }
.dg-bone { fill: #ecdcbc; stroke: #d8c39a; stroke-width: 1; } .dg-gum { fill: #e9a3a0; }  /* 模式図: あごの骨と歯ぐき（横から見た断面風） */
.dg-tooth { fill: #fbfaf5; stroke: #9b8f78; stroke-width: 1.4; } .dg-line { fill: none; stroke: #9b8f78; stroke-width: 1.4; stroke-linejoin: round; }
.dg-root { fill: #efdcb0; } .dg-crown { fill: #fbfaf5; stroke: #d6c6a0; stroke-width: .8; }  /* 天然の歯の外形: 歯冠（エナメル質）は白、歯根は黄み */
.dg-front { opacity: .86; } .dg-pdl { fill: none; stroke: #cbb383; stroke-width: 3.2; }  /* 手前の歯ぐき（歯の首を覆う）、歯根膜と歯槽硬線 */
.dg-pros { fill: #fbf8f1; stroke: #5d7f8f; stroke-width: 1.8; }  /* 被せ物・人工の歯（青みの線で天然の歯と分ける） */
.dg-denture { fill: #fbf8f1; stroke: #5d7f8f; stroke-width: 1.6; } .dg-base { fill: #e0827f; stroke: #b9605d; stroke-width: 1.2; }
.dg-fixgum { fill: #e58f8c; stroke: #5d7f8f; stroke-width: 1.8; stroke-linejoin: round; }
.dg-back { fill: #e6e2d8; }  /* 舌側の咬頭（後ろに見える部分は少し暗く） */
.dg-ghost { fill: none; stroke: var(--ink-2); stroke-width: 1.5; stroke-dasharray: 5 4; }
.dg-x { stroke: var(--warn); stroke-width: 4; stroke-linecap: round; fill: none; }
.dg-arrow { stroke: var(--warn); stroke-width: 3; fill: none; stroke-linecap: round; } .dg-arrowhead { fill: var(--warn); }
.dg-clasp, .dg-metal { stroke: #8f9aa1; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }  /* 部分入れ歯の金属（隣接面板・Iバー） */
.dg-rest { stroke: #8f9aa1; stroke-width: 4.5; fill: none; stroke-linecap: round; }  /* レスト（咬む面のくぼみに乗る） */
.dg-cast { fill: #a9b3b9; stroke: #7d888e; stroke-width: .8; stroke-linejoin: round; }  /* 鋳造鉤の腕（先へ細くなる） */
.dg-joint { stroke: #5d7f8f; stroke-width: 6; stroke-linecap: round; }  /* ブリッジの連結部 */
.dg-implant { fill: #a7b1b7; stroke: #6f7a80; stroke-width: 1.2; } .dg-thread { stroke: #6f7a80; stroke-width: 1.6; } .dg-abut { fill: #c3cbd0; stroke: #6f7a80; stroke-width: 1; }
.dg-text { fill: var(--ink); font: 700 17px var(--f-sans); }
#replaceCards64 .dg-text { font-size: 18.4px; }
.pane-about > h2 { font-family: var(--f-serif); font-size: 1.15rem; margin-bottom: 6px; }
.about + .about { border-top: 1px solid var(--line); padding-top: 10px; }
.about > p { max-width: 62em; font-size: 1rem; }
.pane-about .areas { font-size: 1rem; max-width: 62em; }
.paths { display: flex; flex-wrap: wrap; gap: 8px; }
.path-btn { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--line); background: var(--surface); border-radius: 14px; padding: 6px 16px 6px 6px; cursor: pointer; font-size: 1rem; text-align: left; }
.path-btn span { display: grid; line-height: 1.35; }
.path-btn small { font-size: 1rem; color: var(--ink-2); }
.path-btn:hover { border-color: var(--accent); }
.path-btn[aria-pressed="true"] { border-color: var(--warn); box-shadow: inset 0 0 0 1px var(--warn); }
.path-btn svg { width: 76px; height: auto; flex: none; background: var(--cc); border-radius: 10px; padding: 6px 8px; }
.progress { display: grid; gap: 4px; width: 100%; }
.progress[hidden] { display: none; }
.progress-row { display: flex; align-items: center; gap: 10px; }
.bar-wrap { flex: 1; min-width: 0; position: relative; }
.bar-range { position: absolute; left: 0; top: -12px; width: 100%; height: 44px; margin: 0; opacity: 0; cursor: pointer; touch-action: none; }
.bar-range, .bar-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; }
.bar-range::-webkit-slider-thumb { width: 18px; height: 44px; }
.bar-range::-moz-range-thumb { width: 18px; height: 44px; border: 0; }
.bar-wrap:focus-within .pt.now { outline: 3px solid var(--accent); outline-offset: 2px; }
.bar { display: flex; align-items: center; list-style: none; margin: 0; padding: 0 2px; height: 20px; }
.bar .pt { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); border: 3px solid var(--line); }
.bar .pt.done { border-color: var(--warn); background: var(--warn); }
.bar .pt.now { transform: scale(1.25); box-shadow: 0 0 0 4px color-mix(in srgb, var(--warn) 25%, transparent); }
.bar .link { flex: 1; height: 6px; margin: 0 -1px; background: linear-gradient(var(--warn) 0 0) left / 0% 100% no-repeat var(--line); }
.bar .link.done { background-size: 100% 100%; }
.bar .link.run { animation: barfill var(--d) linear calc(var(--left) - var(--d)) forwards; }
@keyframes barfill { to { background-size: 100% 100%; } }
.bar-ends { display: flex; justify-content: space-between; gap: 12px; margin: 2px 0 0; font-size: .9rem !important; color: var(--ink-2); }
.bar-ends span:last-child { text-align: right; }
.step-title { font-size: 1rem; font-weight: 700; min-height: 1.6em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.step-title span { color: var(--warn); margin-right: 8px; }
.jump { display: none; grid-column: 1 / -1; color: var(--accent); font-weight: 700; font-size: .9rem; text-decoration: none; padding-top: 6px; padding-bottom: 6px; }
@media (max-width: 1279px) {
  .jump { display: block; }
}

/* 説明 */
.text { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; border-top: 1px solid var(--line); padding-top: 16px; }
@media (max-width: 760px) { .text { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
.text > div { display: grid; gap: 6px; align-content: start; min-width: 0; }
.text h3 { font-size: .95rem; font-family: var(--f-serif); letter-spacing: .04em; padding-bottom: 4px; border-bottom: 2px solid var(--accent-soft); }
.text p { font-size: 1.05rem; }
.loss summary { cursor: pointer; font-size: 1rem; font-weight: 700; color: var(--ink-2); padding-top: 10px; padding-bottom: 10px; }
.loss[open] summary { margin-bottom: 10px; }
/* HP版は「開いて64型すべてを見る」と同じボタンの形にする（字だけでは押せると分からなかった。院長 2026-11-04） */
html[data-embed="hp"] .loss > summary { list-style: none; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid #b9c7ce; background: var(--surface); color: var(--ink); font-family: var(--f-sans); font-size: 16px; line-height: 1.3; text-align: center; transition: border-color .15s; }
html[data-embed="hp"] .loss > summary::-webkit-details-marker { display: none; }
html[data-embed="hp"] .loss > summary:hover { border-color: var(--accent); background: var(--surface); border-radius: 0; }
html[data-embed="hp"] .loss > summary { padding-right: 40px; padding-left: 40px; }  /* 矢印の分を左右同じに空け、字を真ん中に */
html[data-embed="hp"] .loss > summary::after { right: 18px; top: calc(50% - 7px); }  /* 2行になっても矢印を上下の真ん中に */
html[data-embed="hp"] .loss[open] > summary::after { top: calc(50% - 2px); }
.cards { display: grid; gap: 12px; }
.loss-group { display: grid; gap: 6px; min-width: 0; }
.loss-result { font: 700 1.05rem var(--f-serif); color: var(--ink); }
.loss-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); grid-auto-flow: row dense; gap: 8px; }
.card[aria-expanded="true"] { border-color: var(--warn); box-shadow: inset 0 0 0 1px var(--warn); }
/* カードのすぐ下（その行の下）に開く段階の図。「この先」の図と同じ固定の大きさ（幅380px。スマホは欄いっぱい） */
.card-open { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px 16px; align-items: center; padding: 12px; border: 1px solid var(--warn); border-radius: 12px; background: var(--surface); }
@media (min-width: 641px) { .card-open { grid-template-columns: 380px minmax(0, 1fr); } }
.card-open .fmini { width: 380px; max-width: 100%; }
@media (max-width: 640px) { .card-open { padding-left: 0; padding-right: 0; border-left: 0; border-right: 0; } }
.co-text { display: grid; gap: 6px; min-width: 0; }
.co-text p { margin: 0; font-size: 1.05rem; }
.co-title { font: 700 1.05rem var(--f-serif); }
.co-title span { color: var(--warn); margin-right: 8px; }
.card { display: flex; gap: 12px; align-items: center; text-align: left; border: 1px solid var(--line); background: var(--surface); border-radius: 12px; padding: 8px 10px; cursor: pointer; }
.card:hover { border-color: var(--accent); }
/* 「ほかの可能性」の選択肢を、押せるボタンと分かる形にする（薄い枠だけで札に見えた。院長 2026-11-04） */
.loss-choices .card { position: relative; padding-right: 34px; border-color: #b9c3c6; box-shadow: 0 1px 0 #b9c3c6, 0 2px 6px rgba(22, 36, 44, .08); }
.loss-choices .card::after { content: "›"; position: absolute; right: 12px; top: 50%; transform: translateY(-55%); color: var(--accent); font-size: 1.5rem; line-height: 1; }
.loss-choices .card[aria-expanded="true"]::after { transform: translateY(-50%) rotate(90deg); }
.loss-choices .card:hover { background: #f3f8f8; }
.loss-choices .card:active { transform: translateY(1px); box-shadow: 0 0 0 #b9c3c6; }
.card svg { width: 58px; height: auto; flex: none; background: var(--cc); border-radius: 7px; padding: 6px; }
.card span { display: grid; line-height: 1.45; font-size: 1rem; min-width: 0; word-break: auto-phrase; }
.card small { color: var(--ink-2); font-size: 1rem; }

/* 全64型の樹形図（下段に横一列） */
.more > summary { cursor: pointer; color: var(--accent); font-weight: 700; font-size: 1rem; padding-top: 8px; padding-bottom: 8px; }
.text .more > summary { color: var(--ink); }
.text .more > summary h3 { display: inline; }
@media (min-width: 641px) { .text .more > summary { pointer-events: none; list-style: none; } .text .more > summary::-webkit-details-marker { display: none; } }
.pane-tree { gap: 10px; }
.pane-tree > .pane-head { justify-content: flex-start; }  /* 開く・閉じるボタンは見出しのすぐ右に（ユーザー指示） */
.pane-tree > .pane-head .btnrow { margin-left: auto; }
.start-hint { color: var(--ink); border-radius: 10px; padding: 8px 12px; transition: background .3s; }
.fresh .start-hint { background: var(--accent-soft); }
.fresh .start-hint b { color: var(--accent); margin-right: .4em; }
.start-hint b { margin-right: .4em; }
@media (prefers-reduced-motion: no-preference) { .fresh .seg { animation: invite 2.4s ease-in-out infinite; } }
@keyframes invite { 50% { box-shadow: 0 0 0 4px var(--accent-soft); } }
.pane-tree:not(.open) > :not(.pane-head), .pane-tree:not(.open) .btnrow { display: none; }
@media (min-width: 641px) {
  .pane-tree.open > .pane-head { position: sticky; top: 0; z-index: 3; background: var(--surface); padding-top: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); margin-top: -8px; }  /* 上の余白の分だけ上へ広げ、開いてもボタンを動かさない */
  html:has(.pane-tree.open) { scroll-padding-top: 140px; }  /* キーボードで動かした型が留めた見出しに隠れないように */
  html.no-css-has.tree-open { scroll-padding-top: 140px; }
}  /* 樹形図は画面より縦に長いので、開いている間は見出しと再生・辿り直すのボタンを画面の上に留める */
.pane-tree.open .tree-open { background: var(--surface); }  /* 開いた後も同じ場所に「閉じる」として残す */
.pane-tree .tree-open::after { content: '閉じる：カマーの分類 全64型のつながり'; display: block; height: 0; overflow: hidden; visibility: hidden; }  /* 閉じているときも長いほうの文言の幅を取り、開いて文言が延びても次の行へ落ちない（院長「直して」2026-11-03） */
#treePlay { width: 300px; max-width: 100%; height: 44px; justify-content: center; white-space: nowrap; }
@media (max-width: 375px) { #treePlay { width: min(300px, 100%); } }  /* 320pxで欄より広い300pxのままだと横スクロールが出る */
#treePlay:disabled { opacity: 1; color: var(--ink); background: var(--surface); border: 2px dashed var(--accent); }
#treePlay:disabled .play-icon { display: none; }
@media (max-width: 480px) { .pane-tree.open { min-height: 1193px; align-content: start; } }  /* 375pxで深さ2と再生不可の最大高を確保 */
.scroll-hint { color: var(--accent); font-weight: 700; }
@media (min-width: 1280px) { .scroll-hint { display: none; } }  /* 1280px以上は欄の幅に縮めるので横スクロールがない */
@media (max-width: 640px) { .wide-only { display: none; } }  /* スマホの樹形図は縦の1本の形なので説明も替える */
@media (min-width: 641px) { .narrow-only { display: none; } }
.tree-box { overflow-x: auto; margin-left: -4px; margin-right: -4px; padding-left: 4px; padding-right: 4px; }
@media (max-width: 480px) { .tree-box { margin-left: -12px; margin-right: -12px; padding-left: 0; padding-right: 0; } }  /* スマホは欄の端まで使う（選んだ型と次の列を少しでも多く見せる） */
.tree { display: block; width: 100%; height: auto; }  /* PCは欄の幅に合わせて縮めて横スクロールなし（2026-10-05、ユーザー指示）。字は縮んでも16px以上になる大きさで描く */
@media (max-width: 1279px) { .tree { min-width: 1350px; } }  /* 1段組みの幅: 選んだ型（2倍）と次の列がスマホの幅に両方収まる大きさ（型の文字は約13.5px） */
.tcol, .tmore { fill: var(--ink-2); font: 700 17px var(--f-sans); text-anchor: middle; letter-spacing: .04em; }
.tmore { font-weight: 400; }
.tmove { transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.tnode { cursor: pointer; transition: opacity .3s, transform .3s cubic-bezier(.2, .8, .2, 1); transform-box: fill-box; transform-origin: center; }
@media (min-width: 641px) and (max-width: 1279px) { .tmove { transition: none; } .tnode { transition: opacity .3s; } }
.tnode.cur { transform: scale(1.12); filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .22)); }
.tnode .thit { fill: transparent; }  /* 押せる範囲を行の間隔いっぱいに広げる（見た目は変えない） */
.tnode.cur .thit { display: none; }  /* 2倍にした型は、広げた範囲が隣の型にかからないように */
.tnode .tbg { fill: var(--zf); stroke: var(--ink); stroke-opacity: .16; stroke-width: 1; }
.tnode text { fill: var(--ink); font: 700 17px var(--f-sans); }
.tnode .tname { text-anchor: middle; }  /* 1行目: 日常語の名前（主）。3行目の Type 番号は補足なので細く */
.tnode .tno { font-weight: 400; }
.tnode .tsub { display: none; text-anchor: middle; font-weight: 400; }
.tnode[data-same-name="true"] .tsub { display: block; }
@media (max-width: 1279px) { .tnode text, .tcol, .tmore { font-size: 18px; } }  /* 1段組みの樹形図は少し縮むので字を大きく（実寸16px以上） */
@media (min-width: 1280px) { .tnode text, .tcol, .tmore { font-size: 20px; } }  /* PCは図を欄の幅に縮めるので字を大きく（1280幅で実寸16px） */
@media (max-width: 1279px) { .tnode .tname { font-size: 20px; } }
@media (min-width: 1280px) { .tnode .tname { font-size: 20.5px; } }
.tnode.likely .tbg { stroke: var(--sky); stroke-opacity: 1; stroke-width: 2.4; }
.tnode.cur .tbg { stroke: var(--warn); stroke-opacity: 1; stroke-width: 3.5; }
.tnode.gone, .tedge.off { display: none; }  /* 見せない型と線は描かない（列ごとに「ほか○型」とまとめる） */
/* スマホの樹形図（選んだ型を縦の1本につなげる） */
.tree-chain { display: grid; gap: 10px; }
.tc-chain { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.tc-chain li { position: relative; }
.tc-chain li + li::before { content: ''; position: absolute; left: 46px; top: -16px; height: 16px; border-left: 3px solid var(--warn); }
.tc-node { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 6px 12px 6px 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; font: inherit; }
.tc-node svg { width: 80px; height: auto; flex: none; background: var(--zf); border-radius: 8px; padding: 6px 8px; }
.tc-node span { display: grid; line-height: 1.35; min-width: 0; word-break: auto-phrase; }
.tc-node small { color: var(--ink-2); font-size: .9rem; }
.tc-node.cur { border-color: var(--warn); box-shadow: inset 0 0 0 2px var(--warn); }
.tc-node.likely { border-color: var(--sky); box-shadow: inset 0 0 0 2px var(--sky); }
.tc-next { display: grid; gap: 8px; }
.tc-label { margin: 4px 0 0; color: var(--ink-2); text-wrap: balance; }  /* いまから辿れない型は押しても反応しない */
.tnode:focus { outline: none; }
.tnode:focus-visible .tbg { stroke: var(--accent); stroke-opacity: 1; stroke-width: 3; }
.tedge { fill: none; stroke: var(--ink-2); stroke-width: 1; opacity: .06; transition: opacity .3s; }
.tedge.reach { opacity: .32; }
.tedge.likely { stroke: var(--sky); stroke-width: 2.6; opacity: 1; }
.tedge.walked { stroke: var(--warn); stroke-width: 3; opacity: 1; }
.tedge.hide { opacity: 0 !important; transition: opacity .1s; }
.tree.still .tnode, .tree.still .tmove { transition: none; }
.legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 1rem; color: var(--ink-2); }
.legend i { display: inline-block; width: 13px; height: 13px; border-radius: 4px; background: var(--cc); vertical-align: -2px; margin-right: 6px; border: 1px solid var(--line); }
.legend i.line { width: 22px; height: 0; border: 0; border-top: 3px solid var(--sky); border-radius: 0; vertical-align: 3px; }
.legend i.line.walked { border-top-color: var(--warn); }

.site-footer { display: grid; gap: 6px; font-size: 1rem; color: #d5e6e3; max-width: 1380px; margin: 0 auto; padding: 18px 16px 36px; background: #0f4c5c; box-shadow: 0 0 0 100vmax #0f4c5c; clip-path: inset(0 -100vmax); }
.footer-brand { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 16px; letter-spacing: .06em; }
.clinic-info { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.25); }
.supervision p, .clinic-info p { margin: 0; }
.folded-body .supervision { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid var(--line); }
.folded-body .supervision b { color: var(--ink); }
.site-footer a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-footer :focus-visible { outline-color: #fff; }
@media (max-width: 1279px) { .btn.icon { width: 44px; height: 44px; } .btn, .btn.small, .play.small { min-height: 44px; } }  /* 1段組みの幅では押す場所を44px以上に */

@media (max-width: 480px) {
  .page { padding-top: 8px; gap: 12px; }
  .play { letter-spacing: 0; } .play-row .btn { padding-left: 12px; padding-right: 12px; font-size: .9rem; }
  @media (max-width: 360px) { .play-row { min-height: 96px; align-content: flex-start; } }  /* 2行に折れても下が動かない */  /* 止める・今の状態に戻るを1行に（行数が変わると下の道筋のボタンが動く） */
  .pane { padding: 18px 12px; border-radius: 18px; gap: 12px; }
  /* 歯を押した直後に、型の名前が最初の画面（375×812）に見えるよう、歯の入力のまわりの余白を詰める */
  .pane-state { padding-top: 14px; gap: 8px; }
  .start-hint { padding-top: 4px; padding-bottom: 4px; }
  .jaw-name { padding-top: 0; padding-bottom: 0; line-height: 1.5; }
  .teeth.up { margin-bottom: 10px; }
  .sides { padding-top: 4px; }
  .state { padding-top: 8px; row-gap: 4px; }
  .eyebrow { line-height: 1.5; }
  .seg { min-height: 52px; }
  .teeth { padding-left: 4px; padding-right: 4px; gap: 6px; }
  .path-btn { min-height: 44px; width: 100%; }
  .pane-tree .tree-open { width: 100%; white-space: nowrap; padding-left: 8px; padding-right: 8px; font-size: 16.5px; }
  .loss summary { padding-top: 10px; padding-bottom: 10px; }
  .state-icon { width: 150px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* 共通デザイン8章。既存の文字より小さくなる役割は大きさを保つ。 */
body { font-size: 18px; line-height: 1.7; }
.clinic-name { font-size: 16px; }
.app-version, .lede { font-size: 1rem; line-height: 1.6; font-variant-numeric: tabular-nums; }
.app-version { font-size: 16px; }
.pane h2 { font: 700 22px/1.4 var(--f-serif); color: var(--ink); }
.pane h3 { font-family: var(--f-sans); line-height: 1.5; color: var(--ink); }
.replace h3, .loss-result { font: 700 19px/1.5 var(--f-sans); }
.state h3 { font: 700 1.6rem/1.5 var(--f-sans); }
.replace-card figcaption b { font-family: var(--f-sans); }
#tNow, .about > p:not(.hint) { font-size: 18px; line-height: 1.7; color: var(--ink); }
.pane .hint, .pane .refs { font-size: max(17px, 1rem); line-height: 1.6; color: var(--ink-2); }
.pane { border-width: 0; padding: 23px; }
.btn, .btn.small { font-family: var(--f-sans); font-weight: 700; font-size: max(16px, 1rem); line-height: 1.3; min-height: 44px; }
#reset { background: var(--surface); }
.play, .play.small { font-family: var(--f-sans); font-size: max(16px, .95rem); line-height: 1.3; min-height: 48px; }
.btn.primary { min-height: 48px; background: linear-gradient(#1a6477,#0f4c5c); box-shadow: 0 6px 14px -4px rgba(15,76,92,.55); }
.pane summary { font: 700 18px/1.5 var(--f-sans); min-height: 52px; padding-top: 14px; padding-bottom: 14px; padding-right: 24px; color: var(--ink); list-style: none; position: relative; }
.pane summary::-webkit-details-marker { display: none; }
.pane summary::after { content: ''; position: absolute; right: 4px; top: 20px; width: 9px; height: 9px; border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: rotate(45deg); }
.pane details[open] > summary::after { transform: rotate(225deg); }
.pane summary:hover { background: #f3eee4; border-radius: 10px; }
.bar-range { opacity: 0; background: transparent; }
.bar-range::-webkit-slider-runnable-track { height: 10px; border-radius: 999px; background: linear-gradient(90deg,var(--accent) 0 var(--progress,0%),#bdbdbd var(--progress,0%) 100%); }
.bar-range::-moz-range-track { height: 10px; border-radius: 999px; background: linear-gradient(90deg,var(--accent) 0 var(--progress,0%),#bdbdbd var(--progress,0%) 100%); }
.bar-range::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -9px; border: 3px solid var(--accent); border-radius: 50%; background: white; box-shadow: 0 2px 6px rgba(60,40,10,.28); }
.bar-range::-moz-range-thumb { width: 28px; height: 28px; box-sizing: border-box; border: 3px solid var(--accent); border-radius: 50%; background: white; box-shadow: 0 2px 6px rgba(60,40,10,.28); }
.bar { padding-left: 14px; padding-right: 14px; }
.bar .pt { width: 0; height: 0; border: 0; }
.bar .pt.now { width: 28px; height: 28px; margin-left: -14px; margin-right: -14px; border-radius: 50%; transform: none; background: white; border: 3px solid var(--accent); box-shadow: 0 2px 6px rgba(60,40,10,.28); position: relative; z-index: 1; }
.bar { pointer-events: none; } /* つまみを溝の手前に描き、操作は透明な入力へ通す。 */
.bar .link { min-width: 0; margin: 0; height: 10px; border-radius: 999px; background: linear-gradient(90deg,var(--accent) 0 0%,#bdbdbd 0% 100%); }
.bar .link.done { background: linear-gradient(90deg,var(--accent) 0 100%,#bdbdbd 100% 100%); }
/* つまみと塗りは段階の点に置かず、--p（0〜1、再生中は時間で連続に増える）の位置に描く */
.bar .pt.now { width: 0; height: 0; margin: 0; border: 0; box-shadow: none; }
.bar .link, .bar .link.done { background: #bdbdbd; }
.bar-fill, .bar-knob { position: absolute; pointer-events: none; }
.bar-fill { left: 14px; top: 5px; height: 10px; width: calc((100% - 28px) * var(--p, 0)); border-radius: 999px; background: var(--accent); }
.bar-knob { left: calc(14px + (100% - 28px) * var(--p, 0)); top: -4px; width: 28px; height: 28px; margin-left: -14px; box-sizing: border-box; border-radius: 50%; background: white; border: 3px solid var(--accent); box-shadow: 0 2px 6px rgba(60,40,10,.28); }
.bar-wrap:focus-within .bar-knob { outline: 3px solid var(--accent); outline-offset: 2px; }
.app-icon { background: var(--accent); border-radius: 22%; }
@media (max-width: 520px) {
  .pane h2 { font-size: 20px; }
  .pane-keep h2, .pane-about > h2 { font-size: 1.15rem; }
  .replace h3, .loss-result { font-size: max(18px, 1.05rem); }
  .clinic-name { letter-spacing: .04em; }
}
@media (max-width: 480px) {
  .pane { padding: 19px 13px; }
  .pane-state { padding-top: 15px; }
}
@media (max-width: 374px) {
  .lede { line-height: 1.25; }
  .pane-state .state { row-gap: 2px; padding-top: 4px; }
  .pane-tree .tree-open { white-space: normal; }
}

/* Chrome 84のみに補う指定。新しいChromeのレイアウトには適用しない。 */
@supports not (color: color-mix(in srgb, black, white)) {
  .seg { background: repeating-linear-gradient(135deg, rgba(168,64,26,.24) 0 5px, transparent 5px 11px), var(--surface); }
  .frontal, .fmini-teeth, .next-viewer .frontal-layers { background: var(--figure-bg, #e6eef5); }
  .frontal-marks span { background: repeating-linear-gradient(135deg, rgba(168,64,26,.24) 0 4px, transparent 4px 9px), var(--surface); }
}
.no-flex-gap .top h1 > .app-icon { margin-right: .35em; }
.no-flex-gap .pane-tree { overflow-anchor: none; }
@supports not (justify-content: safe center) {
  .pane-course .filmstrip > :first-child { margin-left: auto; }
  .pane-course .filmstrip > :last-child { margin-right: auto; }
}
.no-flex-gap .pane-head > * + * { margin-left: 10px; }
.no-flex-gap .btnrow, .no-flex-gap .play-row, .no-flex-gap .paths { margin-top: -8px; margin-left: -8px; }
.no-flex-gap .btnrow > *, .no-flex-gap .play-row > *, .no-flex-gap .paths > * { margin-top: 8px; margin-left: 8px; }
.no-flex-gap .play-icon { margin-right: 10px; }
.no-flex-gap .play.small .play-icon { margin-right: 8px; }
.no-flex-gap .filmstrip > * + * { margin-left: 6px; }
.no-flex-gap .path-btn svg, .no-flex-gap .card > :first-child, .no-flex-gap .tc-node > :first-child { margin-right: 12px; }
.no-flex-gap .progress-row > * + * { margin-left: 10px; }
.no-flex-gap .course-hints > * + *, .no-flex-gap .bar-ends > * + * { margin-left: 12px; }
.no-flex-gap .frontal .numeral > * + * { margin-left: 6px; }
.no-flex-gap .legend { margin-top: -6px; margin-left: -16px; }
.no-flex-gap .legend > * { margin-top: 6px; margin-left: 16px; }
.no-flex-gap .footer-brand { margin-top: -4px; margin-left: -16px; }
.no-flex-gap .footer-brand > * { margin-top: 4px; margin-left: 16px; }
.no-flex-gap .top h1 { min-height: 1.3em; }
.no-flex-gap .app-version { min-height: 1.6em; }
.no-flex-gap .jaw-name { height: calc(1.7em + 4px); }
.no-flex-gap .sides { height: calc(1.7em + 8px); }
.no-flex-gap .state h3 { min-height: 1.5em; }
.no-flex-gap .pane-tree > .pane-head { display: grid; grid-template-columns: auto auto minmax(0, 1fr); justify-content: normal; }
.no-flex-gap .pane-tree > .pane-head > * { margin: 0; }
.no-flex-gap .pane-tree > .pane-head .btnrow { margin: 0; justify-self: end; flex-wrap: nowrap; }
.no-flex-gap .pane-tree > .pane-head .btnrow > * { margin: 0; }
.no-flex-gap .pane-tree > .pane-head .btnrow > * + * { margin-left: 8px; }
@media (min-width: 641px) and (max-width: 1279px) {
  .no-flex-gap .pane-tree > .pane-head { grid-template-columns: auto minmax(0, 1fr); justify-content: start; }
  .no-flex-gap .pane-tree > .pane-head .tree-open { justify-self: start; }
  .no-flex-gap .pane-tree > .pane-head .btnrow { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .no-flex-gap .jaw-name { height: 1.5em; }
  .no-flex-gap .sides { height: calc(1.7em + 4px); }
  .no-flex-gap .pane-state > .pane-head #reset { margin: 10px 0 0; }
  .no-flex-gap .pane-tree > .pane-head { grid-template-columns: minmax(0, 1fr); justify-content: normal; }
  .no-flex-gap .pane-tree > .pane-head .btnrow { display: grid; width: 100%; justify-self: start; gap: 8px; justify-items: start; }
  .no-flex-gap .pane-tree > .pane-head .btnrow > * + * { margin: 0; }
}
.no-flex-gap .pane-tree:not(.open) .btnrow { display: none; }
@media (min-width: 1280px) {
  .no-flex-gap .pane-state > .pane-head #reset { margin: 10px 0 0; }
}
@supports not selector(:focus-visible) {
  :focus { outline: 3px solid var(--accent); outline-offset: 2px; }
  .top :focus, .site-footer :focus { outline-color: white; }
  .tnode:focus .tbg { stroke: var(--accent); stroke-opacity: 1; stroke-width: 3; }
}

/* 歯の未来と同じ、独立した読み物の折りたたみ。 */
.folded-row { display: grid; gap: 0 1.5rem; margin-top: 1.25rem; }
@media (min-width: 760px) { .folded-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.folded { min-width: 0; }
.folded > details > .folded-title { min-height: 52px; padding: 14px 32px 14px 0; border-top: 1px solid var(--line); color: var(--ink); font: 700 18px/1.5 var(--f-sans); list-style: none; cursor: pointer; position: relative; }
.folded-title::-webkit-details-marker { display: none; }
.folded-title::after { content: ''; position: absolute; right: 10px; top: 20px; width: 9px; height: 9px; border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: rotate(45deg); }
.folded > details[open] > .folded-title::after { transform: rotate(225deg); }
.folded-title:hover { background: #f3eee4; border-radius: 10px; }
.folded-body { padding: 4px 0 20px; }
.folded-body > .about + .about { border-top-style: dashed; }
.folded-body > p, .folded-body > div > p { font-size: 18px; line-height: 1.7; }
@media (min-width: 760px) { .folded-row > .folded:has(> details[open]) { grid-column: 1 / -1; } }

/* 院内用（?audience=chairside または data-audience="chairside"）。口頭で説明しながら見せる画面（共通デザイン 8-8）: 説明文・注記・補う方法・参考文献・フッターは出さず、結果の図を大きく。要素は消さず、見えなくするだけ。公開版（この行より上）は変えない。 */
html[data-audience="chairside"] .top .h1-sub,
html[data-audience="chairside"] .top .lede-box,
html[data-audience="chairside"] .start-hint,
html[data-audience="chairside"] #mapHint,
html[data-audience="chairside"] .pane-tree .hint,
html[data-audience="chairside"] .clinic-info { display: none; }
html[data-audience="chairside"] .pane-keep,
html[data-audience="chairside"] .pane-about,
html[data-audience="chairside"] .site-footer,
html[data-audience="chairside"] .state-now,
html[data-audience="chairside"] .tri-cap,
html[data-audience="chairside"] #tNext,
html[data-audience="chairside"] .next-viewer,
html[data-audience="chairside"] .course-hints,
html[data-audience="chairside"] .course-stage,
html[data-audience="chairside"] .story-label,
html[data-audience="chairside"] .loss,
html[data-audience="chairside"] .eyebrow { display: none; }
html[data-audience="chairside"] .pane-state .pane-head h2,
html[data-audience="chairside"] .pane-next h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[data-audience="chairside"] .src-line[hidden] { display: block !important; margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); }

/* 帯: 院内用の共通の形（共通デザイン 1-1）。幅600px以上で高さ104px固定、左右28px、版は右上 */
html[data-audience="chairside"] .top { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "clinic version" "title title"; align-items: start; column-gap: 12px; row-gap: 2px; padding-top: 11px; padding-bottom: 9px; }
html[data-audience="chairside"] .top h1 { align-self: start; }
@media (max-width: 399px) { html[data-audience="chairside"] .top { grid-template-areas: "clinic clinic" "version version" "title title"; } }
@media (min-width: 600px) {
  html[data-audience="chairside"] .top { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "clinic" "title"; align-content: center; align-items: start; row-gap: 2px; height: 104px; max-width: none; margin: 0; padding: 0 28px; }
  html[data-audience="chairside"] .clinic-name { font-size: 15.5px; line-height: 1.4; letter-spacing: .2em; }
  html[data-audience="chairside"] .top h1 { align-self: start; gap: 0; font-size: 32px; line-height: 1.3; }
  html[data-audience="chairside"] .top h1 .app-icon { width: 32px; height: 32px; margin-right: 12px; }
  html[data-audience="chairside"] .app-version { position: absolute; top: 16px; right: 28px; margin: 0; font: 400 14px/1.4 var(--f-sans); color: #d5e6e3; }
  html[data-audience="chairside"].no-flex-gap .app-version { min-height: 0; }
}

/* 画面いっぱい（幅900px以上）: 縦にスクロールせず、入力・型・道筋の図・正面の歯の図が見える。左に入力と今の型、右に段階の帯と道筋の図 */
@media (min-width: 900px) {
  html[data-audience="chairside"] { --a-w: 316px; --cs-map-w: 797px; }
  html[data-audience="chairside"] .page { max-width: none; margin: 0; padding: 8px 16px 12px; gap: 8px 16px; grid-template-columns: var(--a-w) minmax(0, 1fr); grid-template-rows: auto 1fr; min-height: calc(100vh - 104px); align-items: stretch; }
  html[data-audience="chairside"] .app { display: contents; }
  html[data-audience="chairside"] .pane { padding: 14px 16px; }
  html[data-audience="chairside"] .pane.pane-state { position: relative; z-index: 1; align-self: start; grid-column: 1; grid-row: 1 / 3; height: auto; min-height: 0; gap: 8px; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; column-gap: 0; align-content: start; align-items: start; }
  html[data-audience="chairside"] .pane-state > .pane-head,
  html[data-audience="chairside"] .pane-state > .mouth,
  html[data-audience="chairside"] .pane-state > .state { grid-column: 1; grid-row: auto; }
  html[data-audience="chairside"] .pane-state > .mouth { max-width: none; }
  html[data-audience="chairside"] .pane-state > .state { height: auto; overflow-y: visible; border-top: 0; padding-top: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; column-gap: 0; row-gap: 8px; align-content: start; }
  html[data-audience="chairside"] .pane-state .frontal { grid-column: 1; grid-row: auto; width: 100%; max-width: none; }
  html[data-audience="chairside"].no-flex-gap .pane-state > .pane-head #reset { margin: 0; }
  html[data-audience="chairside"].no-flex-gap .pane-state > .pane-head > * + * { margin-left: 0; }
  html[data-audience="chairside"].no-flex-gap .sides { height: auto; }
  html[data-audience="chairside"].no-flex-gap .state h3 { min-height: 0; }
  html[data-audience="chairside"].no-flex-gap .pane-tree:not(.open) > .pane-head { display: flex; }
  html[data-audience="chairside"] .seg { min-height: 52px; }
  html[data-audience="chairside"] .teeth.up { margin-bottom: 8px; }
  html[data-audience="chairside"] .sides { padding-top: 4px; font-size: 14px; white-space: nowrap; }
  html[data-audience="chairside"] .state h3 { font-size: 30px; line-height: 1.4; }
  html[data-audience="chairside"] .pane-state .frontal .numeral { flex-direction: row-reverse; justify-content: flex-start; font-size: 18px; }
  html[data-audience="chairside"] .numeral .sr-only { position: static; width: auto; height: auto; overflow: visible; clip-path: none; margin-right: 8px; font-weight: 700; color: var(--ink); }
  html[data-audience="chairside"] .numeral .num { font-size: inherit; }
  html[data-audience="chairside"] .pane.pane-next { grid-column: 2; grid-row: 1; height: auto; padding: 0 4px; gap: 6px; grid-template-rows: none; align-content: start; background: none; box-shadow: none; }
  html[data-audience="chairside"] .pane-next .next-block { grid-template-columns: minmax(0, 1fr); gap: 0; }
  html[data-audience="chairside"] .next-text { grid-template-columns: auto minmax(0, 1fr); gap: 4px 24px; align-items: center; }
  html[data-audience="chairside"] .pane.pane-course { grid-column: 2; grid-row: 2; min-height: 0; padding: 10px 16px; gap: 4px; align-content: start; }
  html[data-audience="chairside"] .pane-course .pane-head { height: auto; min-height: 36px; }
  html[data-audience="chairside"] .pane-course .pane-head h2 { font-size: 19px; }
  html[data-audience="chairside"] .pane-course .map { height: auto; }
  html[data-audience="chairside"] .map:not(.v) { max-width: var(--cs-map-w); }
  html[data-audience="chairside"] .film-slot { height: auto; min-height: 0; }
  html[data-audience="chairside"] .filmstrip { min-height: 0; }
  /* 道筋の下の段階の図: 図の幅は --fw（app.js の fitFilm が、左の「いまの状態」の正面図と同じ大きさ、1画面に入らなければ入る最大にする）。札の名前と模式図は図の下の1行 */
  html[data-audience="chairside"] .filmstrip { padding-bottom: 0; }
  html[data-audience="chairside"] .frame { flex: none; width: calc(var(--fw, 256px) + var(--fx, 12px)); min-width: 0; max-width: none; padding: 5px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 8px; row-gap: 4px; }
  html[data-audience="chairside"] .frame .fmini { display: contents; }
  html[data-audience="chairside"] .frame .fmini-teeth { grid-column: 1 / -1; grid-row: 1; }
  html[data-audience="chairside"] .frame .frame-label { grid-column: 1; grid-row: 2; font-size: 15px; line-height: 1.3; }
  html[data-audience="chairside"] .frame .fmini-icon { grid-column: 2; grid-row: 2; margin: 0; }
  html[data-audience="chairside"] .filmstrip.no-pill .fmini-icon { display: none; }
  html[data-audience="chairside"] .filmstrip.no-pill .frame .frame-label { grid-column: 1 / -1; }
  html[data-audience="chairside"] .pane-course .pane-head:not(.has-toggle) { position: absolute; width: 1px; min-height: 0; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }  /* 切り替えが無い（代表的なコース図）ときは見出しの行を出さない */
  html[data-audience="chairside"] .pane-course .loss[hidden] { display: none !important; }  /* 幅1279px以下で「ほかの可能性」の場所を空けておく指定（visibility:hidden の箱が高さを取る）を、院内用では使わない */
  html[data-audience="chairside"] .pane-next > .story { display: none; }  /* 行き先は道筋の図の型で選ぶ（幅1280px以上と同じ。行き先のボタンは出さない） */
  html[data-audience="chairside"] .pane-tree:not(.open) { grid-column: 1; grid-row: 2; justify-self: start; align-self: end; position: sticky; bottom: 12px; z-index: 5; padding: 6px; }
  html[data-audience="chairside"] .pane-tree:not(.open) h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html[data-audience="chairside"] .pane-state > .src-line[hidden] { grid-column: 1; grid-row: auto; margin-top: 2px; }
  /* 樹形図を開くと、画面いっぱいに出す（1画面に収まる大きさ。図の高さは画面の高さから決める） */
  html[data-audience="chairside"].tree-open { overflow: hidden; }
  html[data-audience="chairside"] .pane-tree.open { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 40; border-radius: 0; box-shadow: none; background: var(--paper); padding: 10px 24px 12px; gap: 6px; align-content: start; overflow: auto; }
  html[data-audience="chairside"] .pane-tree.open > .pane-head { position: static; padding: 0; border-bottom: 0; background: transparent; }
  html[data-audience="chairside"] .tree-box { overflow: visible; margin: 0; padding: 0; }
  html[data-audience="chairside"] .tree { width: min(100%, calc((100vh - 150px) * 1500 / 802)); min-width: 0; margin: 0 auto; }
  html[data-audience="chairside"] .tnode text,
  html[data-audience="chairside"] .tcol,
  html[data-audience="chairside"] .tmore { font-size: 20px; }
  html[data-audience="chairside"] .tnode .tname { font-size: 20.5px; }
  html[data-audience="chairside"] .legend { justify-content: center; }
  html[data-audience="chairside"] .legend .wide-only { display: none; }
}
@media (min-width: 1280px) {
  html[data-audience="chairside"] { --a-w: 380px; }
  html[data-audience="chairside"] .page { padding: 8px 28px 12px; }
  html[data-audience="chairside"] .seg { min-height: 60px; }
  html[data-audience="chairside"] .teeth.up { margin-bottom: 10px; }
  html[data-audience="chairside"] .sides { font-size: 16px; }
  /* この型の道筋の図（3段まで）は左に寄せ、見出しの行をやめて、切り替えのボタンを図の右上に置く（高さを1行分減らす） */
  html[data-audience="chairside"] .pane.pane-course { position: relative; }
  html[data-audience="chairside"] .pane-course.rule-view .pane-head.has-toggle { position: absolute; top: 10px; right: 16px; min-height: 0; height: auto; }
  html[data-audience="chairside"] .pane-course.rule-view .pane-head.has-toggle h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
/* 高さ800px台: 左の欄の下端を、画面の下に留めた「開いて64型すべてを見る」のカードより上に収める（カードが出典や図に重ならない） */
@media (min-width: 900px) and (max-height: 859px) {
  html[data-audience="chairside"] .pane.pane-state { padding: 12px 16px; gap: 6px; }
  html[data-audience="chairside"] .state h3 { font-size: 28px; line-height: 1.3; }
  html[data-audience="chairside"] .jaw-name { padding: 0; line-height: 1.4; }
  html[data-audience="chairside"].no-flex-gap .jaw-name { height: 1.4em; }
  html[data-audience="chairside"] .pane-state > .src-line[hidden] { font-size: 14px; line-height: 1.45; }
  html[data-audience="chairside"] .pane-tree:not(.open) { padding: 4px; }  /* 留める位置（bottom 12px）は、ページが短いときの自然な位置と同じにする（違うと keepTreeInPlace が4pxずらしてスクロールする） */
  /* 高さ768〜800px: 段階の図のコマの余白を詰め、道筋の欄の高さを稼ぐ（コマの余白と枠は --fx で図の幅に足す） */
  html[data-audience="chairside"] .filmstrip { --fx: 8px; }
  html[data-audience="chairside"] .frame { padding: 3px; row-gap: 2px; }
}
@media (min-width: 1280px) and (max-height: 859px) {
  html[data-audience="chairside"] { --a-w: 360px; }
  html[data-audience="chairside"] .seg { min-height: 52px; }
  html[data-audience="chairside"] .sides { font-size: 14px; }
}
@media (min-width: 1500px) and (min-height: 900px) {
  html[data-audience="chairside"] { --a-w: 560px; --cs-map-w: 830px; }
  html[data-audience="chairside"] .seg { min-height: 84px; }
  html[data-audience="chairside"] .state h3 { font-size: 34px; }
}
/* 幅が1280px未満では、道筋の図を載せる右の欄が797pxに足りない。図の欄を全幅に広げて（図は横の形のまま）、見た目の枠だけを右側に置く */
@media (min-width: 900px) and (max-width: 1279px) {
  html[data-audience="chairside"] .pane.pane-course { grid-column: 1 / -1; grid-row: 2; position: relative; z-index: 0; background: none; box-shadow: none; padding-left: calc(var(--a-w) + 32px); pointer-events: none; }
  html[data-audience="chairside"] .pane-course > * { pointer-events: auto; }
  html[data-audience="chairside"] .pane.pane-course::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(var(--a-w) + 16px); right: 0; border-radius: 22px; background: var(--surface); box-shadow: 0 1px 2px rgba(60, 40, 10, .05), 0 12px 32px -8px rgba(60, 40, 10, .14); }
  html[data-audience="chairside"] .pane.pane-next { grid-column: 2; }
}

/* HPの親ページに埋めるときだけ、頭と本文側の読み物の重複を省く。 */
html[data-embed="hp"], html[data-embed="hp"] body { overflow-x: hidden; min-height: 0; }
html[data-embed="hp"] .clinic-name,
html[data-embed="hp"] .top h1,
html[data-embed="hp"] #ver,
html[data-embed="hp"] .site-footer,
html[data-embed="hp"] .pane-about,
html[data-embed="hp"] .folded-row,
html[data-embed="hp"] .tri-cap details.more,
html[data-embed="hp"] .h1-sub .kicker { display: none; }
html[data-embed="hp"] .top {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "sub" "intro";
  gap: 3px;
  max-width: none;
  margin: 0;
  padding: 13px 16px 14px;
  background: #0f4c5c;
  box-shadow: none;
  clip-path: none;
}
.hp-sim-mark { display: none; }
html[data-embed="hp"] .h1-sub { margin: 0; color: #fff; font: 700 21px/1.4 var(--f-sans); }
html[data-embed="hp"] #hp-embed-title { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; }
html[data-embed="hp"] .hp-sim-mark { display: inline-flex; flex-direction: column; align-items: center; flex: none; line-height: 1; }
html[data-embed="hp"] .hp-sim-mark .app-icon { display: block; width: 28px; height: 28px; margin: 0; }
html[data-embed="hp"] .hp-sim-label { font: 700 10px/1 var(--f-sans); letter-spacing: .08em; color: #e2f0ee; margin-top: 2px; }
html[data-embed="hp"] .hp-embed-title-text { flex: 1 1 0; min-width: 0; }
.lede-hp { display: none; }
html[data-embed="hp"] .lede { max-width: none; margin: 0; color: #d5e6e3; }
html[data-embed="hp"] .lede-full, html[data-embed="hp"] .lede-mobile { display: none; }
/* インプラントの説明の下にHPのインプラントのページへのボタン（院長 2026-11-04）。院内用には出さない */
.hp-implant-link { display: none; }
html[data-embed="hp"] .hp-implant-link { display: inline-flex; align-items: center; justify-self: start; margin-top: 4px; color: var(--accent); text-decoration: none; }
html[data-embed="hp"] .lede-hp { display: inline; }
html[data-embed="hp"] .page { padding: 12px 0 0; gap: 12px; }
html[data-embed="hp"] .app { gap: 12px; }
html[data-embed="hp"] .pane { border-radius: 8px; }
html[data-embed="hp"] .pane h2 { font-size: 22px; font-family: var(--f-serif); }
html[data-embed="hp"] .pane h3 { font-size: 20px; font-family: var(--f-sans); }
html[data-embed="hp"] .pane-state > .state { height: auto; overflow-y: visible; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
html[data-embed="hp"] .pane-state .frontal,
html[data-embed="hp"] .pane-state .state-now,
html[data-embed="hp"] .pane-state .tri-cap { grid-column: 1; grid-row: auto; }
html[data-embed="hp"] .pane.pane-state,
html[data-embed="hp"] .pane.pane-next,
html[data-embed="hp"] .pane.pane-course { height: auto; min-height: 0; }
html[data-embed="hp"] .pane-course .loss[hidden] { display: none !important; }
html[data-embed="hp"] .film-slot { height: auto; min-height: 0; }
html[data-embed="hp"] .paths:empty { display: none; }
html[data-embed="hp"] .paths.balanced { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
html[data-embed="hp"] .course-stage:empty { display: none; }
html[data-embed="hp"] .filmstrip { align-items: center; min-height: 0; }
html[data-embed="hp"] .filmstrip .frame:first-child { width: 64px; }
html[data-embed="hp"] .filmstrip .frame:first-child .fmini { display: none; }
html[data-embed="hp"] .filmstrip .frame:first-child .frame-label { display: grid; place-items: center; min-height: 50px; border-radius: 8px; background: #e7f1ee; }
/* HPの枠は横スクロールを出さない: 64型の図は枠の幅まで縮め（字が16pxを下回るのは院長の了承済み）、
   道筋のコマは枠に合わせて縮め、狭い幅では縦に並べる（院長 2026-11-02） */
@media (min-width: 641px) {
  html[data-embed="hp"] .tree { min-width: 0; }
  html[data-embed="hp"] .scroll-hint { display: none; }
}
html[data-embed="hp"] .filmstrip { overflow-x: visible; justify-content: center; }  /* 道筋のコマは中央揃え（院長 2026-11-04） */
html[data-embed="hp"] .filmstrip .frame:not(:first-child) { flex: 0 1 254px; min-width: 0; }
@media (max-width: 640px) {
  html[data-embed="hp"] .filmstrip { flex-direction: column; align-items: center; }
  html[data-embed="hp"] .filmstrip .film-arrow { transform: rotate(90deg); }
  html[data-embed="hp"] .filmstrip .frame:not(:first-child) { flex: none; width: min(254px, 100%); }
}
@media (min-width: 900px) {
  html[data-embed="hp"] .pane.pane-state {
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-items: start;
    column-gap: 24px;
  }
  html[data-embed="hp"] .pane-state > .pane-head,
  html[data-embed="hp"] .pane-state > .start-hint,
  html[data-embed="hp"] .pane-state > .mouth { grid-column: 1; }
  html[data-embed="hp"] .pane-state > .state { grid-column: 2; grid-row: 1 / -1; border-top: 0; padding-top: 0; }
}
@media (max-width: 520px) {
  html[data-embed="hp"] .top { padding: 9px 13px 10px; }
  html[data-embed="hp"] .h1-sub { font-size: 18px; }
  html[data-embed="hp"] .pane h2 { font-size: 20px; }
  html[data-embed="hp"] .pane h3 { font-size: 19px; }
}
