/* Kilovatio Expansión: un componente más del cuaderno Atelier.
   Las tintas no sustituyen la codificación física de los simuladores de Core. */
.kvx-app{--kvx-paper:#f8f1e5;--kvx-white:#fffaf1;--kvx-ink:#35312d;--kvx-muted:#625c54;--kvx-rule:#c9bda9;--kvx-brass:#876d59;color:var(--kvx-ink);font-family:'EB Garamond',Georgia,serif;max-width:1280px;margin:40px auto 70px}
.kvx-app *, .kvx-app *::before,.kvx-app *::after{box-sizing:border-box}
.kvx-app header>h2{font-family:'EB Garamond',Georgia,serif;font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:-.025em;line-height:1.08;margin:10px 0}
.kvx-app p{line-height:1.55;color:var(--kvx-muted)}
.kvx-kicker,.kvx-app .kvx-card>small,.kvx-app .kvx-lab header>small,.kvx-method-note{font:600 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--kvx-brass)}
.kvx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:24px}
.kvx-card{background:var(--kvx-white);padding:26px;border:1px solid var(--kvx-rule);box-shadow:1px 3px 0 #ac9e8977;min-width:0}
.kvx-card h3{font:500 clamp(25px,2.2vw,33px)/1.13 'EB Garamond',Georgia,serif;margin:14px 0}
.kvx-card p{font:400 16px/1.55 'DM Sans',Arial,sans-serif;margin:10px 0}
.kvx-app a{color:var(--kvx-ink);text-decoration:underline;text-decoration-color:#ae9178;text-underline-offset:4px}
.kvx-app a:hover{color:#85583c}
.kvx-route-list{margin:22px 0;padding:0;list-style:none;display:grid;gap:13px}
.kvx-route-list li{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 20px;background:var(--kvx-white);border:1px solid var(--kvx-rule)}
.kvx-route-list li>span{font:600 27px/1 'EB Garamond',Georgia,serif;color:#806c5a}
.kvx-route-list strong{font-size:24px;font-weight:500}
.kvx-route-list p{font:400 15px/1.5 'DM Sans',Arial,sans-serif;margin:3px 0 10px}
.kvx-route-list a,.kvx-route-list small{font:600 12px 'DM Sans',Arial,sans-serif}
.kvx-lesson-intro{padding:18px 22px;border-left:3px solid #8c7d6d;background:#f2e7d6}
.kvx-formula{padding:18px 24px;background:#f0e6d6;border:1px solid #cabba7;margin:20px 0}
.kvx-formula small{font:700 11px 'DM Sans',Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.kvx-formula p{font-family:'EB Garamond',Georgia,serif!important;font-size:25px!important;color:#282521!important;margin:8px 0!important}
.kvx-lab{background:linear-gradient(115deg,#fffaf0,#f7efdf);border:1px solid var(--kvx-rule);padding:27px;margin:25px 0;box-shadow:2px 4px 0 #d5c8b6}
.kvx-lab>header h3{font:500 clamp(27px,2.8vw,40px)/1.1 'EB Garamond',Georgia,serif;margin:8px 0}
.kvx-lab>header p{font:400 16px/1.55 'DM Sans',Arial,sans-serif}
.kvx-lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.kvx-lab-controls{display:grid;gap:13px}
.kvx-lab-controls label{display:grid;gap:7px;font:600 13px/1.35 'DM Sans',Arial,sans-serif}
.kvx-lab-controls label>span:last-child{display:flex;align-items:center;gap:10px;font-weight:400}
.kvx-lab-controls input[type=range]{width:100%;min-width:0;accent-color:#6d655d;cursor:pointer}
.kvx-lab-controls output{min-width:45px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.kvx-reset{justify-self:start;padding:9px 13px;border:1px solid #8f8071;background:transparent;color:#38322e;font:600 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
.kvx-reset:hover{background:#e9dccb}
.kvx-lab-output{background:#f1e6d7;border:1px solid #d0beaa;padding:16px 19px;min-width:0}
.kvx-lab-output small{font:600 10px 'DM Sans',Arial,sans-serif;color:#716559;letter-spacing:.08em}
.kvx-lab-output strong{display:block;font:600 clamp(30px,3vw,44px)/1 'EB Garamond',Georgia,serif;margin:12px 0;word-break:break-word}
.kvx-lab-output p{font:400 14px/1.5 'DM Sans',Arial,sans-serif;margin:9px 0}
.kvx-lab-output svg{display:block;width:100%;height:auto;margin-top:10px}
.kvx-axes{stroke:#b4a796;stroke-width:1;fill:none}
.kvx-curve{stroke:#514d47;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(.7px .6px 0 #a79d8c)}
.kvx-lab-caution{font:italic 500 19px/1.3 'Caveat','Segoe Print',cursive;color:#625548;margin:16px 0 0;max-width:86ch}
.kvx-auto-atlas{max-width:1320px}
.kvx-atlas-filter{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.kvx-atlas-filter label{display:flex;align-items:center;gap:7px;font:600 13px 'DM Sans',Arial,sans-serif}
.kvx-atlas-filter select{max-width:220px;padding:10px;background:var(--kvx-white);border:1px solid var(--kvx-rule);font:400 14px 'DM Sans',Arial,sans-serif}
.kvx-atlas-map{margin:20px 0 12px;border:1px solid #c7b9a6;background:#f5ebda;padding:15px}
.kvx-atlas-map svg{width:100%;height:auto;max-height:490px}
.kvx-atlas-map p{font:12px/1.45 'DM Sans',Arial,sans-serif}
.kvx-table-scroll{overflow:auto;max-height:720px;border:1px solid #c9bba7;background:var(--kvx-white)}
.kvx-atlas-table{width:100%;border-collapse:collapse;min-width:920px;font:13px/1.5 'DM Sans',Arial,sans-serif}
.kvx-atlas-table th,.kvx-atlas-table td{padding:9px 11px;text-align:left;border-bottom:1px solid #ddcfbc}
.kvx-atlas-table th{background:#eae0d1;position:sticky;top:0;z-index:1}
.kvx-atlas-table tr:hover td{background:#f5ecdf}
.kvx-no-data{padding:22px;border:1px solid #c9bba7;background:#f5ecdf}
.kvx-app :focus-visible{outline:2px solid #8a6045;outline-offset:3px}
@media(max-width:950px){.kvx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.kvx-grid,.kvx-lab-grid{grid-template-columns:1fr}.kvx-app{padding:0 4px}.kvx-lab{padding:17px}.kvx-lab-controls label>span:last-child{gap:5px}}
@media print{.kvx-reset,.kvx-atlas-filter{display:none!important}.kvx-app{color:#222}.kvx-lab,.kvx-card{break-inside:avoid;background:#fff}}
