.ch-study{--ch-ink:#ece6da;--ch-muted:#a9b2bf;--ch-line:#8d99ad33;color:var(--ch-ink);background:radial-gradient(at 18% -10%,#3a3548,#242a3b 55%,#1d2231);border-radius:24px;padding:20px 22px 18px;font-size:16px;line-height:1.5;overflow:hidden}.ch-heading{justify-content:space-between;align-items:baseline;gap:8px 20px;min-height:28px;margin-bottom:12px;display:flex}.ch-heading>span{letter-spacing:.08em;color:var(--ch-muted);white-space:nowrap;font-size:16px}.ch-heading b{font-variant-numeric:tabular-nums;text-align:right;font-size:16px;font-weight:500}.ch-stage{min-width:0;position:relative}.ch-map{background:#20283a;border-radius:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.ch-map canvas,.ch-map svg{display:block;position:absolute;inset:0}.ch-map svg{width:100%;height:100%}.ch-map svg text{font-family:inherit;font-size:16px}.ch-hex path{fill:none;stroke:#d8e1ee;stroke-opacity:.5;stroke-width:1.1px;stroke-dasharray:4 5}.ch-road{fill:none;stroke:#3a4459;stroke-width:11px;stroke-linecap:round;stroke-linejoin:round}.ch-road-line{fill:none;stroke:#5b6680;stroke-width:1.2px;stroke-dasharray:6 9}.ch-ribbon{fill:none;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.ch-site-label{fill:#f4efe6;paint-order:stroke;stroke:#1d2433;stroke-width:4px;stroke-linejoin:round;font-weight:500}.ch-distance{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#1d2433;stroke-width:4px;stroke-linejoin:round;font-weight:600}.ch-link{fill:none;stroke-width:2.4px;stroke-dasharray:10 6;stroke-linecap:round}.ch-camp{fill:none;stroke-width:1.4px;stroke-dasharray:1 5;stroke-linecap:round;opacity:.9}.ch-listen{fill:none;stroke-width:1.3px;stroke-dasharray:3 6;opacity:.8}.ch-cell-tag text{font-weight:600}.ch-phone-halo{fill:#f6e7c8;opacity:.16}.ch-ttt-track{fill:none;stroke:#ffffff26;stroke-width:3px}.ch-ttt{fill:none;stroke-width:3px;stroke-linecap:round}.ch-ta-label rect{fill:#1d2433cc;stroke:#ffffff30}.ch-ta-label text{fill:#f4efe6}.ch-instrument svg text.ch-lane-label,.ch-instrument svg tspan.ch-lane-label{fill:var(--ch-muted)}.ch-instrument svg text.ch-lane-note{font-variant-numeric:tabular-nums;font-weight:500}.ch-instrument-journey,.ch-instrument-idle,.ch-instrument-ruler{min-height:inherit;flex-direction:column;justify-content:center;display:flex}.ch-core rect{fill:#2b3447;stroke:#f6e7c8;stroke-opacity:.6}.ch-core text{fill:#f6e7c8}.ch-signal{fill:none;stroke:#f6e7c8;stroke-width:1.4px;stroke-dasharray:3 5;opacity:.8}.ch-instrument{min-width:0;margin-top:14px}.ch-instrument svg{width:100%;display:block;overflow:visible}.ch-instrument svg text{fill:var(--ch-ink);font-family:inherit;font-size:16px}.ch-instrument svg text.ch-axis{fill:var(--ch-muted);font-variant-numeric:tabular-nums}.ch-instrument svg text.ch-lane-cell{fill:#1d2433;font-weight:600}.ch-trace-tag{paint-order:stroke;stroke:#1f2536;stroke-width:4px;font-weight:600}.ch-lane+.ch-lane{margin-top:6px}.ch-lane-head{color:var(--ch-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:2px;font-size:16px;display:flex}.ch-lane-head b{white-space:nowrap;color:var(--ch-ink);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.ch-note{color:var(--ch-muted);margin:10px 0 0;font-size:16px}.ch-spectrum-row+.ch-spectrum-row{margin-top:10px}.ch-spectrum-row{transition:opacity .4s}.ch-spectrum-axis{color:var(--ch-muted);justify-content:space-between;gap:12px;margin-top:8px;font-size:16px;display:flex}.ch-ruler .ch-ruler-label{font-weight:600}.ch-lanes{margin-top:6px}.ch-ladder-wrap{min-height:inherit;justify-content:center;align-items:center;display:flex}.ch-ladder{width:100%;display:block;overflow:visible}.ch-ladder text{fill:var(--ch-ink);font-family:inherit;font-size:16px}.ch-ladder text.ch-ladder-label{paint-order:stroke;stroke:#232a3b;stroke-width:5px;stroke-linejoin:round}.ch-ladder text.ch-ladder-node{font-weight:600}.ch-ladder text.ch-ladder-sub,.ch-ladder text.ch-axis,.ch-ladder text.ch-packet-more{fill:var(--ch-muted)}.ch-ladder text.ch-gap-label{fill:#f3a497;font-weight:600}.ch-ladder text.ch-packet-id{font-variant-numeric:tabular-nums;font-weight:600}.ch-ladder text.ch-packet{font-variant-numeric:tabular-nums}.ch-controls{border-top:1px solid var(--ch-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin-top:18px;padding-top:16px;display:grid}.ch-controls .control,.ch-controls .control-top,.ch-controls .control output{color:#c9cfd8;font-size:16px}.ch-controls .control output{color:var(--ch-ink);font-variant-numeric:tabular-nums}.ch-controls input[type=range]{--range-color:#eed17f;--range-rest:#4a546a;min-height:44px}.ch-controls .segmented{background:#2b3447;width:100%}.ch-controls .segmented button{color:#b9c1cc;min-height:44px;font-size:16px}.ch-controls .segmented button[aria-pressed=true]{color:#1d2433}.ch-controls .segment-selection{background:#eed17f}.ch-controls .segmented,.ch-verdict,.ch-notes,.ch-reset{grid-column:1/-1}.ch-verdict{background:#8d99ad1a;border-radius:14px;margin:0;padding:10px 16px;font-size:16px}.ch-verdict[data-pending=true]{opacity:.55}.ch-verdict{transition:opacity .2s}.ch-verdict[data-tone=late]{color:#f3a497}.ch-verdict[data-tone=eager]{color:#eed17f}.ch-verdict[data-tone=ok]{color:#b1d895}.ch-reset{min-height:44px;color:var(--ch-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:22px;justify-self:start;padding:0 20px;transition:background .2s}.ch-reset:hover{background:#ffffff12}.ch-notes summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.ch-notes p{color:var(--ch-muted);margin:6px 0}@media (max-width:760px){.ch-study{border-radius:20px;padding:14px 12px}.ch-heading{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:4px}.ch-heading>span{display:none}.ch-heading b{text-align:left;min-height:48px}.ch-map{border-radius:14px}.ch-controls{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ch-spectrum-row,.ch-reset{transition:none}}
