:root{color-scheme:dark;--color-primary:#10b981;--color-primary-hover:#34d399;--color-background:#0f172a;--color-surface:#1e293b;--color-surface-alt:#172337;--color-text:#f1f5f9;--color-text-muted:#a7b4c7;--color-border:#334155;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--color-info:#38bdf8;--radius-card:1.15rem;--shadow-card:0 12px 34px #02061735}*{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-text);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--color-primary-hover);text-underline-offset:.2em}a:hover{color:#a7f3d0}button,input,select{font:inherit}.site-header{min-height:4.5rem;padding:.8rem max(1.25rem,calc((100vw - 72rem)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#0f172aeF;border-bottom:1px solid #263449}.site-header nav{display:flex;gap:1.5rem}.site-header nav a,.brand,.site-footer a{text-decoration:none}.brand{display:flex;gap:.65rem;align-items:center;font-weight:850;letter-spacing:.02em;color:var(--color-text)}.brand-mark{color:var(--color-background);background:var(--color-primary);border-radius:.7rem;padding:.1rem .5rem}.page-shell{width:min(100% - 2rem,72rem);margin:0 auto;padding:1.5rem 0 3rem}.breadcrumbs{display:flex;gap:.55rem;flex-wrap:wrap;color:var(--color-text-muted);font-size:.85rem}.breadcrumbs [aria-current]{color:var(--color-text)}.page-heading{max-width:52rem;padding:2.2rem 0 1.6rem}.eyebrow{margin:0 0 .35rem;color:var(--color-primary-hover);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.page-heading h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.12;letter-spacing:-.04em;margin:.3rem 0 .85rem}.page-heading>p:last-child{max-width:48rem;color:var(--color-text-muted);font-size:1.08rem}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.85fr);gap:1rem;align-items:start}.card{background:linear-gradient(145deg,#1e293b,#172337);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.calculator-card,.result-card,.content-section{padding:clamp(1.1rem,3vw,1.7rem)}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.25rem}.section-heading h2,.content-section h2,.page-shell>section>h2{margin:.15rem 0 .7rem;font-size:1.35rem;line-height:1.25}.tag{padding:.25rem .55rem;border:1px solid #276452;border-radius:999px;color:#a7f3d0;font-size:.7rem;white-space:nowrap}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.4rem;color:#dbe4f0;font-size:.88rem;font-weight:650}.field select,.input-unit{width:100%;min-height:3rem;background:#0b1425;border:1px solid #45546b;border-radius:.7rem;color:var(--color-text)}.field select{padding:.65rem .75rem}.input-unit{display:flex;align-items:center;padding:0 .75rem}.input-unit input{min-width:0;width:100%;height:2.8rem;border:0;outline:0;background:transparent;color:var(--color-text)}.input-unit>span{color:var(--color-text-muted);padding-left:.5rem}.field :focus-visible,.button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #6ee7b7;outline-offset:3px}.button-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.button{min-height:2.8rem;padding:.65rem .9rem;border-radius:.7rem;border:1px solid transparent;font-weight:750;cursor:pointer}.button-primary{background:var(--color-primary);color:#052e24}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{background:#263449;border-color:#45546b;color:var(--color-text)}.small-note{font-size:.8rem;color:var(--color-text-muted)}.calculator-card>.small-note{margin:1rem 0 0}.field-error{padding:.65rem .8rem;border-radius:.6rem;border-left:3px solid var(--color-danger);background:#7f1d1d35;color:#fecaca}.result-card{position:sticky;top:1rem}.result-primary{display:flex;align-items:baseline;gap:.45rem;margin:.15rem 0 1.2rem;color:var(--color-primary-hover);font-size:clamp(2.8rem,7vw,4.3rem);font-weight:850;letter-spacing:-.055em;line-height:1}.result-primary span:last-child{font-size:1.2rem;letter-spacing:0}.result-list{margin:0}.result-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid #334155}.result-list dt{color:var(--color-text-muted)}.result-list dd{margin:0;text-align:right;font-weight:750}.calculation-details{margin-top:1rem;padding-top:.8rem;border-top:1px solid #334155}.calculation-details summary,.faq-list summary{cursor:pointer;font-weight:750}.calculation-details ol{padding-left:1.3rem;color:#d1dbe8;font-size:.88rem}.calculation-details li{padding:.18rem 0}.content-section{margin-top:1rem}.content-section p{color:#d1dbe8}.formula{display:inline-block;margin:.3rem .4rem .6rem 0;padding:.55rem .75rem;border-radius:.6rem;background:#0b1425;color:#a7f3d0!important;font:700 1rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.content-grid .content-section{height:100%}.faq-list{display:grid;gap:.6rem}.faq-list .card{padding:.9rem 1rem}.faq-list p{margin-bottom:0;color:#d1dbe8}.related-links{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.related-links .eyebrow,.related-links h2{width:100%}.technical-notice{margin-top:1.5rem;padding:1rem 1.1rem;border-left:3px solid var(--color-warning);background:#78350f25;border-radius:.3rem .8rem .8rem .3rem;color:#e2e8f0;font-size:.9rem}.site-footer{padding:1.4rem;text-align:center;border-top:1px solid #263449;color:var(--color-text-muted);font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:780px){.calculator-layout,.content-grid{grid-template-columns:1fr}.result-card{position:static;grid-row:2}.site-header{align-items:flex-start;flex-direction:column}.site-header nav{gap:1rem;flex-wrap:wrap}.page-heading{padding-top:1.5rem}}@media(max-width:480px){.page-shell{width:min(100% - 1.1rem,72rem)}.field-grid{grid-template-columns:1fr}.button-row>*{flex:1 1 100%}.section-heading{flex-direction:column}.related-links{align-items:flex-start;flex-direction:column}}
:root{--card-gap:1rem}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;transform:translateY(-180%);padding:.7rem 1rem;border-radius:.65rem;background:var(--color-primary);color:#052e24;font-weight:800;text-decoration:none;box-shadow:var(--shadow-card)}.skip-link:focus{transform:translateY(0);outline:3px solid #d1fae5;outline-offset:3px}.site-header{position:sticky;top:0;z-index:40;box-shadow:0 8px 24px #02061728}.site-header nav{align-items:center;justify-content:flex-end;row-gap:.45rem}.site-header nav a{padding:.35rem .15rem;color:#cbd5e1;font-size:.85rem;font-weight:650;white-space:nowrap}.site-header nav a:hover,.site-header nav a:focus-visible{color:#a7f3d0}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem 1rem;max-width:72rem;margin:0 auto}.site-footer nav a{color:#cbd5e1}.site-footer nav a:hover{color:#a7f3d0}.site-footer p{max-width:58rem;margin:1rem auto 0;font-size:.75rem;color:#8291a7}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--card-gap)}
.tool-card{display:flex;flex-direction:column;gap:.45rem;padding:1.2rem;color:var(--color-text);text-decoration:none}
.tool-card h3{margin:0;font-size:1.2rem}
.tool-card p{flex:1;color:var(--color-text-muted)}
.tool-card:hover{border-color:var(--color-primary)}
.category-list{display:flex;flex-wrap:wrap;gap:.6rem}
.category-list a{padding:.55rem .8rem;background:#0b1425;border:1px solid var(--color-border);border-radius:999px;text-decoration:none}
.assistant-shell{height:min(72vh,48rem);min-height:30rem;margin-top:1rem}
.assistant-shell #asistente-container,.assistant-shell #asistente-container>div{height:100%}
.history-list{display:grid;gap:.55rem;padding:0;list-style:none}.history-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .8rem;background:#0b1425;border:1px solid var(--color-border);border-radius:.7rem}.history-item .button{min-height:2.3rem;padding:.3rem .6rem}.history-compare{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.history-compare h3{font-size:1rem}.result-actions .button{font-size:.85rem}
.ad-slot{display:flex;align-items:center;justify-content:center;min-height:5rem;margin:1rem 0;padding:1rem;border:1px dashed var(--color-border);border-radius:.8rem;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.ad-slot--sidebar{min-height:250px;aspect-ratio:6/5;margin:0}.calculator-layout.has-ad-sidebar{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr) minmax(15rem,18.75rem)}.ad-slot[hidden]{display:none!important}
@media(max-width:900px){.calculator-layout.has-ad-sidebar{grid-template-columns:1fr}.ad-slot--sidebar{min-height:5rem;aspect-ratio:auto}}
@media print{body{background:#fff;color:#111}.site-header,.site-footer,.breadcrumbs,.button-row,.history-list,.history-compare,.technical-notice{display:none!important}.page-shell{width:100%;padding:0}.calculator-layout{display:block}.calculator-card,.result-card,.content-section{break-inside:avoid;background:#fff;color:#111;box-shadow:none;border:1px solid #aaa}.small-note,.page-heading>p:last-child{color:#333}.result-primary,.formula{color:#111!important;background:#f3f4f6}}
[hidden]{display:none!important}.hidden{display:none!important}
table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.92rem}caption{caption-side:top;text-align:left;color:var(--color-text-muted);font-size:.82rem;padding-bottom:.4rem}th,td{padding:.55rem .7rem;border-bottom:1px solid var(--color-border);text-align:left}thead th{background:#0b1425;color:#a7f3d0;font-weight:750}tbody th{font-weight:650;color:var(--color-text)}
.result-primary{flex-wrap:wrap;overflow-wrap:anywhere}.result-primary.is-long{font-size:clamp(1.8rem,5.5vw,2.7rem)}
.field>input[type=text],.field>input[type=email],.field>input[type=search],.field>textarea{width:100%;min-height:3rem;padding:.65rem .75rem;background:#0b1425;border:1px solid #45546b;border-radius:.7rem;color:var(--color-text)}.field>textarea{resize:vertical;min-height:7rem}
.check-field{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;color:var(--color-text-muted);font-size:.85rem;cursor:pointer}.check-field input{margin-top:.2rem;accent-color:var(--color-primary)}
.form-result{margin:1rem 0 0;padding:.75rem .9rem;border-radius:.6rem;font-weight:700;background:#064e3b55;border-left:3px solid var(--color-success);color:#a7f3d0}.form-result.is-error{background:#7f1d1d35;border-left-color:var(--color-danger);color:#fecaca}
.hero{max-width:56rem}.hero .button-row{margin-top:1.4rem}
.search-results{list-style:none;padding:0;margin:.8rem 0 0}.search-results a{display:inline-block;padding:.45rem .6rem;border-radius:.5rem;text-decoration:none}.search-results a:hover{background:#0b1425}
.lesson-body ul,.lesson-body ol,.steps{padding-left:1.4rem;color:#d1dbe8}.lesson-body li,.steps li{padding:.25rem 0}.lesson-body p,.lesson-body li{color:#d1dbe8}
.lesson-nav{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between}
.tool-card .button{align-self:flex-start}
@media(max-width:480px){.result-primary{font-size:clamp(2.2rem,12vw,3.4rem)}}
.site-header{flex-wrap:wrap}.brand{white-space:nowrap}.site-header nav{flex-wrap:wrap;gap:.2rem 1.1rem}
a.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border-radius:.75rem;background:var(--color-primary);box-shadow:0 6px 18px #10b98133}.brand-mark svg{width:1.9rem;height:1.9rem;fill:var(--color-background)}.brand-name{font-weight:900;letter-spacing:-.04em;text-transform:uppercase;font-size:1.2rem}
/* Sistema de componentes: variantes de tarjeta, botones, estados y resultado */
.card-norm{border-left:3px solid var(--color-info)}.card-tool{transition:border-color .15s}.card-warning{border-left:3px solid var(--color-warning)}.card-info{border-left:3px solid var(--color-info)}.card-result{border-color:#276452}
.button-ghost{background:transparent;border-color:transparent;color:var(--color-primary-hover)}.button-ghost:hover{background:#ffffff0d}.button-danger{background:#7f1d1d;border-color:#b91c1c;color:#fee2e2}.button-danger:hover{background:#991b1b}
.button[disabled],.button:disabled{opacity:.5;cursor:not-allowed}
.field :disabled{opacity:.55;cursor:not-allowed}.field input:hover,.field select:hover{border-color:#6b7d96}
.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--color-danger)}.field input.is-warning{border-color:var(--color-warning)}
.result-status{margin:.2rem 0 1rem;padding:.55rem .75rem;border-radius:.6rem;font-weight:750;border-left:3px solid var(--color-info);background:#0c4a6e30}
.result-status.is-ok{border-left-color:var(--color-success);background:#064e3b55;color:#a7f3d0}.result-status.is-warn{border-left-color:var(--color-warning);background:#78350f40;color:#fde68a}.result-status.is-bad{border-left-color:var(--color-danger);background:#7f1d1d40;color:#fecaca}
.where-list{margin:.2rem 0 1rem;padding-left:1.3rem;color:#d1dbe8;font-size:.92rem}.where-title{margin:.2rem 0 0}
.result-note{margin:1rem 0 0;padding-top:.7rem;border-top:1px solid var(--color-border)}
.nav-search{display:inline-flex;align-items:center;gap:.35rem}.nav-search svg{flex:none}
.footer-brand{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.8rem;color:var(--color-text)}.footer-brand span{color:var(--color-text-muted);font-size:.8rem}
.legal-nav{margin-top:.8rem;align-items:center}.legal-nav span{font-weight:750;color:var(--color-text-muted)}
.site-footer .copyright{margin-top:.6rem}
.tool-card .tag{align-self:flex-start}
@media(max-width:560px){.nav-search-text{display:none}}
:root{--text-result:clamp(2.8rem,7vw,4.3rem);--text-caption:.8rem;--text-formula:1rem}
.field>input[type=number]{width:100%;min-height:3rem;padding:.65rem .75rem;background:#0b1425;border:1px solid #45546b;border-radius:.7rem;color:var(--color-text)}
.mode-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.2rem 0 1.1rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:.8rem;background:#0b1425}
.mode-switch-label{font-size:.82rem;font-weight:750;color:var(--color-text-muted)}
.mode-switch-options{display:inline-flex;padding:.2rem;border-radius:.65rem;background:#1e293b;border:1px solid #45546b}
.mode-switch-options button{min-height:2.4rem;padding:.35rem .95rem;border:0;border-radius:.5rem;background:transparent;color:var(--color-text);font-weight:750;cursor:pointer}
.mode-switch-options button[aria-pressed=true]{background:var(--color-primary);color:#052e24}
.mode-switch-options button:focus-visible{outline:3px solid #6ee7b7;outline-offset:2px}
.mode-switch .small-note{flex:1 1 14rem;margin:0}
/* Áreas táctiles de al menos ~40 px en navegación y pie */
.site-header nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.4rem .3rem}
.site-footer nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .25rem}
.site-footer nav{gap:.1rem .9rem}.legal-nav span{display:inline-flex;align-items:center;min-height:2.5rem}
.breadcrumbs{align-items:center}
.history-compare .field-grid{margin:.9rem 0 1.1rem}
/* Cabecera opaca (el contenido ya no se transparenta entre los enlaces) y fija solo cuando cabe en una fila */
.site-header{background:#0f172a;position:relative;top:auto}
@media(min-width:960px){.site-header{position:sticky;top:0;flex-wrap:nowrap}.site-header nav{flex-wrap:nowrap}.result-card{top:5.5rem}html{scroll-padding-top:5.5rem}}
/* Las secciones sin tarjeta se alinean con el título de la página */
.content-section:not(.card){padding-left:0;padding-right:0}
.result-detail{margin:.1rem 0 1rem;color:#d1dbe8;font-size:.92rem;line-height:1.5}
/* Separación uniforme entre bloques consecutivos de la página */
.page-shell>:where(section,div,aside,article)+:where(section,div,aside,article):not(.technical-notice){margin-top:1rem}

/* Resultados de los conversores de la portada: más discretos que el resultado principal de una calculadora */
.result-primary.result-compact{font-size:clamp(1.5rem,4.5vw,2rem);letter-spacing:-.02em;line-height:1.2;font-weight:800}
.result-primary.result-compact small{flex-basis:100%;font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--color-muted,#94a3b8)}

/* Tarjetas de listado más compactas: sin márgenes de párrafo duplicados y con menos relleno */
.tool-card{gap:.4rem;padding:1rem 1.1rem}
.tool-card p{margin:0}
.tool-card .button,.tool-card .tag{margin-top:.35rem}
.tool-card h2{margin:0;font-size:1.2rem;line-height:1.25}
.tool-card h3{line-height:1.25}
.tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}

/* Las tarjetas dentro de una cuadrícula no llevan margen propio: con height:100% se salían de la cuadrícula y tocaban el bloque siguiente */
.content-grid>.content-section{margin-top:0}
