.cpm-lab{box-sizing:border-box;max-width:1320px;margin:32px auto;padding:28px;background:#0d1b2b;color:#ecf4ff;border:1px solid #2a4359;border-radius:14px;font:15px/1.7 system-ui,sans-serif}.cpm-lab *{box-sizing:border-box}.cpm-lab h2{color:#f4f8ff;font-size:clamp(23px,3vw,34px);line-height:1.4;margin:10px 0 14px}.cpm-lab p{margin:8px 0}.cpm-lab .cpm-eyebrow{color:#42dcf4;font-size:11px;letter-spacing:2px}.cpm-eyebrow span{letter-spacing:0;margin-left:10px;color:#ffc75a}.cpm-description,.cpm-status{color:#acc2d6}.cpm-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 14px}.cpm-toolbar label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cpm-toolbar select,.cpm-toolbar button{font:inherit;background:#182e43;color:#edf6ff;border:1px solid #3b5b75;border-radius:6px;padding:8px 12px;min-height:42px}.cpm-toolbar button{cursor:pointer}.cpm-toolbar button:hover{border-color:#42dcf4}.cpm-lab input[type=range]{accent-color:#42dcf4;max-width:160px}.cpm-lab input[type=checkbox]{accent-color:#42dcf4;width:18px;height:18px}.cpm-lab :focus-visible{outline:2px solid #42dcf4;outline-offset:3px}.cpm-chart-wrap{position:relative;background:#091421;border:1px solid #284359;border-radius:8px;overflow:hidden}.cpm-lab canvas{display:block;width:100%;height:540px;touch-action:pan-y}.cpm-tooltip{position:absolute;pointer-events:none;white-space:pre-line;background:#eaf4ff;color:#071422;border-radius:8px;padding:10px 14px;font-size:12px;box-shadow:0 4px 20px #0007;max-width:240px;z-index:2}.cpm-tooltip[hidden]{display:none}.cpm-window{display:flex;align-items:center;gap:16px;font-size:12px;color:#a9bfd0;margin:10px 0}.cpm-window input[type=range]{max-width:none;flex:1}.cpm-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;margin:16px 0}.cpm-support{color:#42dcf4}.cpm-resistance{color:#fb85b6}.cpm-bid{color:#5fe3a1}.cpm-ask{color:#ffc75a}.cpm-gradient{display:inline-block;width:120px;height:12px;background:linear-gradient(90deg,#340c5a,#2c608e,#20a989,#7dce46,#f9ea23);vertical-align:middle}.cpm-summary{padding:14px;background:#11263a;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.cpm-lab details{margin-top:18px;border-top:1px solid #2a4359;padding-top:14px}.cpm-lab summary{cursor:pointer;color:#55ddf5}.cpm-method{font-size:12px;color:#acc2d6}.cpm-table{overflow-x:auto}.cpm-table table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;color:#d5e5f4}.cpm-table th,.cpm-table td{padding:8px 10px;text-align:right;border-bottom:1px solid #284359}.cpm-table caption{text-align:left;padding:12px 0;color:#acc2d6}.cpm-preview{margin:0;background:#06111e!important;color:#edf6ff}.cpm-preview-header{max-width:1320px;margin:24px auto;padding:0 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:14px system-ui}.cpm-preview-header a{color:#edf6ff;text-decoration:none;font-size:22px}.cpm-preview-header span{color:#ffc75a}@media(max-width:600px){.cpm-lab{margin:16px 8px;padding:16px 10px;border-radius:10px;font-size:13px}.cpm-lab canvas{height:420px}.cpm-toolbar{gap:8px}.cpm-toolbar select,.cpm-toolbar button{padding:7px 9px;font-size:12px}.cpm-legend{gap:8px}.cpm-summary{font-size:12px}}
.cpm-lab[data-mode=heatmap] canvas{height:620px}.cpm-range-note{font-size:12px;color:#c6d8e8}.cpm-lab[data-mode=heatmap] .cpm-toolbar input[type=range]{max-width:110px}.cpm-lab[data-mode=heatmap] .cpm-chart-wrap{border-color:#3c4865}.cpm-lab .cpm-toolbar output{min-width:30px;font-variant-numeric:tabular-nums}.cpm-tooltip{line-height:1.7;border:1px solid #b8cedd}@media(max-width:600px){.cpm-lab[data-mode=heatmap] canvas{height:500px}.cpm-lab[data-mode=heatmap] .cpm-toolbar{align-items:center}.cpm-lab[data-mode=heatmap] .cpm-toolbar label{font-size:12px}.cpm-lab[data-mode=heatmap] .cpm-toolbar input[type=range]{max-width:96px}.cpm-range-note{font-size:11px}}
