.ks-demo { font-size:11px; }
.ks-controls,.ks-calculator-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:14px 0; }
.ks-calculator-controls { grid-template-columns:1fr 1fr 1.6fr; }
.ks-controls label,.ks-calculator-controls label { display:block; min-width:0; font-size:11px; font-weight:400; }
.ks-controls output { display:inline; font-variant-numeric:tabular-nums; }
.ks-controls input,.ks-calculator-controls input { display:block; width:100%; box-sizing:border-box; margin:7px 0 0; }
.ks-controls input { accent-color:#306780; }
.ks-calculator-controls input { padding:7px 8px; border:1px solid #cbd7dd; border-radius:4px; font:inherit; font-variant-numeric:tabular-nums; background:#fff; color:#283f4c; }
.ks-calculator-controls input:focus { outline:none; border-color:#547f94; box-shadow:none; }
.ks-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ks-comparison > div { min-width:0; }
.crypto-masters .ks-demo h4,.crypto-presentation .ks-demo h4 { font-size:11px; font-weight:600; margin:12px 0 6px; }
.ks-svg-scroll { overflow:auto; max-width:100%; }
.crypto-masters .course-body .ks-svg-scroll > svg,.crypto-presentation .ks-svg-scroll > svg { width:280px; max-width:none; height:264px; display:block; margin:0 auto; font:11px Verdana,sans-serif; }
.ks-svg-scroll rect { fill:#f4f7f9; stroke:#819caa; stroke-width:1; }
.ks-svg-scroll text { fill:#294857; font-variant-numeric:tabular-nums; }
.ks-svg-scroll .ks-tested rect,.ks-svg-scroll rect.ks-coverage { fill:#adc9d8; }
.ks-svg-scroll .ks-tested rect { stroke:#356783; stroke-width:1.6; }
.ks-svg-scroll rect.ks-coverage { stroke:none; }
.ks-demo .ks-probability { min-height:3.4em; margin:4px 0 10px; font-variant-numeric:tabular-nums; }
.ks-probability output { display:inline; font-weight:600; }
.ks-demo .ks-grid-caption { min-height:3.4em; margin:4px 0; color:#4d6471; }
.ks-equation { text-align:center; margin:8px 0 14px; color:#164a73; }
.ks-demo .ks-status { height:4.8em; overflow:auto; margin:10px 0; line-height:1.6; color:#3c5664; }
.ks-demo .crypto-scope { color:#4d6471; }
.ks-table-scroll { overflow:auto; max-width:100%; margin:12px 0; }
.ks-demo table { width:100%; min-width:540px; table-layout:fixed; font-size:11px; font-variant-numeric:tabular-nums; }
.ks-demo td,.ks-demo th { text-align:right; padding:9px 8px; font-weight:400; }
.ks-demo th:first-child { text-align:left; width:16%; }
.ks-demo th:nth-child(2) { width:8%; }
.ks-demo th:last-child { width:24%; }
.ks-exact span { display:block; overflow-wrap:anywhere; margin-top:6px; color:#435d6c; font-size:10px; }
.ks-measure { display:inline-block; width:94px; text-align:left; white-space:nowrap; }
.ks-factor { min-height:3.4em; overflow-wrap:anywhere; }
.ks-integer { font-variant-numeric:tabular-nums; }
.ks-demo[data-invalid] [data-keyspace-status] { color:#8c3434; }
.ks-presets { gap:6px; }
@media (max-width:1080px) { .ks-comparison { grid-template-columns:minmax(0,1fr); } .ks-comparison > div+div { border-top:1px solid #dbe4e9; padding-top:8px; } }
@media (max-width:540px) { .ks-controls,.ks-calculator-controls { grid-template-columns:minmax(0,1fr); gap:12px; } .crypto-masters .course-body .ks-demo { padding:12px; } .ks-demo .ks-status { height:6.4em; } }
@media (prefers-reduced-motion:no-preference) { .ks-svg-scroll .ks-coverage,.ks-svg-scroll [data-base-key] rect { transition:fill 180ms ease; } }
