*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#081321;color:#eaf3ff;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}.app{max-width:960px;margin:auto;padding:0 18px 36px}.top{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid #24374d}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:13px;letter-spacing:.12em}.brand small{display:block;color:#90a9c1;font-size:11px}.logo{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:#142c4b;color:white;font-size:21px;font-weight:900}.logo span{color:#4cb6ff}.version,.eyebrow,.meta{color:#7bc5ff;letter-spacing:.11em;font-size:11px;font-weight:750}.intro{padding:28px 0 22px}.intro h1{font-size:clamp(30px,6vw,48px);letter-spacing:-.045em;line-height:1.1;max-width:700px;margin:12px 0}.intro em{font-style:normal;color:#4db5ff}.intro p{max-width:680px;color:#b3c4d7}.introbuttons,.controls,.tools,.resultactions{display:flex;gap:10px;flex-wrap:wrap}.primary,.secondary,.import{border:1px solid #35536e;border-radius:12px;padding:12px 17px;font-weight:700;color:#d8ebfa;background:#11253b;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:#1269b0;color:#fff;border-color:#1269b0}.primary:hover{background:#0f5a9a}.secondary:hover{background:#19334f}.progressline{margin-top:25px}.progressline>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:#9db3c9}.meter{height:5px;background:#1b3045;border-radius:20px;overflow:hidden;margin-top:8px}.meter>div{height:100%;background:#40a8fb;width:0;transition:width .2s}.tabs{position:sticky;top:0;z-index:10;background:#081321ee;backdrop-filter:blur(12px);display:flex;border-bottom:1px solid #29405b;gap:6px;padding:9px 0}.tabs button{flex:1;border:0;background:transparent;color:#9cb3c9;padding:11px 5px;font-weight:700}.tabs .active{color:#fff;background:#183451;border-radius:10px}.hidden{display:none!important}.pane{padding-top:18px}.groupbar{display:flex;gap:7px;overflow-x:auto;padding:3px 0 17px;scrollbar-width:none}.group{flex:none;border:1px solid #27445e;border-radius:50px;background:#102338;color:#94b2cb;padding:8px 13px;font-size:12px}.group.selected{background:#1b83d3;color:white;border-color:#1b83d3}.question-card,.result,.panel{background:#101f30;border:1px solid #29405a;border-radius:19px;padding:clamp(18px,4vw,30px)}.meta,.resulttop{display:flex;justify-content:space-between;gap:12px}.question-card h2,.result h2{font-size:clamp(24px,5vw,33px);line-height:1.2;letter-spacing:-.025em;margin:14px 0 8px}.question{font-size:17px;color:#c7d8e8;margin-bottom:20px}.choices{display:grid;gap:9px}.choice{display:flex;align-items:center;gap:12px;border:1px solid #2b445d;border-radius:13px;padding:15px;background:#12273d;cursor:pointer}.choice.chosen{background:#143c61;border-color:#48aafa}.choice input{position:absolute;opacity:0}.dot{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #63849e}.chosen .dot{border:6px solid #4eb5ff;background:#fff}.choice strong{display:block;font-size:14px;line-height:1.35}.choice small{display:block;color:#9eb7cc;margin-top:4px}.controls{justify-content:space-between;margin-top:24px}.quicklinks{display:flex;justify-content:space-between;gap:10px;margin-top:17px}.quicklinks button{background:none;border:0;color:#8cc9fa;text-decoration:underline;font-size:12px}.tools{margin:18px 0}.tools>*{flex:1;font-size:12px}.resulttop{align-items:center}.status{font-size:10px;border-radius:30px;padding:6px 10px;font-weight:800}.status.caution{color:#f8c978;background:#48391f}.status.ok{color:#81ddb4;background:#153e32}.result>p{color:#c4d4e4}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.metrics>div{background:#162c42;border-radius:12px;padding:12px}.metrics b{display:block;font-size:21px}.metrics small{display:block;font-size:10px;color:#a9c0d5}.report-section{border-top:1px solid #29405a;padding-top:16px;margin-top:20px}.report-section h3{font-size:17px}.report-section p,.report-section li{color:#bbcede}.report-section a{color:#72c6ff}.alert{border-left:3px solid #e3ae4b;background:#342e29;border-radius:5px;padding:10px 12px;margin:8px 0;font-size:13px}.plan{padding:14px 0;border-bottom:1px solid #253d54}.plan span{color:#72bdf6;font-size:11px}.plan h4{margin:4px 0;font-size:16px}.plan p{margin:4px 0;color:#bbcede;font-size:13px}.answer-row{width:100%;display:flex;justify-content:space-between;text-align:left;gap:12px;border:0;border-bottom:1px solid #29405a;background:none;color:#dbeafa;padding:12px 0}.answer-row small{display:block;color:#9cb3c9}.answer-row>span:last-child{font-size:11px;color:#7bc5ff}.resultactions{margin-top:20px}.resultactions>*{flex:1 1 150px}.disclaimer{font-size:11px!important;color:#9bb0c4!important;margin-top:25px}footer{font-size:11px;text-align:center;color:#6e8ca5;padding:35px 0}.panel h2{margin-top:0}.panel p,.muted{color:#b7cadb}.flow{text-align:center}.node{background:#19344e;border:1px solid #3c6c91;border-radius:10px;padding:13px;margin:8px auto;max-width:660px}.node.decision{border-color:#daa959}.node.result{background:#143b4c}.arrow{color:#70bbf2;font-size:23px}.branch,.assessment{display:flex;gap:9px;justify-content:center;margin:12px 0}.branch>div{flex:1;min-width:0}.branch span{font-size:11px;color:#8eb5d4}.assessment>div{flex:1;background:#1a3046;border-radius:8px;padding:10px;font-size:11px}.assessment small{color:#a9bed0}.source{border-bottom:1px solid #2b4155;padding:12px 0}.source a{color:#78c5ff}.warning{border:1px solid #745f32;background:#2b291e;padding:12px;border-radius:12px;margin:15px 0}@media(max-width:520px){.app{padding:0 12px}.branch,.assessment{flex-wrap:wrap}.assessment>div{flex:1 1 42%}.question-card,.result,.panel{padding:18px}.choice{padding:13px}.controls>*{flex:1}.intro{padding-top:22px}.introbuttons>*{flex:1}.metrics b{font-size:18px}}@media print{body{background:#fff;color:#111;font-size:12px}.app{max-width:none}.top,.intro,.tabs,.groupbar,.tools,.resultactions,footer,.answer-row>span:last-child{display:none!important}.pane:not(#wizard){display:none!important}.result{border:0;padding:0;background:#fff}.result *, .report-section p,.report-section li{color:#111!important;background:transparent!important}.report-section,.plan{break-inside:avoid}.alert{border-left:3px solid #777}.status{border:1px solid #aaa}.metrics{display:none}}

/* ───── v1.1 ───── */
.pane{scroll-margin-top:62px}
.compact .intro{padding:12px 0 0}.compact .intro h1,.compact .intro p,.compact .introbuttons,.compact .intro .eyebrow{display:none}
.progressline{margin:6px 0 14px}
:focus-visible{outline:3px solid #7cc7ff;outline-offset:2px}
.choice:focus-within{outline:3px solid #7cc7ff;outline-offset:2px}
fieldset.choices{border:0;margin:0;padding:0;min-width:0}
fieldset.choices legend.question{padding:0;float:left;width:100%;margin-bottom:16px}
fieldset.choices .choice:first-of-type{clear:both}
.hint{margin-top:14px;font-size:13px;color:#f8c978}.hint:empty{display:none}
.banner{display:block;width:100%;text-align:left;border:1px solid #3d6a8c;background:#12304a;color:#d8ebfa;border-radius:12px;padding:11px 14px;margin:10px 0;font-size:13px}
.banner.update{cursor:pointer;font-weight:700;border-color:#e3ae4b;background:#3a3020}
.cat{margin:-4px 0 10px;color:#9fc3df;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.alert.critical{border-left-color:#e5675c;background:#3b2a2a}.alert.info{border-left-color:#5aa9e6;background:#1f2e3d}
.optcard{border:1px solid #2d4a66;background:#12273d;border-radius:14px;padding:14px 15px;margin:12px 0}
.optcard h4{margin:8px 0 6px;font-size:17px;line-height:1.3}
.optcard ul{margin:2px 0 8px 18px;padding:0;color:#c3d4e5;font-size:13px}.optcard li{margin:3px 0}
.optcard .lbl{margin:8px 0 2px;font-size:11px;letter-spacing:.09em;color:#7bc5ff;font-weight:800;text-transform:uppercase}
.optcard.r-main{border-color:#48aafa;background:#143452}.optcard.r-na{opacity:.75;border-style:dashed}
.optmeta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rolechip{font-size:10px;font-weight:800;letter-spacing:.08em;padding:4px 9px;border-radius:30px;background:#1b3b57;color:#9fd5ff}
.r-main .rolechip{background:#1269b0;color:#fff}.r-alt .rolechip{background:#3a3020;color:#f8c978}
.typechip{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;border-radius:30px;border:1px solid #4a6a86;color:#cfe3f4;margin-right:6px}
.t-observacional{border-color:#d98cc3;color:#f3c3e4}.t-directa{border-color:#3fbf8a;color:#8fe6c0}.t-indirecta{border-color:#5aa9e6;color:#a9d6fb}.t-guía{border-color:#b08cf0;color:#d8c5fa}.t-consenso{border-color:#e3ae4b;color:#f8d79a}.t-biomecánica{border-color:#e08a5a;color:#f6c3a6}
.refs{margin:6px 0 0}.ref{display:inline-block;font-size:11px;color:#9bb7ce;background:#0e2033;border-radius:6px;padding:2px 7px;margin:2px 4px 2px 0}
.srcline{padding:8px 0;border-bottom:1px solid #253d54;font-size:13px}.srcline small{display:block;color:#9cb3c9;margin-top:2px}
.sagpanel{margin-top:20px;border-top:1px solid #29405a;padding-top:14px}.sagpanel h3{margin:0 0 4px;font-size:15px}
.saggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.sagfield{display:flex;flex-direction:column;font-size:12px;color:#9cb3c9;gap:3px}
.sagfield input{width:100%;background:#0c1c2d;border:1px solid #35536e;border-radius:10px;color:#fff;padding:11px 8px;font-size:16px}
.sagout{margin-top:10px;font-size:13px;color:#cfe3f4}
.source u{text-decoration:none;color:#7bc5ff;font-weight:700}.source p{margin:6px 0;font-size:13px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 18px}
table.matrix{border-collapse:collapse;width:100%;min-width:560px;font-size:12px}
table.matrix th,table.matrix td{border-bottom:1px solid #2b4155;padding:8px 6px;text-align:left;vertical-align:top}
table.matrix th{color:#7bc5ff;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.tabs button{font-size:13px;padding:11px 2px}
@media(max-width:520px){.saggrid{grid-template-columns:repeat(2,1fr)}.tabs{gap:2px}.tabs button{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.meter>div{transition:none}}
@media print{.optcard{border:1px solid #999;background:#fff!important;break-inside:avoid}.rolechip,.typechip{border:1px solid #777;background:#fff!important;color:#111!important}.banner,.sagpanel,.hint{display:none!important}}

/* Segment sketch: responsive and touch-friendly */
.segment-grid{display:grid;gap:8px;margin:12px 0}.segment-row,.segment-disc{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px solid var(--border,#40506a);border-radius:10px}.segment-disc{margin-left:16px;background:rgba(70,120,200,.08)}.segment-grid label{display:flex;align-items:center;gap:7px;font-size:.88rem}.segment-grid select{max-width:210px;min-height:38px;padding:5px;border-radius:6px;background:var(--surface,#182233);color:inherit;border:1px solid #66758b}.segment-grid input{width:18px;height:18px}@media(max-width:420px){.segment-row,.segment-disc{align-items:flex-start}.segment-grid select{max-width:180px}}

/* v1.6: anatomical schematic (not a radiographic model) */
.construct-visual{background:#0c1c2d;border:1px solid #35536e;border-radius:15px;padding:12px;margin:12px 0}.construct-visual h4{margin:2px 0 6px}.construct-svg{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}.diagram-bone{fill:#233f5a;stroke:#75b7e7;stroke-width:1.5}.diagram-label{fill:#eaf3ff;font-weight:750;font-size:15px}.diagram-caption{fill:#8cb5d4;font-size:10px;font-weight:750;letter-spacing:1px}.diagram-small{fill:#b7d1e7;font-size:11px}.diagram-disc{fill:#12273d;stroke:#3e617f}.diagram-fused{fill:#1a5b57;stroke:#6cdbc2;stroke-width:2}.diagram-cage{fill:#b27637;stroke:#ffd28c}.diagram-anchor{fill:#338ddd;stroke:#e1f3ff;stroke-width:1.5}.diagram-decomp{fill:#ffcf74;font-size:14px;font-weight:800}.diagram-rod{stroke:#7dd4e8;stroke-width:4;stroke-dasharray:7 5;fill:none;opacity:.85}@media print{.construct-visual{background:white!important}.construct-svg{max-height:520px}.diagram-label,.diagram-small,.diagram-caption{fill:#111}.diagram-bone{fill:#e7edf2}}

/* v1.7: interactive SVG hit targets and synchronized editor */
.diagram-pick{cursor:pointer;outline:none;transition:stroke-width .15s,filter .15s}
.diagram-pick:focus-visible{outline:3px solid #7cc7ff;outline-offset:2px}
.diagram-pick:focus-visible,.diagram-selected{stroke:#47c9ff!important;stroke-width:3.5px!important;filter:drop-shadow(0 0 5px #47c9ff88)}
.segment-active{outline:2px solid #47c9ff;outline-offset:1px;border-radius:8px}
@media (prefers-reduced-motion:reduce){.diagram-pick{transition:none}}

/* v1.8: paired anatomical schematics, responsive for narrow iPhone screens */
.construct-two-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.construct-two-views>div{min-width:0;background:#10273c;border:1px solid #294e69;border-radius:12px;padding:6px}.construct-two-views h5{text-align:center;margin:4px 0 6px;font-size:12px}.construct-anatomic{max-width:310px}.diagram-process{fill:none;stroke:#7da9c9;stroke-width:2}.diagram-screw{stroke:#64b9f5;stroke-width:5;stroke-linecap:round}.diagram-decomp-mark{fill:none;stroke:#ffcf74;stroke-width:4;stroke-linecap:round}@media(max-width:360px){.construct-two-views{gap:5px}.construct-two-views>div{padding:3px}.construct-two-views h5{font-size:11px}}@media print{.construct-two-views>div{background:#fff!important;border-color:#ccc}.diagram-process{stroke:#555}}

/* v1.9: distinguish manually declared implant categories, not manufacturer-specific geometry */
.implant-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 2px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#d6e7f5}.legend-symbol{flex:none;min-width:45px;text-align:center;border-radius:5px;padding:4px 5px;font-size:10px;font-weight:800;border:1px solid #7c9cb8}.legend-pedicle{background:#2165a0}.legend-s2ai{background:#5840a2}.legend-iliac{background:#754397}.legend-cage{background:#8a5724}.legend-rod{background:#23646f}.legend-decompression{background:#765b21}.implant-s2ai{fill:#9673e4;stroke:#e2d7ff}.implant-iliac{fill:#c17cdd;stroke:#f5dfff}.implant-pedicle{fill:#338ddd;stroke:#e1f3ff}.diagram-screw.implant-s2ai{stroke:#9673e4}.diagram-screw.implant-iliac{stroke:#c17cdd}.diagram-screw.implant-pedicle{stroke:#64b9f5}@media(max-width:420px){.implant-legend{grid-template-columns:1fr}}@media print{.legend-item{color:#111}.legend-symbol{color:#fff}}

/* v2.1: en pantallas estrechas las vistas se apilan para que los objetivos táctiles del SVG no queden diminutos */
@media (max-width:560px){.construct-two-views{grid-template-columns:1fr}}

.diagram-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}

/* v2.4: jerarquía de encabezados accesible en la pantalla de resultados. */
.result h1.result-title{font-size:clamp(24px,5vw,33px);line-height:1.2;letter-spacing:-.025em;margin:14px 0 8px}
