:root{--ink:#eaece5;--sub:#a8b0a5;--lime:#d5ed36;--dark:#141b17;--paper:#eeeFE5;--line:#354037}*{box-sizing:border-box}body{margin:0;background:#101612;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}a{color:inherit;text-underline-offset:4px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 48px}.brand{font-size:27px;letter-spacing:-1.5px;font-weight:800;text-decoration:none;display:flex;align-items:center}.brand span{color:var(--lime)}.brand i{width:7px;height:7px;background:var(--lime);border-radius:50%;margin:0 0 15px 4px}.header-label{font-family:monospace;font-size:11px;letter-spacing:2px;color:var(--sub)}.quiet{background:none;border:1px solid #495649;color:var(--ink);border-radius:30px;padding:9px 17px;min-height:42px}main{max-width:1440px;margin:auto;padding:0 48px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:46px 0 32px;gap:25px}.eyebrow{font:11px/1.5 monospace;letter-spacing:1.9px;color:var(--lime);margin:0 0 15px}h1{font-size:clamp(38px,4.7vw,68px);font-weight:600;letter-spacing:-3.2px;line-height:1.04;margin:0}h1 em{color:var(--lime);font-style:normal}.intro-copy{max-width:350px;font-size:15px;line-height:1.8;color:#bfc7ba;margin:0 0 5px}.lab{display:grid;grid-template-columns:284px 1fr;border:1px solid #394339;border-radius:20px;overflow:hidden;background:var(--dark)}.controls{padding:27px 24px;border-inline-end:1px solid #394339}.step{display:flex;align-items:center;gap:11px;margin-bottom:13px}.step b{display:grid;place-items:center;width:27px;height:27px;border:1px solid #657446;border-radius:50%;font:11px monospace;color:var(--lime)}h2{font-size:19px;font-weight:500;letter-spacing:-.4px;margin:0}.step>span{font-size:10px;color:var(--sub);margin-inline-start:auto}.small{font-size:12px;color:var(--sub);line-height:1.6;margin:0 0 20px}label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:21px}output{color:var(--ink);font:12px monospace}input[type=range]{appearance:none;width:100%;background:#3f4b3e;height:3px;border-radius:3px;margin:8px 0 0;accent-color:var(--lime)}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border-radius:50%;background:var(--lime);border:3px solid var(--dark);box-shadow:0 0 0 1px var(--lime);cursor:ew-resize}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row label{display:block;min-width:0}.field-row label>span{display:block;margin-bottom:9px}select,input[type=number]{width:100%;min-height:44px;background:#222c24;border:1px solid #465243;border-radius:7px;padding:9px;color:var(--ink);font-size:13px;outline-offset:2px}#model{font-size:12px;margin:0 0 12px;white-space:normal}input[type=number]{font-size:16px}.private{font-size:10px;color:#a6b391;line-height:1.5;margin:0}.divider{height:1px;background:var(--line);margin:24px 0}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:var(--lime);color:#16210a;padding:15px;border-radius:8px;font-size:13px;font-weight:700;min-height:47px}.primary:hover{background:#e5fb63}.text-button{background:none;color:var(--lime);border:0;padding:11px 0;font-size:12px;text-align:start;min-height:42px}.experience{min-width:0}.stage-top{height:49px;display:flex;align-items:center;gap:8px;padding:0 24px;background:#e9ebdf;color:#515f49;font:10px monospace;letter-spacing:1px}.live-dot{width:5px;height:5px;background:#697f2a;border-radius:50%}.stage-counter{margin-left:auto}.stage{position:relative;aspect-ratio:860/510;background:radial-gradient(ellipse at 62% 35%,#fffff6,#e9ebdd 75%);isolation:isolate;overflow:hidden}.stage svg{position:absolute;inset:0;width:100%;height:100%}.back-type{position:absolute;left:6%;top:7%;font-size:clamp(60px,7.4vw,105px);font-weight:800;line-height:.88;letter-spacing:-8px;color:#d9ddcd;opacity:.53;pointer-events:none}.racket{position:absolute;left:37%;top:18%;width:11%;height:31%;background:none;border:0;padding:0;z-index:4;touch-action:none;transition:left .6s cubic-bezier(.2,.7,.1,1),top .6s cubic-bezier(.2,.7,.1,1),transform .6s;mix-blend-mode:multiply;cursor:grab}.racket img{width:100%;height:100%;object-fit:contain;pointer-events:none}.racket:active{cursor:grabbing}.racket.dragging{transition:none}.drag-tag{position:absolute;top:38%;left:100%;white-space:nowrap;background:#172116;color:#eff8cf;border-radius:40px;padding:9px 12px;font:10px monospace;box-shadow:0 2px 3px #1b301314}.racket.on-scale .drag-tag{display:none}.drop-zone{position:absolute;left:64.5%;top:59%;width:27%;height:20%;background:transparent;border:2px dashed #697c3555;border-radius:50%;z-index:2;color:#485d24;transition:background .2s}.drop-zone span{position:absolute;left:0;right:0;bottom:104%;font:10px monospace;letter-spacing:2px}.drop-zone.over{background:#b8d54f55;border-color:#738e20}.stage-hint{position:absolute;bottom:2px;left:0;right:0;text-align:center;color:#5f6b50;font-size:11px;margin:8px 20px}.orbit{opacity:0;transform-origin:675px 260px}.analysing .orbit{animation:scan 1s ease-in-out}.analysing .drop-zone span{visibility:hidden}@keyframes scan{0%{opacity:0;transform:scale(.4) rotate(-40deg)}35%{opacity:1}100%{opacity:0;transform:scale(1.2) rotate(45deg)}}.result{min-height:168px;padding:23px 27px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #3c4938;background:linear-gradient(110deg,#202c1b,#151f17)}.result .eyebrow{font-size:9px;margin-bottom:7px;letter-spacing:1.5px}.mass{font:500 48px/1.12 Arial,sans-serif;letter-spacing:-2px;direction:ltr;text-align:start}.mass small{font-size:21px;color:#bfcaa9;letter-spacing:0;margin-left:7px}.result p{font-size:11px;color:#b4c1a7;line-height:1.5;margin:9px 0 0;max-width:315px}.result-right{border-inline-start:1px solid #425237;padding-inline-start:25px;position:relative}.result-right h3{font-size:17px;font-weight:500;line-height:1.3;margin:22px 0 0}.result-step{position:absolute;top:0;inset-inline-end:0;font:9px monospace;color:#9da989}.result .text-button{padding-bottom:0}.balance-section{margin-top:28px;border:1px solid var(--line);border-radius:18px;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#172018;scroll-margin-top:24px}.balance-intro h2{font-size:43px;letter-spacing:-1.8px;line-height:1.1}.balance-intro p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--sub);max-width:330px}.concept-label{display:inline-block;color:#c2ccab;font:10px/1.6 monospace;letter-spacing:1px;max-width:320px;margin-top:15px}.lever-scene{height:140px;position:relative;margin:0 0 14px}.lever-track{position:absolute;left:5%;right:5%;top:64%;height:2px;background:#788060}.pivot-marker{position:absolute;left:22%;top:9px;color:#c4d87b;text-align:center}.pivot-marker small{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;top:20px;font-size:10px}#leverRacket{position:absolute;left:22%;bottom:0;height:0;width:70%;transform-origin:0 0;transition:transform .25s}.handle{position:absolute;top:-7px;left:-28%;height:13px;width:40%;border-radius:5px;background:repeating-linear-gradient(100deg,#878f7b 0 3px,#bbc1a9 3px 6px)}.face{position:absolute;left:9%;top:-28px;width:71%;height:56px;border-radius:55% 44% 44% 55%;border:3px solid #c2d18e;background:radial-gradient(circle,#465239 0 2px,transparent 3px) 0 0/10px 10px #acba7b;color:#182514;display:grid;place-items:center;font-size:19px;font-weight:bold}#balanceMarker{position:absolute;bottom:32px;left:60%;color:var(--lime);font-size:30px;transition:left .15s}.torque-result{display:flex;align-items:center;gap:25px;margin:23px 0 18px}.torque-result strong{font:40px monospace;color:var(--lime)}.torque-result span{display:block;color:var(--sub);font:11px monospace}.torque-result p{font-size:12px;line-height:1.6;max-width:230px;color:#b0bda5}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:38px 0 32px;padding:28px 4px;border-top:1px solid var(--line)}.bottom h2{font-size:24px}.bottom p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--sub);max-width:520px}.bottom a{font-size:12px;color:var(--lime)}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:13px;line-height:1.6}.method a{display:block;margin:15px 0}.method code{font-size:11px;color:#d6e1bf;display:block;white-space:normal}footer{display:flex;justify-content:space-between;gap:20px;padding:22px 0 28px;border-top:1px solid var(--line);font:9px/1.5 monospace;letter-spacing:.6px;color:#89977f}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.racket:focus-visible{outline-color:#435a17}html[dir=rtl] h1{letter-spacing:-1px}html[dir=rtl] .mass{text-align:right}html[dir=rtl] .intro-copy{line-height:1.9}
@media(min-width:1350px){.controls{padding-top:33px}.controls label{margin-bottom:28px}.divider{margin:30px 0}}@media(max-width:1000px){header{padding:0 24px}main{padding:0 24px}.lab{grid-template-columns:245px 1fr}.controls{padding:20px 18px}.intro-copy{font-size:13px}.result{padding:20px;gap:18px}.result-right{padding-inline-start:16px}.mass{font-size:37px}.balance-section{gap:30px}.stage{aspect-ratio:860/600}.stage svg{height:auto;top:8%}.stage-hint{font-size:10px}.racket{margin-top:4%}.drop-zone{margin-top:2%}}
@media(max-width:720px){header{height:66px;padding:0 18px}.header-label{display:none}.brand{font-size:25px}main{padding:0 14px}.intro{display:block;padding:29px 5px 25px}h1{font-size:43px;letter-spacing:-2px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro-copy{margin-top:18px;font-size:13px}.lab{display:flex;flex-direction:column}.controls{order:2;display:block;border-inline-end:0;border-top:1px solid #414b36;padding:22px}.experience{order:1}.stage-top{font-size:8px;height:37px;padding:0 15px}.stage{aspect-ratio:860/560}.stage svg{top:3%;height:100%}.racket{margin-top:1%}.drop-zone{margin-top:0}.drag-tag{font-size:8px;padding:6px 9px}.back-type{font-size:64px;letter-spacing:-4px;top:11%}.stage-hint{font-size:9px;bottom:0}.result{padding:20px 17px;gap:15px;min-height:164px}.result .eyebrow{font-size:8px;letter-spacing:.8px}.mass{font-size:33px}.result-right h3{font-size:15px;margin-top:19px}.result p{font-size:10px}.result-right{padding-inline-start:15px}.result .text-button{font-size:11px}.controls .small{font-size:13px}.controls label{font-size:13px}.controls select{font-size:16px}.controls #model{font-size:14px}.step>span{font-size:11px}.primary{font-size:15px}.private{font-size:11px}.balance-section{display:block;padding:24px 20px}.balance-intro h2{font-size:36px}.balance-play{margin-top:15px}.bottom{display:block;margin-top:26px;padding:25px 8px}.bottom details{margin-top:27px}.bottom p:not(.eyebrow){font-size:13px}footer{display:block;padding:20px 7px}footer span{display:block;margin-bottom:8px}.drop-zone span{font-size:8px;letter-spacing:.5px}.field-row label{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.brand,output{direction:ltr}.formula-flash{position:absolute;left:57%;top:15%;z-index:5;opacity:0;pointer-events:none;color:#405520;font:21px monospace;line-height:1.8;transform:translateY(10px)}.formula-flash span{font-size:14px}.analysing .formula-flash{animation:formula 1s ease both}@keyframes formula{0%,100%{opacity:0;transform:translateY(10px)}35%,75%{opacity:1;transform:translateY(0)}}@media(max-width:720px){.formula-flash{font-size:12px}.formula-flash span{font-size:10px}.stage-top{font-size:9px;letter-spacing:0}.stage-counter{display:none}#model{white-space:nowrap}.stage-hint{font-size:10px}}

#renderedPlayer{position:absolute;pointer-events:none;object-fit:contain;z-index:1;transition:opacity .15s ease;max-width:none}.player-asset-status{position:absolute;bottom:30px;left:16px;color:#45543b;font-size:10px;z-index:5}.player-look{font-size:10px;color:#a8b597;margin-top:8px}
/* Coordinates already include the responsive SVG transform. */
.racket{margin-top:0}

/* Larger player, unchanged racket dimensions: preserve the 860-unit width. */
.stage{aspect-ratio:860/630}#scene{top:0;height:100%}.drop-zone{top:66.8%;height:16.2%;margin-top:0}

/* Presentation-only crop for the verified Arrow Hit photograph. Original and on-scale photo retain the strap. */
.racket[data-model="adidas-arrow-hit-2026"]:not(.on-scale) #racketImage{clip-path:polygon(0 0,100% 0,100% 88%,63% 88%,63% 100%,48% 100%,48% 88%,0 88%)}
