/* Ceph tracing. Scoped under .dqct so it sits inside any theme; the same
   colour tokens as Model Prep, so the two tools look alike. */

.dqct {
  /* Room for a host's sticky header when the tool scrolls to the top. */
  scroll-margin-top: var(--dqct-top, 0px);
  --dq-accent: #1f5f7a;
  --dq-accent-soft: #e7f0f4;
  --dq-ink: #23282d;
  --dq-muted: #5d666e;
  --dq-line: #dfe4e7;
  --dq-paper: #ffffff;
  --dq-bg: #f7f5f1;
  --dq-warn: #8a6116;
  --dq-warn-soft: #fbf5e8;
  --dq-bad: #8a2424;
  color: var(--dq-ink);
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--dq-bg);
  border-radius: 10px;
  padding: 18px;
  box-sizing: border-box;
}
.dqct *, .dqct *::before, .dqct *::after { box-sizing: inherit; }
.dqct [hidden] { display: none !important; }

.dqct-intro p { margin: 0 0 6px; color: var(--dq-muted); }
.dqct-intro strong { color: var(--dq-ink); font-weight: 600; }
.dqct-demo { display: inline-block; padding: 2px 10px; border-radius: 99px; background: var(--dq-warn-soft); color: var(--dq-warn) !important; font-size: 13px; }

.dqct-card { background: var(--dq-paper); border: 1px solid var(--dq-line); border-radius: 8px; padding: 14px; margin-bottom: 12px; }
.dqct-card h3 { margin: 0 0 10px; font-size: 15px; font-weight: 600; }

/* Start: patient and ceph */
.dqct-start { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 12px; }
@media (max-width: 760px) { .dqct-start { grid-template-columns: minmax(0, 1fr); } }
.dqct-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.dqct-fields label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; color: var(--dq-muted); }
.dqct-fields input, .dqct-fields select { font: inherit; color: var(--dq-ink); padding: 7px 9px; border: 1px solid #c9d2d7; border-radius: 6px; background: #fff; min-height: 38px; }
/* The date of birth picker (datepick.js): years, then months, then days. */
.dqct-dob { position: relative; display: flex; flex-direction: column; }
.dqct-dp { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; width: 290px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 8px; background: #fff; border: 1px solid #c9d2d7; border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, .18); color: var(--dq-ink); font-size: 14px; }
.dqct-dp[hidden] { display: none; }
.dqct-dp-head { display: block; width: 100%; text-align: left; font: inherit; font-weight: 700; color: #555; background: none; border: 0; padding: 4px 6px 8px; }
button.dqct-dp-head { cursor: pointer; }
.dqct-dp-years { max-height: 252px; overflow-y: auto; border-top: 1px solid #ddd; }
.dqct-dp-years button { display: block; width: 100%; text-align: left; font: inherit; padding: 11px 16px; background: #eee; color: var(--dq-ink); border: 0; border-bottom: 1px solid #ddd; border-radius: 0; cursor: pointer; }
.dqct-dp-years button:hover { background: #e2e8eb; }
.dqct-dp-months { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
.dqct-dp-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.dqct-dp-days small { color: var(--dq-muted); padding: 4px 0; }
.dqct-dp-months button, .dqct-dp-days button { font: inherit; background: none; border: 0; border-radius: 6px; padding: 10px 0; cursor: pointer; color: var(--dq-ink); }
.dqct-dp-months button:hover:not(:disabled), .dqct-dp-days button:hover:not(:disabled) { background: var(--dq-accent-soft); }
.dqct-dp button.on, .dqct-dp-years button.on { background: var(--dq-accent); color: #fff; font-weight: 600; }
.dqct-dp button:disabled { color: #c3c9cc; cursor: default; }
.dqct-sex-field { display: flex; flex-direction: column; gap: 3px; font-size: 13px; color: var(--dq-muted); }
/* Female and Male: two buttons side by side, as wide as the date of birth;
   the chosen one is filled (user, 2026-10-13). */
.dqct-fields .dqct-sex { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.dqct-fields .dqct-sex label { display: block; }
.dqct-sex input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.dqct-sex span { display: flex; align-items: center; justify-content: center; min-height: 38px; border: 1px solid #c9d2d7; border-radius: 6px; background: #fff; color: var(--dq-ink); font-size: 15px; cursor: pointer; }
.dqct-sex span:hover { border-color: var(--dq-accent); }
.dqct-sex input:checked + span { background: var(--dq-accent); border-color: var(--dq-accent); color: #fff; font-weight: 600; }
.dqct-sex input:focus-visible + span { box-shadow: 0 0 0 2px var(--dq-accent-soft), 0 0 0 4px var(--dq-accent); }
.dqct-age { margin: 10px 0 0; color: var(--dq-muted); font-size: 14px; min-height: 21px; }

.dqct-drop { display: block; border: 1.5px dashed #b9c6cd; border-radius: 8px; padding: 18px 14px; cursor: pointer; background: #fbfcfc; transition: border-color .15s, background .15s; }
.dqct-drop:hover, .dqct-drop.over { border-color: var(--dq-accent); background: var(--dq-accent-soft); }
.dqct-drop.has { border-style: solid; border-color: var(--dq-accent); background: var(--dq-accent-soft); }
.dqct-drop + .dqct-drop { margin-top: 10px; }
.dqct-drop-title { display: block; font-weight: 600; }
.dqct-drop-file { display: block; font-size: 13px; color: var(--dq-muted); overflow-wrap: anywhere; }

.dqct-btn { font: inherit; font-weight: 600; padding: 9px 16px; border-radius: 6px; border: 1px solid var(--dq-accent); background: var(--dq-accent); color: #fff; cursor: pointer; min-height: 40px; }
.dqct-btn:disabled { opacity: .5; cursor: default; }
/* The button to press next pulses (user, 2026-10-15): Looks right in the
   scale check, Finish once a line is complete. */
.dqct-flash:not(:disabled) { animation: dqct-flash 1.1s ease-in-out infinite; }
@keyframes dqct-flash { 0%, 100% { box-shadow: 0 0 0 0 rgba(31, 95, 122, 0); filter: none; } 50% { box-shadow: 0 0 0 5px rgba(31, 95, 122, .35); filter: brightness(1.25); } }
@media (prefers-reduced-motion: reduce) { .dqct-flash:not(:disabled) { animation: none; box-shadow: 0 0 0 3px rgba(31, 95, 122, .35); } }
.dqct-btn-quiet { background: #fff; color: var(--dq-accent); }
.dqct-errors { margin: 10px 0 0; padding: 0; list-style: none; color: var(--dq-bad); font-size: 14px; }
.dqct-warn { margin: 6px 0; padding: 6px 10px; border-radius: 6px; background: var(--dq-warn-soft); color: var(--dq-warn); font-size: 14px; }

/* Work area: guide | viewer | values */
.dqct-work { display: grid; grid-template-columns: minmax(0, 270px) minmax(0, 1fr) minmax(0, 360px); gap: 14px; margin-top: 12px; }
@media (max-width: 1180px) { .dqct-work { grid-template-columns: minmax(0, 250px) minmax(0, 1fr); } .dqct-right { grid-column: 1 / -1; } }
@media (max-width: 760px) { .dqct-work { grid-template-columns: minmax(0, 1fr); } }
/* A wide values table scrolls inside its card rather than widening the page. */
.dqct-values, .dqct-airway-body { overflow-x: auto; }
/* The right-hand card ends level with the image and scrolls (app.js fitPanels). */
.dqct-panel { overflow-y: auto; }
/* The scale check comes first: only it and the image show until it is
   confirmed (user, 2026-10-13). */
.dqct-scale-step .dqct-right, .dqct-scale-step .dqct-tabs, .dqct-scale-step .dqct-list-card,
.dqct-scale-step .dqct-restore, .dqct-scale-step .dqct-teach, .dqct-scale-step .dqct-scale { display: none !important; }
.dqct-scale-step .dqct-work { grid-template-columns: minmax(0, 270px) minmax(0, 1fr); }
@media (max-width: 760px) { .dqct-scale-step .dqct-work { grid-template-columns: minmax(0, 1fr); } }
/* A fixed-size image box whose bottom is level with the McGann list's Tip of
   Nose row while the first point's card shows (user, 2026-10-15); the image
   scrolls inside it, and the values card ends level with it (fitPanels). */
/* As tall as the window allows (Jacques, 27 Oct). */
.dqct-viewer { position: relative; background: #111; border-radius: 8px; height: max(560px, calc(100vh - 140px)); overflow: hidden; }
@media (max-width: 760px) { .dqct-viewer { height: 480px; } }
/* Scroll bars on the image (viewer.js) */
.dqct-sb { position: absolute; z-index: 2; background: rgba(0, 0, 0, .45); border-radius: 6px; touch-action: none; }
.dqct-sb[hidden] { display: none; }
.dqct-sb-x { left: 4px; right: 4px; bottom: 4px; height: 12px; }
.dqct-sb-y { top: 4px; bottom: 4px; right: 4px; width: 12px; }
.dqct-sb-both .dqct-sb-x { right: 20px; }
.dqct-sb-both .dqct-sb-y { bottom: 20px; }
.dqct-sb-thumb { position: absolute; background: rgba(255, 255, 255, .6); border-radius: 6px; cursor: grab; touch-action: none; }
.dqct-sb-x .dqct-sb-thumb { top: 2px; bottom: 2px; min-width: 24px; }
.dqct-sb-y .dqct-sb-thumb { left: 2px; right: 2px; min-height: 24px; }
.dqct-sb-thumb:hover, .dqct-sb-thumb:active { background: rgba(255, 255, 255, .85); }
.dqct-placeholder { color: var(--dq-muted); font-size: 14px; }

/* Image tools and canvas */
.dqct-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 8px; font-size: 13px; color: var(--dq-muted); }
.dqct-tools label { display: inline-flex; align-items: center; gap: 6px; }
.dqct-tools input[type=range] { width: 110px; }
.dqct-tools .dqct-loupe-zoom input[type=range] { width: 70px; }
.dqct-loupe-zoom output { min-width: 2em; }
.dqct-tools .dqct-btn { padding: 4px 10px; min-height: 32px; font-size: 13px; }
.dqct-zoom { display: inline-flex; gap: 4px; margin-left: auto; }
.dqct-canvas { display: block; touch-action: none; outline: none; cursor: grab; }
.dqct-canvas:focus-visible { box-shadow: inset 0 0 0 2px var(--dq-accent); }

/* Guide: next point and the point list */
/* The two left cards keep their size whatever the step, undo or redo
   (user, 2026-10-15): the next-point card is fixed and scrolls if it must;
   the list card ends level with the image (app.js fitPanels), Undo and
   Redo staying at its top while the list scrolls. */
.dqct-next { height: 485px; overflow-y: auto; box-sizing: border-box; }   /* fits every McGann point card (CC is the tallest) */
.dqct-scale-step .dqct-next { height: auto; }
.dqct-list-card { display: flex; flex-direction: column; height: 360px; box-sizing: border-box; }
.dqct-list-card > .dqct-undo { flex: none; }
.dqct-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.dqct-next h3 small { color: var(--dq-muted); font-weight: 400; }
.dqct-def { margin: 0 0 8px; font-size: 14px; color: var(--dq-muted); }
/* The next point's definition stands out from the rest of the card. */
.dqct-scale-mm { display: block; margin: 8px 0; font-size: 14px; }
.dqct-scale-mm input { width: 5.5em; margin: 0 4px; }
.dqct-def-box { padding: 8px 10px; border-left: 4px solid var(--dq-accent); border-radius: 6px; background: var(--dq-accent-soft); color: var(--dq-ink); }
.dqct-map svg { display: block; width: 100%; max-width: 200px; height: auto; margin: 0 auto 6px; background: #fbfcfc; border: 1px solid var(--dq-line); border-radius: 6px; }
.dqct-undo { display: flex; gap: 6px; margin-bottom: 8px; }
.dqct-undo .dqct-btn { padding: 4px 10px; min-height: 32px; font-size: 13px; }
.dqct-list h4 { margin: 10px 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--dq-muted); }
.dqct-list ul { list-style: none; margin: 0; padding: 0; }
.dqct-list li { display: flex; align-items: center; gap: 6px; }
.dqct-pt { font: inherit; font-size: 14px; background: none; border: 0; padding: 3px 4px; cursor: pointer; color: var(--dq-muted); text-align: left; border-radius: 4px; flex: 1; }
.dqct-list li.placed .dqct-pt { color: var(--dq-ink); }
.dqct-list li.active .dqct-pt { background: var(--dq-accent-soft); color: var(--dq-accent); font-weight: 600; }
.dqct-list li.selected .dqct-pt { outline: 1.5px solid var(--dq-accent); }
.dqct-list .dqct-row { cursor: default; }
.dqct-link { font: inherit; font-size: 13px; background: none; border: 0; padding: 0; color: var(--dq-accent); text-decoration: underline; cursor: pointer; }

/* Values */
.dqct-ticks { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 14px; }
.dqct-ticks label { display: inline-flex; align-items: center; gap: 5px; }
/* CVM staged by AI (2026-10-18) */
.dqct-cvm-ai { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.dqct-cvm-preview { display: block; align-self: flex-start; width: auto; height: auto; max-width: 100%; max-height: 260px; object-fit: contain; border-radius: 6px; border: 1px solid var(--dq-line); background: #111; }
.dqct-cvm-answer { border-top: 1px solid var(--dq-line); padding-top: 8px; }
.dqct-cvm-seen { margin: 4px 0; padding-left: 18px; }
.dqct-cvm-answer { overflow-x: auto; }
.dqct-cvm-seen-table { border-collapse: collapse; font-size: 13px; margin: 6px 0; min-width: 520px; }
.dqct-cvm-seen-table th, .dqct-cvm-seen-table td { border: 1px solid var(--dq-line); padding: 4px 6px; text-align: left; vertical-align: top; }
.dqct-cvm-seen-table th { background: var(--dq-soft, #f4f6f8); font-weight: 600; }
.dqct-cvm-note { font-size: 12px; }
.dqct-cvm-graphs { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.dqct-cvm-graphs figure { margin: 0; border: 1px solid var(--dq-line); border-radius: 6px; padding: 6px; background: #fff; }
.dqct-cvm-graphs figcaption { font-size: 12px; color: var(--dq-muted); margin-bottom: 4px; }
.dqct-cvm-graphs img, .dqct-cvm-graphs svg { display: block; width: 100%; height: auto; }
.dqct-cvm-stages { display: flex; flex-wrap: wrap; gap: 4px; }
.dqct-cvm-stages .dqct-btn { padding: 4px 10px; min-height: 32px; }
.dqct-cvm-stages .dqct-btn[aria-pressed="true"] { background: var(--dq-accent); color: #fff; }
.dqct-values h4 { margin: 12px 0 4px; font-size: 14px; }
.dqct-values table { width: 100%; border-collapse: collapse; font-size: 13px; }
.dqct-values tr { cursor: pointer; border-top: 1px solid var(--dq-line); }
.dqct-values tr.lit { background: #e9f8fd; }
/* A value from a tooth not yet checked (step 2b). */
.dqct-pending .dqct-val { color: var(--dq-muted); }
.dqct-pending-note { display: block; color: var(--dq-warn); font-size: 11px; }
.dqct-values th { text-align: left; font-weight: 500; padding: 4px 4px 4px 0; }
.dqct-values th small { display: block; color: var(--dq-muted); font-weight: 400; }
.dqct-values td { padding: 4px; vertical-align: middle; white-space: nowrap; }
.dqct-val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.dqct-wait { color: var(--dq-muted); font-weight: 400; white-space: normal; }
.dqct-norm { color: var(--dq-muted); font-size: 12px; }
.dqct-grade { font-weight: 600; }
.dqct-band-low .dqct-grade, .dqct-band-high .dqct-grade { color: var(--dq-bad); }
.dqct-band-tending_low .dqct-grade, .dqct-band-tending_high .dqct-grade { color: var(--dq-warn); }
.dqct-band-average .dqct-grade { color: #2f6b3a; }
.dqct-bar { position: relative; display: block; width: 90px; height: 8px; margin-top: 3px; border-radius: 4px; background: #eef1f3; }
.dqct-bar i { position: absolute; top: 0; bottom: 0; background: #cfe3d3; border-radius: 4px; }
.dqct-bar b { position: absolute; top: -2px; width: 3px; height: 12px; margin-left: -1.5px; background: var(--dq-ink); border-radius: 1px; }
.dqct-flag { margin: 6px 0; padding: 6px 10px; border-radius: 6px; background: #fdecec; color: var(--dq-bad); font-size: 14px; font-weight: 600; }

/* Scale line and Ceph settings */
.dqct-scale { margin-top: 8px; font-size: 14px; }
.dqct-scale p { margin: 4px 0; }
.dqct-scale-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.dqct-scale-tools .dqct-btn { padding: 4px 10px; min-height: 32px; font-size: 13px; }
.dqct-dialog { border: 1px solid var(--dq-line); border-radius: 10px; padding: 18px; max-width: 420px; width: calc(100% - 32px); }
.dqct-dialog::backdrop { background: rgba(0, 0, 0, .35); }
.dqct-settings h3 { margin: 0 0 6px; }
.dqct-settings > label { display: flex; flex-direction: column; gap: 3px; margin: 10px 0; font-size: 13px; color: var(--dq-muted); }
.dqct-settings input[type=number], .dqct-settings input[name=name] { font: inherit; padding: 7px 9px; border: 1px solid #c9d2d7; border-radius: 6px; min-height: 38px; color: var(--dq-ink); }
.dqct-settings fieldset { border: 1px solid var(--dq-line); border-radius: 6px; margin: 10px 0; padding: 8px 10px; }
.dqct-settings legend { font-size: 13px; color: var(--dq-muted); padding: 0 4px; }
.dqct-settings fieldset label { display: flex; align-items: center; gap: 6px; margin: 4px 0; }
.dqct-dialog-buttons { display: flex; justify-content: flex-end; gap: 8px; margin: 14px 0 0; }

/* Tabs, CVM */
/* Tabs as boxes; the open one is filled (user, 2026-10-13). */
.dqct-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.dqct-tabs button { font: inherit; font-size: 14px; padding: 7px 14px; border: 1px solid #c9d2d7; border-radius: 6px; background: #fff; color: var(--dq-ink); cursor: pointer; }
.dqct-tabs button:hover:not(:disabled) { border-color: var(--dq-accent); }
.dqct-tabs button[aria-selected=true] { background: var(--dq-accent); border-color: var(--dq-accent); color: #fff; font-weight: 600; }
.dqct-tabs button:disabled { opacity: .45; cursor: default; }
.dqct-ticks-cvm { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.dqct-tick { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.dqct-sugg { font-style: normal; font-size: 12px; color: var(--dq-accent); background: var(--dq-accent-soft); padding: 0 6px; border-radius: 99px; }
.dqct-shapes { border: 1px solid var(--dq-line); border-radius: 6px; margin: 8px 0; padding: 6px 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.dqct-shapes legend { font-size: 13px; color: var(--dq-muted); padding: 0 4px; }
.dqct-shapes label { display: inline-flex; flex-direction: column; align-items: center; cursor: pointer; }
.dqct-shapes input { margin: 0 0 2px; }
.dqct-stage { border-top: 1px solid var(--dq-line); margin-top: 8px; padding-top: 8px; font-size: 14px; }
.dqct-stage p { margin: 4px 0; }
.dqct-stage-name strong { font-size: 18px; }

/* Hand-wrist */
.dqct-question { font-weight: 600; margin: 4px 0 8px; }
.dqct-site svg { display: block; width: 100%; max-width: 240px; height: auto; background: #fbfcfc; border: 1px solid var(--dq-line); border-radius: 6px; }
.dqct-answers { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }

/* Teaching */
.dqct-file { color: var(--dq-accent); font-size: 11px; }
.dqct-teach-msg p { margin: 4px 0; font-size: 13px; }

/* The Case card's notes for the report (Release 1, spec 15.3). */
.dqct-notes { display: block; margin-top: 8px; font-size: 13px; }
.dqct-notes textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; font: inherit; resize: vertical; }

/* The locked results (Release 1, spec 15.3). */
.dqct-locked { padding: 10px 12px; border-left: 4px solid #1f5f7a; background: #f4f8fa; }
.dqct-locked-list { margin: 0 0 8px; padding-left: 18px; }
.dqct-buy a { margin: 0 6px 6px 0; display: inline-block; }
.dqct-practice summary { cursor: pointer; font-weight: 600; }
.dqct-practice-logo img { display: block; margin: 8px 0; }
.dqct-tick { display: block; font-size: 13px; margin: 4px 0; }
.dqct-pdf-msg { font-size: 13px; margin: 4px 0 0; }

/* The growth graph opened large, and the PDF preview (Jacques, 27 Oct). */
.dqct-zoomable { cursor: zoom-in; }
.dqct-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(15, 20, 25, .82); display: flex; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; cursor: zoom-out; }
.dqct-lightbox-body { background: #fff; border-radius: 6px; padding: 16px; max-width: 96vw; max-height: 92vh; overflow: auto; }
.dqct-lightbox-body svg { display: block; width: min(92vw, 1400px); height: auto; max-height: 86vh; }
.dqct-lightbox-close { position: absolute; top: 12px; right: 16px; font-size: 22px; line-height: 1; background: #fff; border: 0; border-radius: 50%; width: 36px; height: 36px; cursor: pointer; }
.dqct-pdf-preview { flex-direction: column; cursor: default; }
.dqct-pdf-bar { display: flex; align-items: center; gap: 8px; width: min(96vw, 1100px); background: #fff; padding: 8px 12px; border-radius: 6px 6px 0 0; box-sizing: border-box; }
.dqct-pdf-bar strong { flex: 1; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dqct-pdf-frame { width: min(96vw, 1100px); height: calc(92vh - 56px); border: 0; background: #525659; border-radius: 0 0 6px 6px; }
.dqct-privacy { font-size: 13px; color: #5b6870; margin: 12px 0 0; }

/* Display choices (Jacques, 27 Oct). */
.dqct-colour { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.dqct-colour input[type=color] { width: 30px; height: 22px; padding: 0; border: 1px solid #c9d2d7; border-radius: 4px; background: none; cursor: pointer; }

/* On the tool's own page the tool uses the window's width, not the theme's
   column (Jacques, 27 Oct); margins, not a transform, so the overlays stay
   fixed to the window. */
body.dqct-tool-page .dqct { width: calc(100vw - 48px); max-width: 1900px; margin-left: max(calc(50% - 50vw + 24px), calc(50% - 950px)); margin-right: 0; box-sizing: border-box; }
@media (max-width: 760px) { body.dqct-tool-page .dqct { width: auto; margin-left: 0; } }
/* Little space above the tool (Jacques, 27 Oct): the theme's gaps under the
   header and round the breadcrumb, and a smaller title. This page only. */
body.dqct-tool-page .site-header { margin-bottom: 0; }
/* The theme's scroll-padding-top already leaves the sticky header's height;
   add its 1px border, and WordPress's admin bar for staff who see it. */
body.dqct-tool-page { --dqct-top: 1px; }
body.dqct-tool-page.admin-bar { --dqct-top: 33px; }
@media (max-width: 782px) { body.dqct-tool-page.admin-bar { --dqct-top: 47px; } }
body.dqct-tool-page .storefront-breadcrumb { padding: .4rem 0; margin-bottom: 0; }
body.dqct-tool-page.page .entry-header .entry-title { font-size: 1.6rem; margin: 0 0 .5rem; }
body.dqct-tool-page .entry-header { margin-bottom: 0; }
