/* One material world: enamel, machined rings, steel bearings and red actuators. */
:root{scrollbar-color:#9c2118 #dfd4c1}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #9b2017;outline-offset:5px}
.visit-section button:focus-visible,.visit-section a:focus-visible{outline-color:#fff5df}
.pointer-rail-light{opacity:0;pointer-events:none;transition:opacity .7s}
.footer-ball{transition:translate .7s cubic-bezier(.2,.85,.2,1.12)}
*{scrollbar-width:thin;scrollbar-color:#9c2118 #dfd4c1}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#dfd4c1;border-left:1px solid #b7aa93}
::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#831b13,#cd392a,#942118);border:2px solid #dfd4c1;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#811b13}
.rail-wake{fill:none;stroke:#fff9e9;stroke-width:2;stroke-linecap:round;opacity:0;pointer-events:none;vector-effect:non-scaling-stroke}
#hero-ball{filter:none}
.contact-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:7;opacity:var(--contact,0);background:radial-gradient(ellipse 140px 95px at var(--px,50%) var(--py,20%),#fff9e875,transparent 72%);mix-blend-mode:soft-light;transition:opacity .65s;overflow:hidden}
.mirror .contact-sheen{background:radial-gradient(ellipse 120px 160px at var(--px,50%) var(--py,20%),#fff8,transparent 70%);mix-blend-mode:screen;opacity:calc(var(--contact,0)*.52)}
.brake-surround{position:relative}
.brake-surround .contact-sheen{inset:2%;border-radius:50%;background:conic-gradient(from 15deg at var(--px,50%) var(--py,30%),transparent,#fff9 14%,transparent 27%,#fff3 65%,transparent 85%);mix-blend-mode:soft-light}
.quick-form .contact-sheen,.visit-form .contact-sheen{opacity:calc(var(--contact,0)*.35)}
.hero-screw,.target-icon,.spring-art,.faq-art,.bumper-button>span,.bumper-decoration>i{transition:translate .6s cubic-bezier(.2,.8,.25,1.15),rotate .65s cubic-bezier(.2,.8,.25,1.15)}
.bearing-cursor{position:fixed;left:0;top:0;z-index:2147483000;width:0;height:0;pointer-events:none;opacity:0;transition:opacity .12s}
.bearing-cursor.visible{opacity:1}
.bearing-core{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border:1px solid #969188;border-radius:50%;background:radial-gradient(circle at 29% 22%,#fff 2%,#fff9e8 13%,#adb2ad 28%,#272f31 47%,#0d1418 56%,#d5caba 76%,#3f3930 94%);box-shadow:1px 3px 3px #33251666}
.bearing-collar{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border:1.5px solid #c4261b;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:0;rotate:-25deg;transition:opacity .15s,rotate .45s}
.over-control .bearing-collar{opacity:.85;rotate:65deg}
.bearing-echo{position:fixed;top:-2px;left:-2px;width:4px;height:4px;border-radius:50%;background:#811b13;z-index:2147482999;pointer-events:none;opacity:0;transition:opacity .35s}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .machine.bearing-active,.machine.bearing-active a,.machine.bearing-active button,.machine.bearing-active summary{cursor:none}
 .machine.bearing-active input,.machine.bearing-active textarea{cursor:text}
 .machine.bearing-active select{cursor:default}
}
.plunger.charging{filter:drop-shadow(0 2px 3px #c4261b55)}
.service-orbit-ball{display:none}
.service-bearing{filter:none}
.rotor-halo{position:absolute;inset:-1.5%;border-radius:50%;border:3px solid transparent;border-top-color:#fff7df;border-right-color:#c4261b;opacity:0;pointer-events:none;filter:drop-shadow(0 1px 2px #5f392a44)}
.service-target:hover{transform:none}
.service-target .target-arrow{transition:opacity .25s,transform .5s}
.process-stop>span{transition:transform .6s cubic-bezier(.2,.8,.2,1.2),color .25s,background .25s}
.process-ball{transition:left .95s cubic-bezier(.3,1.25,.5,1)}
.process-dial-arm{transition:transform 1.05s cubic-bezier(.3,1.5,.5,1)}
.symptom-console.changed .signal-wave i{animation:none}
.service-readout.updating .readout-title h3,.service-readout.updating .readout-content{animation:readout-change .5s ease-out}
dialog::backdrop{backdrop-filter:blur(3px)}
@media(hover:hover) and (pointer:fine){.brake-target:hover .rotor-halo{opacity:.55}.brake-target:hover .rotor-art{filter:brightness(1.03)}.diagnostics-target:hover .diagnostic-scan{opacity:.7}}
@media(prefers-reduced-motion:reduce){.bearing-cursor,.bearing-echo,.contact-sheen,.rail-wake,.pointer-rail-light{display:none!important}.hero-screw,.target-icon,.spring-art,.faq-art,.bumper-button>span,.bumper-decoration>i,.footer-ball{translate:none!important;rotate:none!important}}
@media(forced-colors:active){.bearing-cursor,.bearing-echo,.contact-sheen{display:none}.machine.bearing-active,.machine.bearing-active a,.machine.bearing-active button,.machine.bearing-active summary{cursor:auto}}

/* Polished twin-wire tracks. Contact shadows belong beneath the metal. */
.track-contact-shadow{filter:blur(1.1px)}
.crafted-track{pointer-events:none}
.hero-tracks.rail-crafted,.service-tracks.rail-crafted{opacity:1;transform:none}
.plunger{touch-action:none;--charge:0}
.plunger::after{content:"";position:absolute;right:-6px;bottom:10px;width:3px;height:72px;transform-origin:bottom;transform:scaleY(var(--charge));background:#f35c39;border-radius:4px;box-shadow:0 0 7px #ed4b2b80;pointer-events:none}
.plunger .plunger-shaft{transform-origin:bottom;transition:none}
.plunger .plunger-cap{transition:none}
.plunger:hover .plunger-cap,.plunger:active .plunger-cap{transform:none}
.plunger.held{filter:drop-shadow(0 3px 4px #8e201744)}
@media(prefers-reduced-motion:reduce){.plunger::after{display:none}}


/* The native dialog owns its scroll while the board stays put. */
html{scrollbar-gutter:stable}
html:has(dialog[open]),html:has(dialog[open]) body{overflow:hidden;overscroll-behavior:none}
dialog{overscroll-behavior:contain;scrollbar-color:#9c2118 #dfd4c1}
@media(forced-colors:active){*{scrollbar-color:auto}}

.hero-tracks{overflow:visible}

.mirror img{object-position:55% 50%}.inspection-window img{object-position:50% 50%}.workshop-image img{object-position:70% 50%}
