:root{color-scheme:light;--ink:#173440;--paper:#faf7ef;--mint:#e6efd9;--border:#b8c6bb}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,sans-serif}header,main,footer{max-width:1150px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}a{color:inherit}h1{font:700 clamp(2.3rem,6vw,4rem)/1.05 Georgia,serif;margin:16px 0}h2,h3{line-height:1.25}p{max-width:850px}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.12em}.lead{font-size:1.2rem}.panel{border:1px solid var(--border);padding:24px;margin:24px 0;background:#fffdf8}.experiments{display:grid;grid-template-columns:1fr 1fr;gap:28px}.experiments article{padding:0 0 12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}button{background:var(--ink);color:white;border:2px solid var(--ink);border-radius:4px;padding:12px 16px;font:700 1rem system-ui;cursor:pointer}button.secondary{background:white;color:var(--ink)}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;max-width:100%;padding:9px;border:1px solid #788c86;background:white;color:var(--ink)}input[type=file]{display:block;margin:10px 0;width:100%}textarea{width:100%;display:block;margin:10px 0;min-height:100px}label{display:block;font-weight:650}details{margin:18px 0}summary{font-weight:700;cursor:pointer}.note{font-size:.92rem}.compare,.reference{background:var(--mint)}.reference{padding:16px;margin:20px 0}iframe{width:100%;height:470px;border:1px solid #788c86;display:block;background:#000;pointer-events:none}.component{padding:16px 0;border-top:1px solid var(--border)}.component-grid{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.component-grid label{font-size:.9rem;max-width:100%}.component-grid input{width:150px}.component-grid input.coordinates{width:245px}.reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.reading{border:1px solid var(--border);padding:12px}.reading strong{display:block}.reading p{margin:4px 0;font-variant-numeric:tabular-nums}.error{color:#9b2c16;font-weight:650}.download{padding:12px;border:1px solid var(--border);margin:10px 0;overflow-wrap:anywhere}#native{font:14px/1.5 ui-monospace,monospace}#observations{max-height:260px;overflow:auto}.observation{border-bottom:1px solid var(--border);padding:8px 0;font-size:.9rem}:focus-visible{outline:3px solid #b06f13;outline-offset:4px}@media(max-width:700px){header,main,footer{padding:16px}.experiments{grid-template-columns:1fr;gap:10px}.panel{padding:18px}.actions button{flex:1 1 150px}iframe{height:380px}.component-grid label,.component-grid input,.component-grid input.coordinates{width:100%}.component-grid{display:grid;grid-template-columns:1fr}}

.trace{display:block;width:100%;height:auto;max-height:260px;background:white;border:1px solid var(--border)}
/* Shared Free4AllHub presentation. Engines, records and export handlers unchanged. */
.f4-global{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px 22px;width:100%;max-width:none;margin:0;padding:10px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #d8dfdf;background:#fff;color:#172b31;font:650 14px/1.4 system-ui,sans-serif;letter-spacing:0}.f4-global a{display:inline-flex;align-items:center;min-height:44px;padding:10px 6px;border-radius:7px;color:#172b31;text-decoration:none;white-space:nowrap}.f4-global a:first-child{font-weight:850;font-size:19px;margin-right:10px;letter-spacing:-.6px}.f4-global a[aria-current]{color:#533ac9;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.f4-global a:hover{background:#f3f1fb}.f4-global a:last-child{margin-left:auto;font-size:12px}.f4-global a:focus-visible{outline:3px solid #172b31;outline-offset:3px}.f4-tool{background:#f8f8f5;color:#172b31;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.f4-tool h1{font-family:inherit;font-size:clamp(2rem,4vw,3.2rem);font-weight:750;line-height:1.12;letter-spacing:-.04em}.f4-tool h2,.f4-tool h3{font-family:inherit;letter-spacing:-.025em;line-height:1.2}.f4-tool>header,.f4-tool>main,.f4-tool>footer,.f4-tool #story-shell>header,.f4-tool #story-shell>main,.f4-tool #story-shell>footer{max-width:1240px}.f4-tool>header,.f4-tool #story-shell>header{font-size:13px;padding-top:18px;padding-bottom:18px;border-bottom:1px solid #d8dfdf}.f4-tool .hero{padding-top:20px;padding-bottom:20px}.f4-tool .panel{border-radius:16px;border-color:#d8dfdf;background:#fff}.f4-tool button,.f4-tool a.button{border-radius:9px}.f4-tool :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid #533ac9;outline-offset:3px}.f4-tool :is(input,select,textarea){max-width:100%}.f4-tool .f4-global a{color:#172b31}.f4-tool .f4-global a[aria-current]{color:#533ac9}.f4-tool .f4-context{font-size:12px;color:#536267;padding:0;margin:0}.f4-tool .f4-context a{min-height:44px;display:inline-flex;align-items:center}.f4-tool .f4-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.f4-tool .f4-jumps a{padding:9px 13px;border:1px solid #d8dfdf;border-radius:8px;background:#fff;text-decoration:none;font:650 13px/1.5 system-ui;color:#172b31;min-height:42px}@media(max-width:700px){.f4-global{padding:7px 16px;gap:0 10px}.f4-global a{font-size:12px;min-height:44px;padding:8px 4px}.f4-global a:first-child{width:100%;font-size:18px;min-height:35px}.f4-global a:last-child{margin-left:0;font-size:11px}.f4-tool h1{font-size:32px}.f4-tool>header{padding:14px 16px}.f4-tool .hero{padding-top:12px}.f4-tool main{padding-left:16px;padding-right:16px}.f4-tool .f4-jumps{gap:6px}}@media(prefers-reduced-motion:reduce){.f4-tool *{scroll-behavior:auto!important;transition:none!important}}@media print{.f4-global,.f4-jumps{display:none!important}}

.f4-tool .skip{position:fixed;top:8px;left:-10000px;z-index:1000;display:block;padding:12px 16px;min-height:44px;background:#fff;color:#172b31;border:2px solid #533ac9;border-radius:7px}.f4-tool .skip:focus{left:8px}.f4-tool [tabindex="-1"]:focus-visible{outline:3px solid #533ac9;outline-offset:3px}
