.ch-demo { font-size:11px; }
.ch-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:16px 0 8px; }
.ch-comparison > div { min-width:0; }
.crypto-masters .ch-comparison h4 { font-size:12px; margin:0 0 6px; font-weight:600; }
.ch-scroll { overflow:auto; max-width:100%; overscroll-behavior-x:contain; }
.crypto-masters .course-body .ch-scroll > svg,.crypto-presentation .ch-scroll > svg { display:block; max-width:none; height:auto; margin:0 auto; font:11px Verdana,sans-serif; }
.ch-scroll svg rect { fill:#f8fafb; stroke:#cbd8de; }
.ch-scroll svg text { fill:#304c5b; }
.ch-scroll svg .ch-value { font-size:10px; font-variant-numeric:tabular-nums; }
.ch-route { fill:none; stroke:#78919e; stroke-width:1.4; }
.ch-route.ch-seen { stroke:#2b6680; stroke-width:1.8; }
.ch-scroll .ch-current rect { fill:#edf4f7; stroke:#245f80; stroke-width:2; }
.ch-scroll .ch-different rect { stroke-dasharray:3 2; }
.ch-scroll [data-enigma-node]:not(.ch-seen) .ch-value { fill:#536a75; }
.ch-packet { fill:#8a631e; stroke:#fff; stroke-width:1; pointer-events:none; }
.crypto-masters .ch-demo .ch-status { height:3.8em; overflow:auto; margin:12px 0 6px; line-height:1.7; color:#304f60; }
.crypto-masters .ch-demo .ch-config { min-height:3.4em; margin:0; color:#62757e; line-height:1.7; }
.crypto-masters .ch-demo .ch-windows { margin:4px 0 8px; }
.ch-windows output,.ch-output output,.ch-check { font-family:ui-monospace,monospace; font-size:11px; overflow-wrap:anywhere; }
.ch-output output { display:inline; }
.ch-output .ch-current { background:#e4edf3; outline:1px solid #718e9f; }
.crypto-masters .ch-demo .ch-output,.crypto-masters .ch-demo .ch-check { margin:6px 0; line-height:1.7; min-height:3.4em; }
.ch-history { height:158px; border-top:1px solid #e0e7eb; }
.crypto-masters .ch-demo table { min-width:0; width:100%; font-size:10px; }
.crypto-masters .ch-demo td,.crypto-masters .ch-demo th { padding:6px; white-space:nowrap; text-align:right; font-weight:400; }
.ch-history tr.ch-current { background:#f0f5f8; }
.ch-history thead { position:sticky; top:0; background:#fff; }
.ch-letters { margin-top:12px; }
.crypto-masters .ch-letters table { width:auto; margin:0; }
.crypto-masters .ch-letters th { text-align:left; }
.ch-letters .ch-period { border-bottom:2px solid #7896a6; }
.ch-letters .ch-current { background:#e6f0f4; color:#123e5c; }
.ch-equation { min-height:3.8em; }
.ch-blocked { stroke-dasharray:4 4; }
.ch-blocked rect { fill:#f5f5f5; }
.ch-scroll .ch-blocked .ch-value { fill:#6d7174; }
.ch-math { font-size:11px; text-align:center; line-height:28px; }
.crypto-masters .ch-query-log { height:116px; overflow:auto; padding-left:22px; margin:8px 0; }
.crypto-masters .ch-query-log li { margin:0 0 5px; line-height:1.7; }
.ch-scroll:focus-visible { outline:1px solid #507083; outline-offset:2px; }
.ch-demo .crypto-fields { margin-top:12px; }
@media (max-width:1080px) { .ch-comparison { grid-template-columns:minmax(0,1fr); gap:18px; } .ch-comparison > div+div { border-top:1px solid #e0e7eb; padding-top:14px; } }
@media (min-width:1081px) { .crypto-presentation .ch-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .crypto-masters .course-body .ch-demo { padding:12px; } .ch-demo .crypto-actions { gap:6px; } .crypto-masters .ch-demo .ch-status { height:6.8em; } }
