/* Estilo compartido de los resúmenes de Física I (UNED). No duplicar en cada tema. */
:root{
  --bg:#fbfaf6;--fg:#1c2230;--mut:#5d6675;--card:#fff;--bd:#dfe1e8;--acc:#2a56d3;
  --def:#e9effe;--def-b:#2a56d3;--thm:#fff4d9;--thm-b:#d59a00;--ex:#e8f6ec;--ex-b:#2c9a55;
  --warn:#fdeceb;--warn-b:#d24a3b;--tip:#f1ecfb;--tip-b:#7a4fd0;--intu:#e6f6f8;--intu-b:#1a8fa3;
  --U:#2a56d3;--A:#c9670a;--X:#1f8a4c;--E:#8a3fbf;--P:#6b7280;
  --serif:Georgia,'Iowan Old Style','Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
:root[data-theme="dark"]{
  --bg:#12151d;--fg:#e7eaf1;--mut:#9aa3b5;--card:#1a1e2b;--bd:#2d3346;--acc:#8fb0ff;
  --def:#1c2748;--def-b:#8fb0ff;--thm:#39311d;--thm-b:#f0b429;--ex:#173225;--ex-b:#4cc784;
  --warn:#3b2020;--warn-b:#ff8073;--tip:#2a2144;--tip-b:#b79bff;--intu:#15343b;--intu-b:#55cbdd;
  --U:#8fb0ff;--A:#ffa55a;--X:#5fd08b;--E:#d29bff;--P:#a0a7b4}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font:17.5px/1.7 var(--serif);-webkit-text-size-adjust:100%;overflow-x:clip}
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);font:14px var(--sans)}
.topbar .in{max-width:1180px;margin:0 auto;padding:8px 16px;display:flex;gap:14px;align-items:center;justify-content:space-between}
.topbar a{color:var(--acc);text-decoration:none}
.topbar button{font:inherit;background:none;border:1px solid var(--bd);color:var(--fg);border-radius:8px;padding:4px 10px;cursor:pointer}
.layout{max-width:1180px;margin:0 auto;padding:0 16px 90px;display:grid;grid-template-columns:230px minmax(0,760px);justify-content:center;gap:0 34px}
@media (min-width:1240px){.layout{max-width:1340px;grid-template-columns:230px minmax(0,760px) 190px}}
.side-toc{position:sticky;top:64px;align-self:start;max-height:calc(100vh - 80px);overflow:auto;font:14px/1.45 var(--sans);padding:24px 0}
.side-toc b{display:block;margin-bottom:6px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}
.side-toc a{display:block;padding:4px 8px;border-left:3px solid var(--bd);color:var(--mut);text-decoration:none}
.side-toc a:hover,.side-toc a.on{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent)}
main{grid-column:2;min-width:0}
header.hero{padding:36px 0 18px;border-bottom:2px solid var(--bd)}
.hero .kick{font:600 12.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.hero h1{font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.15;margin:.2em 0}
.hero p{margin:.3em 0;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font:13px var(--sans)}
.chips span{border:1px solid var(--bd);background:var(--card);border-radius:99px;padding:3px 11px}
h2{position:relative;font-size:1.6rem;margin:2.6em 0 .4em;padding-top:.6em;border-top:1px solid var(--bd);line-height:1.25}
h2 .n{color:var(--acc);font-family:var(--sans);margin-right:.35em}
h3{position:relative;font-size:1.2rem;margin:1.7em 0 .3em}
p{margin:.7em 0}
.box{position:relative;border-radius:10px;padding:13px 18px 12px;margin:1.2em 0;border-left:5px solid var(--bd);background:var(--card)}
.box>.h{display:block;font:700 12px var(--sans);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
.box>*:last-child{margin-bottom:0}
.def{background:var(--def);border-color:var(--def-b)}.def>.h{color:var(--def-b)}
.thm{background:var(--thm);border-color:var(--thm-b)}.thm>.h{color:var(--thm-b)}
.ex{background:var(--ex);border-color:var(--ex-b)}.ex>.h{color:var(--ex-b)}
.warn{background:var(--warn);border-color:var(--warn-b)}.warn>.h{color:var(--warn-b)}
.tip{background:var(--tip);border-color:var(--tip-b)}.tip>.h{color:var(--tip-b)}
.intu{background:var(--intu);border-color:var(--intu-b)}.intu>.h{color:var(--intu-b)}
.recipe{border:2px dashed var(--ex-b);border-radius:10px;padding:10px 16px;margin:1em 0;font-family:var(--sans);font-size:.95rem}
.recipe>b{color:var(--ex-b)}
ol.steps{counter-reset:s;list-style:none;padding-left:0}
ol.steps>li{counter-increment:s;position:relative;padding-left:2.2em;margin:.55em 0}
ol.steps>li::before{content:counter(s);position:absolute;left:0;top:.2em;width:1.6em;height:1.6em;border-radius:50%;background:var(--acc);color:var(--bg);font:700 .8em/1.6em var(--sans);text-align:center}
details.sol{position:relative;border:1px solid var(--bd);border-radius:10px;background:var(--card);margin:.9em 0;padding:0 16px}
details.sol>summary{position:relative;cursor:pointer;font:600 15px var(--sans);padding:11px 0;color:var(--acc)}
details.sol[open]>summary{border-bottom:1px solid var(--bd);margin-bottom:8px}
.enun{font-style:italic}
/* todas las tablas: ancho completo, sin rejilla vertical, marco redondeado, filas con separador fino */
table{display:table;width:100%;font:.93rem var(--sans);margin:1em 0;background:transparent;border-collapse:separate;border-spacing:0;border:1px solid color-mix(in srgb,var(--fg) 18%,transparent);border-radius:10px;overflow:hidden}
th,td{border:0;border-bottom:1px solid color-mix(in srgb,var(--fg) 12%,transparent);padding:9px 14px;text-align:left;vertical-align:middle}
thead th,tr:first-child>th{background:color-mix(in srgb,var(--fg) 8%,transparent);font:700 11.5px var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}
tbody tr:last-child>td,tr:last-child>td{border-bottom:0}
tbody tr:nth-child(odd)>td{background:color-mix(in srgb,var(--card) 55%,transparent)}
table.formulas td:first-child{font-weight:600;white-space:nowrap}
table.formulas td:first-child i{display:block;font-weight:400;font-size:.8em;color:var(--mut)}
table.formulas td:nth-child(2){text-align:center;font-size:1.05em}
table.formulas td:last-child{color:var(--mut)}
@media(max-width:640px){table{display:block;overflow-x:auto}}
ul,ol{padding-left:1.4em}li{margin:.25em 0}
code{font:.88em ui-monospace,Consolas,monospace;background:color-mix(in srgb,var(--fg) 8%,transparent);padding:1px 5px;border-radius:4px}
figure{margin:1.2em 0;text-align:center}figcaption{font:13.5px var(--sans);color:var(--mut)}
svg.fig{max-width:min(100%,360px);height:auto;display:block;margin:0 auto}
svg.fig text{fill:var(--fg);font:13px var(--sans);paint-order:stroke;stroke:var(--bg);stroke-width:3;stroke-linejoin:round}
svg.fig .ax{stroke:var(--fg);stroke-width:1.5;fill:none}
svg.fig .a{stroke:var(--acc);stroke-width:3;fill:none}
svg.fig .b{stroke:var(--A);stroke-width:3;fill:none}
svg.fig .pt{fill:var(--acc)}svg.fig .op{fill:var(--bg);stroke:var(--acc);stroke-width:2}
.katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
/* ---- Fuentes (libro + página): pastilla con tooltip; en escritorio, nota marginal ---- */
.src{display:inline-block;position:relative;font:600 11px/1 var(--sans);letter-spacing:.02em;padding:3px 7px;border-radius:99px;border:1px solid currentColor;vertical-align:middle;margin:0 2px;cursor:help;white-space:nowrap;text-transform:none;font-style:normal}
.src[data-l="U"]{color:var(--U)}.src[data-l="A"]{color:var(--A)}.src[data-l="X"]{color:var(--X)}.src[data-l="E"]{color:var(--E)}.src[data-l="P"]{color:var(--P)}
.src::after{content:attr(data-ref);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:min(260px,calc(100vw - 32px));white-space:normal;background:var(--fg);color:var(--bg);font:500 12.5px/1.35 var(--sans);padding:7px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:30}
.src:hover::after,.src:focus::after{opacity:1}
@media (min-width:1240px){
  .box>.src,h2>.src,h3>.src,details.sol>summary>.src{position:absolute;left:calc(100% + 16px);width:175px;white-space:normal;line-height:1.3;padding:6px 9px;border-radius:8px;background:var(--card);top:.5em;margin:0;cursor:default}
  .box>.src,h2>.src,h3>.src,details.sol>summary>.src{font-size:0}
  .box>.src::before,h2>.src::before,h3>.src::before,details.sol>summary>.src::before{content:attr(data-l) " · ";font:800 11px/1.3 var(--sans)}
  .box>.src::after,h2>.src::after,h3>.src::after,details.sol>summary>.src::after{all:unset;content:attr(data-ref);font:600 11px/1.3 var(--sans)}
  .box>.src~.src,h2>.src~.src,h3>.src~.src{top:64px}
.box>.src~.src~.src,h2>.src~.src~.src,h3>.src~.src~.src{top:128px}
.box>.src~.src~.src~.src,h2>.src~.src~.src~.src,h3>.src~.src~.src~.src{top:192px}
}
#panel-fuentes{font:14px/1.5 var(--sans)}
#panel-fuentes li{margin:.4em 0}#panel-fuentes .src{cursor:default}
#panel-fuentes .src::after{display:none}
details.fuentes-toggle{border:1px solid var(--bd);border-radius:10px;background:var(--card);margin:.9em 0;padding:0 16px}
details.fuentes-toggle>summary{cursor:pointer;font:600 15px var(--sans);padding:11px 0;color:var(--acc);list-style:none}
details.fuentes-toggle>summary::-webkit-details-marker{display:none}
details.fuentes-toggle>summary::before{content:"▸ ";display:inline-block}
details.fuentes-toggle[open]>summary::before{content:"▾ "}
details.fuentes-toggle[open]>summary{border-bottom:1px solid var(--bd);margin-bottom:8px}
details.fuentes-toggle>summary+*{margin-top:0}
.legend{display:flex;flex-wrap:wrap;gap:10px;font:13px var(--sans);margin:.5em 0}
.checklist{list-style:none;padding:0}.checklist li{padding-left:1.8em;position:relative}
.checklist li::before{content:"☐";position:absolute;left:0;color:var(--acc)}
footer{margin-top:4em;padding-top:1em;border-top:1px solid var(--bd);font:13px var(--sans);color:var(--mut)}
@media (max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}main{grid-column:1}.side-toc{display:none}body{font-size:16.5px}}
svg.fig .th{stroke:var(--mut);stroke-width:1.3;fill:none}
svg.fig .sm{font-size:12px;fill:var(--mut)}
svg.fig .pb{fill:var(--A)}
svg.fig .ob{fill:var(--bg);stroke:var(--A);stroke-width:2}
svg.fig .bd{font-weight:700}

/* Figuras recortadas de los libros (herramientas/extraer_figura.py): fondo claro también en modo oscuro */
figure.bookfig img{max-width:100%;height:auto;background:#fff;border-radius:8px;padding:8px;border:1px solid var(--bd)}

.box td a{color:var(--acc);font-weight:600}

/* menú desplegable de apartados (solo móvil/tablet, donde se oculta el índice lateral) */
.mnav{display:none}
@media (max-width:1000px){
  .mnav{display:block;position:fixed;right:14px;bottom:14px;z-index:40;font:14px var(--sans)}
  .mnav-btn{font:600 14px var(--sans);background:var(--acc);color:var(--bg);border:0;border-radius:99px;padding:10px 16px;box-shadow:0 4px 14px rgba(0,0,0,.28);cursor:pointer}
  .mnav-list{position:absolute;right:0;bottom:calc(100% + 10px);width:min(80vw,320px);max-height:60vh;overflow:auto;background:var(--card);border:1px solid var(--bd);border-radius:12px;box-shadow:0 8px 26px rgba(0,0,0,.3);padding:6px}
  .mnav-list[hidden]{display:none}
  .mnav-list a{display:block;padding:9px 12px;border-radius:8px;color:var(--fg);text-decoration:none;line-height:1.35}
  .mnav-list a.on{background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);font-weight:600}
}

/* ================= IMPRESIÓN (A4, blanco y negro, sin fuentes ni «fuera de examen») ================= */
@page{size:A4;margin:14mm 15mm 16mm;@bottom-center{content:counter(page);font:9pt system-ui,sans-serif;color:#444}}
@media print{
  /* paleta en escala de grises (también si el navegador está en modo oscuro) */
  :root:not(.print-color),:root[data-theme="dark"]:not(.print-color),:root[data-theme="light"]:not(.print-color){
    --bg:#fff!important;--fg:#000!important;--mut:#333!important;--card:#fff!important;--bd:#999!important;--acc:#000!important;
    --def:#f2f2f2!important;--def-b:#000!important;--thm:#e6e6e6!important;--thm-b:#000!important;--ex:#fff!important;--ex-b:#000!important;
    --warn:#fff!important;--warn-b:#000!important;--tip:#fff!important;--tip-b:#000!important;--intu:#f8f8f8!important;--intu-b:#000!important;
    --U:#000!important;--S:#333!important;--L:#333!important;--E:#333!important;--P:#333!important;--A:#333!important;--X:#333!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;text-shadow:none!important}
  html,body{overflow:visible!important;background:#fff;color:#000}
  html{scroll-padding-top:0}
  body{font-size:10.5pt;line-height:1.42}
  /* fuera lo interactivo y las fuentes */
  .topbar,.side-toc,.mnav,.src,.legend,details.fuera,details.fuentes-toggle,#panel-fuentes,#btn-sol,#btn-tema{display:none!important}
  .layout{display:block;max-width:none;padding:0;margin:0}
  main{width:auto}
  a{color:#000;text-decoration:none}
  /* títulos */
  header.hero{padding:0 0 8pt;border-bottom:1.5pt solid #000}
  .hero h1{font-size:20pt;margin:.15em 0}
  .hero .kick{font-size:8.5pt;color:#000}
  .chips{font-size:8.5pt;gap:5pt;margin-top:6pt}.chips span{background:none;border:.6pt solid #666;padding:1pt 6pt}
  h2{font-size:14pt;margin:1.3em 0 .35em;padding-top:.35em;border-top:.8pt solid #000;break-after:avoid;break-inside:avoid}
  h3{font-size:11.5pt;margin:1.1em 0 .25em;break-after:avoid;break-inside:avoid}
  h4,summary{break-after:avoid}
  p,li{orphans:3;widows:3}
  p{margin:.5em 0}
  /* cajas: borde y trama en vez de color */
  .box{padding:7pt 11pt 6pt;margin:.8em 0;border:.7pt solid #666;border-left:3.5pt solid #000;border-radius:3pt;break-inside:avoid}
  .box>.h{font-size:8pt;margin-bottom:3pt;color:#000}
  .warn{border-left:3.5pt double #000}
  .tip{border-style:dashed;border-left-style:solid}
  .intu{border-left-width:1.5pt}
  .recipe{border:1pt dashed #000;padding:6pt 11pt;margin:.7em 0;font-size:9.5pt;break-inside:avoid}
  .recipe>b{color:#000}
  /* ejercicios resueltos: siempre abiertos; la solución puede continuar en la página siguiente, pero no sus piezas */
  details.sol{border:.7pt solid #666;padding:0 11pt;margin:.8em 0;break-inside:auto}
  details.sol>summary{list-style:none;color:#000;padding:7pt 0;font-size:10pt;break-after:avoid}
  details.sol>summary::-webkit-details-marker{display:none}
  details.sol[open]>summary{margin-bottom:5pt}
  details.sol .box,details.sol .recipe,ol.steps>li,figure,tr,blockquote,pre,.katex-display{break-inside:avoid}
  thead{display:table-header-group}
  ol.steps>li{margin:.4em 0}
  ol.steps>li::before{background:#000;color:#fff}
  /* tablas */
  table{display:table!important;overflow:visible!important;font-size:9.5pt;border:.7pt solid #000;border-radius:0;break-inside:auto}
  th,td{padding:4pt 8pt;border-bottom:.5pt solid #999}
  thead th,tr:first-child>th{background:#e6e6e6;color:#000}
  tbody tr:nth-child(odd)>td{background:none}
  /* fórmulas y figuras */
  .katex{font-size:1.04em}
  .katex-display{overflow:visible;margin:.55em 0}
  figure{margin:.8em 0}
  figure.bookfig img,svg.fig{max-width:100%;max-height:120mm;width:auto;height:auto;border:0;padding:0}
  figcaption{font-size:8.5pt;color:#000}
  footer{font-size:8pt;margin-top:2em}
}

/* ---- Impresión a COLOR: se activa con la clase print-color en <html> (botón «Imprimir en color» o exportar_pdf.py --color) ---- */
@media print{
  html.print-color,html.print-color[data-theme="dark"],html.print-color[data-theme="light"]{
    --bg:#fbfaf6!important;--fg:#1c2230!important;--mut:#5d6675!important;--card:#fff!important;--bd:#dfe1e8!important;--acc:#2a56d3!important;--def:#e9effe!important;--def-b:#2a56d3!important;--thm:#fff4d9!important;--thm-b:#d59a00!important;--ex:#e8f6ec!important;--ex-b:#2c9a55!important;--warn:#fdeceb!important;--warn-b:#d24a3b!important;--tip:#f1ecfb!important;--tip-b:#7a4fd0!important;--intu:#e6f6f8!important;--intu-b:#1a8fa3!important;--U:#2a56d3!important;--A:#c9670a!important;--X:#1f8a4c!important;--E:#8a3fbf!important;--P:#6b7280!important;
  }
  html.print-color a{color:var(--acc)}
  html.print-color header.hero{border-bottom-color:var(--bd)}
  html.print-color .hero .kick{color:var(--acc)}
  html.print-color .chips span{border-color:var(--bd);background:var(--card)}
  html.print-color h2{border-top-color:var(--bd)}
  html.print-color h2 .n{color:var(--acc)}
  html.print-color .box{border-color:var(--bd);background:var(--card)}
  html.print-color .box>.h{color:var(--mut)}
  html.print-color .def{background:var(--def);border-color:var(--def-b)}html.print-color .def>.h{color:var(--def-b)}
  html.print-color .thm{background:var(--thm);border-color:var(--thm-b)}html.print-color .thm>.h{color:var(--thm-b)}
  html.print-color .ex{background:var(--ex);border-color:var(--ex-b)}html.print-color .ex>.h{color:var(--ex-b)}
  html.print-color .warn{background:var(--warn);border-color:var(--warn-b);border-left-style:solid}html.print-color .warn>.h{color:var(--warn-b)}
  html.print-color .tip{background:var(--tip);border-color:var(--tip-b);border-style:solid}html.print-color .tip>.h{color:var(--tip-b)}
  html.print-color .intu{background:var(--intu);border-color:var(--intu-b)}html.print-color .intu>.h{color:var(--intu-b)}
  html.print-color .recipe{border-color:var(--ex-b)}html.print-color .recipe>b{color:var(--ex-b)}
  html.print-color details.sol{border-color:var(--bd);background:var(--card)}
  html.print-color details.sol>summary{color:var(--acc)}
  html.print-color ol.steps>li::before{background:var(--acc);color:var(--bg)}
  html.print-color table{border-color:color-mix(in srgb,var(--fg) 30%,transparent)}
  html.print-color th,html.print-color td{border-bottom-color:color-mix(in srgb,var(--fg) 15%,transparent)}
  html.print-color thead th,html.print-color tr:first-child>th{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--mut)}
  html.print-color figcaption{color:var(--mut)}
}
