.kts-app{--kts-ink:#143949;--kts-muted:#536d77;--kts-line:#d2e0e3;--kts-accent:#c9e67e;color:var(--kts-ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#f6f8f4;max-width:1280px;margin:24px auto;border:1px solid #d9e3df;border-radius:28px;overflow:hidden;line-height:1.65}.kts-app *{box-sizing:border-box;min-width:0}.kts-app [hidden]{display:none!important}.kts-app h1,.kts-app h2,.kts-app h3{font-family:inherit;letter-spacing:-.04em;color:inherit;line-height:1.15}.kts-app p{font-size:16px;margin:0 0 20px}.kts-app button,.kts-app select,.kts-app input{font:inherit}.kts-app button,.kts-app select{cursor:pointer}.kts-app a:focus-visible,.kts-app button:focus-visible,.kts-app input:focus-visible,.kts-app select:focus-visible{outline:3px solid #538e2b;outline-offset:4px}.kts-hero{background:#123c48;color:#fff;padding:clamp(28px,5vw,68px);display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center;position:relative}.kts-hero h1{font-size:clamp(40px,5.5vw,76px);margin:22px 0 26px;font-weight:650}.kts-hero em{font-style:normal;color:#d0e99e}.kts-hero p:not(.kts-kicker){font-size:19px;color:#d6e4e7}.kts-kicker{font-size:11px!important;letter-spacing:.14em;font-weight:800;color:#527668;margin-bottom:12px!important}.kts-hero .kts-kicker{color:#c9dda8}.kts-hero figure{margin:0}.kts-hero-image{display:block;width:100%;height:auto;border:1px solid #ffffff25;border-radius:22px;box-shadow:0 25px 50px #06252d66}.kts-hero figcaption{font-size:12px;color:#c1d1d4;margin:15px 5px 0;letter-spacing:.04em}.kts-app .kts-button{border:1px solid #143949;background:#143949;color:white!important;text-decoration:none!important;border-radius:12px;padding:14px 20px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:16px;font-weight:750;line-height:1.4;box-shadow:none;transition:background .15s}.kts-app .kts-button:hover{background:#245765}.kts-hero .kts-button{background:#d0e99e;border-color:#d0e99e;color:#153b40!important}.kts-app .kts-button-light{background:transparent;color:#143949!important}.kts-app button:disabled{opacity:.5;cursor:not-allowed}.kts-benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 5%;border-bottom:1px solid var(--kts-line);gap:16px;background:#eaf0e7;font-size:12px;font-weight:750;letter-spacing:.02em}.kts-form,.kts-result,.kts-sources{padding:46px clamp(20px,5vw,64px);margin:0}.kts-section-head h2,.kts-sources h2{font-size:clamp(28px,3.6vw,43px);margin:10px 0 26px;font-weight:600}.kts-form-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}.kts-fields>label{display:block;font-size:14px;font-weight:750;margin:0 0 22px}.kts-app select,.kts-app input:not([type=checkbox]){display:block;width:100%;margin-top:8px;border:1px solid #bfcfd3;background:#fff;border-radius:10px;padding:12px 14px;color:#143949;min-height:48px}.kts-app fieldset{border:0;margin:26px 0 0;padding:0}.kts-app legend{font-size:16px;font-weight:750;padding:0}.kts-help{font-size:13px!important;line-height:1.7;color:#536d77}.kts-chapter-list{display:grid;gap:10px;max-height:360px;overflow:auto;padding:3px}.kts-chapter-list label{display:flex;gap:12px;align-items:flex-start;background:#fff;padding:14px;border:1px solid #d6e0df;border-radius:10px;cursor:pointer;line-height:1.45;font-size:14px}.kts-chapter-list input{margin-top:3px;width:19px;height:19px;accent-color:#1c5961;flex-shrink:0}.kts-chapter-list label:has(input:checked){border-color:#4b796b;background:#eef5e7}.kts-text-actions{display:flex;gap:22px;margin-top:14px}.kts-text-actions button{background:none;border:0;padding:5px 0;color:#275564;text-decoration:underline;font-size:12px}.kts-summary{background:#eaf0e8;border:1px solid #d4dfd2;border-radius:19px;padding:26px;position:sticky;top:30px}.kts-summary h3{font-size:24px;margin:6px 0 16px}.kts-count-row{display:grid;grid-template-columns:1fr 85px;gap:16px;align-items:center;margin:14px 0;border-bottom:1px solid #cbd9cd;padding-bottom:14px}.kts-count-row label{font-size:16px;font-weight:750}.kts-count-row small{font-weight:400;font-size:11px;display:block;color:#536d77}.kts-count-row input{margin:0!important;padding:10px!important}.kts-total{font-size:16px!important;border-top:1px solid #cbd9cd;padding-top:17px;margin-top:22px!important}.kts-summary .kts-button{width:100%}.kts-status:not(:empty),.kts-pdf-status:not(:empty){padding:15px;border:1px solid #cdd9d3;background:#fff;border-radius:10px;margin:22px 0 0}.kts-status[data-error=true],.kts-pdf-status[data-error=true]{color:#8a2828;border-color:#d6adad}.kts-result{border-top:1px solid #d3ded6;background:#fff}.kts-downloads{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.kts-result-meta{color:#536d77}.kts-preview{margin-top:30px}.kts-topic{padding:25px 0;border-top:1px solid #d4e0e4}.kts-topic h3{font-size:20px;margin:0 0 16px}.kts-topic img{display:block;max-width:100%;height:auto;max-height:360px;object-fit:contain;margin:20px auto}.kts-topic .katex-display{overflow:auto;padding:8px 0}.kts-topic table{border-collapse:collapse;width:100%;font-size:14px}.kts-topic td,.kts-topic th{border:1px solid #bcced4;padding:8px}.kts-sources{border-top:1px solid #d1dcce;background:#ecf1e8}.kts-source-text{white-space:pre-wrap;color:#536d77;font-size:15px}.kts-pdf-render{position:absolute;left:-12000px;top:0;width:680px;background:#fff;color:#173747;padding:10px 4px;font:17px/1.7 Arial,sans-serif;z-index:-1}.kts-pdf-render *{box-sizing:border-box}.kts-pdf-render h3{font:700 20px/1.4 Arial,sans-serif;border-bottom:2px solid #c6d6d8;padding-bottom:10px;margin:0 0 18px;color:#163b4a}.kts-pdf-render h4{font:700 17px/1.4 Arial,sans-serif;color:#275c60;margin:22px 0 12px}.kts-pdf-render p{margin:0 0 14px}.kts-pdf-render img{display:block;max-width:100%;max-height:620px;height:auto;object-fit:contain;margin:18px auto}.kts-pdf-render table{width:100%;border-collapse:collapse}.kts-pdf-render td,.kts-pdf-render th{padding:8px;border:1px solid #a6bdc7}.kts-pdf-render .katex{font-size:1.08em}.kts-pdf-render .katex-display{max-width:100%;overflow:visible}.kts-pdf-render .kts-source-lines{white-space:pre-wrap}.kts-pdf-render .kts-label{color:#305a61;font-size:12px;letter-spacing:.07em;margin-bottom:8px}@media(max-width:980px){.kts-hero{gap:26px;padding:36px}.kts-hero h1{font-size:54px}.kts-form-grid{gap:22px}.kts-summary{padding:22px}}@media(max-width:700px){.kts-app{border-radius:18px;margin:15px auto}.kts-hero{grid-template-columns:1fr;padding:30px 22px;gap:30px}.kts-hero h1{font-size:48px}.kts-hero p:not(.kts-kicker){font-size:17px}.kts-hero .kts-button{width:100%}.kts-benefits{grid-template-columns:1fr;gap:9px;padding:18px 22px}.kts-form,.kts-result,.kts-sources{padding:32px 20px}.kts-form-grid{grid-template-columns:1fr}.kts-summary{position:static;margin-top:8px}.kts-downloads{display:grid}.kts-downloads .kts-button{width:100%}.kts-chapter-list{max-height:300px}.kts-app input,.kts-app select{font-size:16px}.kts-topic table{display:block;overflow:auto}.kts-section-head h2{font-size:32px}}@media(prefers-reduced-motion:reduce){.kts-app *{scroll-behavior:auto!important;transition:none!important}}

/* Unified physics question typography, 2026-10-20. Preserve KaTeX font families. */
.kts-app .kts-topic,.kts-app .kts-topic p,.kts-app .kts-topic li,.kts-app .kts-topic td,.kts-app .kts-topic th{font-family:Arial,Helvetica,sans-serif!important;font-size:16px;line-height:1.65;color:#1f2937}.kts-app .kts-topic p{margin:0 0 .75em}.kts-app .kts-topic h3{font-family:Arial,Helvetica,sans-serif;font-size:20px;line-height:1.4}.kts-pdf-render p,.kts-pdf-render li,.kts-pdf-render td,.kts-pdf-render th{font-family:Arial,Helvetica,sans-serif!important;font-size:17px;line-height:1.65;color:#1f2937}.kts-topic .katex,.kts-pdf-render .katex{font-size:1.08em}

/* Larger original diagrams; preserve proportions and original artwork. */
/* Uniform reading width; tall statements must retain the same scale as short ones. */
.kts-app .kts-topic img{display:block;width:760px;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:24px auto;}
.kts-pdf-render img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:18px auto;}
