/* Shared visual language from Libro TC: structure.tex and estilo_figuras.tex. */
:root {
  --mint: #006d71;
  --blue: #003871;
  --point: #715500;
  --ink: #20241f;
  --muted: #68716e;
  --line: #d5dcd9;
  --book-serif: 'Times New Roman', Times, serif;
  --book-heading: 'Century Gothic', 'Avant Garde', Arial, sans-serif;
}
body { display:block; margin:0; padding:0; background:#f3f3ed; color:var(--ink); font-family:var(--book-serif); }
.paper { width:100%; max-width:1240px; margin:24px auto; padding:30px 48px; background:white; box-shadow:0 3px 26px #27302208; }
.running { display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid var(--ink); font:10px var(--book-heading); letter-spacing:1.6px; color:var(--muted); }
h1 { margin:24px 0; font:400 29px/1.3 var(--book-heading); letter-spacing:-.4px; text-align:center; color:var(--mint); }
h2, h3, .section-box h3, .results h2 { font-family:var(--book-heading); font-weight:400; }
h2 span { font-family:var(--book-heading); font-size:16px; font-variant:normal; color:var(--mint); }
button, input { font-family:inherit; }
button { border:1px solid var(--line); border-radius:3px; padding:7px 12px; background:white; color:var(--ink); cursor:pointer; }
button:hover { background:#006d710b; border-color:var(--mint); }
button:focus-visible, input:focus-visible, canvas:focus-visible, a:focus-visible { outline:2px solid var(--mint); outline-offset:3px; }
.segmented button[aria-pressed=true] { background:var(--mint); }
.operator input { color:var(--mint); background:#006d7108; }
.positive { color:var(--mint); } .negative { color:var(--blue); } .selected { color:var(--point); }
svg text { font-family:var(--book-serif); }
svg text, .result-row .value, .section-box .item, .func-box .func-str, .formula-box { font-family:var(--book-serif); }
.tool-tabs { display:flex; justify-content:center; gap:0; margin:18px 0 0; border-bottom:1px solid var(--line); }
.tool-tabs button { flex:1; max-width:330px; padding:13px 18px; border:0; border-radius:0; border-bottom:3px solid transparent; font:14px var(--book-heading); color:var(--muted); }
.tool-tabs button[aria-selected=true] { color:var(--mint); border-bottom-color:var(--mint); background:#006d7108; }
.tool-frame { display:block; border:0; width:100%; height:1600px; }
[hidden] { display:none!important; }
.rational-tool .abstract { max-width:900px; border:0; padding:0; margin:0 auto 24px; font:15px/1.6 var(--book-serif); }
.rational-tool .figcaption { text-align:left; font-size:13px; color:var(--muted); }
.rational-tool .figrow { padding:18px 0; border-top:1px solid var(--ink); }
.rational-tool .results { margin-top:22px; border:0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); background:#fafbf8; padding:18px 22px; }
.rational-tool .results h2 { color:var(--mint); font-size:16px; font-variant:normal; border:0; }
.rational-tool .section-box, .rational-tool .formula-box { border:0; border-top:1px solid var(--line); padding:18px 0; }
.rational-tool .section-box h3 { color:var(--mint); font-variant:normal; font-size:15px; }
.rational-tool .result-row { border-color:var(--line); }
.rational-tool input[type=range]::-webkit-slider-thumb { border-color:var(--mint); }
.rational-tool input[type=range]::-webkit-slider-runnable-track { background:var(--mint); }
.rational-tool input[type=range]::-moz-range-thumb { border-color:var(--mint); }
.rational-tool input[type=range]::-moz-range-track { background:var(--mint); }
.book-footer { margin-top:22px; border-top:1px solid var(--ink); padding-top:14px; font-size:12px; color:var(--muted); }
html.embedded body { background:white; }
html.embedded .paper { max-width:none; margin:0; padding:0; box-shadow:none; }
html.embedded .paper>header, html.embedded .paper>footer { display:none; }
@media(max-width:850px) { .paper{margin:0;padding:24px;} .rational-tool .figrow{flex-direction:column;align-items:stretch;} .rational-tool .figrow .figure{min-width:0;width:100%;} }
@media(max-width:520px) { .paper{padding:20px 17px;} h1{font-size:25px;} .running{font-size:9px;} .tool-tabs button{font-size:12px;padding:12px 8px;} .rational-tool .fig1-center{min-width:0;} .rational-tool .vslider-col{width:38px;min-width:38px;} .rational-tool .result-row{gap:14px;font-size:13px;} }
@media print { body{background:white;} .paper{margin:0;padding:0;box-shadow:none;} .tool-tabs{display:none;} }
.integral{justify-content:flex-start}.integral math{flex-shrink:0;margin-inline:auto}
.sn-tool { --point:#b43b32; }
#surface:focus, #surface:focus-visible { outline:none; box-shadow:none; }
.sn-tool .modulus-slider { appearance:none; -webkit-appearance:none; background:transparent; height:20px; cursor:pointer; }
.sn-tool .modulus-slider::-webkit-slider-runnable-track { height:1.5px; background:var(--mint); }
.sn-tool .modulus-slider::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:14px; height:14px; border:1.5px solid var(--mint); border-radius:50%; background:white; margin-top:-6px; box-shadow:0 1px 3px #0003; }
.sn-tool .modulus-slider::-moz-range-track { height:1.5px; background:var(--mint); }
.sn-tool .modulus-slider::-moz-range-thumb { width:11px; height:11px; border:1.5px solid var(--mint); border-radius:50%; background:white; box-shadow:0 1px 3px #0003; }
.plane-tabs { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; margin-top:18px; }
.plane-tabs button { border:0; border-radius:0; border-bottom:2px solid var(--line); padding:9px 12px; text-align:left; font-size:21px; }
.plane-tabs button span { margin-left:9px; font:12px var(--book-heading); }
.plane-tabs button[aria-selected=true] { color:var(--mint); border-bottom-color:var(--mint); background:#006d7109; }
.plane-tabs + .plots { margin-top:12px; }
.active-plane .plot-heading h3 { color:var(--mint); }
.planes-section svg:focus-visible, .surface-section canvas:focus-visible { outline:1px solid var(--line); outline-offset:-2px; }
.planes-section svg:focus:not(:focus-visible), .surface-section canvas:focus:not(:focus-visible) { outline:none; }
@media(max-width:850px) {
  .plane-tabs { grid-template-columns:1fr 1fr; gap:12px; }
  .plane-tabs button span { display:block; margin:4px 0 0; }
}

.surface-values{align-items:center;flex-wrap:wrap;column-gap:24px;row-gap:8px}.surface-values span{white-space:nowrap}.surface-values .modulus-slider{width:200px;margin:0}@media(max-width:520px){.surface-values{column-gap:14px}.surface-values .modulus-slider{width:130px}}
