/* 患者网页：一行导航吸顶，抬头区是大牙位图，各屏往下排，收尾块在最后。颜色全走 body 上的变量，方案样式的 theme 换一套（t-navy 默认、t-light、t-warm），
   font 为 large 时整页放大；系统设成深色时三套都换深色底。窄屏 360 起不横向滚动，宽屏居中 560。 */
@font-face{font-family:Anton;src:url(anton.woff2) format("woff2");font-display:swap}
body{--g:max(18px,calc((100% - 524px)/2));--paper:#F4F7FA;--card:#FFFFFF;--ink:#14202B;--ink2:#44525F;--ink3:#5B6874;--line:#DDE4EA;--ac:#1F5E96;--act:#1D5388;--soft:#E7F0F8;--ti:#6B7580;--shadow:0 1px 2px rgba(20,40,60,.05),0 6px 18px -8px rgba(20,40,60,.12);--band1:#173049;--band2:#2A5C88;--tot1:#173049;--tot2:#2A5C88;--ontot:#FFFFFF;--ontot2:#C5D4E3;--warnbg:#FBF3E8;--warnline:#EBD9BC;--warn:#8A5A12;--onband:#FFFFFF;--onband2:#C5D4E3;--oncall:#FFFFFF}
body.t-light{--onband:#14202B;--onband2:#44525F;--band1:#E2EAF1;--band2:#F4F7FA;--tot1:#E4ECF3;--tot2:#EEF3F8;--ontot:#14202B;--ontot2:#44525F}
body.t-warm{--onband:#2B2016;--onband2:#5C4A38;--paper:#FAF5EC;--card:#FFFDF8;--ink:#2B2016;--ink2:#5C4A38;--ink3:#6B5844;--line:#E8DCC6;--ac:#8A5A0E;--act:#7A4E0A;--soft:#F5E9D2;--ti:#6B6258;--band1:#E9D8B8;--band2:#FAF5EC;--tot1:#5A3A16;--tot2:#7E5528;--ontot:#FBF1E1;--ontot2:#E6CDA6}
@media (prefers-color-scheme:dark){
  body,body.t-light,body.t-warm{--paper:#0E151C;--card:#17212B;--ink:#E8EEF3;--ink2:#B6C2CD;--ink3:#93A1AE;--line:#2A3743;--ac:#5AA2E0;--act:#7DB8EE;--soft:#1A2B3C;--ti:#8793A0;--shadow:none;--band1:#0A141D;--band2:#173148;--tot1:#12283D;--tot2:#1D4263;--ontot:#EAF2FA;--ontot2:#A9BDD0;--warnbg:#241D14;--warnline:#40331F;--warn:#E3B66B;--onband:#EAF2FA;--onband2:#A9BDD0;--oncall:#08121B}
  body.t-warm{--ac:#D9A04A;--act:#E6B76A;--soft:#2B2416;--tot1:#3A2A14;--tot2:#5A4020;--band2:#2A2113}
}
body.large{zoom:1.15}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light dark}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Source Han Sans SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
.n{font-family:Anton,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:400;letter-spacing:.01em;line-height:1;font-variant-numeric:tabular-nums}
header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;height:52px;padding:0 0 0 var(--g);background:var(--paper);border-bottom:1px solid var(--line)}
.brand{flex:none;max-width:48%;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:700;white-space:nowrap}
nav{margin-left:auto;min-width:0;display:flex;height:100%;padding-right:max(8px,calc(var(--g) - 10px));overflow-x:auto;scrollbar-width:none}
nav a{position:relative;display:flex;align-items:center;padding:0 9px;font-size:14px;color:var(--ink3);text-decoration:none;white-space:nowrap}
nav a.on{color:var(--ink);font-weight:700}
nav a.on::after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;border-radius:2px;background:var(--ac)}
@media (max-width:379px){nav a{padding:0 6px}nav a.on::after{left:6px;right:6px}} /* 窄屏上六屏（有「效果」）也排得下 */
.hero{padding:22px var(--g) 26px;background:linear-gradient(180deg,var(--band1),var(--band2))}
.board{padding:14px 12px 12px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.title{padding:24px var(--g) 4px}
.title.solo{padding-top:28px;padding-bottom:26px;background:linear-gradient(180deg,var(--band1),var(--band2))}
.title .cl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:13px;color:var(--ink3)}
.title .cl .n{font-size:15px;letter-spacing:.04em}
.title h1{margin:10px 0 0;font-size:30px;font-weight:700;line-height:1.25;letter-spacing:.01em}
.title.solo,.title.solo h1{color:var(--onband)}
.title.solo .cl,.title.solo .lead{color:var(--onband2)}
.title .lead{margin:8px 0 0;font-size:15px;line-height:1.7;color:var(--ink2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.chips li{display:flex;align-items:baseline;gap:5px;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--act);font-size:13px;line-height:1.5}
.chips b{color:var(--ink);font-weight:700}
.chips span{color:var(--ink3);font-size:12px;letter-spacing:.03em}
.chips .missing{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2)}
.chips .implanted,.chips .pontic{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2)}
.title .sum{margin:10px 0 0;font-size:15px;line-height:1.75;color:var(--ink)}
.title.solo .sum{color:var(--onband)}
main{padding:0 var(--g)}
section{padding-top:36px;scroll-margin-top:60px}
h2{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--act)}
h3{margin:2px 0 0;font-size:22px;font-weight:700;line-height:1.35}
h4{margin:22px 0 8px;font-size:14px;font-weight:700;color:var(--ink2)}
.wp{margin:12px 0 0;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-size:15px;line-height:1.8;color:var(--ink2)}
.doc+.wp{margin-top:12px}
section>.board{margin-top:16px}
.chart{display:block;width:100%;height:auto}
.chart .mid{stroke:var(--line);stroke-width:.6}
.chart .outline{fill:var(--card);stroke:var(--ink3);stroke-opacity:.7;stroke-width:1.2}
.chart .groove{fill:none;stroke:var(--ink3);stroke-opacity:.6;stroke-width:1;stroke-linecap:round}
.chart text{font:600 11px/1 -apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;fill:var(--ink3);text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}
.chart .planned .outline{fill:var(--ac);stroke:var(--ac);stroke-opacity:1}
.chart .planned text{fill:var(--act);font-weight:700}
.chart .implanted .outline{fill:var(--ti);stroke:var(--ti);stroke-opacity:1}
.chart .implanted text{fill:var(--ink2);font-weight:700}
.chart .planned .groove,.chart .implanted .groove{stroke:#FFFFFF;stroke-opacity:.7}
.chart .missing .outline{fill:var(--card);stroke:var(--ink2);stroke-opacity:1;stroke-dasharray:3 2.5}
.chart .tooth-number{fill:var(--ink2)}
.chart .missing .groove{display:none}
.chart .missing text{fill:var(--ink2)}
.chart .side{font-size:10px;font-weight:500}
.chart .right-side{text-anchor:start}
.chart .left-side{text-anchor:end}
.leg{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;padding:12px 0 2px;font-size:12px;color:var(--ink2)}
.leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.m3{padding:8px}
.m3 img{display:block;width:100%;height:auto;aspect-ratio:1170/900;border-radius:12px;background:#EEF2F6}
.m3 .cap{margin:8px 0 2px;font-size:12px;text-align:center;color:var(--ink3)}
.leg .lm{outline:1.2px dashed var(--ink2);outline-offset:-1.2px}
.leg .lp{background:var(--ac)}
.leg .li{background:var(--ti)}
.teeth{list-style:none;margin:14px 0 0;padding:4px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.teeth li{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.teeth li:last-child{border-bottom:0}
.teeth .n{font-size:24px}
.teeth .n.pl{color:var(--act)}
.teeth span{font-size:15px;font-weight:600}
.note{margin:10px 2px 0;font-size:12px;line-height:1.7;color:var(--ink3)}
.opts{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.opt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}
.opt:last-child{border-bottom:0}
.opt b{display:block;font-size:16px;font-weight:700;line-height:1.45}
.opt span{display:block;margin-top:2px;font-size:13px;color:var(--ink3)}
.opt em{flex:none;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.tot{margin-top:14px;padding:20px 20px 22px;background:linear-gradient(135deg,var(--tot1),var(--tot2));color:var(--ontot);border-radius:18px}
.tot b{font-size:14px;font-weight:600;color:var(--ontot2)}
.tot .big{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 0 0}
.tot .big .n{font-size:68px;line-height:.95}
.tot small{font-size:16px;color:var(--ontot2)}
.tot .dx{margin:12px 0 0;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ontot) 22%,transparent);font-size:14px;color:var(--ontot2);letter-spacing:.06em}
.extras{background:var(--card);border:1px solid var(--line);border-radius:14px}
.extra{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.extra:last-child{border-bottom:0}
.extra strong{display:block;font-weight:700}
.extra span{display:block;margin-top:2px;font-size:13px;line-height:1.6;color:var(--ink3)}
.extra em{flex:none;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:14px 2px 0;line-height:1.6}
.facts dt{font-size:14px;color:var(--ink3)}
.facts dd{margin:0;font-weight:600}
section>:not(h2)+h3{margin-top:28px} /* 方案屏里对比、怎么做、时间安排各带小标题，上下拉开 */
.kv{display:grid;grid-template-columns:auto 1fr;gap:0 16px;margin:0;padding:4px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.kv dt,.kv dd{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}
.kv dt{font-size:14px;color:var(--ink3)}
.kv dd{margin:0;font-weight:600}
.kv dt:last-of-type,.kv dd:last-of-type{border-bottom:0}
/* 对比表在自己的框里横向滑，页面本身不横向滚 */
.cmp{margin-top:16px;max-width:100%;overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.cmp table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.cmp th,.cmp td{min-width:84px;padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp thead th{font-size:15px;font-weight:700}
.cmp tbody th{min-width:64px;font-weight:600;color:var(--ink3)}
.cmp .rec{background:var(--soft)}
.cmp thead .rec{color:var(--act)}
.cmp small{display:block;width:max-content;margin-top:4px;padding:0 8px;border-radius:999px;background:var(--ac);color:var(--oncall);font-size:11px;font-weight:700;line-height:18px}
.cmp+.wp{margin-top:12px}
.steps{list-style:none;margin:16px 0 0;padding:4px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.steps li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.steps li:last-child{border-bottom:0}
.steps .tn{min-width:64px}
.steps .n{display:block;font-size:22px}
.steps .n.pl{color:var(--act)}
.steps small{display:block;margin-top:6px;font-size:12px;color:var(--ink3)}
.steps li>div+div b{display:block;font-size:16px;font-weight:700;line-height:1.45}
.steps li>div+div span{display:block;margin-top:2px;font-size:13px;color:var(--ink3)}
.pts{list-style:none;margin:0;padding:6px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-size:15px;line-height:1.75}
.pts li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.pts li:last-child{border-bottom:0}
.pts li::before{content:"";flex:none;width:6px;height:6px;margin-top:11px;border-radius:50%;background:var(--ac)}
.sched{list-style:none;margin:16px 0 0;padding:4px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.sched li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}
.sched li:last-child{border-bottom:0}
.sched b{font-weight:700;color:var(--act)}
.sched span{color:var(--ink2)}
.doc{display:flex;align-items:center;gap:16px;margin-top:16px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.doc img{flex:none;display:block;width:84px;height:84px;object-fit:cover;border-radius:50%;background:var(--soft)}
.doc b{display:block;font-size:22px;font-weight:700;line-height:1.3}
.doc span{display:block;margin-top:2px;font-size:14px;color:var(--act)}
.dots{list-style:none;margin:16px 0 0;padding:6px 18px;background:var(--warnbg);border:1px solid var(--warnline);border-radius:14px;font-size:15px;line-height:1.75}
.dots li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--warnline)}
.dots li:last-child{border-bottom:0}
.dots li::before{content:"";flex:none;width:6px;height:6px;margin-top:11px;border-radius:50%;background:var(--warn)}
.close{margin:40px var(--g) 0;padding:22px 20px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.close .nx{margin:6px 0 0;font-size:18px;font-weight:700;line-height:1.5}
.close h2+.nx+.con{margin-top:18px}
.nxs{margin:10px 0 0;padding:0;list-style:none;counter-reset:s}
.nxs li{position:relative;padding:7px 0 7px 36px;font-size:16px;font-weight:600;line-height:1.6;counter-increment:s}
.nxs li::before{content:counter(s);position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--act);font:400 14px/24px Anton,"PingFang SC",sans-serif;text-align:center}
.close .nxs+.con{margin-top:14px}
.con{display:flex;align-items:center;gap:12px}
.con div{flex:1;min-width:0}
.con small{display:block;font-size:12px;color:var(--ink3)}
.con b{display:block;font-size:17px;font-weight:700}
.call{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 18px;border-radius:999px;background:var(--ac);color:var(--oncall);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.call svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mark{display:flex;flex-direction:column;gap:2px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.mark b{font-size:16px;letter-spacing:.08em}
.mark span{font-size:12px;color:var(--ink3)}
footer{margin-top:28px;padding:4px var(--g) 36px;color:var(--ink3);font-size:12px;line-height:1.8;text-align:center}
footer p{margin:0}
.gone{max-width:360px;margin:0 auto;padding:30vh 24px 0;text-align:center;font-size:16px;line-height:1.8;color:var(--ink2)}
.gone::before{content:"";display:block;width:60px;height:60px;margin:0 auto 22px;border-radius:50%;background:var(--soft);box-shadow:inset 0 0 0 2px var(--line),inset 0 0 0 7px var(--soft);background-image:linear-gradient(var(--act),var(--act)),linear-gradient(var(--act),var(--act));background-size:2px 20px,14px 2px;background-position:30px 14px,30px 31px;background-repeat:no-repeat}
.gone p{margin:0}
.legal{padding:28px var(--g) 48px}
.legal h1{margin:0 0 4px;font-size:22px;line-height:1.4}
.legal h2{margin:32px 0 10px;font-size:17px;letter-spacing:0;color:var(--ink)}
.legal p,.legal li{color:var(--ink2)}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 12px;padding-left:1.2em}
.legal li{margin-bottom:8px}
.legal .dates{color:var(--ink3);font-size:13px}
.legal a{color:var(--ac)}
.legal table{width:100%;margin:0 0 12px;border-collapse:collapse;font-size:14px;background:var(--card)}
.legal th,.legal td{padding:8px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}
.legal th{background:var(--soft);color:var(--ink)}
.legal td:first-child{width:28%;color:var(--ink);font-weight:600}
.share{display:none}
