:root{font:16px/1.55 system-ui,sans-serif;color:#19322f;background:#f4f8f5;--green:#086450;--line:#c8ded6}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
header{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#103831;padding:1rem max(1rem,calc((100vw - 76rem)/2))}
header a{color:white}
.brand{font-weight:750;letter-spacing:.08em;text-decoration:none}
main{max-width:76rem;margin:auto;padding:clamp(1rem,3vw,2.5rem)}
h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;letter-spacing:-.035em;margin:.3rem 0 1.3rem}
h2{font-size:1.5rem;line-height:1.25;margin:0 0 1rem}
h3{font-size:1.05rem;color:var(--green)}
p{max-width:85ch}
a{color:var(--green)}
.eyebrow{font-size:.8rem;letter-spacing:.1em;font-weight:750;color:var(--green);margin:.25rem 0}
.notice{border-left:4px solid #be8c40;padding:.7rem 1rem;background:#fff4df}
.notice h4{margin:1rem 0 .3rem}.notice section+section{border-top:1px solid #e1cba4;margin-top:1rem}
.review-panel{background:#f3f7f5;border:1px solid var(--line);border-radius:.6rem;padding:1rem;margin:1.25rem 0}
.review-panel>h3{margin:0 0 .6rem}.review-topic{background:white;border:1px solid var(--line);border-radius:.5rem;padding:1.1rem;margin:1rem 0}
.review-topic>h4{font-size:1.1rem;line-height:1.4;color:var(--green);margin:0 0 1rem}
.review-context{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1rem;background:#edf5f0;border-radius:.4rem;margin:0;padding:1rem}
.review-context dt{font-size:.85rem;color:#415d53;margin-bottom:.4rem}.review-context dd{margin:0;font-weight:650}
.review-context ul{list-style:none;padding:0;margin:0}.review-context li{margin:0 0 .6rem}.review-context li:last-child{margin-bottom:0}
.priority-position{display:block;font-weight:400;font-size:.8rem;color:#415d53;margin-top:.15rem}
.review-label{font-weight:700;color:#254d40;margin:1.1rem 0 .3rem}
.consult-question{background:#fff7e8;border-left:3px solid #be8c40;border-radius:.2rem;padding:.7rem 1rem;margin-top:1rem}
.consult-question .review-label{margin-top:0}.consult-question p:last-child{margin-bottom:0}
.study-result{background:#f5f8fb;border:1px solid #cedfe9;border-radius:.4rem;padding:1rem;margin:1.2rem 0;font-size:.95rem}
.study-result h4,.study-result h5{font-size:1rem;line-height:1.4;margin:0 0 .6rem;color:var(--green)}
.study-result p{margin:.55rem 0}.study-result .review-label{margin-top:1.1rem}.study-result ul{padding-left:1.2rem}.study-result li{margin:.7rem 0}.study-result li strong{color:var(--green);font-size:1.15em}
.study-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;margin:.7rem 0;padding:0!important}
.study-comparison>li{display:flex;flex-direction:column;background:white;border:1px solid #cedfe9;border-radius:.4rem;padding:1rem;margin:0}
.study-comparison .treatment-first{font-weight:700;margin-top:0}.study-comparison .treatment-next{padding-bottom:.8rem;border-bottom:1px solid #e0e9ed}
.study-comparison .study-value{font-size:2rem;margin-top:auto;padding-top:.5rem;line-height:1.2}.study-frequency{font-weight:650;color:var(--green)}
.study-details{border-top:1px solid #cedfe9;padding-top:.7rem;margin-top:1rem;font-size:.85rem;color:#415d53}.study-details summary{font-weight:650;cursor:pointer}
.preference-actions{margin:1rem 0;padding:.8rem 0}.preference-actions p{margin-top:0}
.patient-associations{margin-top:1rem;padding:1rem;background:#f3f8f5;border-radius:.4rem}.patient-associations h3{margin-top:0}.patient-associations ul{padding-left:1.2rem}.patient-associations li{margin:.65rem 0}
.privacy,.help{font-size:.9rem;color:#415d53}
.card{background:white;border:1px solid var(--line);border-radius:.65rem;padding:clamp(1rem,2.5vw,2rem);margin:1rem 0}
fieldset{border:0;margin:0;padding:0;min-width:0}
label{display:block;font-weight:650;margin:.8rem 0 .3rem}
select,textarea{display:block;width:100%;max-width:42rem;border:1px solid #70988a;padding:.65rem;font:inherit;border-radius:.35rem;background:white;color:inherit}
textarea{max-width:100%;resize:vertical}
button{font:inherit;cursor:pointer;border:1px solid #70988a;background:var(--green);color:white;border-radius:.35rem;padding:.5rem .8rem;min-height:44px}
button:disabled{opacity:.45;cursor:default}
.secondary{background:white;color:var(--green)}
.text-button{background:transparent;color:var(--green);border-color:transparent;text-decoration:underline}
:focus-visible{outline:3px solid #0b8a75;outline-offset:3px}
h2:focus{outline:none}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;gap:.6rem;margin:0;padding:0}
.stepper li{display:flex;align-items:center;gap:.5rem;color:#65776f;font-size:.9rem;border-bottom:2px solid var(--line);padding:.65rem .25rem}
.stepper span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:1.8rem;height:1.8rem;flex:none}
.stepper [aria-current=step]{color:var(--green);font-weight:750;border-color:var(--green)}
.stepper [aria-current=step] span{background:var(--green);color:white;border-color:var(--green)}
.stepper .completed{color:var(--green)}
.how-to{padding-left:1.4rem}.how-to li{padding:.3rem 0}
.screen-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}
.screen-actions .help{flex-basis:100%;margin:.1rem 0}
.priority-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.priority-columns>div{min-width:0}
.topic-list{list-style:none;padding:0;margin:0}
.topic-list li{border:1px solid var(--line);border-radius:.45rem;padding:.7rem;margin:.6rem 0;background:#fbfdfb}
.rank-title{display:flex;align-items:baseline;gap:.5rem}
.rank-number{font-weight:750;color:var(--green)}
.drag-handle{color:#65776f;user-select:none;touch-action:none;display:inline-flex;justify-content:center;align-items:center;align-self:center;min-width:36px;min-height:40px;cursor:grab}
.rank-label{background:transparent;color:var(--green);font-weight:650;border:0;min-height:0;padding:0;text-align:left;text-decoration:underline;text-decoration-color:#b1cfc3;text-underline-offset:.2em}
.rank-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem;padding-left:2.2rem}
.rank-actions button{font-size:.85rem;background:white;color:var(--green)}
.progress{font-weight:650;color:var(--green)}
.tags{list-style:none;padding:0;display:flex;gap:.65rem;flex-wrap:wrap;align-content:start}
.tag{background:white;color:var(--green);border-radius:1.2rem;text-align:left;font-weight:600}
.tag[aria-pressed=true]{background:var(--green);color:white}
#ranked{min-height:10rem;padding:.7rem;border:2px dashed var(--line);border-radius:.5rem;background:#f8fcf9;overflow-anchor:none}
#ranked.drag-over{border-color:var(--green);background:#e8f4ed}
[data-drag-topic]{cursor:grab;user-select:none;touch-action:pan-y}
.rank-actions button{cursor:pointer}
.priority-dragging,.priority-dragging *{cursor:grabbing!important;user-select:none!important}
.priority-dragging #ranked .drag-source{display:none}
#available .drag-source{opacity:.35}
.priority-drag-ghost{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;will-change:transform;background:#fff;color:var(--green);border:2px solid var(--green);border-radius:.6rem;padding:.8rem 1rem;box-shadow:0 10px 28px rgb(16 56 49 / .2);font-weight:650;line-height:1.45;max-width:calc(100vw - 16px)}
#ranked .drag-placeholder{display:flex;align-items:center;justify-content:center;border:2px dashed #14836a;background:#e5f4ed;color:var(--green);font-size:.9rem;pointer-events:none;min-height:88px}
.just-dropped{animation:placed .45s ease-out}
@keyframes placed{from{box-shadow:0 0 0 3px #69bca2;background:#e5f4ed}to{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.just-dropped{animation:none}}
.information{background:#edf6f1;border:1px solid var(--line);border-radius:.5rem;padding:1rem}
.information figure{margin:1rem 0}.information img{display:block;max-width:100%;width:auto;max-height:240px;height:auto;margin:auto;object-fit:contain}
.information figcaption{font-size:.75rem;text-align:center;color:#415d53;margin:.3rem 0}
.information>button{display:block;margin:1rem 0 0}
dialog{color:inherit;border:1px solid var(--line);border-radius:.7rem;padding:1rem;width:min(42rem,calc(100% - 2rem));max-height:90vh;overflow:auto}
dialog::backdrop{background:rgb(16 56 49 / .55)}
#close-topic{display:block;margin:0 0 .8rem auto}
.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.strategy-grid article{background:#f3f8f5;padding:1rem;border-radius:.4rem}
.strategy-grid h3{margin-top:0}
.strategy-grid p{font-size:.95rem;margin-bottom:0}
.optional{border-top:1px solid var(--line);padding:.8rem 0;margin-top:.8rem}
.optional summary,.sources summary{cursor:pointer;font-weight:650}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.check{display:flex;gap:.6rem;align-items:baseline;font-weight:450;margin:1rem 0}
.check input{accent-color:var(--green);flex:none}
.actions{display:flex;gap:.6rem;flex-wrap:wrap}
.summary{background:#f3f8f5;border:1px solid var(--line);padding:1rem;border-radius:.45rem;overflow-wrap:anywhere}
.summary h3{margin:.3rem 0}
.summary li{margin:.25rem 0}
.summary p{white-space:pre-wrap}
#status{min-height:1.6em}
.sources{margin:1rem 0;font-size:.85rem}
footer{text-align:center;color:#415d53;font-size:.8rem;padding:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.print-only{display:none}
@media(max-width:760px){.priority-columns,.support-grid,.strategy-grid,.review-context,.study-comparison{grid-template-columns:1fr}header{align-items:flex-start;flex-wrap:wrap}.stepper{gap:.4rem}.stepper li{font-size:.75rem;flex-direction:column;align-items:flex-start}.rank-actions{padding-left:0}.review-panel{padding:.7rem}.review-topic{padding:.8rem}}
@media print{
  header,.app-heading,.stepper,#step-count,.sources,footer,#status,#intro-panel,#priority-panel,#strategy-panel,#topic-dialog,.check,.actions,.screen-actions,#export-help,#summary-title,#reset-confirmation{display:none!important}
  main{padding:0}.card,.summary{border:0;padding:0;background:white}body{background:white}
  #print-panel{display:none!important}
  body[data-print-ready=true] #print-panel{display:block!important}
  body[data-print-ready=true] .print-only{display:block;font-weight:bold}
  body[data-print-ready=false] main::before{content:"Completa los pasos y revisa tu resumen antes de imprimirlo."}
  .summary{font-size:11pt}.summary h3{break-after:avoid}.summary li{break-inside:avoid}
  .study-result{font-size:10pt;padding:.5rem;border-color:#999}.study-result h4{break-after:avoid}.summary .study-url{display:block;font-weight:normal;font-size:9pt}
  .review-topic{padding:.6rem;border-color:#999}.review-topic>h4,.study-result h5,.review-label{break-after:avoid}.review-context,.consult-question,.study-comparison>li{break-inside:avoid}
  .review-context{grid-template-columns:1.6fr 1fr}.study-comparison{grid-template-columns:1fr 1fr}.study-comparison .study-value{font-size:1.5rem}.study-details{font-size:9pt}
}
