:root{font-family:Tahoma,'MS Sans Serif',Arial,sans-serif;font-size:13px;color:#000;background:#008080;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding:20px 20px 55px}button,input,select{font:inherit;color:#000}button{background:#c0c0c0;border:2px solid;border-color:#fff #404040 #404040 #fff;box-shadow:1px 1px #000;padding:6px 12px;cursor:pointer;min-height:28px}button:active{border-color:#404040 #fff #fff #404040;box-shadow:none;transform:translate(1px,1px)}button:disabled{color:#777;text-shadow:1px 1px white;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:1px dotted #000;outline-offset:3px}input[type=number],select{background:white;border:2px solid;border-color:#808080 #fff #fff #808080;padding:3px}input[type=checkbox]{accent-color:#000080}input[type=range]{width:100%;accent-color:#808080}input[type=file]{display:block;max-width:100%;margin-top:10px}h1{font-size:22px;margin:4px 0 14px}h2{font-size:14px}p{line-height:1.5}.window{max-width:1500px;margin:auto;background:#c0c0c0;padding:3px;border:2px solid;border-color:#fff #404040 #404040 #fff;box-shadow:2px 2px #000}.titlebar{background:linear-gradient(90deg,#000080,#1084d0);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:5px 7px;font-weight:bold}.captionbuttons{color:#000;background:#c0c0c0;border:1px outset #fff;letter-spacing:8px;padding-left:6px}.menubar{display:flex;gap:3px;align-items:center;padding:5px 1px;border-bottom:1px solid #808080}.menubar button{box-shadow:none;border-color:transparent;padding:3px 8px}.menubar button:hover{border-color:#fff #808080 #808080 #fff}.menubar span{margin-left:auto;font-size:11px}.steps{display:flex;gap:5px;padding:12px 7px}.steps button{flex:1}.steps button.active{font-weight:bold;background:#ddd;border-color:#404040 #fff #fff #404040;box-shadow:none}.workspace{display:grid;grid-template-columns:265px 1fr;gap:14px;padding:0 10px 12px}aside{border-right:1px solid #808080;padding-right:12px}fieldset{border:2px groove #fff;margin:0 0 13px;padding:12px 9px}legend{padding:0 5px}label{display:block;margin:7px 0}label.indent{padding-left:23px}input[type=number]{width:65px}select{max-width:100%}.pair{display:flex;gap:15px}.pair input,.pair select{display:block;margin-top:5px}.notice{font-size:11px;color:#444}.inset{border:2px solid;border-color:#808080 #fff #fff #808080;background:#ddd;padding:5px;display:block}.explanation{line-height:1.45;padding:10px;margin-top:16px}article{min-width:0;padding:8px 2px}.loadgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.loadgrid fieldset{min-width:0}.filelabel{font-weight:bold}.filelabel input{font-weight:normal}#ctSeries{width:100%}.viewgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.imagewindow{padding:3px;border:2px outset white;background:#c0c0c0;min-width:0}.imagewindow h2{margin:0;background:#808080;color:white;padding:5px;display:flex;align-items:center;gap:8px}.imagewindow select{flex:1;font-size:12px}.imagewindow canvas{display:block;width:100%;aspect-ratio:1;background:black;image-rendering:pixelated;margin:3px 0}.imagewindow p{font-size:11px;min-height:30px;padding:0 5px}.empty{height:290px;margin-top:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#808080;color:#fff}.empty>div{font-size:55px;color:#c0c0c0}.empty[hidden],[hidden]{display:none!important}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.statusbar{display:flex;gap:3px}.statusbar span{border:1px inset #fff;padding:5px;flex:1}.statusbar span:last-child{max-width:110px}.taskbar{position:fixed;bottom:0;left:0;right:0;background:#c0c0c0;border-top:2px solid white;padding:4px;display:flex;gap:8px;align-items:center;z-index:20}.taskbar>button{font-weight:bold}.task{padding:6px 30px 6px 8px;border:2px inset white;background:#ddd}.clock{margin-left:auto;border:2px inset white;padding:5px 10px}dialog{background:#c0c0c0;padding:3px;border:2px outset white;max-width:480px;box-shadow:3px 3px #000}dialog>div{padding:15px}dialog::backdrop{background:#0005}#sliceLabel{float:right}@media(max-width:850px){body{padding:6px 6px 55px}.workspace{grid-template-columns:210px 1fr;gap:8px}.menubar span{display:none}.steps button{font-size:11px;padding:5px}.viewgrid,.loadgrid{grid-template-columns:1fr}}@media(max-width:580px){.workspace{display:flex;flex-direction:column}aside{border:0}.steps{flex-wrap:wrap}.steps button{flex-basis:30%}.clock{display:none}}

#step1 fieldset label,.livecontrols label{display:inline-block;margin:5px} #step1 input[type=number]{width:65px} #step1 progress{width:130px;vertical-align:middle} #mu95{width:200px;image-rendering:pixelated;background:black} .livecontrols{margin:12px 0} #step1 .viewgrid canvas{width:100%;aspect-ratio:1;object-fit:contain} #step1 .viewgrid{margin-top:12px}

.windowcontrols95{display:grid;grid-template-columns:1fr 1fr;gap:10px}.windowcontrols95 input[type=range]{width:120px;vertical-align:middle}.windowcontrols95 p{font-size:12px}@media(max-width:850px){.windowcontrols95{grid-template-columns:1fr}}

.mprtrio95{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#808080}.mprtrio95 section{min-width:0;background:#c0c0c0}.mprtrio95 h4{margin:0;padding:4px;text-align:center;background:#000080;color:white}.mprtrio95 canvas{width:100%;aspect-ratio:1;display:block;background:black;image-rendering:pixelated}.historyrow95{margin:12px 0}.historyrow95 h3{margin:0}.historyrow95 select{max-width:80%}.mprcontrols95{display:flex;flex-wrap:wrap;gap:12px}.mprcontrols95 input{width:130px}.historytable95{width:100%;border-collapse:collapse;font-size:12px}.historytable95 td,.historytable95 th{border:1px solid #808080;padding:6px;text-align:left}

#helpPopup95{position:fixed;z-index:10000;width:320px;max-width:calc(100vw - 24px);box-sizing:border-box;background:#ffffdf;color:#000;border:1px solid #000;box-shadow:3px 3px #666;padding:10px;font-size:13px;line-height:1.4;pointer-events:none}#helpPopup95 strong{display:block;border-bottom:1px solid #808080;padding-bottom:4px}#helpPopup95 p{margin:6px 0 0}.historytable95 details{min-width:150px}.historytable95 details table{min-width:280px;font-size:11px}.historytable95 details p{max-width:400px;font-size:11px}

.learnMore95{font-size:11px;padding:2px 6px;margin:1px 4px 5px 0;min-height:0}#lessonDialog95{padding:3px;background:#c0c0c0;border:3px outset #eee;width:850px;max-width:94vw;max-height:90vh;box-sizing:border-box;color:black}#lessonDialog95::backdrop{background:#0006}#lessonDialog95 .titlebar{display:flex;justify-content:space-between;align-items:center}#lessonDialog95 .titlebar button{padding:0 7px}#lessonDialog95 .lessonNav95{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px;font-size:12px}#lessonTopic95{max-width:70vw}#lessonBody95{height:62vh;overflow:auto;background:#ffffef;border:2px inset #eee;padding:14px 24px;line-height:1.65;font-size:15px}#lessonBody95 h2{font-size:21px;color:#000080;margin:6px 0 16px}#lessonBody95 h3{font-size:16px;color:#000080;margin:22px 0 5px}#lessonBody95 p{margin:7px 0 12px}#lessonDialog95 footer{padding:8px;text-align:right}.lessonExercise95{border:1px solid #808080;padding:0 14px 12px;background:#e6edf7;margin:20px 0}#lessonBody95 details summary{cursor:pointer;text-decoration:underline}#lessonBody95 a{color:#000080}

/* Ayuda conceptual: acceso desde la ventanita, sin botones persistentes. */
#helpPopup95{pointer-events:auto;cursor:pointer}
#helpPopup95 a{display:block;margin-top:8px;color:#000080;text-decoration:underline;font-weight:bold}
#helpPopup95 a:focus{outline:2px dotted #000;outline-offset:3px}
.lessonComparison95{border:1px solid #808080;background:#e9eef7;padding:12px;margin:20px 0}
.phantomGrid95{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.phantomGrid95 figure{margin:0;min-width:0;text-align:center}
.phantomGrid95 img{width:100%;height:auto;background:#000;image-rendering:pixelated;border:1px solid #555;box-sizing:border-box}
.phantomGrid95 figcaption{font-weight:bold;line-height:1.35;padding-top:6px;font-size:13px}
@media(max-width:620px){.phantomGrid95{grid-template-columns:1fr}.phantomGrid95 img{max-width:256px}#lessonBody95{padding:12px}}
/* Vistas compactas: el tamaño visual no altera la matriz reconstruida. */
@media(min-width:900px){
 body{padding:4px 4px 40px;font-size:12px}
 .window{max-width:none;height:calc(100dvh - 44px);display:flex;flex-direction:column}
 .titlebar{padding:3px 6px}.menubar{padding:1px}.steps{padding:4px;gap:3px}
 button{padding:3px 7px;min-height:24px}.workspace{flex:1;min-height:0;grid-template-columns:235px minmax(0,1fr);padding:0 5px 4px;gap:7px}
 aside{padding-right:6px;overflow:auto;min-height:0}fieldset{padding:5px;margin-bottom:5px}label{margin:3px 0}label.indent{padding-left:15px}
 aside p{margin:4px 0;line-height:1.2}aside .pair{gap:10px}aside .pair input,aside .pair select{margin-top:1px}aside input[type=number]{padding:1px;width:58px}
 article{padding:2px;min-height:0;overflow:auto;position:relative}
 h1{font-size:17px;margin:2px 0 4px}h2{margin:4px 0}p{margin:4px 0;line-height:1.3}
 .actions{margin:3px 0}.statusbar span{padding:3px}.taskbar{padding:2px;height:34px}.task,.clock{padding:3px 8px}
 .mprcontrols95{gap:8px;align-items:center;flex-wrap:nowrap}.mprcontrols95 label{display:flex;align-items:center;gap:5px;min-width:0}.mprcontrols95 input{width:clamp(55px,8vw,125px)}
 .historyrow95{margin:3px 0;min-height:0}.historyrow95 h3{font-size:12px;display:flex;align-items:center;gap:6px}.historyrow95 select{min-width:0;max-width:75%;padding:1px}
 .mprtrio95{gap:2px}.mprtrio95 h4{font-size:11px;padding:2px}
 .mprtrio95 canvas{width:100%;height:clamp(64px,calc((100dvh - 390px)/2),240px);aspect-ratio:auto;object-fit:contain}
 .historyrow95>p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}
 #osemResult95>p{font-size:10px;margin:3px 0}
 #step2>p{font-size:11px;margin:2px 0}#step2 progress{width:100px}
 #step1 .viewgrid canvas{height:clamp(100px,30dvh,260px);object-fit:contain;aspect-ratio:auto}
 .empty{height:120px;margin-top:8px}
}
#historyDialog95{width:1000px;max-width:94vw;max-height:85dvh;padding:4px}
#historyDialog95 .historyContents95{overflow:auto;max-height:65dvh;padding:6px}
#historyDialog95 footer{text-align:right;padding:5px}
.compactNotes95{font-size:11px;margin:3px 0}.compactNotes95 summary{cursor:pointer;color:#000080}
@media(min-width:900px){.mprtrio95 canvas{height:var(--mpr-height95,100px)}}
.comparePair95{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.comparePair95 .historyrow95{border:2px outset #fff;padding:3px;min-width:0}
.comparePair95 canvas{display:block;width:100%;height:var(--mpr-height95,300px);object-fit:contain;background:#000;image-rendering:pixelated}
.panelControls95{display:flex;align-items:center;gap:8px;margin:3px 0}.panelControls95 label{display:flex;align-items:center;gap:4px;min-width:0}.panelControls95 label:last-child{flex:1}.panelControls95 input{width:100%;min-width:30px}.panelControls95 output{white-space:nowrap}
.workspace.sinLateral95{grid-template-columns:minmax(0,1fr)}
/* Tutorial de paratiroides: tercera columna del area de trabajo, solo cuando esta abierto. */
.workspace.conTutorial95{grid-template-columns:235px minmax(0,1fr) 330px}
.workspace.conTutorial95.sinLateral95{grid-template-columns:minmax(0,1fr) 330px}
@media(max-width:1200px){.workspace.conTutorial95{grid-template-columns:235px minmax(0,1fr) 270px}.workspace.conTutorial95.sinLateral95{grid-template-columns:minmax(0,1fr) 270px}}
.tutorial95{background:#c0c0c0;border:2px solid;border-color:#fff #404040 #404040 #fff;padding:6px 8px;overflow:auto;min-height:0;font-size:12px;line-height:1.45}
.tutorialCabecera95{display:flex;align-items:center;justify-content:space-between;gap:6px;background:linear-gradient(90deg,#000080,#1084d0);color:#fff;padding:4px 7px;margin:-6px -8px 8px;font-weight:bold}
.tutorialMini95{padding:1px 6px;min-height:0;font-size:11px}
.tutorialTitulo95{font-weight:bold;margin:4px 0 2px}
.tutorialResumen95{margin:0 0 8px;color:#333}
.tutorial95 details{margin:6px 0;border:1px solid #808080;background:#dcdcdc;padding:4px 7px}
.tutorial95 summary{cursor:pointer;color:navy;font-weight:bold}
.tutorial95 h4{margin:8px 0 2px;font-size:12px}
.tutorial95 ul{padding-left:16px;margin:4px 0}
.tutorialNota95{font-size:11px;color:#333;border-left:3px solid #808080;padding-left:7px;margin:8px 0}
.tutorialFases95{display:flex;gap:4px;margin:8px 0 4px}
.tutorialFases95 button{flex:1;padding:4px 6px;min-height:0}
.tutorialFases95 button[aria-pressed=true]{font-weight:bold;background:#fff;border-color:#404040 #fff #fff #404040;box-shadow:none}
.tutorialPasos95{list-style:none;padding:0;margin:4px 0}
.tutorialPasos95 li{padding:4px 6px;margin:2px 0;color:#444}
.tutorialPasos95 li.hecho{color:#006400}
.tutorialPasos95 li.actual{background:#fff;border:2px solid;border-color:#808080 #fff #fff #808080;color:#000;font-weight:bold}
.tutorialPasos95 li.actual p{font-weight:normal;margin:6px 0 0}
.tutorialProblema95{color:#8b0000!important;border-left:3px solid #c00;padding-left:7px}
.tutorialPreguntas95 ol{padding-left:18px;margin:4px 0}.tutorialPreguntas95 li{margin:4px 0}
.tutorialDetalle95{font-weight:normal;color:#004000;font-size:11px;margin:3px 0 0;border-left:3px solid #006400;padding-left:7px}
.tutorialBotones95{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.tutorialBotones95 button{font-weight:normal;padding:3px 8px;min-height:0}
.tutorialCasos95{display:flex;flex-direction:column;gap:5px;margin:8px 0}
.tutorialCasos95 button{display:flex;gap:8px;align-items:baseline;text-align:left;padding:6px 8px}
.tutorialCasos95 button span{font-weight:normal;font-size:11px}
.tutorialCierre95{margin-top:10px;padding:6px 8px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:#d4d0c8}
.tutorialCierre95 button,.tutorialEnlace95{display:block;width:100%;margin:6px 0;text-align:center}
.tutorialEnlace95{background:#000080;color:#fff;padding:6px 4px;text-decoration:none;font-weight:bold;font-size:12px;border:2px solid;border-color:#fff #404040 #404040 #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* El control que toca usar ahora. */
.tutorialResaltado95{outline:3px solid #ff00ff;outline-offset:2px;animation:tutorialLatido95 1.4s ease-in-out infinite}
@keyframes tutorialLatido95{0%,100%{outline-color:#ff00ff}50%{outline-color:#800080}}
/* label{display:block} de la hoja gana, por origen, al [hidden] del navegador: sin esto las
   etiquetas marcadas como ocultas se seguirian viendo. */
[hidden]{display:none!important}
.oculto95{display:none}
.nudge95{display:inline-flex;align-items:center;gap:4px;margin:4px 14px 4px 0}
.nudge95 span{min-width:12px;font-weight:bold}
.nudge95 button{min-width:30px;padding:2px 6px;font-weight:bold}
.nudge95 output{min-width:52px;text-align:center;font-variant-numeric:tabular-nums;border:1px inset #dfdfdf;padding:2px 4px;background:#fff}
.compareToolbar95{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.compareToolbar95 label{display:flex;gap:8px;align-items:center}.compareToolbar95 input[type=range]{width:150px}
@media(max-width:650px){.comparePair95{grid-template-columns:1fr}}
.helpName95{cursor:help}.helpName95:hover{text-decoration:underline;text-decoration-style:dotted}.helpName95:focus-visible{outline:1px dotted #000;outline-offset:2px}
#helpPopup95{pointer-events:none;cursor:default}#helpPopup95 .helpHint95{font-weight:bold;margin-top:8px;color:#000080}
/* Tutorial cardiaco: control de calidad de proyecciones y bloque de gatillado. Solo se muestran
   con ese tutorial abierto; las clases no tocan el resto de la interfaz. */
.qc95,.gated95{margin:10px 0}
.qcgrid95{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}
.gated95 .qcgrid95{grid-template-columns:repeat(2,minmax(0,1fr))}
.qcgrid95 canvas{width:100%;aspect-ratio:1;image-rendering:pixelated;background:#000;display:block}
.qcgrid95 canvas#qcSino95,.qcgrid95 canvas#qcLino95{aspect-ratio:1}
.qcgrid95 input[type=range]{width:100%}
.fila95{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:6px 0}
.fila95 label{display:inline-flex;align-items:center;gap:4px;margin:0}
.fila95 input[type=range]{flex:1;min-width:80px}
.fila95 input[type=number]{width:60px}
.fila95 p{margin:0;flex-basis:100%}
.qcgrid95 .imagewindow p{min-height:0}
@media(max-width:1100px){.qcgrid95{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tutorialTabla95{border-collapse:collapse;font-size:11px;width:100%;margin:4px 0}.tutorialTabla95 td,.tutorialTabla95 th{border:1px solid #808080;padding:2px 4px;text-align:right}.tutorialTabla95 th{background:#dcdcdc}.tutorialTabla95 td:first-child{text-align:left}
