@import url('./fonts/fonts.css');

/* DMC family: shared chrome and readable controls. Anatomical colors stay local. */
:root {
  --dmc-ink:#243b49; --dmc-muted:#50616c; --dmc-paper:#f5f8f8;
  --dmc-accent:#1e40af; --dmc-hover:#0c51bc; --dmc-deep:#0a48a9;
  --dmc-tint:#eff4ff; --dmc-line:#cad5d9;
  --dmc-body:'Inter',Arial,sans-serif; --dmc-heading:'Inter',Georgia,serif;
  --duration-quick:150ms; --duration-fast:250ms; --duration-slow:400ms;
  --ease-smooth-out:cubic-bezier(.22,1,.36,1); --distance-base:8px;
}
html:has(body.dmc-tool) { color-scheme:light; scroll-padding-top:88px; }
body.dmc-tool { margin:0; padding:0; background:var(--dmc-paper); color:var(--dmc-ink); font:16px/1.65 var(--dmc-body); }
.dmc-tool { --font-body:var(--dmc-body); --font-head:var(--dmc-heading); --ink:var(--dmc-ink); --paper:var(--dmc-paper); --line:var(--dmc-line); }
.dmc-tool :where(button,input,select,textarea) { font-family:var(--dmc-body); }
.dmc-tool :where(button,select,summary,input:not([type=checkbox]):not([type=radio])) { min-height:44px; }
.dmc-tool :where(button,summary) { min-width:44px; }
.dmc-tool :where(input,select,textarea) { font-size:16px; }
.dmc-tool :where(input[type=range]) { touch-action:pan-y; }
.dmc-tool :where(h1,h2,h3,.approach-detail-title,.readout h3,.step-copy h3) { font-family:var(--dmc-heading); }
.dmc-tool :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--dmc-deep); outline-offset:4px; }
.dmc-tool :where(.section-sub,.tool-lede p,.patient-kit>p) { font-size:16px; }
.dmc-tool :where(.aa-subcap,.canvas-note,.patient-fine,.tool-foot,.lab-footnote,figcaption) { font-size:14px; }
.dmc-tool :where(.patient-kit,.approach-detail,.sim-wrap,.pc-wrap) { border-radius:8px; border-color:var(--dmc-line); }
.dmc-tool :where(.patient-kit,.approach-detail) { background:linear-gradient(100deg,#e5edef,transparent 28px),#fff; box-shadow:none; }
.dmc-tool .patient-kit { font-family:var(--dmc-body); font-size:16px; }
.dmc-tool .patient-kit :where(h2,h3) { color:var(--dmc-ink); }
.dmc-tool .patient-kit #procedure-choice { border-left:0; border:1px solid #e2e8f0; border-radius:4px; }
.dmc-tool :where(.tool-hint,.approach-note,.step-question) { border-left:0; border-radius:4px; background:var(--dmc-tint); padding:16px; }
.dmc-tool .section-header h1 { font-size:clamp(30px,4vw,44px); line-height:1.15; margin:8px 0 16px; color:var(--dmc-ink); }
.dmc-tool .section-header h1 + p { max-width:65ch; }
.dmc-tool .approach-btn { color:var(--dmc-ink); }
.dmc-tool .approach-btn :where(.approach-btn-abbr,.approach-btn-full) { display:block; }
.dmc-tool .approach-btn.active .approach-btn-abbr::after { font-size:12px; letter-spacing:.03em; }
.dmc-tool .section-nav { gap:8px 24px; padding:8px 0; }
.dmc-tool .section-nav a { display:flex; align-items:center; min-height:44px; padding:6px 0; }
.dmc-tool .sources a,.dmc-tool .patient-related a { display:inline-flex; align-items:center; min-height:44px; }
.dmc-tool .question-list label { align-items:flex-start; min-height:44px; }
.dmc-tool .question-list input { margin-top:5px; }
.dmc-tool .progress__track { gap:4px; }
.dmc-tool .progress__seg { position:relative; height:44px; min-width:0; background:transparent; border-radius:4px; overflow:visible; }
.dmc-tool .progress__seg::before { content:''; position:absolute; inset:19px 0; border-radius:3px; background:var(--dmc-line); }
.dmc-tool .progress__seg-fill { position:absolute; top:19px; left:0; height:6px; background:var(--dmc-accent); }
.dmc-tool .progress__seg.is-current::after { content:''; position:absolute; bottom:5px; left:calc(50% - 2px); width:4px; height:4px; border-radius:50%; background:var(--dmc-ink); }
.dmc-tool :where(.es-dots,.ms-dots) { gap:0; }
.dmc-tool :where(.es-dot,.ms-dot) { width:44px; height:44px; border:0; background:transparent; position:relative; box-shadow:none; }
.dmc-tool :where(.es-dot,.ms-dot)::before { content:''; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--dmc-line); inset:calc(50% - 4.5px); }
.dmc-tool :where(.es-dot,.ms-dot).active::before { background:var(--dmc-accent); }
.dmc-strip { box-sizing:border-box; display:flex; align-items:center; gap:20px; min-height:72px; width:100%; padding:10px max(22px,calc((100vw - 1180px)/2)); background:#e8eff1; border-bottom:1px solid var(--dmc-line); color:var(--dmc-ink); font:14px/1.4 var(--dmc-body); }
.dmc-strip a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--dmc-ink); text-decoration:none; white-space:nowrap; }
.dmc-strip .dmc-wordmark { font-size:16px; font-weight:700; letter-spacing:.04em; }
.dmc-wordmark i { display:inline-block; width:7px; height:7px; background:var(--dmc-accent); border-radius:50%; }
.dmc-strip .dmc-strip-title { border-left:1px solid var(--dmc-line); padding-left:20px; font-weight:500; }
.dmc-strip .dmc-back { margin-left:auto; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.dmc-strip svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.dmc-footer { max-width:none; margin:40px 0 0; padding:24px max(22px,calc((100vw - 1180px)/2)); border-top:1px solid var(--dmc-line); background:#e8eff1; color:var(--dmc-muted); font:14px/1.65 var(--dmc-body); text-align:left; }
.dmc-footer p { max-width:75ch; margin:0 0 8px; }
.dmc-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.dmc-footer a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; margin:0; color:var(--dmc-ink); text-decoration:underline; text-underline-offset:4px; }
.dmc-tool .btn-ghost-link,.dmc-tool .skip-link { display:inline-flex; align-items:center; min-height:44px; }
.dmc-tool .cs-sources a { min-width:44px; }
.dmc-tool .tool-hint { border-left:0; border-radius:4px; }
.dmc-tool .aa-cap b { width:20px; height:20px; }
.dmc-tool .card h4 { font-size:12px; }
.dmc-skip { position:fixed; z-index:10000; left:12px; top:12px; transform:translateY(-160%); padding:12px 20px; background:#fff; color:var(--dmc-ink); border:2px solid var(--dmc-deep); }
.dmc-skip:focus { transform:none; }
.dmc-visit { max-width:1100px; margin:40px auto; padding:24px; border-top:1px solid var(--dmc-line); }
.dmc-visit h2 { font:600 26px/1.2 var(--dmc-heading); margin:0 0 12px; }
.dmc-visit ul { padding-left:22px; margin:16px 0; }
.dmc-visit li { margin:8px 0; }
.dmc-visit button { padding:10px 18px; border:1px solid var(--dmc-deep); border-radius:4px; color:#fff; background:var(--dmc-hover); font:600 14px var(--dmc-body); }
.dmc-tool[data-dmc-page=stimulators] { --muted:var(--dmc-muted); }
.dmc-tool[data-dmc-page=stimulators] .steps { background:#e8eff1; }
.dmc-tool[data-dmc-page=stimulators] .steps button[aria-pressed=true] { background:#dbe7eb; }
.dmc-tool[data-dmc-page=stimulators] .step-question { color:var(--dmc-ink); }
@media(max-width:600px) {
  .dmc-strip { position:sticky; top:0; z-index:30; gap:12px; min-height:64px; padding:8px 16px; }
  .dmc-strip .dmc-strip-title { display:none; }
  .dmc-strip .dmc-back { font-size:14px; }
  .dmc-footer { padding:22px 20px; }
  .dmc-tool .approach-selector { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dmc-tool .progress__track { display:grid; grid-template-columns:repeat(5,minmax(44px,1fr)); gap:0 8px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .dmc-tool *, .dmc-tool *::before, .dmc-tool *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
@media print {
  .dmc-strip,.dmc-skip,.dmc-footer nav,.dmc-visit button { display:none!important; }
  .dmc-footer { padding:16px 0; margin-top:24px; background:white; font-size:10pt; }
  .dmc-visit { break-inside:avoid; padding:16px 0; }
}

.dmc-tool .bh-test h4{font-size:12px}.dmc-incision-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.dmc-incision-choices button{font:500 14px var(--dmc-body);padding:8px 12px;border:1px solid var(--dmc-line);border-radius:4px;background:white;color:var(--dmc-ink)}.dmc-incision-choices button[aria-pressed=true]{background:var(--dmc-hover);border-color:var(--dmc-hover);color:white}

.dmc-tool .proc-node{flex:1 1 150px;min-width:130px}.dmc-tool .proc-timeline{gap:10px}
.dmc-step-rail{position:relative}.dmc-step-rail::after{content:'';position:absolute;left:0;top:0;height:3px;width:var(--dmc-step-w,0);transform:translate(var(--dmc-step-x,0),var(--dmc-step-y,0));background:var(--dmc-accent);pointer-events:none;transition:transform var(--duration-fast) var(--ease-smooth-out),width var(--duration-fast) var(--ease-smooth-out)}.dmc-step-rail.dmc-rail-static::after{transition:none}

#dmc-print-sheet{display:none}
@media print{body.dmc-printing{background:white!important}body.dmc-printing>:not(#dmc-print-sheet){display:none!important}body.dmc-printing>#dmc-print-sheet{display:block!important;padding:15mm;font:11pt/1.6 var(--dmc-body);color:#243b49}#dmc-print-sheet h1{font-size:24pt;line-height:1.2}#dmc-print-sheet h2{font-size:16pt;margin-top:20pt}#dmc-print-sheet li{margin:10pt 0}#dmc-print-sheet footer{border-top:1px solid #cad5d9;padding-top:12pt;margin-top:24pt;font-size:9pt}}
