:root{--page:#f8fafc;--surface:#fff;--ink:#172033;--muted:#475569;--line:#cbd5e1;--link:#0369a1;--trail:#047857;--warm:#92400e}html.dark{--page:#090d14;--surface:#111924;--ink:#e5edf7;--muted:#a5b4c7;--line:#374151;--link:#7dd3fc;--warm:#f5c04a}html[data-theme=sepia]{--page:#f4eddf;--surface:#fff8eb;--ink:#35291d;--muted:#685543;--line:#b9a98e;--link:#075985}html[data-theme=contraste]{--page:#000;--surface:#080808;--ink:#fff;--muted:#fff;--line:#fff;--link:#7dd3fc}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-body,system-ui,sans-serif);line-height:var(--lh-body,1.7)}a{color:var(--link);text-underline-offset:.2em}button,input,textarea{font:inherit}button,.button{display:inline-block;cursor:pointer;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);color:var(--ink);padding:.65rem 1rem;text-decoration:none;text-align:left;max-width:100%}.button{background:var(--warm);color:var(--page);font-weight:750}button:hover,a:hover{filter:brightness(1.15)}:focus-visible{outline:3px solid var(--link);outline-offset:4px}header{border-bottom:1px solid var(--line);background:var(--page)}nav{max-width:1200px;margin:auto;padding:1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.brand{font-weight:800;text-decoration:none;letter-spacing:.05em;margin-right:auto;white-space:nowrap}.brand b{color:var(--warm);font-size:1.6rem}main{max-width:1120px;margin:auto;padding:0 1.5rem 5rem}h1,h2,h3{line-height:1.17;letter-spacing:-.025em}h1{font-size:clamp(2.6rem,5.5vw,4.8rem);max-width:19ch;margin:1rem 0 1.6rem}h2{font-size:1.5rem;margin:1.4rem 0 1rem}h3{font-size:1.18rem;margin-top:1.7rem}p{max-width:var(--measure,68ch)}.hero{padding:4rem 0 2rem}.hero em{font-style:normal;color:var(--warm)}.lead{font-size:1.2rem;color:var(--muted);max-width:65ch}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:var(--warm)}.actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem;flex-wrap:wrap;margin:1.3rem 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;border-block:1px solid var(--line);padding:2rem 0;margin-top:3rem}.stats b{display:block;font-size:2.2rem;color:var(--warm)}.stats span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.3rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.7rem;margin:1.5rem 0}.grid>.card{margin:0}.card h2{margin-top:.5rem}.meter{font-size:.85rem;color:var(--muted);max-width:600px;margin:1rem 0}.bar{height:5px;border-radius:4px;background:var(--line);margin-top:.6rem}.bar i{display:block;height:100%;background:var(--trail);border-radius:4px;width:0}details{border:1px solid var(--line);border-radius:.6rem;padding:1rem;margin:1rem 0}summary{cursor:pointer;font-weight:650}details li{margin:1rem 0}details li p{font-size:.93rem}.map,.toc{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}.map a,.toc a{padding:.6rem .8rem;border:1px solid var(--line);border-radius:.4rem}.toc{padding:0}.topic{padding:2.5rem 0;border-bottom:1px solid var(--line);scroll-margin-top:1.5rem}.topic h2{font-size:1.8rem;max-width:35ch}.tip{padding:1.3rem;border-left:3px solid var(--trail);background:var(--surface);margin:1.5rem 0;border-radius:0 .5rem .5rem 0}.comparison aside{padding:1.2rem;border:1px solid var(--line);border-radius:.6rem}.comparison h3{margin-top:0}.timeline{border-left:2px solid var(--trail);padding-left:2rem}.timeline li{padding:.7rem}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--page);padding:1.2rem;border:1px solid var(--line);border-radius:.5rem}code{font-family:ui-monospace,monospace;font-size:.9em}svg{width:100%;height:auto;max-width:760px;display:block;margin:1rem 0}footer{border-top:1px solid var(--line);padding:2rem max(1.5rem,calc((100vw - 1120px)/2));font-size:.87rem;color:var(--muted)}.skip{position:fixed;top:-100px;left:1rem;z-index:200;background:var(--surface);padding:1rem}.skip:focus{top:0}.mobile{display:none}textarea{display:block;width:100%;border:1px solid var(--line);background:var(--page);color:var(--ink);border-radius:.5rem;padding:1rem;margin:.5rem 0 1.5rem}label{display:block;font-weight:650;margin-top:1rem}input{background:var(--page);color:var(--ink);border:1px solid var(--line);width:7rem;padding:.4rem}output{display:block;font-size:2rem;color:var(--warm);margin:1rem 0}dialog{width:min(1100px,95vw);height:90vh;background:var(--page);color:var(--ink);border:1px solid var(--line);border-radius:1rem;padding:1rem}dialog::backdrop{background:#000b}dialog iframe{display:block;width:100%;height:calc(100% - 4rem);border:0;margin-top:.5rem}html:not(.dark) .eyebrow{color:#92400e}html:not(.dark) .bar i{background:#047857}html:not(.dark) .tip{border-color:#047857}[data-inema-check-option]{display:block;margin:.8rem 0}html[data-theme=foco] header,html[data-theme=foco] footer{display:none}@media(max-width:700px){.desktop{display:none}.mobile{display:inline}nav{gap:.65rem}nav button{font-size:.8rem;padding:.5rem}.brand{width:100%}main{padding-inline:1rem}.hero{padding-top:2rem}.stats{grid-template-columns:1fr 1fr;gap:1rem}.card{padding:1.2rem}h1{font-size:2.5rem}.topic h2{font-size:1.5rem}svg text{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Long translated headings must fit narrow screens. */
h1 { overflow-wrap:anywhere; hyphens:auto; }
