.v2StepSquare{border:1px solid var(--csEdge);background:var(--csFace);color:var(--csInkDim);transition:background-color var(--csTintMs) var(--csEase),border-color var(--csTintMs) var(--csEase),color var(--csTintMs) var(--csEase),box-shadow var(--csTintMs) var(--csEase),transform var(--csKeyMs) var(--csEase)}.v2StepSquare[data-state=solved]{border-color:var(--csSuccessLine);background:color-mix(in srgb,var(--csSuccess) 15%,transparent);color:var(--csSuccess)}.v2StepSquare[data-state=revealed]{border-color:var(--csDangerLine);background:color-mix(in srgb,var(--csDanger) 15%,transparent);color:var(--csDanger)}.v2StepSquare[data-state=skipped]{background:var(--csWell);color:var(--csSpent)}.v2StepSquare:hover{border-color:var(--csEdgeHi)}.v2StepSquare[data-active="1"]{box-shadow:0 0 0 2px var(--csAmber)}.v2StepSquare:focus-visible{outline:var(--csFocusW) solid var(--csAmberHi);outline-offset:var(--csFocusGap)}.v2TrainScoreCaption,.v2TrainScoreTotal{color:var(--csInkDim)}.csRoot .csKey.v2TrainKey{--csKeyPressPull:calc(1px - var(--csDepth));justify-content:center;font-size:15px;font-weight:600;border-radius:var(--csRadKey)}.csKey.v2TrainKey[data-side=w]{--csKeyFace:#fff;--csKeyFaceHi:#e5e5e5;--csKeyEdge:#fff;--csKeyEdgeHi:#e5e5e5;--csKeySole:#a3a3a3;--csKeyInk:#171717;--csKeyInkHi:#171717}.csKey.v2TrainKey[data-side=b]{--csKeyFace:#1a1a1a;--csKeyFaceHi:#000;--csKeyEdge:#313131;--csKeyEdgeHi:#3d3d3d;--csKeySole:#000;--csKeyInk:#f5f5f4;--csKeyInkHi:#fff}.v2MetricRule{border-top:1px solid var(--csLine)}.v2MetricMeta{color:var(--csInkMeta)}.v2MetricName{color:var(--csInkBody)}.v2MetricQuiet{color:var(--csInkDim)}.v2StandRail{box-sizing:border-box;width:100%;height:17px;padding:2px;border-radius:6px;border:1px solid var(--csWellEdge);background:var(--csWell);box-shadow:var(--csCutShadow)}.v2StandPlot{position:relative;height:11px}.v2StandTick{left:50%;width:1px;transform:translateX(-.5px);background:var(--csInkDim)}.v2StandFill,.v2StandTick{position:absolute;top:0;bottom:0}.v2StandFill{border-radius:3px;background:currentColor;box-shadow:0 2px 0 color-mix(in srgb,currentColor 55%,var(--csSole))}.v2StandYou{position:absolute;top:50%;box-sizing:border-box;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--csPanel);background:var(--csAmber)}.v2StandQuiet{color:var(--csInkDim)}.v2StandLabel{color:var(--csInkBody)}.v2StandRow[data-soft="1"] .v2StandLabel{color:var(--csInkDim)}