.climate-with-map .jc-header{grid-template-columns:minmax(0,1fr) 110px;gap:24px;margin:8px 0 14px;}
.climate-with-map .jc-header h1{font-size:clamp(26px,2.3vw,32px);max-width:38ch;margin:0 0 10px;}
.climate-with-map .jc-header img{width:110px;height:110px;}
.climate-with-map .jc-deck{display:none;}
.climate-with-map .jc-author{font-size:14px;margin:0 0 4px;}
.climate-with-map .jc-meta{font-size:14px;}
.climate-with-map .jc-purpose{background:none;border-left:0;padding:0;margin-bottom:0;}
.climate-with-map .jc-purpose>p:last-child{padding:8px 0 16px;font-size:16px;max-width:90ch;}
.climate-with-map .jc-course-info{margin-top:0;border-top:0;}
.climate-with-map .jc-workspace{display:block;margin:20px 0 30px;}
.climate-with-map .jc-syllabus{position:static;margin:0 0 22px;}
.climate-with-map .jc-syllabus>.eyebrow,.climate-with-map .jc-syllabus>h2,.climate-with-map .jc-syllabus>.jc-small,.climate-with-map .jc-route-note{display:none;}
.climate-with-map .jc-desktop-lessons{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;}
.climate-with-map .jc-desktop-lessons button{min-height:72px;padding:12px;gap:10px;}
.climate-with-map .jc-desktop-lessons strong{font-size:15px;}
.climate-with-map .jc-desktop-lessons small{font-size:13px;margin-top:5px;}
.climate-with-map .jc-current{display:none;}
.climate-with-map .jc-lesson-heading h2{font-size:28px;margin:0 0 8px;}
.climate-with-map .jc-lesson-heading>p:last-child{margin-bottom:20px;font-size:15px;}
.climate-with-map .jc-lesson-heading .eyebrow{margin-bottom:6px;}
.jc-has-network .jc-media-pair{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:22px;align-items:start;}
.jc-player-side{min-width:0;}
.jc-has-network .jc-video{margin-top:0;}
.climate-with-map .jc-video-info{margin:12px 0;}
.climate-with-map .jc-video-info p{font-size:14px;}
.climate-with-map .jc-video-info h3{font-size:18px;}
.climate-with-map .jc-chapters{grid-template-columns:1fr;}
.climate-with-map .jc-step-nav{margin:4px 0;}
.jc-study-notes{max-width:880px;margin:20px auto 0;}
.jc-has-network .jc-study-notes{padding-top:16px;border-top:1px solid #d4dce8;}
.jc-network{min-width:0;border:0;border-radius:0;padding:0;background:transparent;}
.cm-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.climate-with-map .cm-heading h3{font-size:22px;margin:0;}
.climate-with-map .cm-heading .eyebrow{font-size:12px;margin:0 0 4px;}
.cm-sync-status{font-size:12px;line-height:1.35;color:#455570;text-align:right;max-width:125px;}
.cm-legend{display:flex;gap:6px 14px;flex-wrap:wrap;margin:14px 0 4px;}
.cm-legend>span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#455570;}
.cm-legend i{display:block;width:9px;height:9px;border-radius:50%;background:var(--node-color);}
.cm-stage{position:relative;width:100%;max-width:100%;min-width:0;aspect-ratio:720/620;min-height:345px;overflow:visible;background:transparent;border:0;border-radius:0;}
.cm-graph{width:100%;max-width:100%;height:100%;display:block;overflow:visible;touch-action:pan-y;cursor:grab;outline:none;}
.cm-edges path{stroke:#b9c7da;stroke-width:1.7;}
.cm-hit{fill:white;fill-opacity:0;stroke:transparent;stroke-width:1.5;}
.cm-halo{fill:var(--node-color);opacity:.14;}
.cm-dot{fill:var(--node-color);stroke:white;stroke-width:2;}
.cm-label{font:600 12.5px/1.3 'DM Sans',sans-serif;fill:#19345c;pointer-events:none;stroke:none;}
.cm-nodes>g{cursor:grab;outline:none;}
.cm-nodes>g:hover .cm-hit,.cm-nodes>g:focus-visible .cm-hit,.cm-nodes>g[aria-pressed=true] .cm-hit{stroke:var(--node-color);fill:#fff;fill-opacity:1;}
.cm-nodes>g:focus-visible .cm-hit{stroke-width:3px;}
.cm-latest .cm-halo{opacity:.3;}
.cm-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:30px;color:#455570;}
.cm-empty>span{font-size:50px;color:#a48aca;}
.cm-empty>strong{font-family:'Fraunces',serif;font-size:25px;color:#132951;}
.cm-empty p{font-size:14px;max-width:28ch!important;}
.cm-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #d4dce8;padding:6px 0 10px;}
.cm-progress{font-size:13px;color:#455570;margin:0;}
.cm-tools>div[role=group]{display:flex;gap:5px;}
.cm-rate{font-size:12px;color:#455570;}
.climate-with-map .jc-course-info{border-top:1px solid #d4dce8;}
.jc-map-goal{font-size:16px;max-width:85ch!important;}
.climate-with-map .cm-tools button{width:44px;height:44px;border:1px solid #d4dce8;border-radius:5px;background:white;font-size:21px;}
.cm-current{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.cm-detail{padding:8px 0 0;min-height:0;}
.climate-with-map .cm-detail h4{font-size:20px;margin:7px 0;}
.cm-detail p{font-size:14px;line-height:1.5;margin:8px 0;}
.cm-detail a{font-size:14px;font-weight:700;display:inline-flex;align-items:center;min-height:44px;}
.cm-detail-meta{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;font-size:12px!important;color:#455570;}
.cm-detail-meta>span:first-child{border-left:4px solid var(--node-color);padding-left:7px;font-weight:700;color:#132951;}
.cm-relation{color:#455570;}
.climate-with-map .cm-follow{background:none;border:0;padding:8px 0;min-height:44px;text-decoration:underline;font-size:14px;}
.cm-text-list{display:grid;gap:6px;}
.climate-with-map .cm-text-list button{text-align:left;border:1px solid #d4dce8;background:white;border-radius:4px;padding:9px 12px;min-height:48px;}
.cm-text-list span{display:block;font-size:12px;color:#455570;}
.cm-text-list strong{font-size:14px;}
.climate-with-map .cm-text summary{font-size:14px;}
.cm-note{font-size:12px;color:#455570;line-height:1.5;margin:6px 0;}
@media(max-width:1100px){.jc-has-network .jc-media-pair{gap:20px;}}
@media(max-width:900px){.jc-has-network .jc-media-pair{display:flex;flex-direction:column;gap:16px;}.jc-player-side,.jc-network{width:100%;}.climate-with-map .jc-desktop-lessons{display:none;}.climate-with-map .jc-mobile-picker{display:block;}.climate-with-map .jc-header{grid-template-columns:minmax(0,1fr);}.climate-with-map .jc-header img{display:none;}.cm-graph{height:100%;}.jc-has-network .jc-study-notes{margin-top:24px;}}
@media(max-width:520px){.climate-with-map .jc-header h1{font-size:28px;}.climate-with-map .jc-lesson-heading h2{font-size:25px;}.cm-heading{display:block;}.cm-sync-status{display:block;max-width:none;text-align:left;margin-top:6px;}.cm-stage{aspect-ratio:auto;height:390px;min-height:390px;}.cm-hit{fill-opacity:0;}.cm-legend{gap:6px 10px;}.climate-with-map .cm-heading h3{font-size:23px;}.cm-detail{min-height:0;}.cm-tools button{flex-shrink:0;}.cm-progress{font-size:12px;}.cm-empty{padding:20px;}}

.jc-speed{display:flex;align-items:center;gap:10px;font-size:14px;margin:10px 0 0;}.jc-speed select{min-height:44px;border:1px solid #d4dce8;background:white;border-radius:4px;padding:7px 26px 7px 10px;font-size:14px;}
@media(max-width:520px){.cm-detail-meta,.cm-note,.cm-sync-status,.cm-text-list span,.cm-rate{font-size:14px!important;}}

/* Esfera compacta: el foco conserva su rótulo; cada punto abre su ficha. */
.cm-sphere{fill:none;stroke:#a9bccf;stroke-width:1;opacity:.32;pointer-events:none;}
.cm-sphere-shell{fill:url(#cm-sphere-light);stroke:#c1d5df;stroke-width:1;}

.cm-heading>.cm-sync-status{max-width:106px;}
.cm-date{font-size:13px;color:#455570;}
@media(max-width:900px){.cm-heading>.cm-sync-status{max-width:none;}}

.cm-dialog{width:min(500px,calc(100vw - 32px));max-height:75vh;overflow:auto;padding:24px;border:1px solid #d4dce8;border-radius:12px;background:#fff;color:#132951;box-shadow:0 20px 80px #13295133;}
.cm-dialog::backdrop{background:#13295145;}
.climate-with-map .cm-close{float:right;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#eef4fa;color:#132951;font-size:26px;}
.cm-dialog .cm-detail{clear:both;}

/* Red abierta con proyección en profundidad y etiquetas persistentes. */
.cm-heading .cm-sync-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);}
/* Rótulos medidos en píxeles, sin reducirse al estrechar la columna. */
.cm-graph{touch-action:pan-y;}
.cm-edges path{stroke:#aebcd0;stroke-width:1.1;}
.cm-edges .cm-active-edge{stroke:#688cba;stroke-width:1.5;}
.cm-node-hit{fill:transparent;stroke:none;}
.cm-label-bg{fill:#f8fbff;fill-opacity:.86;stroke:transparent;stroke-width:1;}
.cm-label-leader{stroke:#c0ccdb;stroke-width:.6;pointer-events:none;}
.cm-label{font-family:'DM Sans',sans-serif;font-weight:600;fill:#19345c;stroke:none;pointer-events:none;}
.cm-nodes>g[aria-pressed=true] .cm-label-bg,.cm-nodes>g:hover .cm-label-bg,.cm-nodes>g:focus-visible .cm-label-bg{fill:#fff;stroke:var(--node-color);}
.cm-nodes>g[aria-pressed=true] .cm-halo{opacity:.27;}
.cm-key-square{border-radius:2px!important;}
.cm-key-diamond{border-radius:1px!important;transform:rotate(45deg);}
.cm-key-triangle{border-radius:0!important;clip-path:polygon(50% 0,100% 100%,0 100%);}
.cm-key-ring{background:transparent!important;border:2px solid var(--node-color);}
.cm-nodes>g{animation:none;}
.cm-legend{gap:6px 10px;margin:10px 0 4px;}
.cm-legend>span{font-size:12px;}
.cm-empty strong{font-size:22px;}
.cm-empty p{font-size:13px;}

.cm-edges .cm-instructor-link{stroke:#b3c2d6;stroke-width:.8;opacity:.48;}
.cm-instructor-initials{font:700 12px "DM Sans",sans-serif;fill:#fff;pointer-events:none;}
.cm-nodes>g[data-cm-node="l1-oscar"] .cm-halo{opacity:.08;}
/* Red integrada al lienzo: sin tarjeta exterior ni cajas en los rótulos. */
.cm-heading{padding:0 3px;}
.cm-legend{margin:8px 3px 0;}
.cm-label-bg{fill:white;fill-opacity:.68;stroke:none;}
.cm-nodes>g[aria-pressed=true] .cm-label-bg,.cm-nodes>g:hover .cm-label-bg,.cm-nodes>g:focus-visible .cm-label-bg{fill:white;fill-opacity:.9;stroke:none;}
.cm-nodes>g.cm-interaction-active .cm-label{fill:var(--node-color);font-weight:700;}
.cm-label-leader{opacity:.45;}
.cm-nodes>g:focus-visible .cm-node-hit{stroke:var(--node-color);stroke-width:1.5;}
.cm-edges path{stroke-opacity:.55;}
.cm-edges .cm-instructor-link{stroke:#536e94;stroke-width:1;opacity:.25;}
.cm-halo{opacity:.11;}
.cm-dot{stroke:#fff;stroke-width:1;filter:drop-shadow(1px 2px 2px #13295130);}
.cm-graph:focus-visible{outline:none;}
.jc-has-network:has(.cm-graph:focus-visible) .cm-heading h3{text-decoration:underline;text-decoration-color:#855cc1;text-underline-offset:5px;}
.cm-edges path{stroke-opacity:.75;}

/* La idea cruza el espacio desde el video; el reloj del video gobierna toda la entrada. */
.cm-arrivals{pointer-events:none;}
.cm-arrival-trail{stroke-linecap:round;}
.cm-nodes>.cm-enter{animation:none;}

/* Las categorías vacías no ocupan la leyenda. Las fechas quedan asociadas a su contexto. */
.cm-key-capsule{width:13px!important;border-radius:8px!important;}
.cm-key-pin{clip-path:polygon(50% 100%,0 35%,15% 5%,85% 5%,100% 35%);}
.cm-key-chevron{clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%);}
.cm-key-hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);}
.cm-facet,.cm-evidence{font-size:13px;line-height:1.55;color:#52627a;}
.cm-evidence-link{display:inline-block;margin:4px 0 8px;}
.cm-dense .cm-stage{aspect-ratio:auto;height:var(--cm-scene-height,380px);min-height:0;max-height:none;}


/* La red gana ancho con un reparto 60/40, sin aumentar su altura de lectura.
   La clave queda arriba a la derecha y no resta una columna al lienzo. */
.cm-category-key{display:flex;flex-direction:column;align-items:flex-end;width:100%;margin:12px 0 6px;padding:0 3px;box-sizing:border-box;}
.cm-category-title{margin:0 0 6px;font-size:11px;font-weight:700;line-height:1.35;letter-spacing:.045em;color:#52627a;text-align:right;}
.cm-category-key .cm-legend{justify-content:flex-end;gap:7px 12px;max-width:100%;margin:0;}
.cm-category-key .cm-legend>span{line-height:1.35;white-space:nowrap;}
.cm-key-rounded-rect{width:12px!important;height:9px!important;border-radius:3px!important;}
.cm-key-method-square{position:relative;width:10px!important;height:10px!important;border-radius:1px!important;background:transparent!important;border:1.5px solid var(--node-color);box-sizing:border-box;}
.cm-key-method-square::after{content:"";position:absolute;inset:2px;border:1px solid var(--node-color);border-radius:0;}
/* Se ilumina el cuerpo, nunca el texto: arrastrar no degrada los rótulos. */
.cm-nodes>g:hover .cm-dot,.cm-nodes>g:focus-visible .cm-dot{filter:drop-shadow(0 0 3px #31578342);}
.cm-node-dragging,.cm-node-dragging *{cursor:grabbing!important;}
.cm-node-dragging .cm-halo{opacity:.28;}
.cm-node-dragging .cm-dot{filter:drop-shadow(0 0 4px #31578355);}
.cm-node-dragging .cm-label{font-weight:700;}
@media(max-width:520px){.cm-category-key{margin-top:10px;}.cm-category-key .cm-legend{gap:7px 10px;}.cm-category-key .cm-legend>span{font-size:12px;}}

/* Dos cabeceras comparten fila; el lienzo comienza a la altura del video. */
.jc-has-network .jc-lesson-heading{grid-column:1;grid-row:1;}
.jc-has-network .jc-network-heading{grid-column:2;grid-row:1;padding-top:25px;min-width:0;}
.jc-has-network .jc-player-side{grid-column:1;grid-row:2;}
.jc-has-network .jc-network{grid-column:2;grid-row:2;}
.jc-has-network .jc-media-pair{column-gap:22px;row-gap:16px;}
.climate-with-map .jc-has-network .jc-lesson-heading>p:last-child{margin-bottom:0;}
.jc-network-heading .cm-category-key{margin:8px 0 0;}
.jc-network-heading .cm-category-title{margin-bottom:5px;}
@media(max-width:900px){
  .jc-has-network .jc-lesson-heading{order:0;}
  .jc-has-network .jc-player-side{order:1;}
  .jc-has-network .jc-network-heading{order:2;width:100%;padding-top:0;}
  .jc-has-network .jc-network{order:3;}
  .jc-has-network .jc-media-pair{gap:16px;}
}

/* Navegación compacta en el extremo derecho de los controles del video. */
.jc-player-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;position:relative;z-index:4;}
.jc-player-controls .jc-speed{margin:0;}
.climate-with-map .jc-chapter-menu{position:relative;flex:0 1 auto;max-width:100%;margin:0 0 0 auto;padding:0;border:1px solid #d4dce8;border-radius:5px;background:white;}
.climate-with-map .jc-chapter-menu[open]{padding:0;}
.climate-with-map .jc-chapter-menu>summary{min-height:44px;padding:11px 12px;font-size:13px;line-height:20px;white-space:nowrap;}
.jc-chapter-menu .jc-chapters{position:absolute;z-index:6;top:calc(100% + 8px);right:0;width:min(350px,calc(100vw - 50px));max-height:min(390px,60vh);overflow-y:auto;padding:8px;border:1px solid #d4dce8;border-radius:8px;background:white;box-shadow:0 12px 32px #19345c20;gap:4px;}
.jc-chapter-menu .jc-chapters button{font-size:13px;align-items:baseline;line-height:1.4;background:transparent;}
.jc-chapter-menu .jc-chapters button:hover,.jc-chapter-menu .jc-chapters button:focus-visible{background:#eef3fc;}
@media(max-width:420px){.jc-player-controls{gap:7px;}.jc-player-controls .jc-speed{gap:5px;font-size:12px;}.jc-player-controls .jc-speed select{font-size:12px;padding-right:18px;}.climate-with-map .jc-chapter-menu>summary{padding-inline:8px;font-size:12px;}}

/* Arrastrar explora la red sin activar la selección nativa de sus rótulos. */
.cm-graph,.cm-graph *{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;}
.cm-nodes>g:not(.cm-interaction-active) .cm-label{fill:#19345c;font-weight:600;}
.cm-nodes>g:not(.cm-interaction-active) .cm-halo{opacity:.11;}
.cm-nodes>g.cm-interaction-active .cm-halo{opacity:.27;}

/* Los nombres no recortan los halos: área táctil transparente y línea exterior. */
.cm-nodes>g .cm-label-bg,.cm-nodes>g[aria-pressed=true] .cm-label-bg,.cm-nodes>g:hover .cm-label-bg,.cm-nodes>g:focus-visible .cm-label-bg{fill:transparent;fill-opacity:0;stroke:none;}

/* Accesos breves: controles juntos y capítulos desplegados sobre el video. */
.climate-with-map .jc-desktop-lessons button{min-height:56px;align-items:center;}
.jc-player-controls{justify-content:flex-start;}
.climate-with-map .jc-chapter-menu{margin-left:0;}
.jc-chapter-menu .jc-chapters{top:auto;bottom:calc(100% + 8px);left:0;right:auto;}
.climate-with-map .jc-chapter-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;}
.jc-chapter-menu>summary::-webkit-details-marker{display:none;}
.jc-chapter-menu>summary::after{content:"⌃";font-size:16px;line-height:1;}
.jc-chapter-menu[open]>summary::after{transform:rotate(180deg);}
@media(max-width:520px){.jc-chapter-menu .jc-chapters{left:auto;right:0;}}
@media(max-width:360px){.jc-player-controls{flex-wrap:wrap;}.jc-chapter-menu .jc-chapters{left:0;right:auto;}}

/* Salidas breves y decorativas; sólo el grupo actual permite interacción. */
.cm-outgoing,.cm-outgoing *{pointer-events:none!important;}

/* Dos lecturas del mismo modelo: el listado ocupa exactamente el lienzo. */
.cm-stage{height:var(--cm-scene-height,380px);aspect-ratio:auto;min-height:0;}
.cm-heading{align-items:center;}
.climate-with-map .cm-view-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:36px;padding:6px 10px;border:1px solid #c8d4e4;border-radius:18px;background:#fff;color:#19345c;font:600 12px/1.2 'DM Sans',sans-serif;cursor:pointer;}
.climate-with-map .cm-view-toggle:hover{background:#f0f5fc;border-color:#8ea4c4;}
.climate-with-map .cm-view-toggle:focus-visible{outline:2px solid #245fe2;outline-offset:3px;}
.cm-view-icon{font-size:18px;line-height:1;}
.cm-list-mode .cm-graph{opacity:0;pointer-events:none;}
.cm-list-mode .cm-empty{display:none;}
.cm-category-list{position:absolute;inset:0;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9daec7 transparent;padding:4px 12px 20px 3px;background:#fff;outline:none;}
.cm-category-list[hidden]{display:none;}
.cm-category-list:focus-visible{outline:2px solid #245fe2;outline-offset:-2px;}
.cm-list-group{margin:0 0 24px;}
.climate-with-map .cm-list-group h4{margin:0 0 8px;padding:8px 0;font:700 15px/1.4 'DM Sans',sans-serif;color:#19345c;border-bottom:2px solid var(--node-color);}
.cm-list-group ul{list-style:none;padding:0;margin:0;}
.cm-list-group li{margin:0;padding:0;}
.climate-with-map .cm-list-group button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 8px;text-align:left;border:0;border-bottom:1px solid #e6ecf4;border-radius:4px;background:transparent;color:#19345c;font:500 15px/1.45 'DM Sans',sans-serif;cursor:pointer;}
.cm-list-group button:hover,.cm-list-group button:focus-visible{background:#f0f5fc;}
.cm-list-group button:focus-visible{outline:2px solid #245fe2;outline-offset:-2px;}
.cm-list-group i{display:block;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--node-color);}
.cm-list-name{flex:1;min-width:0;overflow-wrap:anywhere;}
.cm-list-arrow{color:#6b809c;}
.cm-list-empty{font-size:15px;line-height:1.6;color:#52627a;padding:20px 8px;}

/* Hero 21: cámara, índice y fichas dentro del mismo espacio de aprendizaje. */
.cm-heading{flex-wrap:wrap;justify-content:flex-end;gap:6px;}
.climate-with-map .cm-heading h3{flex:1 1 100%;font-size:22px;}
.climate-with-map .cm-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid #c8d4e4;border-radius:50%;background:white;color:#19345c;font-size:20px;cursor:pointer;}
.cm-icon-button[aria-pressed=true]{background:#e9f0fb;border-color:#245fe2;}
.cm-icon-button:focus-visible,.cm-reset-view:focus-visible,.cm-selection button:focus-visible,.cm-detail-bar button:focus-visible{outline:2px solid #245fe2;outline-offset:2px;}
.cm-stage [hidden]{display:none!important;}
.cm-detail-mode .cm-graph{opacity:0;pointer-events:none;}
.cm-detail-mode .cm-empty,.cm-detail-mode .cm-category-list{visibility:hidden;}
.cm-list-toolbar{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(0,1.3fr);gap:8px;padding:2px 0 10px;}
.cm-list-toolbar input,.cm-list-toolbar select{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid #c8d4e4;border-radius:6px;background:white;color:#19345c;font:14px 'DM Sans',sans-serif;}
.cm-category-list{display:flex;flex-direction:column;overflow:hidden;padding:3px;}
.cm-list-results{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:10px;flex:1;}
.cm-list-count{margin:0 0 10px;font-size:12px;color:#52627a;}
.cm-list-name small{display:block;font-size:11px;color:#6b809c;margin-top:3px;}
.climate-with-map .cm-reset-view{position:absolute;top:0;left:0;z-index:2;min-height:34px;padding:6px 10px;border:1px solid #c8d4e4;background:#fffffff5;border-radius:18px;font:600 12px 'DM Sans',sans-serif;color:#19345c;cursor:pointer;}
.cm-selection{position:absolute;bottom:0;inset-inline:0;display:flex;align-items:center;gap:10px;padding:12px 10px;background:#fffffff7;border-top:1px solid #d4dce8;box-sizing:border-box;z-index:2;}
.cm-selection-copy{flex:1;min-width:0;}
.cm-selection-copy span{display:block;font-size:11px;margin-bottom:3px;}
.cm-selection-copy strong{display:block;font-size:14px;line-height:1.4;}
.climate-with-map .cm-selection button{flex-shrink:0;min-height:36px;padding:7px 10px;border:1px solid #c8d4e4;border-radius:6px;background:white;color:#19345c;font:600 12px 'DM Sans',sans-serif;cursor:pointer;}
.climate-with-map .cm-selection .cm-clear-selection{font-size:20px;border:0;padding:4px;min-width:30px;}
.cm-detail-panel{position:absolute;inset:0;display:flex;flex-direction:column;background:white;z-index:3;padding:0 3px;}
.cm-detail-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #d4dce8;padding-bottom:10px;}
.climate-with-map .cm-detail-bar button{float:none;border:1px solid #c8d4e4;border-radius:6px;padding:8px 12px;min-height:38px;font:600 13px 'DM Sans',sans-serif;background:white;color:#19345c;cursor:pointer;}
.cm-detail-panel .cm-detail{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:12px;}
.cm-detail-panel .cm-detail h4{font-size:22px;}
.cm-detail-panel .cm-detail p{font-size:15px;}
.cm-edges .cm-active-edge{stroke-width:2;stroke-opacity:1;}
.jc-has-network .jc-media-pair.cm-expanded{position:fixed;inset:12px;z-index:10000;background:#fff;border-radius:12px;box-shadow:0 0 0 20px #eef2f8,0 10px 70px #13295130;padding:22px;display:grid;grid-template-columns:minmax(240px,28%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px 28px;overflow:auto;align-items:start;}
.cm-expanded .jc-network-heading{padding-top:0;}
.climate-with-map .cm-expanded .cm-heading h3{flex:1 1 auto;font-size:26px;}
.climate-with-map .cm-expanded .jc-lesson-heading h2{font-size:25px;}
.climate-with-map .cm-expanded .jc-lesson-heading>p:last-child{font-size:13px;}
.cm-expanded .jc-player-controls{flex-wrap:wrap;}
.cm-expanded .cm-stage{min-height:340px;}
.cm-expanded .cm-category-key{margin-top:12px;}
@media(min-width:1600px){.climate-with-map .cm-heading h3{flex:1 1 auto;}}
@media(max-width:700px){.jc-has-network .jc-media-pair.cm-expanded{inset:4px;padding:14px;display:flex;}.cm-expanded .jc-player-side{max-width:420px;}.cm-list-toolbar{grid-template-columns:1fr;}.cm-selection{gap:5px;}.cm-selection-copy strong{font-size:12px;}}

.climate-with-map .cm-heading h3{flex:1 1 auto;}
.cm-future-note{padding:8px 10px;background:#edf4fa;border-radius:6px;color:#52627a;}
.cm-list-mode .cm-reset-view,.cm-detail-mode .cm-reset-view{display:none;}

/* Contorno de cada letra: separa los vínculos del texto sin dibujar tarjetas. */
.cm-nodes>g .cm-label{paint-order:stroke fill;stroke:#fff;stroke-width:3px;stroke-linejoin:round;}
@media(max-width:1200px){.climate-with-map .jc-media-pair:not(.cm-expanded) .cm-heading h3{flex-basis:100%;}}

/* Un grupo a la vez: selector fijo y desplazamiento sólo de la categoría elegida. */
.cm-category-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:0 0 12px;flex-shrink:0;}
.climate-with-map .cm-category-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #d4dce8;border-radius:18px;background:#fff;color:#19345c;font:600 12px/1.2 'DM Sans',sans-serif;cursor:pointer;}
.cm-category-tabs button i{display:block;width:9px;height:9px;border-radius:50%;background:var(--node-color);flex-shrink:0;}
.cm-category-tabs button small{font-size:11px;color:#52627a;}
.climate-with-map .cm-category-tabs button[aria-pressed=true]{background:#eef3fc;border-color:var(--node-color);box-shadow:inset 0 -2px var(--node-color);}
.cm-category-tabs button:focus-visible{outline:2px solid #245fe2;outline-offset:2px;}
.cm-category-tabs button:hover{background:#f1f5fb;}
.cm-list-toolbar,.cm-list-count{flex-shrink:0;}

/* hero-24: lentes exclusivas de la experiencia ampliada. */
.cm-visualizations[hidden]{display:none!important;}
.cm-visualizations{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;}
.cm-lenses{display:inline-flex;gap:3px;background:#edf2f8;border-radius:24px;padding:4px;}
.climate-with-map .cm-lenses button,.climate-with-map .cm-gesture-start{min-height:34px;padding:7px 15px;border:0;border-radius:20px;background:transparent;color:#365175;font:600 12px/1.3 'DM Sans',sans-serif;cursor:pointer;}
.climate-with-map .cm-lenses button[aria-pressed=true]{background:#17365b;color:#fff;box-shadow:0 2px 6px #17365b24;}
.climate-with-map .cm-gesture-start{border:1px solid #d0dcea;background:white;}
.cm-gesture-start[hidden]{display:none!important;}
.cm-lenses button:focus-visible,.cm-gesture-start:focus-visible,.cm-cloud-word:focus-visible,.cm-space-label:focus-visible{outline:2px solid #2862ed;outline-offset:3px;}
.cm-alt-mode .cm-graph{visibility:hidden;pointer-events:none;}
.cm-alt-mode .cm-empty,.cm-alt-mode .cm-reset-view{display:none!important;}
.cm-alternative{position:absolute;inset:0;isolation:isolate;}
.cm-cloud,.cm-space{position:absolute;inset:0;overflow:hidden;}
.cm-cloud{bottom:80px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c2cde1 transparent;overscroll-behavior:contain;}
.cm-cloud-field{position:relative;width:100%;}
.cm-cloud-word,.cm-space-label{position:absolute;top:0;left:0;box-sizing:border-box;cursor:pointer;}
.climate-with-map .cm-cloud-word{border:0;border-radius:7px;background:transparent;padding:3px 5px;color:var(--node-color);font:650 20px/1.25 'DM Sans',sans-serif;text-align:center;white-space:normal;display:flex;align-items:center;gap:8px;user-select:none;will-change:transform;}
.climate-with-map .cm-cloud-word[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px;}
.climate-with-map .cm-cloud-word:hover{text-decoration:underline;text-underline-offset:5px;}
.cm-lens-hint{position:absolute;bottom:7px;left:15px;right:15px;text-align:center;font:11px/1.4 'DM Sans',sans-serif;color:#6a7f99;margin:0;pointer-events:none;}
.cm-space canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;}
.cm-space-labels{position:absolute;inset:0;pointer-events:none;}
.climate-with-map .cm-space-label{pointer-events:auto;max-width:160px;border:0;background:transparent;color:#19345c;font:600 14px/1.3 'DM Sans',sans-serif;text-align:center;padding:3px 6px;text-shadow:0 1px 2px white,1px 0 2px white,-1px 0 2px white,0 -1px 2px white;user-select:none;}
.climate-with-map .cm-space-label:hover,.climate-with-map .cm-space-label[aria-pressed=true]{color:var(--node-color);background:#ffffffd9;border-radius:6px;}
.cm-space-home{position:absolute;left:8px;top:8px;padding:7px 12px;background:#ffffffdc;color:#19345c;border:1px solid #d4dfef;border-radius:20px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;}
.cm-alt-message{position:absolute;left:15%;right:15%;top:36%;text-align:center;padding:20px;background:#ffffffed;color:#526783;font:15px/1.6 'DM Sans',sans-serif;}
.cm-gesture-help{position:absolute;right:8px;bottom:40px;max-width:min(330px,calc(100% - 16px));background:#fffffff5;box-shadow:0 4px 24px #19345c18;border:1px solid #d5dfee;border-radius:10px;padding:0;color:#19345c;font:12px/1.5 'DM Sans',sans-serif;z-index:2;}
.cm-gesture-help>details{margin:0;padding:0;border:0;}
.cm-gesture-help summary{display:flex;align-items:center;gap:12px;list-style:none;padding:12px 15px;color:inherit;font:600 12px/1.5 'DM Sans',sans-serif;cursor:pointer;user-select:none;}
.cm-gesture-help summary::-webkit-details-marker{display:none;}
.cm-gesture-help summary::after{content:'';width:6px;height:6px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;transform:rotate(45deg);margin-top:4px;}
.cm-gesture-help details[open]>summary::after{transform:rotate(225deg);margin-top:-4px;}
.cm-gesture-help:has(.cm-gesture-stop:not([hidden])) summary{padding-right:92px;}
.cm-gesture-help .cm-gesture-stop{position:absolute;right:9px;top:7px;}
.cm-gesture-help [hidden]{display:none!important;}
.cm-gesture-help .cm-gesture-body{width:328px;max-width:100%;box-sizing:border-box;padding:0 15px 14px;}
.cm-gesture-help summary:focus-visible,.cm-gesture-help button:focus-visible{outline:2px solid #377aff;outline-offset:3px;}
.climate-with-map .cm-gesture-help :is(details,summary,.cm-gesture-body,p){color:inherit;}
.climate-with-map .cm-gesture-help>details{margin:0;padding:0;}

.cm-gesture-help button{border:1px solid #d5dfee;border-radius:15px;background:white;color:#19345c;font:600 12px 'DM Sans',sans-serif;padding:5px 10px;cursor:pointer;}
.cm-gesture-help p{font:12px/1.5 'DM Sans',sans-serif!important;margin:7px 0!important;}
.cm-gesture-help small{font-size:10px;color:#526783;}
.cm-hand-pointer{position:absolute;top:0;left:0;pointer-events:none;width:24px;height:24px;border:2px solid #215deb;border-radius:50%;margin:-12px;box-shadow:0 0 0 5px #215deb12;}
.cm-hand-pointer.is-target{background:#215deb45;box-shadow:0 0 0 calc(3px + var(--pinch,0)*9px) #215deb33;}
@media(max-width:1000px){.cm-lenses button{font-size:11px!important;padding:6px 10px!important;}}

.cm-alternative:not([hidden]){animation:cm-lens-in .22s ease-out;}
@keyframes cm-lens-in{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cm-alternative:not([hidden]){animation:none;}}

/* hero-26: no se cambia la rasterización de la fuente al pasar por un nodo. */
.cm-nodes>g .cm-label,.cm-nodes>g.cm-interaction-active .cm-label{font-weight:600;}
.cm-nodes>g .cm-dot,.cm-nodes>g:hover .cm-dot,.cm-nodes>g:focus-visible .cm-dot{filter:none;}
.cm-nodes>g .cm-halo{transition:opacity .18s ease;}
@media(prefers-reduced-motion:reduce){.cm-nodes>g .cm-halo{transition:none;}}

/* hero-27: espacio negro y palabras sin símbolos. */
.cm-alt-mode[data-visualization=space]:not(.cm-list-mode):not(.cm-detail-mode) .cm-stage,
[data-visualization=space] .cm-alternative,[data-visualization=space] .cm-space{background:#000;}
[data-visualization=space] .cm-alternative{border-radius:14px;overflow:hidden;}
.climate-with-map .cm-space-label{color:#f3f6ff;text-shadow:0 1px 3px #000,1px 0 3px #000,-1px 0 3px #000,0 -1px 3px #000;}
.climate-with-map .cm-space-label:hover,.climate-with-map .cm-space-label[aria-pressed=true]{color:#fff3a1;background:#141923e8;}
.climate-with-map .cm-space-home{background:#11151ee8;border-color:#46536b;color:#f3f6ff;}
[data-visualization=space] .cm-lens-hint{color:#b8c5dc;}
[data-visualization=space] .cm-alt-message{background:#11151ef0;color:#f3f6ff;}
[data-visualization=space] .cm-gesture-help{background:#10151cf5;border-color:#46536b;color:#f3f6ff;box-shadow:none;}
[data-visualization=space] .cm-gesture-help small{color:#bbc7dc;}
[data-visualization=space] .cm-gesture-help button{background:#1b2433;border-color:#596a87;color:#f3f6ff;}
.climate-with-map [data-visualization=space] .cm-selection{background:#080b11fa;border-color:#36435a;color:#f3f6ff;}
.climate-with-map [data-visualization=space] .cm-selection-copy span{color:#c3d3f5!important;}
.climate-with-map [data-visualization=space] .cm-selection button{background:#172131;border-color:#526887;color:#f3f6ff;}
[data-visualization=space] .cm-hand-pointer{border-color:#ffe16b;box-shadow:0 0 0 5px #ffe16b22;}
[data-visualization=space] .cm-hand-pointer.is-target{background:#ffe16b55;box-shadow:0 0 0 calc(3px + var(--pinch,0)*9px) #ffe16b33;}
