.practice-header,.practice-instruction,.practice-demo,.practice-feedback,.activity-board{overflow-wrap:anywhere}
.practice-demo[hidden]{display:none}
.activity-board .choice-row{flex-wrap:wrap}
.activity-board[data-machine=gears],.activity-board[data-machine=tools]{background:#282b34;border-color:#886068}
.activity-board[data-machine=circuit],.activity-board[data-machine=current]{background:#342d3a;border-color:#8a758d}
.activity-board[data-machine=route],.activity-board[data-machine=sensor]{background:#243645;border-color:#6e8c9e}
.activity-board[data-machine=rigging],.activity-board[data-machine=rollers]{background:#1d344b;border-color:#6686a2}
.activity-board[data-machine=wheels],.activity-board[data-machine=balance]{background:#35274a;border-color:#8f74a1}
.activity-board[data-machine=alliance],.activity-board[data-machine=pit]{background:#223540;border-color:#708b99}
.activity-board[data-machine][data-result=pass]{border-color:#72be92}
.activity-board[data-machine][data-result=fail]{border-color:#da707d}
.activity-board .part-preview{width:30px;height:28px;display:block;margin:0 auto 3px}
.placement .choice-row .choice{min-width:42px}
.fastener-profiles{display:flex;justify-content:center;gap:5px;margin-top:4px}
.fastener-profiles span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #75808c;background:#292f39;color:#cad5db}
.fastener-profiles .target-profile{border-color:#91c8a1;color:#bde9c5}
.wire-spool::before{content:"";display:inline-block;width:12px;height:12px;border:2px double #d8c7a3;border-radius:50%;margin-inline-end:5px;vertical-align:-1px;background:var(--wire)}
.block-program{min-height:37px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px;border:2px inset #75909f}
.command-block{display:grid;place-items:center;min-width:26px;height:22px;padding:0 5px;color:#f0f9ff;background:#376f9c;border:1px solid #77b1d0;border-radius:2px 5px 5px 2px;font-weight:800}
.sensor-equipment{padding:5px 10px;background:#172531;border:2px solid #6b8d9f;border-radius:4px}
.sensor-equipment .activity-art:first-child{max-height:114px}
.sensor-equipment .activity-art:last-child{max-height:67px}
.sensor-equipment svg[data-zone=green]{outline:1px solid #83c18c;outline-offset:-6px}
.activity-board .lift-diagram,.activity-board .intake-diagram{width:min(100%,360px);max-height:192px}
.pulley-label{font:700 10px monospace}
.intake-wheel{animation:gear-spin var(--gear-time) linear infinite var(--gear-direction)}
.activity-board[data-result=pass] .carriage{animation:carriage-up .65s ease-out both}
.activity-board[data-result=fail] .carriage{animation:carriage-jam .38s ease-in-out both}
@keyframes carriage-up{to{transform:translateY(-32px)}}
@keyframes carriage-jam{25%,75%{transform:rotate(7deg) translateY(-4px)}50%{transform:rotate(-7deg) translateY(-4px)}}
.wheel-chassis{position:relative;width:min(100%,270px);gap:17px;padding:11px 23px;background:#3f3258;border-color:#9f86b2;border-radius:5px}
.chassis-outline{position:absolute;inset:16% 23%;border:4px double #b0bbc7;background:#536179;box-shadow:inset 0 0 0 4px #384454}
.chassis-outline::after{content:"";position:absolute;inset:32% 18%;background:#2b3c51;border:2px solid #b0bbc7}
.wheel-chassis .wheel-cell{position:relative;display:flex;align-items:center;gap:3px;min-width:0;color:#f0d09a;background:#252637}
.wheel-chassis .wheel-cell:nth-of-type(odd){flex-direction:row-reverse}
.wheel-chassis .wheel-cell.empty{border-style:dashed}
.wheel-chassis .wheel-cell .part-preview{margin:0}
.wheel-slot{color:#a9a2b5}
.strafe-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:800;color:#eacc91}
.balance-blueprint{position:relative;width:min(100%,348px);margin:auto}
.balance-blueprint .balance-grid{width:100%}
.balance-overlay{position:absolute;inset:3px;pointer-events:none}
.cog-crosshair,.cog-target{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid #f4d48c;border-radius:50%;box-shadow:0 0 0 1px #333}
.cog-crosshair::before,.cog-crosshair::after{content:"";position:absolute;left:50%;top:50%;background:#f4d48c;transform:translate(-50%,-50%)}
.cog-crosshair::before{width:22px;height:1px}
.cog-crosshair::after{width:1px;height:22px}
.cog-target{width:32px;height:32px;border-color:#90db9e;background:#4279494a}
.alliance-grid{position:relative;width:min(100%,305px);aspect-ratio:1;gap:3px;background:#50616b;border:3px solid #9eabb1;padding:3px}
.alliance-grid .grid-cell{z-index:1;min-height:0;background:#324752;border:1px solid #607380;color:#b6c5cc}
.alliance-grid .grid-cell.lane-orange{background:#6b4b39;color:#ffe4bc}
.alliance-grid .grid-cell.lane-blue{background:#375e7d;color:#d8edff}
.alliance-grid .grid-cell.lane-orange.lane-blue{background:#665767}
.alliance-grid .scoring-hive{font-size:22px;color:#ffd486!important}
.alliance-grid .racing{color:#fff5cf;font-size:20px}
.alliance-grid .route-collision{background:#aa3548!important;color:#fff}
.alliance-paths{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);z-index:2;pointer-events:none;opacity:.76}
.field-hint{margin:0;font-size:.85rem;color:#d7e2e8}
.pit-replay{gap:12px}
.pit-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;text-align:center}
.pit-readouts .instrument{display:grid;place-items:center;min-height:40px;font-size:.9rem}
.pit-clock{font-variant-numeric:tabular-nums;color:#ffd192}
.pit-clock[data-low=true]{color:#ff9ca5}
.pit-chassis{width:min(100%,315px)}
.pit-screw{min-width:39px;min-height:39px}
.pit-screw:not(:disabled){animation:screw-pulse 1.35s ease-in-out infinite}
@keyframes screw-pulse{50%{box-shadow:0 0 0 4px #e3627470}}
@media(max-width:440px){
 .pit-screw{min-width:34px;min-height:34px}
 .wheel-chassis{gap:9px;padding-inline:14px}
 .field-hint{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.activity-board .intake-wheel,.activity-board .pit-screw{animation:none}}
.power-cabinet{min-width:0;display:grid;align-content:center;gap:8px;padding:7px;border:2px solid #798892;border-radius:4px;background:#354453}
.power-cabinet .fuse-monitor{padding:6px;overflow-wrap:anywhere}
.power-cabinet .fuse-monitor::after{display:none}
.power-lamps{display:flex;justify-content:center;gap:7px;padding:6px;background:#1d2831;border:1px solid #5a6b77}
.power-led{width:15px;height:15px;border:2px solid #aab7bc;border-radius:50%;opacity:.32;background:#75ca95}
.power-led[data-lamp=warning]{background:#f1c566}.power-led[data-lamp=overload]{background:#f7818d}
.power-cabinet[data-state=safe] [data-lamp=safe],.power-cabinet[data-state=warning] [data-lamp=warning],.power-cabinet[data-state=overload] [data-lamp=overload]{opacity:1}
.voltage-dial{background:#272934;padding:7px;border:1px solid #776d7c}
.pit-machine{pointer-events:none}
.pit-screw{z-index:1}
.wheel-station{position:relative;width:min(100%,270px);margin:auto}
.wheel-station .wheel-chassis{width:100%}
.wheel-drop-grid{position:absolute;inset:11px 23px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.wheel-drop-grid .drop-slot{min-height:0;padding:0;color:transparent;background:transparent;border:1px solid transparent;font-size:0}
.wheel-drop-grid .drop-slot:hover,.wheel-drop-grid .drop-slot:focus-visible{border-color:#f4d48c;background:#ffffff13}
@media(max-width:440px){.wheel-drop-grid{inset-inline:14px;gap:9px}}
.pit-screw{--screw-size:39px;left:calc(var(--screw-x) - var(--screw-size)/2);top:calc(var(--screw-y) - var(--screw-size)/2);width:var(--screw-size);height:var(--screw-size);transform:none}
@media(max-width:440px){.pit-screw{--screw-size:34px}}
