/* Scoped dark laboratories, high contrast in every interactive state. */
.ck-lab{--ck-bg:#0b1d2d;--ck-panel:#132d42;--ck-line:#35566d;--ck-text:#edf5fc;--ck-muted:#bbd0e1;--ck-mint:#8ce7d1;box-sizing:border-box;width:100%;overflow:hidden;border:1px solid var(--ck-line);border-radius:24px;background:radial-gradient(ellipse at 30% 28%,#1b3a50 0,transparent 65%),var(--ck-bg);color:var(--ck-text);font-family:inherit;box-shadow:0 20px 60px #030a1440;margin:20px 0}
.ck-lab *, .ck-lab *::before,.ck-lab *::after{box-sizing:border-box}
.ck-lab h3,.ck-lab h4,.ck-lab p,.ck-lab label,.ck-lab summary,.ck-lab output,.ck-lab span{color:inherit}
.ck-lab button,.ck-lab input,.ck-lab summary{font:inherit}
.ck-lab button{cursor:pointer;border:1px solid #55778e;background:#17364c;color:#edf5fc;border-radius:12px;font-weight:650;line-height:1.4;padding:12px 16px;box-shadow:none;min-height:44px;white-space:normal;text-transform:none;letter-spacing:normal}
.ck-lab button:hover{background:#244b64;border-color:#91c9f4;color:#fff;transform:none}
.ck-lab button:focus-visible,.ck-lab input:focus-visible,.ck-lab summary:focus-visible{outline:3px solid #f5d08c;outline-offset:3px}
.ck-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;border-bottom:1px solid #35566d;background:#10283b}
.ck-top>span{font-size:11px;letter-spacing:.15em;font-weight:800;color:#a3eddd;display:flex;align-items:center;gap:9px}
.ck-top i{width:8px;height:8px;border-radius:50%;background:#8ce7d1;box-shadow:0 0 14px #8ce7d180}
.ck-top button{font-size:12px;padding:8px 12px;min-height:38px;background:#17364c;color:#d7e9f6}
.ck-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px 18px;background:#0b2031}
.ck-stages button{display:grid;grid-template-columns:1fr auto;align-content:start;gap:7px;text-align:left;padding:12px;min-height:92px;background:#142d42;border-color:#3e6077;color:#d8e8f4;font-size:13px}
.ck-stages button b{font-size:11px;letter-spacing:.12em;color:#a8c9dc;font-weight:700}
.ck-stages button span{grid-column:1/-1;color:inherit}
.ck-stages button i{grid-column:2;grid-row:1;font-style:normal;color:#9fc1d5;font-size:11px}
.ck-stages button[aria-pressed=true]{background:#23564f;color:#f0fff9;border-color:#8ce7d1;box-shadow:inset 0 2px 0 #a5efdf}
.ck-stages button[aria-pressed=true] b,.ck-stages button[aria-pressed=true] i{color:#b7f5e6}
.ck-scene-head{padding:22px 26px 0}
.ck-scene-head>span{font-size:10px;letter-spacing:.14em;font-weight:800;color:#91c9f4}
.ck-lab .ck-scene-head h3{font-size:clamp(20px,2.6vw,28px);font-weight:750;line-height:1.2;letter-spacing:-.02em;margin:8px 0 0;color:#f1f7fc}
.ck-workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(225px,1fr);gap:16px;align-items:center;padding:14px 20px 18px}
.ck-canvas{position:relative;min-width:0;background:radial-gradient(ellipse at center,#1d405440,transparent 70%);border-radius:20px;overflow:hidden}
.ck-svg{width:100%;height:auto;display:block;overflow:visible;aspect-ratio:640/360;min-height:220px;isolation:isolate}
.ck-svg text{font-family:inherit;font-weight:600;letter-spacing:0;paint-order:stroke;stroke:#0b203180;stroke-width:1.5px}
.ck-svg path,.ck-svg rect,.ck-svg circle,.ck-svg ellipse{transform-box:fill-box;transform-origin:center}
.ck-panel{min-width:0;padding:16px;background:#0c2033;border:1px solid #35566d;border-radius:18px;box-shadow:0 10px 25px #030c1620}
.ck-control-list:empty{display:none}
.ck-lab .ck-control{display:block;font-size:12px;line-height:1.5;color:#d6e8f7;font-weight:650;margin:0 0 20px}
.ck-control output{display:inline-block;float:right;margin-left:8px;padding:0 6px;border-radius:5px;background:#244c5b;color:#a8f0df;font-weight:800}
.ck-control input[type=range]{display:block;appearance:auto;width:100%;height:28px;margin:9px 0 0;padding:0;accent-color:#8ce7d1;cursor:pointer;background:transparent;border:none;box-shadow:none}
.ck-readout{font-size:13px;line-height:1.65;color:#d3e6f4;border-top:1px solid #35566d;padding-top:13px}
.ck-control-list:empty+.ck-readout{border-top:0;padding-top:0}
.ck-lab .ck-limit{margin:0;padding:0 26px 20px;font-size:11px;line-height:1.6;color:#b5cadb}
.ck-explain{padding:22px 26px;background:#153b40;border-top:1px solid #3f7470;border-bottom:1px solid #3f7470;position:relative}
.ck-explain:before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:4px;background:#8ce7d1;border-radius:0 4px 4px 0}
.ck-explain>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#a1f0dd}
.ck-lab .ck-explain h3{margin:7px 0 10px;font-size:20px;line-height:1.3;color:#f0fff9;font-weight:750;letter-spacing:-.01em}
.ck-lab .ck-explain p{margin:0;font-size:15px;line-height:1.8;color:#e0f1ef;max-width:82ch}
.ck-predict{padding:24px 26px;background:#10273b}
.ck-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:800;color:#f5d08c!important}
.ck-lab .ck-predict h4{margin:9px 0 17px;font-size:17px;line-height:1.5;font-weight:700;color:#f0f6fc}
.ck-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ck-options button{font-size:13px;line-height:1.55;text-align:left;background:#19374e;border-color:#4b6d83;font-weight:550;padding:14px 16px}
.ck-options button.ck-correct,.ck-options button.ck-correct:hover{background:#225a4e;border-color:#8ce7d1;color:#f0fff8}
.ck-options button.ck-retry,.ck-options button.ck-retry:hover{background:#59394a;border-color:#f4a6ba;color:#fff2f6}
.ck-options button:disabled{cursor:default;opacity:1;color:#d8e8f4}
.ck-feedback{margin-top:14px;padding:15px 18px;border-radius:12px;background:#1b3c50;border:1px solid #537a91;font-size:14px;line-height:1.7;color:#e7f2fa}
.ck-feedback[hidden]{display:none}
.ck-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 26px 24px;background:#10273b}
.ck-terms details{border:1px solid #3c5a70;border-radius:12px;padding:12px 15px;background:#112c40}
.ck-terms summary{font-size:12px;font-weight:700;color:#a8dfef;cursor:pointer;min-height:22px;line-height:1.6}
.ck-lab .ck-terms p{font-size:13px;line-height:1.6;margin:10px 0 0;color:#d9e9f5}
.ck-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-top:1px solid #35566d;background:#0c2031}
.ck-footer>span{font-size:11px;line-height:1.6;color:#bad0e0}
.ck-footer button{font-size:12px;background:#22564f;border-color:#76c9b9;color:#f0fff9;flex-shrink:0}
.ck-bob{animation:ck-float 3.8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.ck-pulse{animation:ck-pulse 3s ease-in-out infinite}
.ck-wave{animation:ck-wave 4s ease-in-out infinite}
.ck-draw{stroke-dasharray:1200;stroke-dashoffset:1200;animation:ck-reveal 1.7s ease-out forwards}
.ck-transition{transition:stroke-dasharray .5s ease}
.ck-paused *{animation-play-state:paused!important;transition:none!important}
@keyframes ck-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ck-pulse{0%,100%{opacity:1}50%{opacity:.65}}
@keyframes ck-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@keyframes ck-reveal{to{stroke-dashoffset:0}}
@media(max-width:900px){.ck-workspace{grid-template-columns:1fr;gap:10px}.ck-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.ck-readout{border-top:0;border-left:1px solid #35566d;padding:0 0 0 16px}.ck-control-list:empty+.ck-readout{grid-column:1/-1;border-left:0;padding:0}.ck-canvas{max-width:660px;width:100%;margin:auto}.ck-control{margin-bottom:12px}.ck-svg{min-height:0}}
@media(max-width:560px){.ck-lab{border-radius:18px}.ck-top{padding:12px 14px;gap:8px}.ck-top>span{font-size:9px;letter-spacing:.1em}.ck-top button{font-size:10px;padding:8px;min-height:36px}.ck-stages{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:7px}.ck-stages button{min-height:77px;font-size:11px;padding:10px}.ck-scene-head{padding:18px 16px 0}.ck-workspace{padding:12px;gap:8px}.ck-panel{display:block;padding:14px}.ck-control-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ck-control-list:has(.ck-control:only-child){grid-template-columns:1fr}.ck-lab .ck-control{font-size:11px;margin-bottom:14px}.ck-readout{border-left:0;border-top:1px solid #35566d;padding:12px 0 0;font-size:12px}.ck-lab .ck-limit{padding:0 16px 16px;font-size:10px}.ck-explain{padding:20px 18px}.ck-lab .ck-explain h3{font-size:18px}.ck-lab .ck-explain p{font-size:14px;line-height:1.75}.ck-predict{padding:20px 16px}.ck-lab .ck-predict h4{font-size:15px}.ck-options{grid-template-columns:1fr}.ck-options button{font-size:12px;padding:13px}.ck-terms{padding:0 16px 20px;gap:8px}.ck-terms details{padding:11px}.ck-terms summary{font-size:11px}.ck-footer{flex-direction:column;align-items:stretch;padding:14px 16px}.ck-footer button{text-align:center}.ck-footer>span{text-align:center}}
@media(prefers-reduced-motion:reduce){.ck-lab *{animation:none!important;transition:none!important}.ck-draw{stroke-dashoffset:0}}
.ck-diagram{min-width:0}.ck-diagram>[data-ck-zoom]{display:none}.ck-canvas.ck-zoom{overflow:auto;max-width:100%;overscroll-behavior:contain}.ck-canvas.ck-zoom .ck-svg{min-width:640px}.ck-lab .ck-zoom-hint{margin:9px 0 0;font-size:12px;color:#c8dfed}.ck-zoom-hint[hidden]{display:none}
@media(max-width:560px){.ck-diagram>[data-ck-zoom]{display:block;width:100%;font-size:12px;margin:8px 0;background:#15384d}.ck-lab[data-scene=heatmap] .ck-svg text{font-size:24px}.ck-lab[data-scene=heatmap] .ck-canvas.ck-zoom .ck-svg text{font-size:18px}.ck-canvas.ck-zoom .ck-svg{height:360px}.ck-lab .ck-diagram .ck-canvas{margin:0}}
