/* spinal/ — 02 Performing a spinal. Every selector starts with .spinal-app .tq- or #tq-. */

/* ------------------------------------------------------------------ jump row + parts */
.spinal-app .tq-jump{counter-reset:none}
.spinal-app .tq-jump-n{font:400 12px/1 var(--sp-mono);color:var(--sp-muted);margin-right:6px;letter-spacing:.04em}
.spinal-app .tq-part{padding-top:0;margin-top:0}
.spinal-app main .tq-h{margin:56px 0 14px;max-width:none}
.spinal-app .tq-num{display:inline-block;min-width:3.2em;font:400 13px/1 var(--sp-mono);letter-spacing:.04em;color:var(--sp-muted);vertical-align:.22em}
.spinal-app .tq-part:target>.tq-h{color:var(--sp-accent)}
.spinal-app main .tq-list{padding-left:1.2em;margin:0 0 16px}
.spinal-app main .tq-list li{margin:0 0 8px}
.spinal-app main .tq-list li::marker{color:var(--sp-muted)}
.spinal-app .tq-two{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin:8px 0 8px}
@media (min-width:900px){.spinal-app .tq-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}}
.spinal-app .tq-two>*>:first-child{margin-top:0}
.spinal-app .tq-two .sp-table-wrap{margin-top:0}
.spinal-app main .tq-note{font-size:14px;color:var(--sp-muted)}
.spinal-app main .tq-links{font-size:15px}
.spinal-app .tq-cell-sub{display:block;font:400 12px/1.45 var(--sp-sans);color:var(--sp-muted);margin-top:2px}
.spinal-app .tq-split{margin-top:4px}

/* ------------------------------------------------------------------ frequency ladder */
.spinal-app main .tq-freq{list-style:none;margin:0 0 16px;padding:0;max-width:420px}
.spinal-app main .tq-freq-row{display:grid;grid-template-columns:7.5em minmax(0,1fr) 7.5em;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--sp-line);max-width:none;font-size:15px}
.spinal-app .tq-freq-bar{display:block;height:10px;width:var(--tq-w);background:var(--sp-accent);opacity:.85}
.spinal-app .tq-freq-n{text-align:right;color:var(--sp-ink)}

/* ------------------------------------------------------------------ cards */
.spinal-app .tq-card{border:1px solid var(--sp-line);border-top:3px solid var(--sp-ink);background:var(--sp-surface);padding:14px 18px 6px;min-width:0}
.spinal-app main .tq-card-h{font:600 12px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:var(--sp-ink)}
.spinal-app .tq-card--abs{border-top-color:var(--sp-danger)}
.spinal-app .tq-card--abs .tq-card-h{color:var(--sp-danger)}
.spinal-app .tq-card--rel{border-top-color:var(--sp-warn)}
.spinal-app .tq-card--rel .tq-card-h{color:var(--sp-warn)}
.spinal-app .tq-card--pro{border-top-color:var(--sp-ok)}
.spinal-app .tq-card--pro .tq-card-h{color:var(--sp-ok)}
.spinal-app .tq-card--con{border-top-color:var(--sp-line-strong)}
.spinal-app main .tq-card .tq-list{font-size:15px;line-height:1.6}

/* ------------------------------------------------------------------ form controls */
.spinal-app .tq-field{display:flex;flex-direction:column;gap:6px;max-width:460px;margin:0 0 16px}
.spinal-app main .tq-label{font:600 13px/1.4 var(--sp-sans);color:var(--sp-ink);margin:0}
.spinal-app .tq-select{min-height:48px;width:100%;max-width:460px;padding:8px 40px 8px 12px;border:1px solid var(--sp-line-strong);border-radius:0;background-color:var(--sp-surface);color:var(--sp-ink);font:16px/1.3 var(--sp-sans);-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--sp-ink) 50%),linear-gradient(135deg,var(--sp-ink) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}
.spinal-app .tq-select:hover{border-color:var(--sp-accent)}
.spinal-app .tq-select option,.spinal-app .tq-select optgroup{background:var(--sp-surface);color:var(--sp-ink)}
.spinal-app main .tq-hint{font-size:14px;color:var(--sp-muted);margin:6px 0 0}

/* ------------------------------------------------------------------ anticoagulant lookup */
.spinal-app .tq-ac{margin:20px 0 8px;padding:18px 20px;background:var(--sp-surface);border:1px solid var(--sp-line);border-top:3px solid var(--sp-ink);max-width:880px}
.spinal-app main .tq-ac-empty{color:var(--sp-muted);font-size:15px;margin:0}
.spinal-app .tq-ac-head{margin:0 0 12px}
.spinal-app main .tq-ac-name{font:400 22px/1.25 var(--sp-serif);letter-spacing:-.02em;margin:0}
.spinal-app main .tq-ac-dose{font-size:14px;color:var(--sp-muted);margin:2px 0 0}
.spinal-app .tq-ac-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:640px){.spinal-app .tq-ac-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.spinal-app .tq-ac-col{border:1px solid var(--sp-line-strong);padding:12px 14px;background:var(--sp-bg);min-width:0}
.spinal-app .tq-ac-col--asra{border-style:dashed}
.spinal-app main .tq-ac-src{font:600 13px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.06em;margin:0}
.spinal-app main .tq-ac-srcsub{font:400 12px/1.45 var(--sp-mono);color:var(--sp-muted);margin:2px 0 8px}
.spinal-app .tq-ac-col--asra .tq-ac-srcsub{color:var(--sp-warn)}
.spinal-app .tq-ac-dl{margin:0}
.spinal-app .tq-ac-dl dt{font:400 12px/1.5 var(--sp-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted);margin-top:8px}
.spinal-app main .tq-ac-dl dd{margin:0;font-size:15px;line-height:1.5}
.spinal-app main .tq-ac-dl .tq-ac-val{font:500 17px/1.4 var(--sp-sans)}
.spinal-app main .tq-ac-notes{margin:14px 0 0;padding-left:1.2em;font-size:14px;line-height:1.6}
.spinal-app main .tq-ac-notes li{margin:0 0 4px}
.spinal-app #tq-ac-full{margin-top:24px;max-width:none}
.spinal-app #tq-ac-full .sp-details-body{max-width:none}
.spinal-app .tq-ac-table td{font-size:14px}
.spinal-app .tq-ac-table tbody th{min-width:11em}

/* ------------------------------------------------------------------ checklist */
.spinal-app .tq-check{border:1px solid var(--sp-line);border-top:3px solid var(--sp-ink);background:var(--sp-surface);padding:14px 16px 16px;align-self:start}
.spinal-app .tq-check[data-done=true]{border-top-color:var(--sp-ok)}
.spinal-app .tq-check-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:6px}
.spinal-app main .tq-check-title{font:400 20px/1.3 var(--sp-serif);letter-spacing:-.015em;margin:0}
.spinal-app main .tq-check-status{font:400 12px/1.4 var(--sp-mono);color:var(--sp-muted);margin:0}
.spinal-app .tq-check[data-done=true] .tq-check-status{color:var(--sp-ok)}
.spinal-app main .tq-check-list{list-style:none;margin:0 0 12px;padding:0}
.spinal-app main .tq-check-item{display:flex;align-items:flex-start;gap:0;border-bottom:1px solid var(--sp-line);max-width:none;margin:0}
.spinal-app .tq-check-input{flex-shrink:0;width:20px;height:20px;margin:12px 12px 12px 2px;accent-color:var(--sp-accent);cursor:pointer}
.spinal-app .tq-check-label{flex:1;min-height:44px;display:flex;align-items:center;padding:8px 0;font-size:15px;line-height:1.45;cursor:pointer}
.spinal-app .tq-check-input:checked+.tq-check-label{color:var(--sp-muted);text-decoration:line-through;text-decoration-thickness:1px}

/* ------------------------------------------------------------------ position */
.spinal-app .tq-tabs{max-width:960px}
.spinal-app .tq-pos{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 32px}
@media (min-width:900px){.spinal-app .tq-pos{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.spinal-app .tq-pos>p{grid-column:1/-1}}
.spinal-app .tq-pos .sp-fig{margin-top:0}
.spinal-app .tq-pc{display:grid;gap:12px;align-content:start}

/* ------------------------------------------------------------------ svg drawings */
.spinal-app .tq-svg{display:block;width:100%;height:auto}
.spinal-app .tq-svg-pill{font:500 13px/1 var(--sp-sans)}
.spinal-app .tq-svg-small{font:400 12px/1 var(--sp-mono);letter-spacing:.06em;text-transform:uppercase}
.spinal-app .tq-svg-title{font:italic 400 19px/1 var(--sp-serif)}
.spinal-app .tq-svg[data-mode=midline] :is(.tq-ap-para,.tq-ap-label-para){display:none}
.spinal-app .tq-svg[data-mode=paramedian] :is(.tq-ap-mid,.tq-ap-label-mid){display:none}
.spinal-app main .tq-ap-text{margin:0 0 8px}
.spinal-app main .tq-ap-text p{margin:0 0 12px}

/* ------------------------------------------------------------------ timeline (theme-aware) */
#tq-fig-timecourse .sp-fig-stage{padding:12px 0 4px}
.spinal-app .tq-tl-label{font:500 13px/1 var(--sp-sans);fill:var(--sp-ink)}
.spinal-app .tq-tl-tick{font:400 12px/1 var(--sp-mono);fill:var(--sp-muted)}
.spinal-app .tq-tl-note{font:400 12px/1 var(--sp-sans);fill:var(--sp-muted)}
.spinal-app .tq-tl-checkn{font:500 12px/1 var(--sp-mono);fill:var(--sp-bg)}
.spinal-app .tq-tl-check{fill:var(--sp-ink)}
.spinal-app .tq-tl-solid{fill:var(--sp-accent)}
.spinal-app .tq-tl-mid{fill:var(--sp-accent);opacity:.45}
.spinal-app .tq-tl-faint{fill:var(--sp-line)}
.spinal-app .tq-tl-hatch-bg{fill:var(--sp-accent-soft)}
.spinal-app .tq-tl-hatch-line{stroke:var(--sp-accent)}
.spinal-app .tq-tl-outline{stroke:var(--sp-accent);stroke-width:1}
.spinal-app .tq-tl-axis{stroke:var(--sp-line-strong);stroke-width:1.2;fill:none}
.spinal-app .tq-tl-grid{stroke:var(--sp-line-strong);stroke-width:1;stroke-dasharray:2 4}
.spinal-app .tq-tl-inject{stroke:var(--sp-ink);stroke-width:2}

/* ------------------------------------------------------------------ spread factors */
.spinal-app .tq-spread{max-width:820px;margin:8px 0 16px}
.spinal-app .tq-spread-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 10px}
.spinal-app main .tq-spread-key{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--sp-muted);margin:0}
.spinal-app main .tq-spread-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sp-line)}
.spinal-app main .tq-spread-item{border-bottom:1px solid var(--sp-line);max-width:none;margin:0}
.spinal-app .tq-spread-btn{display:grid;grid-template-columns:2.2em minmax(0,1fr) auto 4.6em;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:var(--sp-ink);font:500 16px/1.35 var(--sp-sans);text-align:left;cursor:pointer;transition:background-color .15s}
.spinal-app .tq-spread-btn:hover{background:var(--sp-accent-soft)}
.spinal-app .tq-spread-btn[aria-expanded=true]{background:var(--sp-surface-2)}
.spinal-app .tq-spread-rank{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--sp-ink);color:var(--sp-bg);font:500 13px/1 var(--sp-mono)}
.spinal-app .tq-spread-meter{display:inline-flex;gap:3px}
.spinal-app .tq-spread-meter>span{display:block;width:16px;height:8px;border:1px solid var(--sp-line-strong)}
.spinal-app .tq-spread-meter>span.tq-on{background:var(--sp-accent);border-color:var(--sp-accent)}
.spinal-app .tq-spread-who{font:400 12px/1.4 var(--sp-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sp-muted);text-align:right}
.spinal-app .tq-spread-body{padding:4px 8px 14px calc(2.2em + 16px);font-size:15px}
.spinal-app main .tq-spread-body p{margin:0}
@media (max-width:520px){
  .spinal-app .tq-spread-btn{grid-template-columns:28px minmax(0,1fr) auto;gap:10px}
  .spinal-app .tq-spread-who{grid-column:2;grid-row:2;text-align:left;margin-top:-4px}
  .spinal-app .tq-spread-body{padding-left:8px}
}

/* ------------------------------------------------------------------ testing */
.spinal-app .tq-modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:12px;margin:8px 0 20px;max-width:960px}
.spinal-app .tq-mode{border:1px solid var(--sp-line);border-top:3px solid var(--sp-ink);padding:12px 14px;background:var(--sp-surface)}
.spinal-app main .tq-mode-h{font:400 19px/1.3 var(--sp-serif);margin:0 0 4px}
.spinal-app main .tq-mode p:last-child{font-size:14px;line-height:1.55;margin:0;color:var(--sp-ink)}

/* block check */
.spinal-app .tq-bc{display:grid;gap:16px;max-width:760px;padding:18px 20px;background:var(--sp-surface);border:1px solid var(--sp-line);border-top:3px solid var(--sp-ink);margin:8px 0 8px}
.spinal-app .tq-bc-row{display:flex;flex-direction:column;gap:8px}
.spinal-app .tq-bc .sp-seg-btn{min-width:44px}
.spinal-app .tq-bc-out{--c:var(--sp-ink);--cb:var(--sp-surface-2);border-left:3px solid var(--c);background:var(--cb);padding:12px 16px}
.spinal-app .tq-bc-out[data-tone=ok]{--c:var(--sp-ok);--cb:var(--sp-ok-bg)}
.spinal-app .tq-bc-out[data-tone=warn]{--c:var(--sp-warn);--cb:var(--sp-warn-bg)}
.spinal-app .tq-bc-out[data-tone=danger]{--c:var(--sp-danger);--cb:var(--sp-danger-bg)}
.spinal-app main .tq-bc-verdict{font:600 12px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--c);margin:0 0 4px}
.spinal-app main .tq-bc-out[data-tone=ok] .tq-bc-verdict::before{content:'✓ '}
.spinal-app main .tq-bc-out[data-tone=warn] .tq-bc-verdict::before{content:'! '}
.spinal-app main .tq-bc-out[data-tone=danger] .tq-bc-verdict::before{content:'✗ '}
.spinal-app main .tq-bc-text{font-size:15px;margin:0 0 8px}
.spinal-app main .tq-bc-high{font-size:15px;margin:0 0 8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.spinal-app main .tq-bc-why{font-size:14px;color:var(--sp-muted);margin:0}

@media (max-width:640px){
  .spinal-app .tq-ac,.spinal-app .tq-bc{padding:14px}
  .spinal-app .tq-ac-table tbody th{min-width:0}
  .spinal-app .tq-num{min-width:0;margin-right:6px}
}
@media print{
  .spinal-app .tq-check-reset{display:none}
  .spinal-app .tq-spread-body[hidden]{display:block!important}
}

/* ------------------------------------------------------------------ v3: anticoagulant finder */
.spinal-app .tq-search{min-height:48px;width:100%;max-width:460px;padding:8px 12px;border:1px solid var(--sp-line-strong);border-radius:0;background:var(--sp-surface);color:var(--sp-ink);font:400 16px/1.4 var(--sp-sans)}
.spinal-app .tq-search:focus{outline:2px solid var(--sp-accent);outline-offset:1px}
.spinal-app .tq-ac-seg{flex-wrap:wrap;margin:0 0 8px}
.spinal-app .tq-ac-seg .sp-seg-btn{min-height:44px}
.spinal-app .tq-acl{margin-top:8px}
.spinal-app .tq-acl [hidden]{display:none!important}
.spinal-app main .tq-acl-h{font:600 12px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--sp-muted);margin:18px 0 6px}
.spinal-app .tq-acd{border:1px solid var(--sp-line);border-left:3px solid var(--sp-ink);background:var(--sp-bg);padding:10px 14px;margin:0 0 8px;scroll-margin-top:90px}
.spinal-app .tq-acd:target{border-left-color:var(--sp-accent);outline:1px solid var(--sp-accent)}
.spinal-app .tq-acd-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0 0 6px}
.spinal-app main .tq-acd-name{font:400 19px/1.25 var(--sp-serif);margin:0}
.spinal-app main .tq-acd-dose{font-size:14px;color:var(--sp-muted);margin:0;max-width:none}
.spinal-app .tq-acd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media (min-width:640px){.spinal-app .tq-acd-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}}
.spinal-app main .tq-acd-src{font:600 12px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.06em;margin:0 0 2px}
.spinal-app .tq-acd-col{min-width:0}
.spinal-app main .tq-ac-count{margin:0 0 4px}
.spinal-app .tq-pop-sum{font-weight:600}
.spinal-app .tq-pop details{margin:0 0 8px}
.spinal-app .tq-rule{border:1px solid var(--sp-line-strong);border-left:4px solid var(--sp-accent);background:var(--sp-surface);padding:10px 16px;margin:12px 0}
.spinal-app main .tq-rule p{margin:0 0 6px}
.spinal-app .tq-answer{border:1px solid var(--sp-line);border-top:3px solid var(--sp-accent);background:var(--sp-surface);padding:12px 18px 4px;margin:12px 0}
.spinal-app main .tq-answer-h{font:600 12px/1.4 var(--sp-sans);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}
.spinal-app .tq-jumpd>summary{min-height:44px;display:flex;align-items:center}
.spinal-app .tq-acd{padding:0}
.spinal-app .tq-acd>.tq-acd-grid,.spinal-app .tq-acd>.tq-ac-notes{margin:0;padding:8px 14px 12px}
.spinal-app .tq-acd>.tq-ac-notes{padding-left:2.2em}
.spinal-app .tq-acd-sum{display:flex;flex-direction:column;gap:2px;padding:10px 14px;min-height:44px;cursor:pointer}
.spinal-app .tq-acd-sum .tq-acd-name{font:400 18px/1.25 var(--sp-serif)}
.spinal-app .tq-acd-sum .tq-acd-dose{font-size:14px;color:var(--sp-muted)}
.spinal-app .tq-acd-quick{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:14.5px;line-height:1.4}
.spinal-app .tq-acd-quick b{font:600 12px/1 var(--sp-mono);letter-spacing:.06em;margin-right:4px;color:var(--sp-muted)}
