@font-face{font-family:Space Grotesk;src:url('assets/space-grotesk-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Space Grotesk;src:url('assets/space-grotesk-bold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
:root{color-scheme:dark;--bg:#0a0c0b;--panel:#121513;--line:#2d3430;--text:#f4f6f4;--muted:#a4aea7;--accent:#7ffbae;--ink:#102217;--error:#ffb4a8;--font:'Space Grotesk',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.55 var(--font);-webkit-font-smoothing:antialiased}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.08}button{color:inherit}button svg{pointer-events:none}[hidden]{display:none!important}.site-shell{max-width:1360px;padding:0 54px;margin:auto}.masthead{height:100px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.logo{filter:invert(1);width:210px;height:auto;display:block}.brand-line{font-size:10px;letter-spacing:2px;color:var(--accent);border-left:1px solid var(--line);padding-left:30px}.header-link{margin-left:auto;text-decoration:none;font-size:12px;color:var(--muted)}.header-link span{color:var(--accent);font-size:20px;margin-left:15px}.header-link:hover{color:white}.intro{padding:44px 0 32px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted)}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #7ffbae55}.intro h1{font-size:clamp(44px,5.3vw,72px);line-height:.98;letter-spacing:-3.5px;margin:17px 0 17px}.intro h1 span,.results-heading h1 span{color:var(--accent)}.intro>p:last-child{color:var(--muted);font-size:14px}.finder-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:stretch}.form-panel{background:var(--panel);border:1px solid var(--line);padding:28px 32px 20px;border-radius:4px;min-width:0}.steps{display:flex;gap:18px;margin-bottom:32px;border-bottom:1px solid var(--line)}.step-button{border:0;background:none;padding:0 0 17px;text-align:left;font-size:12px;flex:1;position:relative;color:var(--muted);white-space:nowrap}.step-button span{display:inline-flex;width:24px;height:24px;margin-right:8px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-size:9px}.step-button:disabled{color:#869089}.step-button.current{color:var(--text)}.step-button.current:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.step-button.current span{color:var(--ink);background:var(--accent);border-color:var(--accent)}.step-button.done span{border-color:var(--accent);color:var(--accent)}.section-kicker{color:var(--accent);font-size:9px;margin-bottom:11px}.form-step{min-height:334px;animation:arrive .3s ease-out}.form-step h2{font-size:30px;letter-spacing:-1.2px;outline:none}.section-description{font-size:12px;color:var(--muted);margin-top:12px;margin-bottom:25px;max-width:390px}.measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.measure-card{border:1px solid var(--line);padding:19px 20px 16px;border-radius:3px;background:#171c18}.measure-card>label{font-size:12px}.measure-value{display:flex;align-items:baseline;margin:10px 0 13px;gap:6px}.measure-value input{width:100%;max-width:130px;padding:0;background:transparent;border:0;color:var(--text);font-size:48px;line-height:1.2;letter-spacing:-2px;font-weight:700;appearance:textfield;-moz-appearance:textfield}.measure-value input::-webkit-inner-spin-button,.measure-value input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.measure-value span{font-size:14px;color:var(--muted)}input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:24px;cursor:pointer;background:transparent;margin:0;--fill:50%}input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--accent) 0 var(--fill),#3b463e var(--fill) 100%);border-radius:2px}input[type=range]::-moz-range-track{height:3px;background:#3b463e}input[type=range]::-moz-range-progress{height:3px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);margin-top:-5.5px;border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent)}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:4px}.information-note{display:flex;gap:11px;color:var(--muted);font-size:10px;line-height:1.6;margin-top:22px}.information-note>span{font-size:16px;color:var(--accent)}fieldset{padding:0;margin:0 0 22px;border:0;min-width:0}legend{display:block;width:100%;font-size:12px;margin-bottom:12px}legend>span{float:right;font-size:10px;color:var(--muted)}.level-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.choice,.level-option{position:relative;cursor:pointer;display:block;min-width:0}.choice input,.level-option input{position:absolute;width:1px;height:1px;opacity:0;left:50%;top:50%;margin:0}.level-option>span{min-height:82px;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .2s,border-color .2s}.level-option b{font-size:27px;line-height:1}.level-option small{font-size:8px;color:var(--muted)}.level-option input:checked+span,.choice input:checked+.choice-body{background:#7ffbae0b;border-color:var(--accent)}.level-option input:checked+span b,.level-option input:checked+span small{color:var(--accent)}.choice input:focus-visible+.choice-body,.level-option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}.level-option:hover>span,.choice:hover .choice-body{border-color:#77877d}.field-help{font-size:10px;color:var(--muted);margin-top:10px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.choice-body{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:16px 13px 25px;min-height:147px;border:1px solid var(--line);border-radius:3px;transition:background .2s,border-color .2s}.choice-body b{font-size:13px;margin:9px 0 4px}.choice-body small{font-size:10px;color:var(--muted);line-height:1.5}.choice-icon{font-size:27px;line-height:1;color:var(--accent)}.selection-mark{position:absolute;width:9px;height:9px;border:1px solid #77877d;border-radius:50%;right:11px;top:11px}.choice input:checked+.choice-body .selection-mark{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px #7ffbae15}.compact .choice-body{min-height:116px;padding-bottom:16px}.weight-symbol{color:var(--accent);font-size:21px;line-height:1.2}.balance-track{width:52px;height:2px;background:#60766a;position:relative;margin:12px 0 7px}.balance-track:after{content:'';position:absolute;width:10px;height:10px;top:-4px;background:var(--accent);border-radius:50%}.balance-track.low:after{left:0}.balance-track.middle:after{left:21px}.balance-track.high:after{right:0}.fine-print{color:var(--muted);font-size:10px;line-height:1.7}.form-actions{display:flex;gap:16px;align-items:center;margin-top:27px;padding-top:23px;border-top:1px solid var(--line)}.step-count{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.primary-button,.secondary-button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;min-height:47px;padding:12px 22px;border:1px solid transparent;border-radius:2px;font-size:12px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s}.primary-button{background:var(--accent);color:var(--ink)}.primary-button:hover{background:white;transform:translateY(-1px)}.primary-button>span:last-child{font-size:20px;font-weight:400}.form-actions .primary-button{margin-left:auto;min-width:160px}.secondary-button{border-color:#58675e;background:transparent;color:var(--text)}.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.text-button{display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:12px 0;font-size:12px;color:var(--muted);min-height:44px}.text-button:hover{color:var(--text)}.privacy-note{text-align:center;color:var(--muted);font-size:9px;margin-top:19px}.privacy-note span{margin-right:5px;color:var(--accent)}.form-error{color:var(--error);padding:12px;background:#ffb4a80b;border-left:2px solid var(--error);font-size:12px;margin-top:15px}[aria-invalid=true]{outline:1px solid var(--error)}.showcase{background:#eff2ed;color:var(--ink);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;position:relative;isolation:isolate}.showcase-top{display:flex;justify-content:space-between;margin:25px 26px 0;font-size:8px;letter-spacing:1.6px;z-index:2}.showcase-top>span:first-child:before{content:'';display:inline-block;background:#183627;width:5px;height:5px;border-radius:50%;margin-right:7px;vertical-align:middle}.showcase-image{position:relative;min-height:275px;flex:1;display:flex;justify-content:center;align-items:center}.showcase-image img{position:relative;max-width:95%;width:335px;height:335px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-13deg);transition:transform .8s ease;z-index:1}.showcase:hover .showcase-image img{transform:rotate(-7deg) translateY(-6px)}.product-watermark{position:absolute;top:37%;left:50%;transform:translateX(-50%);font-size:clamp(66px,8vw,112px);font-weight:700;letter-spacing:-7px;color:#dbe4db;line-height:1}.showcase-copy{padding:5px 28px 27px;z-index:1}.showcase-copy .eyebrow{font-size:8px;letter-spacing:1.5px;color:#486050;margin-bottom:12px}.showcase-copy h2{font-size:31px;letter-spacing:-1.2px;margin-bottom:12px}.showcase-copy>p:last-child{color:#536559;font-size:12px}.showcase-foot{border-top:1px solid #cad4c9;display:flex;justify-content:space-between;gap:20px;padding:17px 26px;font-size:7px;letter-spacing:.8px}.showcase-foot span:last-child{text-align:right}.methodology{margin:30px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.methodology>summary{padding:23px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:12px}.methodology>summary::-webkit-details-marker{display:none}.details-label{font-size:10px;color:var(--muted)}.details-label>span{font-size:17px;margin-left:20px;color:var(--accent)}.method-content{padding:4px 0 25px;max-width:880px;font-size:12px;color:var(--muted)}.method-content>p{margin-bottom:16px}.method-weights{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:22px 0}.method-weights>span{padding:15px;border-right:1px solid var(--line);font-size:10px}.method-weights>span:last-child{border:0}.method-weights b{display:block;color:var(--accent);font-size:23px}.source-links{display:flex;flex-wrap:wrap;gap:10px 23px;font-size:10px}.source-links a:hover{color:var(--accent)}.footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;padding:28px 0}.footer>span:first-child{letter-spacing:1px}.footer-separator{margin:0 12px;color:var(--accent)}.skip-link{position:absolute;left:15px;top:-100px;z-index:20;background:var(--accent);color:var(--ink);padding:10px}.skip-link:focus{top:10px}.noscript-note{padding:24px;background:var(--accent);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Original Xcalion artwork, shown through CSS windows; PNG sources are unchanged. */
.brand-icon{display:block;flex:none;background-repeat:no-repeat;mix-blend-mode:screen;pointer-events:none}
.level-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.level-option>span{min-height:138px;padding:12px 2px;gap:5px}
.level-option b{font-size:16px;margin-top:1px}
.level-option small{font-size:10px}
.level-icon{width:82px;height:76px;background-size:768px 768px;background-image:url('assets/icons/technical-s1.png');filter:grayscale(1);opacity:.65;transition:filter .2s,opacity .2s}
.level-1{background-position:-391.68px -472.32px}
.level-2{background-position:-472.96px -472.32px}
.level-3{background-image:url('assets/icons/technical-infinity.png');background-position:-551.68px -472.32px}
.level-4{background-image:url('assets/icons/technical-infinity.png');background-position:-633.60px -472.32px}
.level-option input:checked+span .level-icon,.level-option:hover .level-icon{filter:none;opacity:1}
.play-icon{width:48px;height:52px;background-size:672px 672px;background-image:url('assets/icons/technical-s1.png')}
.defense-icon{background-position:-366.24px -213.92px}
.volley-icon{background-position:-456.40px -213.92px}
.attack-icon{background-position:-550.48px -213.92px}
.style-options .choice-body{min-height:167px}
.balance-options .choice-body{min-height:177px;align-items:center;text-align:center}
.balance-icon{width:67px;height:108px}
.balance-low{background-image:url('assets/icons/technical-s1.png');background-size:640px 640px;background-position:-70.40px -253.33px}
.balance-mid{background-image:url('assets/icons/technical-m1.png');background-size:640px 640px;background-position:-72px -254.4px}
.balance-high{background-image:url('assets/icons/technical-h1.png');background-size:640px 640px;background-position:-72px -254.4px}
.technical-ratings{border-top:1px solid var(--line);margin:23px 0 0;padding-top:16px}
.technical-ratings>p{font-size:10px;color:var(--muted);margin-bottom:12px}
.technical-ratings>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.technical-ratings>div>span{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}
.technical-ratings b{display:block;font-size:17px;color:var(--text)}
@media(max-width:1000px) and (min-width:761px){.level-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.level-option>span{min-height:120px}.level-icon{zoom:.8}.level-option small{font-size:9px}.technical-ratings>div>span{flex-direction:column;gap:4px;align-items:flex-start}.technical-ratings b{font-size:15px}}
@media(max-width:390px){.level-option>span{min-height:110px}.level-icon{zoom:.7}.level-option small{font-size:8px}}
/* Results */
#results{animation:arrive .4s ease-out}.results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding:42px 0 25px}.results-heading h1{font-size:clamp(36px,4.4vw,60px);letter-spacing:-2.7px;margin:17px 0 15px;outline:none}.results-heading p:last-child{color:var(--muted);font-size:13px}.results-heading .secondary-button{flex-shrink:0;margin-bottom:3px}.profile-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:26px}.profile-chip{padding:6px 12px;border:1px solid var(--line);border-radius:2px;font-size:10px;color:var(--muted)}.profile-chip b{color:var(--text);font-weight:400}.winner-card{display:grid;grid-template-columns:1fr 1.35fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}.winner-visual{background:#eff2ed;position:relative;display:flex;align-items:center;justify-content:center;min-height:370px}.winner-visual img{width:100%;height:390px;max-width:420px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-10deg)}.winner-visual .winner-tag{position:absolute;left:22px;top:22px;background:var(--ink);color:var(--accent);font-size:8px;letter-spacing:1.3px;padding:8px 12px;z-index:1}.winner-content{padding:32px;background:var(--panel)}.winner-topline{display:flex;align-items:center;gap:20px;justify-content:space-between}.winner-content h2{font-size:38px;letter-spacing:-1.6px;margin:10px 0}.winner-content .eyebrow{color:var(--accent);font-size:9px}.score-ring{--score:0;width:100px;height:100px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),#2c3930 0);padding:5px;flex-shrink:0;transform:rotate(-0.01deg)}.score-ring>div{width:100%;height:100%;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center}.score-ring b{font-size:28px;line-height:1.1;letter-spacing:-1.5px}.score-ring small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px}.winner-description{font-size:13px;color:var(--muted);margin:20px 0;max-width:410px}.spec-chips{display:flex;flex-wrap:wrap;gap:8px}.spec-chips span{font-size:10px;border:1px solid var(--line);padding:6px 9px}.reasons{list-style:none;padding:0;margin:22px 0;font-size:11px}.reasons li{display:flex;align-items:baseline;gap:8px;margin:8px 0}.reasons li:before{content:'↗';color:var(--accent)}.winner-content .primary-button{margin:0 0 12px}.winner-caveat{font-size:10px;color:var(--muted);line-height:1.65}.comparison{margin-top:40px}.comparison-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:22px}.comparison-heading .eyebrow{font-size:9px;margin-bottom:10px}.comparison-heading h2{font-size:29px;letter-spacing:-1px}.comparison-heading>p{font-size:10px;color:var(--muted);text-align:right}.ranking-item{border-bottom:1px solid var(--line)}.ranking-item:first-child{border-top:1px solid var(--line)}.ranking-item>summary{display:grid;grid-template-columns:24px 58px minmax(120px,1fr) minmax(90px,1fr) 64px 18px;align-items:center;gap:17px;list-style:none;cursor:pointer;padding:17px 6px}.ranking-item>summary::-webkit-details-marker{display:none}.rank-number{color:var(--muted);font-size:10px}.ranking-thumb{background:#eff2ed;width:58px;height:60px;border-radius:2px;overflow:hidden}.ranking-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.rank-name b{display:block;font-size:16px;letter-spacing:-.4px}.rank-name small{font-size:10px;color:var(--muted)}.affinity-track{display:block;position:relative;height:5px;background:#26322b;border-radius:2px;overflow:hidden}.affinity-fill{display:block;width:calc(var(--score)*1%);height:100%;background:#649278;transform-origin:left;animation:grow .7s ease-out}.ranking-item:first-child .affinity-fill{background:var(--accent)}.rank-score{text-align:right;font-size:24px;letter-spacing:-1px}.rank-expand{color:var(--accent);font-size:20px;text-align:right;transition:transform .2s}.ranking-item[open] .rank-expand{transform:rotate(45deg)}.ranking-details{padding:4px 24px 25px 99px;animation:arrive .2s ease-out}.ranking-details>p{font-size:12px;color:var(--muted);margin:10px 0 17px}.score-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.score-part{font-size:10px;color:var(--muted)}.score-part b{display:block;font-size:15px;color:var(--text);margin:4px 0 7px}.score-part .affinity-track{height:3px}.rank-facts{font-size:11px;display:flex;gap:18px;flex-wrap:wrap;margin:20px 0;color:var(--muted)}.ranking-links{display:flex;flex-wrap:wrap;gap:20px;font-size:10px;color:var(--accent)}.result-actions{display:flex;justify-content:space-between;gap:20px;margin-top:28px}.tied-note{font-size:11px;color:var(--accent);margin:12px 0 0}.download-status{font-size:11px;color:var(--accent)}
@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1450px){.intro{padding-top:54px}.form-panel{padding:32px 38px 24px}.form-step{min-height:350px}.showcase-image img{width:360px;height:360px}}
@media(max-width:1000px){.site-shell{padding:0 30px}.finder-layout{gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.form-panel{padding:24px 22px 18px}.step-button{font-size:10px}.steps{gap:9px}.step-button span{margin-right:5px}.measure-card{padding:15px}.measure-value input{font-size:40px}.showcase-top{margin:25px 20px 0;font-size:7px}.showcase-image img{height:290px;width:290px}.showcase-copy{padding:5px 22px 25px}.showcase-copy h2{font-size:27px}.winner-content{padding:25px}.winner-content h2{font-size:30px}.score-ring{width:87px;height:87px}.ranking-item>summary{gap:12px}}
@media(max-width:760px){.site-shell{padding:0 22px}.masthead{height:79px;gap:16px}.logo{width:165px}.brand-line{padding-left:16px;font-size:8px;letter-spacing:1px}.header-link{font-size:0}.header-link span{font-size:23px;margin:0}.intro{padding:31px 0 26px}.intro h1{font-size:53px;letter-spacing:-2.6px}.intro>p:last-child{max-width:330px;font-size:12px}.finder-layout{grid-template-columns:1fr}.showcase{display:none}.form-panel{padding:23px 23px 18px}.step-button{font-size:12px}.steps{gap:15px}.form-step{min-height:310px}.measure-value input{font-size:47px}.section-description{max-width:none}.level-option small{font-size:9px}.choice-body small{font-size:11px}.choice-body b{font-size:14px}.methodology>summary{font-size:11px}.details-label{font-size:9px}.details-label>span{margin-left:8px}.footer{font-size:8px}.footer>span:last-child{max-width:130px;text-align:right}.results-heading{padding-top:32px;align-items:flex-start;flex-direction:column;gap:12px}.results-heading h1{font-size:44px}.winner-card{grid-template-columns:1fr}.winner-visual{min-height:265px}.winner-visual img{height:275px;width:300px;max-width:100%}.winner-content{padding:25px}.winner-content h2{font-size:35px}.winner-topline{gap:12px}.score-ring{width:95px;height:95px}.winner-description{max-width:none}.comparison-heading{align-items:flex-start;flex-direction:column}.comparison-heading>p{text-align:left}.comparison-heading h2{font-size:27px}.ranking-item>summary{grid-template-columns:20px 46px 1fr 55px 15px;gap:11px;padding:15px 0}.ranking-thumb{width:46px;height:52px}.ranking-item>summary>.affinity-track{grid-column:3/5;grid-row:2;margin-top:-7px}.rank-score{font-size:23px}.rank-name b{font-size:14px}.rank-expand{grid-column:5;grid-row:1}.ranking-details{padding:7px 0 25px 0}.rank-facts{gap:8px 15px}.score-breakdown{gap:10px}.result-actions .secondary-button{font-size:10px;padding:10px 15px}.result-actions .text-button{font-size:10px}.method-weights>span{padding:12px;font-size:9px}.method-weights b{font-size:22px}}
@media(max-width:390px){.site-shell{padding:0 15px}.masthead{gap:13px}.brand-line{display:none}.intro h1{font-size:45px}.form-panel{padding:21px 17px 17px}.steps{gap:8px}.step-button{font-size:10px}.step-button span{width:21px;height:21px}.form-step h2{font-size:27px}.measure-grid{gap:10px}.measure-card{padding:14px 12px}.measure-value input{font-size:39px}.level-option small{font-size:7px}.choice-grid{gap:7px}.choice-body{padding:15px 10px 18px}.choice-body small{font-size:9px}.choice-body b{font-size:12px}.form-actions{gap:10px}.form-actions .primary-button{min-width:145px;padding:12px 16px}.step-count{font-size:8px}.methodology>summary{flex-direction:column;gap:7px}.details-label{display:flex;justify-content:space-between;align-items:center}.method-weights{grid-template-columns:repeat(2,1fr)}.method-weights>span{border-bottom:1px solid var(--line)}.method-weights>span:nth-child(2){border-right:0}.results-heading h1{font-size:38px}.winner-content{padding:22px}.winner-content h2{font-size:29px}.score-ring{width:82px;height:82px}.score-ring b{font-size:24px}.score-breakdown{grid-template-columns:repeat(2,1fr)}.result-actions{flex-direction:column;gap:8px;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{:root{--bg:#fff;--panel:#fff;--text:#111;--muted:#444;--line:#bbb;--accent:#235f3b;--ink:#111;color-scheme:light}.site-shell{padding:0 15px;max-width:none}.masthead{height:65px}.logo{filter:none}.header-link,.brand-line,.result-actions,.results-heading>.secondary-button,.primary-button,.methodology,.footer,.skip-link{display:none!important}.winner-card{break-inside:avoid}.winner-content{padding:20px}.winner-visual img{height:270px}.winner-visual{min-height:270px}.score-ring{background:none;border:3px solid var(--accent)}.ranking-item{break-inside:avoid}.ranking-details{display:none}.comparison{margin-top:20px}.results-heading{padding-top:20px}.ranking-item>summary{padding:8px 0}.affinity-fill{print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* Formulario 3.0: preguntas, pista interactiva y resultados ordinales. */
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
/* Let the measurement controls shrink with their panel and stack when needed. */
.measure-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.measure-card,.measure-value{min-width:0;max-width:100%}
.measure-value input{flex:1 1 0;min-width:0;width:0;max-width:none;font-size:clamp(30px,4vw,44px)}
.measure-value>span{flex-shrink:0}
.measure-adjust{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}
.measure-adjust button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:3px;background:#1c2921;color:var(--accent);font-size:24px;line-height:1}
.measure-adjust button:hover:not(:disabled){border-color:var(--accent)}
.measure-adjust button:disabled{opacity:.35}
.measure-adjust>span{font-size:10px;color:var(--muted);text-align:center}
.steps{gap:10px}
.step-button{font-size:10px;min-width:0}
.step-button span{margin-right:5px}
.fitness-field{margin-top:24px}
.fitness-options .choice-body{min-height:151px}
.option-number{font-size:12px;color:var(--accent);letter-spacing:1px}
.line-icon{width:42px;height:42px;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.style-options .choice-body{min-height:199px}
.style-options .choice-body b{font-size:12px;line-height:1.4}
.hardness-options .choice-body{min-height:229px}
.hardness-options .choice-body b{font-size:12px}
.hardness-options .choice-body small{font-size:10px;line-height:1.6}
.showcase{align-self:start;position:sticky;top:22px}
.shot-layout{grid-template-columns:1fr}
.shot-layout .showcase{display:none}
.shot-layout .steps{max-width:700px}
.shots-step .section-description{max-width:650px;margin-bottom:22px;font-size:13px}
.priority-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;font-size:12px}
.priority-heading>span{font-size:10px;color:var(--accent)}
.shot-priorities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.priority-slot{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed #465349;border-radius:3px;min-height:82px;min-width:0;outline-offset:4px}
.priority-slot.filled{background:#7ffbae08;border:1px solid #5b8168}
.priority-number{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:#25372b;color:var(--accent);font-size:14px}
.priority-slot>div:not(.priority-controls){min-width:0}
.priority-slot small{display:block;color:var(--muted);font-size:8px;letter-spacing:1px;margin-bottom:4px}
.priority-slot b{font-size:13px;line-height:1.3;display:block}
.priority-controls{margin-left:auto;display:flex;gap:3px;flex-shrink:0}
.priority-controls button{width:32px;height:38px;border:1px solid var(--line);border-radius:2px;background:var(--panel);color:var(--accent);font-size:18px}
.priority-controls button:disabled{opacity:.25}
.priority-controls button:hover:not(:disabled){border-color:var(--accent)}
#shot-feedback{min-height:18px;margin-bottom:19px;color:var(--accent)}
.shots-workspace{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1fr);gap:28px;align-items:start}
.court-frame{position:relative;aspect-ratio:941/1090;overflow:hidden;background:#020403;border:1px solid var(--line);border-radius:4px}
.court-frame>img{display:block;width:100%;height:auto}
.court-zone{position:absolute;left:17%;width:65%;height:22%;border:1px solid transparent;border-radius:3px;background:transparent;display:flex;align-items:flex-start;justify-content:flex-end;padding:10px;transition:border-color .2s,background .2s}
.zone-volley{top:17%}.zone-attack{top:43%}.zone-defense{top:72%;height:20%}
.court-zone>span:first-child{font-size:10px;line-height:1.3;background:#0c1c13ed;border:1px solid #447755;color:var(--accent);border-radius:2px;padding:8px 10px;box-shadow:0 2px 12px #0008;display:flex;align-items:center;gap:15px}
.court-zone:hover,.court-zone[aria-pressed=true]{background:#7ffbae0a;border-color:#7ffbae66}
.court-zone[aria-pressed=true]>span:first-child{background:var(--accent);color:var(--ink)}
.court-priorities{display:flex;position:absolute;bottom:8px;right:10px;gap:5px}
.court-priorities b{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:13px;background:var(--accent);color:var(--ink);border:1px solid #c6ffdb}
.court-column>.field-help{font-size:10px;max-width:360px}
.shot-groups{display:grid;gap:16px}
.shot-group{border:1px solid var(--line);padding:18px 20px;border-radius:4px;transition:background .2s,border-color .2s}
.shot-group.active{border-color:#527b60;background:#7ffbae05}
.shot-group-heading{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.shot-group-heading .play-icon{zoom:.75}
.shot-group-heading h3{font-size:22px;letter-spacing:-.5px;outline:none}
.shot-group-heading .section-kicker{font-size:8px;margin-bottom:6px;color:var(--muted)}
.shot-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shot-button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #36453b;border-radius:2px;background:#171e19;padding:10px 12px;min-height:45px;font-size:12px;text-align:left;transition:background .15s,border-color .15s}
.shot-button:hover{border-color:var(--accent)}
.shot-button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.shot-badge{font-size:14px;min-width:18px;text-align:center;flex-shrink:0}
.shot-button[aria-pressed=true] .shot-badge{border-radius:50%;background:#112519;color:var(--accent);width:21px;height:21px;line-height:21px;font-size:11px}
.recommendation-badge{width:106px;height:106px;border:3px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex-shrink:0}
.recommendation-badge b{font-size:36px;line-height:1;letter-spacing:-1px;color:var(--accent)}
.recommendation-badge small{font-size:7px;letter-spacing:.4px;color:var(--muted)}
.model-specs{display:flex;gap:12px 20px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid var(--line)}
.model-specs>span{display:flex;align-items:center;gap:8px;min-height:36px}
.model-specs small{font-size:8px;letter-spacing:.8px;color:var(--muted);display:block;margin-bottom:3px}
.model-specs b{font-size:11px;font-weight:400;display:block}
.weight-icon{width:34px;height:32px;background-image:url('assets/icons/technical-s1.png');background-size:480px 480px;background-position:-56px -122px}
.hardness-icon{width:29px;height:31px;background-image:url('assets/icons/technical-s1.png');background-size:672px 672px;background-position:-163px -437px}
.miniature-balance{zoom:.32}
.alma-section{margin:25px 0}
.alma-section>.section-kicker{font-size:8px;margin-bottom:8px}
.alma-section>h3{font-size:22px;letter-spacing:-.5px;line-height:1.2}
.alma-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0 14px}
.alma-benefits>div{border-left:2px solid #42634c;padding-left:13px}
.alma-icon{display:block;margin-bottom:12px}
.line-icon.alma-icon{width:32px;height:32px}
.alma-benefits h4{font-size:12px;margin:0 0 8px;line-height:1.45}
.alma-benefits p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}
.alma-section>a{font-size:10px;color:var(--accent)}
.winner-visual{align-items:flex-start;padding-top:45px}
.winner-visual img{height:400px;position:sticky;top:30px}
.ordinal-item>summary{grid-template-columns:42px 58px minmax(100px,1fr) auto 18px}
.ordinal-item .rank-number{color:var(--accent);font-size:25px;letter-spacing:-1px}
.ordinal-item .rank-action{font-size:11px;color:var(--muted)}
.ordinal-item .ranking-details{padding-left:118px}
.ordinal-item .alma-section{max-width:780px}
.method-weights{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0}
.method-weights>span{border-bottom:1px solid var(--line)}
.method-content li{margin-bottom:8px}
@media(max-width:1000px){.winner-content{padding:24px}.winner-content h2{font-size:28px}.model-specs{gap:10px}.recommendation-badge{width:90px;height:90px}.recommendation-badge b{font-size:32px}.recommendation-badge small{font-size:6px}.shots-workspace{gap:20px}.shot-group{padding:16px}.shot-button{font-size:11px}}
@media(max-width:760px){.steps{gap:8px}.step-button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;white-space:normal;text-align:center}.step-button span{margin:0}.shot-priorities{grid-template-columns:1fr}.priority-slot{min-height:74px}.shots-workspace{grid-template-columns:1fr}.court-column{max-width:350px;width:100%;margin:auto}.court-frame{width:100%}.shot-groups{gap:14px}.shot-group-heading h3{font-size:22px}.shot-button{font-size:12px;min-height:48px}.style-options .choice-body{min-height:205px}.hardness-options .choice-body{min-height:227px}.fitness-options .choice-body{min-height:151px}.winner-visual{padding-top:30px;align-items:center}.winner-visual img{position:static;height:285px}.winner-content h2{font-size:32px}.recommendation-badge{width:90px;height:90px}.ordinal-item>summary{grid-template-columns:31px 46px 1fr 16px;gap:10px}.ordinal-item .rank-action{display:none}.ordinal-item .rank-expand{grid-column:4;grid-row:1}.ordinal-item .rank-number{font-size:22px}.ordinal-item .ranking-details{padding-left:0}.alma-benefits{gap:15px}.method-weights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.style-options .choice-body{padding:13px 9px;min-height:214px}.style-options .choice-body b{font-size:11px}.hardness-options .choice-body{padding:13px 9px;min-height:231px}.hardness-options .choice-body small{font-size:9px}.fitness-options .choice-body{padding:13px 9px;min-height:155px}.fitness-options .choice-body b{font-size:11px}.priority-slot{padding:10px;gap:8px}.priority-slot b{font-size:11px}.priority-slot small{font-size:7px}.priority-controls{gap:2px}.priority-controls button{width:29px}.priority-number{width:24px;height:24px}.winner-content h2{font-size:27px}.recommendation-badge{width:80px;height:80px}.recommendation-badge b{font-size:28px}.recommendation-badge small{font-size:5px}.alma-benefits{grid-template-columns:1fr}.model-specs{gap:12px}}
@media(max-width:600px){.fitness-options,.style-options,.hardness-options{grid-template-columns:1fr}.fitness-options .choice-body,.style-options .choice-body,.hardness-options .choice-body{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:15px;align-items:center;min-height:0;padding:15px 28px 15px 15px}.fitness-options .choice-body>.option-number,.style-options .choice-body>.play-icon,.hardness-options .choice-body>.line-icon{grid-column:1;grid-row:1/3;justify-self:center}.style-options .play-icon{zoom:.75}.fitness-options .choice-body>b,.style-options .choice-body>b,.hardness-options .choice-body>b{grid-column:2;font-size:13px;margin:0 0 4px}.fitness-options .choice-body>small,.style-options .choice-body>small,.hardness-options .choice-body>small{grid-column:2;font-size:11px;line-height:1.5}.priority-controls button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.winner-visual img{position:static}.winner-visual{padding-top:0}.recommendation-badge{border-color:#235f3b}.alma-section>a{display:none}.winner-card{break-inside:auto}.model-specs{break-inside:avoid}.ordinal-item .rank-number{color:#111}.winner-description{color:#333}}

/* Profile pictograms and the Xcalion hardness scale. */
.measure-label{display:flex;align-items:center;gap:12px}
.profile-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border:1px solid #7ffbae26;border-radius:9px;background:#7ffbae09}
.profile-icon .line-icon{width:34px;height:34px;stroke-width:1.8}
.fitness-options .choice-body{height:100%}
.fitness-options input:checked+.choice-body .profile-icon{background:#7ffbae16;border-color:#7ffbae70}
.hardness-options .choice-body{display:flex;align-items:stretch;gap:10px;height:100%;min-height:0;padding:18px 13px}
.hardness-options .choice-body>b{color:#00ffab;margin:0;font-size:12px;line-height:1.4;padding-right:8px}
.hardness-options .choice-body>small{font-size:11px;line-height:1.6}
@media(max-width:600px){
  .fitness-options .choice-body>.profile-icon{grid-column:1;grid-row:1/3;justify-self:center;width:42px;height:42px}
  .fitness-options .profile-icon .line-icon{width:30px;height:30px}
  .hardness-options .choice-body{display:grid;grid-template-columns:minmax(100px,.9fr) minmax(0,1.1fr);column-gap:14px;row-gap:7px;align-items:center;padding:16px}
  .hardness-options .choice-body>b{grid-column:1;grid-row:1;font-size:12px;margin:0}
  .hardness-options .choice-body>small{grid-column:2;grid-row:1/3;font-size:11px;margin:0;padding-right:5px}
}

/* Complete original Xcalion graphics, extracted without redrawing or recoloring. */
.hardness-options{grid-template-columns:1fr}
.hardness-options .choice-body{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1.1fr);gap:6px 18px;align-items:center;min-height:0;padding:18px}
.hardness-options .choice-body>b{grid-column:2;grid-row:1;margin:0;font-size:13px;padding-right:12px}
.hardness-options .choice-body>small{grid-column:2;grid-row:2;font-size:11px;margin:0}
.hardness-original{grid-column:1;grid-row:1/3;display:block;width:100%;height:auto;min-width:0;max-width:260px;background:#000;border-radius:3px}
@media(max-width:430px){.hardness-options .choice-body{display:flex;align-items:stretch;gap:10px;padding:16px}.hardness-options .choice-body>b{font-size:13px}.hardness-original{max-width:260px;align-self:center}}


.traditional-panel { padding: 28px; margin: 0 0 28px; border: 1px solid #38423c; border-radius: 18px; background: linear-gradient(120deg,#14211b,#0e1210 65%); }
.traditional-panel > label { display: block; font-size: clamp(22px,3vw,30px); font-weight: 700; margin: 8px 0 12px; }
.traditional-panel > p { max-width: 780px; color: #bac5be; line-height: 1.6; }
.traditional-search-row { display: flex; gap: 12px; align-items: center; margin-top: 18px; }
#traditional-search { min-width: 0; flex: 1; width: 100%; background: #080c0a; color: white; border: 1px solid #69776e; border-radius: 8px; padding: 17px; font: inherit; }
#traditional-search:focus { outline: 2px solid #7ffbae; outline-offset: 3px; }
.traditional-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.traditional-options button { padding: 15px; border: 1px solid #394d42; background: #17241d; color: #ecf9f0; font: inherit; text-align: left; border-radius: 6px; cursor: pointer; }
.traditional-options button:hover, .traditional-options button:focus-visible { border-color: #7ffbae; background: #243c2e; }
.traditional-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.traditional-specs dt { color: #a5b4ab; font-size: 12px; }
.traditional-specs dd { margin: 4px 0 0; font-weight: 700; }
#traditional-recognized { color: #7ffbae; }
#traditional-preview:empty, #traditional-recognized:empty { display: none; }
#traditional-preview { padding-top: 16px; max-width: 850px; }
#traditional-preview h3,.dual-card h3 { font-size: clamp(24px,3vw,38px); margin: 10px 0; }
.match-bars { margin: 22px 0; }
.match-bars > div { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin-bottom: 16px; }
.match-bars meter { grid-column: 1/-1; width: 100%; height: 10px; appearance: none; border: 0; background: #29382f; border-radius: 8px; }
.match-bars meter::-webkit-meter-bar { background: #29382f; border: 0; height: 10px; }
.match-bars meter::-webkit-meter-optimum-value { background: #7ffbae; }
.match-bars meter::-moz-meter-bar { background: #7ffbae; }
.match-note,.adaptation-note { padding: 16px; background: #19231d; border-left: 2px solid #7ffbae; line-height: 1.6; }
.adaptation-note { border-color: #e6c57b; }
.match-evidence summary { cursor: pointer; padding: 16px 0; text-decoration: underline; text-underline-offset: 5px; }
.match-evidence p { color: #bac5be; line-height: 1.6; }
.match-table-wrap { overflow-x: auto; max-width: 100%; margin-top: 14px; }
.match-table-wrap table { border-collapse: collapse; width: 100%; font-size: 12px; }
.match-table-wrap th,.match-table-wrap td { text-align: left; padding: 10px; border-bottom: 1px solid #34463b; }
.match-table-wrap caption { text-align: left; padding: 10px; }
.dual-heading { max-width: 800px; margin: 26px 0; }
.dual-heading p,.dual-card > p { line-height: 1.6; color: #bac5be; }
.dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }
.dual-card { min-width: 0; border: 1px solid #3a5143; padding: 26px; border-radius: 16px; background: #111b15; }
.preference-summary { background: #17291e; align-self: start; }
.model-wordmark { display: grid; align-content: center; padding: 38px; min-height: 300px; background: radial-gradient(ellipse at 50% 45%,#254534,transparent 70%); }
.model-wordmark strong { font-size: clamp(40px,6vw,76px); line-height: 1.05; letter-spacing: -.05em; color: #7ffbae; }
.model-wordmark span { color: #b2c4b8; margin-top: 24px; text-transform: uppercase; letter-spacing: .15em; font-size: 12px; }
.new-range { display: grid; gap: 12px; padding: 36px; min-height: 280px; align-content: center; }
.new-range span { font-size: 28px; font-weight: 700; color: #7ffbae; border-bottom: 1px solid #2a4434; padding: 10px 0; }
.ranking-item.ordinal-item > summary { grid-template-columns: 32px minmax(0,1fr) auto 20px; }
.winner-content h2 { overflow-wrap: anywhere; }
.model-wordmark strong { overflow-wrap: anywhere; }
body.court-active .traditional-panel { display: none !important; }
@media(max-width:700px) { .traditional-panel,.dual-card { padding: 20px; } .traditional-options,.dual-grid { grid-template-columns: 1fr; } .traditional-specs { grid-template-columns: repeat(2,minmax(0,1fr)); } .traditional-search-row { align-items: stretch; flex-direction: column; } .traditional-search-row button { align-self: flex-end; } }
@media(max-width:480px) { .ranking-item.ordinal-item > summary { grid-template-columns: 25px minmax(0,1fr) 20px; } .ranking-item.ordinal-item .rank-action { display: none; } .ranking-item.ordinal-item .rank-expand { grid-column: 3; } }


/* Revisión del documento recomendador v2: bienvenida, físico, juego y resultados. */
#welcome { max-width: 1000px; margin: 0 auto 42px; }
@media(min-width:900px) {
  #welcome { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 0 30px; }
  #welcome > .welcome-intro { grid-column: 1/-1; padding: 26px 0 22px; }
  #welcome .welcome-intro h1 { font-size: 38px; }
  #welcome > .carbon-transition { grid-column: 1; grid-row: 2/4; align-self: stretch; gap: 26px; padding: 12px 0; border: 1px solid #27352d; border-radius: 14px; }
  #welcome .carbon-transition img { height: 230px; }
  #welcome .carbon-transition figcaption { font-size: 13px; }
  #welcome > .welcome-panel { grid-column: 2; grid-row: 2; }
  #welcome > .welcome-actions { grid-column: 2; grid-row: 3; padding: 18px 0; }
  #welcome > .catalog-brands { grid-column: 1/-1; margin-top: 24px; }
}
.welcome-intro { text-align: center; padding: 35px 0 24px; }
.welcome-intro .eyebrow { justify-content: center; }
.welcome-intro h1 { font-size: clamp(28px,4vw,48px); line-height: 1.1; letter-spacing: -1.5px; }
.welcome-intro > p:last-child { margin: 16px auto 0; max-width: 620px; }
.carbon-transition { display: flex; align-items: center; justify-content: center; gap: clamp(24px,6vw,85px); padding: 16px 20px 28px; border-top: 1px solid #27352d; }
.carbon-transition figure { margin: 0; text-align: center; }
.carbon-transition figcaption { font-size: 15px; margin-bottom: 14px; }
.carbon-transition figure:last-child figcaption { color: var(--accent); }
.carbon-transition img { display: block; width: auto; height: clamp(160px,23vw,245px); max-width: 100%; object-fit: contain; mix-blend-mode: screen; }
.transition-arrow { font-size: 34px; color: var(--accent); }
.welcome-panel { padding: 24px; margin: 0; }
.welcome-panel h2 { font-size: 24px; margin-bottom: 10px; }
.welcome-panel > label { font-size: 15px; margin: 12px 0 8px; }
.welcome-panel > p { font-size: 12px; margin: 8px 0; }
.welcome-panel #traditional-preview { padding-top: 5px; }
.welcome-panel #traditional-preview:empty { display: none; }
.traditional-options:empty { display: none; }
.welcome-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; }
.welcome-actions p { font-size: 12px; color: var(--muted); }
.welcome-actions button { min-width: 180px; }
.catalog-brands { border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); padding: 18px 0; }
.catalog-brands summary { cursor: pointer; }
.brand-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.brand-list span { border: 1px solid #365440; border-radius: 30px; padding: 7px 12px; color: #d6e8dd; font-size: 11px; }
.range-showcase { background: #050705; color: #f2f8f4; border: 1px solid #2c3f32; }
.range-showcase .showcase-top,.range-showcase .showcase-foot { color: #b1c7b8; }
.range-photo { display: block; width: 100%; max-width: 380px; height: auto; object-fit: contain; margin: 30px auto 0; mix-blend-mode: screen; }
.range-signature { text-align: center; padding: 30px 20px 42px; }
.range-signature strong { display: block; color: #fff; font-size: clamp(24px,2.6vw,37px); font-style: italic; font-weight: 700; letter-spacing: 1.5px; }
.range-signature a { display: inline-block; font-size: 12px; color: #fff; margin-top: 15px; }
.hardness-original { background: transparent; mix-blend-mode: screen; border-radius: 0; }
.hardness-options .choice-body { isolation: isolate; background: var(--panel); }
.hardness-options input:checked + .choice-body { background: #19261e; }
.level-option > span { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 7px; }
.level-option .level-icon { display: block; margin: 0 auto; flex-shrink: 0; width: 74px; height: 76px; }
.level-option .level-1 { background-position: -387.32px -474.64px; }
.level-option .level-2 { background-position: -466.68px -474.64px; }
.level-option .level-3 { background-position: -549.88px -474.64px; }
.level-option .level-4 { background-position: -634.36px -472.72px; }
.level-option b,.level-option small { display: block; margin: 0; width: 100%; text-align: center; }
#edit-button { border-color: var(--accent); color: var(--accent); }
#profile-title,#game-title,#results-title,#welcome-title { scroll-margin-top: 24px; }
.results-heading h1 { font-size: clamp(30px,4vw,52px); line-height: 1.1; letter-spacing: -1.8px; }
.results-heading #result-intro { max-width: 700px; font-size: 14px; line-height: 1.7; }
#result-intro a { color: var(--accent); }
.game-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 24px 0; }
.game-summary > div { padding: 15px 12px; border: 1px solid #36513f; border-radius: 6px; background: #7ffbae04; }
.game-summary .brand-icon { display: block; margin: 0 auto 12px; }
.game-summary h4 { font-size: 12px; margin: 0 0 7px; text-align: center; }
.game-summary p { font-size: 11px; color: var(--muted); margin: 0; line-height: 1.6; }
.exclusions { border: 1px solid #3c4c41; padding: 20px; margin: 24px 0; border-radius: 7px; }
.exclusions summary { cursor: pointer; font-size: 13px; }
.exclusions h4 { margin: 20px 0 8px; font-size: 15px; }
.exclusions p,.no-match p { font-size: 12px; color: var(--muted); line-height: 1.7; }
.no-match { border: 1px solid var(--accent); border-radius: 10px; padding: 28px; }
.no-match h2 { font-size: 27px; margin-bottom: 16px; }
.no-match a { color: var(--accent); }
.preference-summary .profile-decision { border-left: 2px solid var(--accent); padding-left: 12px; }
.dual-card .match-conclusion { font-size: 20px; line-height: 1.45; }
.match-conclusion strong { display: block; font-size: clamp(26px,3vw,36px); color: var(--accent); margin: 7px 0; }
.match-conclusion > span { display: block; font-size: 15px; color: var(--muted); }
.alma-general { border: 1px solid #324c3b; background: var(--panel); border-radius: 10px; padding: 26px; margin: 26px 0; }
.alma-general .alma-section { margin: 0; }
body.court-active #welcome { display: none !important; }
@media(max-width:700px) { .welcome-intro { text-align: left; } .welcome-intro > p:last-child { margin-left: 0; } .welcome-panel { padding: 20px; } .carbon-transition { gap: 16px; padding: 20px 0; } .carbon-transition figcaption { font-size: 12px; } .carbon-transition img { height: 185px; } .transition-arrow { font-size: 26px; } .welcome-actions { align-items: flex-start; } .welcome-actions button { min-width: 135px; } .game-summary { grid-template-columns: 1fr; } .game-summary > div { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 5px 12px; align-items: center; } .game-summary .brand-icon { grid-column: 1; grid-row: 1/3; margin: auto; zoom: .6; } .game-summary h4,.game-summary p { grid-column: 2; text-align: left; } }
@media(max-width:430px) { .carbon-transition img { height: 165px; } .welcome-actions { flex-direction: column; gap: 15px; } .welcome-actions button { width: 100%; } .range-signature strong { font-size: 30px; } }
@media(max-width:700px) { .welcome-intro .eyebrow { justify-content: flex-start; } }


/* Revisión v3: una equivalencia de estilo y recomendador en dos pasos. */
#welcome { display: block; max-width: 1000px; }
#welcome > .welcome-intro { padding: 24px 0 18px; }
#welcome .welcome-intro h1 { font-size: clamp(26px,3.5vw,42px); margin: 10px 0; }
#welcome > .carbon-transition { border: 0; padding: 10px 0 24px; gap: 30px; }
.carbon-pair { display: flex; align-items: center; justify-content: center; gap: 8px; }
#welcome .carbon-transition .reference-racket { height: 200px; width: auto; max-width: 48%; object-fit: contain; }
#welcome .carbon-transition .reference-carbon { height: 185px; width: auto; max-width: 48%; object-fit: contain; }
#welcome .carbon-transition figcaption { font-size: 15px; margin-bottom: 12px; }
#welcome > .welcome-panel { display: grid; grid-template-columns: minmax(0,1fr) 50px minmax(0,1fr); align-items: start; gap: 20px; border: 0; border-radius: 0; background: none; padding: 22px 0; margin: 0; }
.welcome-question { display: block; font-size: 22px; line-height: 1.3; font-weight: 700; margin-bottom: 14px; }
.welcome-match-arrow { font-size: 38px; color: var(--accent); align-self: start; padding-top: 39px; text-align: center; }
.welcome-match { text-align: center; min-width: 0; padding-top: 4px; }
.welcome-match h2 { font-size: 27px; color: var(--accent); margin: 10px 0; }
.welcome-match .similarity-title { font-size: 15px; color: var(--text); }
.welcome-match .similarity-caption { margin: 12px auto 0; max-width: 345px; font-size: 12px; line-height: 1.6; color: var(--muted); }
#welcome #traditional-preview { padding-top: 4px; }
#welcome .traditional-search-row { margin-top: 0; }
#traditional-clear { font-size: 11px; padding: 8px; }
.search-message { font-size: 14px; margin-top: 12px; line-height: 1.6; }
.traditional-options { grid-template-columns: 1fr; }
.traditional-options button { font-size: 13px; padding: 12px; }
#welcome > .welcome-actions { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 10px 0 30px; }
.welcome-actions p { font-size: 12px; line-height: 1.5; text-align: center; max-width: 390px; }
.welcome-actions button { min-width: 260px; }
.profile-icon .strength-low { width: 24px; height: 24px; stroke-width: 1.5; }
.profile-icon .strength-medium { width: 34px; height: 34px; stroke-width: 1.8; fill: #7ffbae12; }
.profile-icon .strength-high { width: 43px; height: 43px; stroke-width: 2.2; fill: #7ffbae35; }
.dual-heading { display: none; }
.dual-grid { margin-top: 25px; }
.dual-card > .eyebrow { font-size: 11px; margin-bottom: 12px; }
.dual-card h3 { font-size: 30px; }
.style-reference { color: var(--muted); font-size: 15px; margin-bottom: 12px; }
.result-actions { margin-bottom: 32px; }
@media(max-width:700px) {
  #welcome > .carbon-transition { gap: 12px; padding-bottom: 12px; }
  #welcome .carbon-transition .reference-racket { height: 130px; }
  #welcome .carbon-transition .reference-carbon { height: 120px; }
  #welcome .carbon-transition figcaption { font-size: 12px; }
  .carbon-pair { gap: 0; }
  .transition-arrow { font-size: 22px; }
  #welcome > .welcome-panel { grid-template-columns: 1fr; gap: 12px; }
  .welcome-match-arrow { padding: 0; line-height: 1; transform: rotate(90deg); }
  .welcome-match h2 { font-size: 29px; }
  .welcome-question { font-size: 23px; }
  .traditional-search-row { flex-direction: row; align-items: center; }
  .welcome-actions button { min-width: 0; width: 100%; }
  .fitness-options .profile-icon .strength-low { width: 22px; height: 22px; }
  .fitness-options .profile-icon .strength-medium { width: 30px; height: 30px; }
  .fitness-options .profile-icon .strength-high { width: 38px; height: 38px; }
}

/* Confirmation and adaptation requested in the 2027 equivalence revision. */
.recognized-model { font-size: 13px; line-height: 1.6; color: var(--accent); margin: 12px 0 0; }
.recognized-model:empty { display: none; }
.welcome-match .adaptation-note, .dual-card .adaptation-note { font-size: 13px; line-height: 1.65; margin-top: 16px; padding: 12px; border-left: 2px solid var(--accent); background: #7ffbae08; text-align: left; }

/* The previous racket is the final optional step; recommendations appear on results. */
.previous-racket-layout { grid-template-columns: minmax(0, 1fr); }
.previous-racket-layout > .showcase { display: none; }
.previous-racket-step .carbon-transition { border: 0; padding: 5px 0 25px; gap: 30px; }
.previous-racket-step .reference-racket { height: 170px; width: auto; max-width: 48%; object-fit: contain; }
.previous-racket-step .reference-carbon { height: 155px; width: auto; max-width: 48%; object-fit: contain; }
.previous-racket-step .welcome-search { max-width: 650px; margin: 0 auto; }
.previous-racket-step .welcome-question { font-size: 16px; }
@media(max-width:700px) {
  .previous-racket-step .carbon-transition { gap: 10px; }
  .previous-racket-step .reference-racket { height: 110px; }
  .previous-racket-step .reference-carbon { height: 100px; }
  .previous-racket-step figcaption { font-size: 12px; }
}

.range-catalog-title { font-size: 27px; text-align: center; color: #fff; margin: 36px 10px 0; }
.range-showcase .range-photo { max-width: 430px; margin-top: 15px; }

/* Show both recommendation cards before the contact copy and answer summary. */
#results > #dual-recommendation .dual-grid { margin-top: 0; }
.results-context { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin: 24px 0 20px; }
.results-context #result-intro { max-width: 700px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.results-context .secondary-button { flex-shrink: 0; }
@media(max-width:700px) { .results-context { flex-direction: column; align-items: flex-start; gap: 16px; } }
@media print { .results-context .secondary-button { display: none; } }

#dual-recommendation:not(:empty) + #winner { margin-top: 24px; }


/* Catalogue 2027 presentation; matching and physical rules remain independent. */
.model-product-link { color: inherit; text-decoration: none; }
.model-product-link:hover, .recommended-photo a:hover { color: var(--accent); }
.model-product-link span { font-size: .55em; vertical-align: middle; color: var(--accent); }
.product-english { display: inline-block; color: var(--muted); font-size: 11px; margin-top: 12px; text-underline-offset: 4px; }
.range-signature strong { font-family: var(--font); font-size: 40px; line-height: 50px; font-style: normal; font-weight: 500; letter-spacing: normal; }
.fitness-options .profile-icon { width: 52px; height: 52px; }
.fitness-options .profile-icon .line-icon { fill: none; stroke-width: 1.7; }
.fitness-options .profile-icon .strength-low { width: 36px; height: 36px; }
.fitness-options .profile-icon .strength-medium { width: 41px; height: 41px; }
.fitness-options .profile-icon .strength-high { width: 46px; height: 46px; }
.level-option .level-icon, .style-options .play-icon { zoom: .7; }
.hardness-options .hardness-original { width: 70%; max-width: 182px; justify-self: center; align-self: center; }
.previous-racket-step .reference-carbon { height: 185px; max-width: 100%; }
.previous-racket-step .carbon-pair { min-width: 0; }
.winner-visual.recommended-photo { display: flex; flex-direction: column; justify-content: center; align-items: center; background: #000; padding: 24px 15px 28px; margin: 0; gap: 12px; min-width: 0; }
.recommended-photo img { position: static; display: block; width: 100%; max-width: 460px; height: auto; max-height: 480px; object-fit: contain; }
.recommended-photo figcaption { text-align: center; font-size: clamp(24px,2.7vw,36px); line-height: 1.1; color: #fff; font-weight: 700; }
.recommended-photo figcaption a { text-decoration: none; }
.winner-cta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.winner-cta .primary-button { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 58px; padding: 13px 10px; font-size: 11px; text-align: center; line-height: 1.5; }
.personalize-button { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
.personalize-button:hover { background: #7ffbae15; }
.technical-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; padding: 20px 0 17px; }
.technical-specs > span { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; text-align: center; min-width: 0; }
.technical-specs small { font-size: 8px; line-height: 1.5; min-height: 24px; margin: 0; }
.technical-specs b { font-size: 13px; line-height: 1.5; font-weight: 600; }
.technical-specs .spec-icon { width: 34px; height: 34px; color: var(--accent); margin: 0; }
.technical-specs .weight-icon { height: 32px; margin-bottom: 2px; filter: none; }
.spec-weight-note { color: var(--muted); font-size: 10px; margin: 8px 0 0; }
.product-detail-link { margin-right: 20px; }
@media(max-width:700px) {
  .previous-racket-step .reference-carbon { height: 145px; }
  .recommended-photo img { max-width: 340px; max-height: 360px; }
  .winner-cta { grid-template-columns: 1fr; }
  .winner-cta .primary-button { min-height: 52px; font-size: 12px; }
  .technical-specs { gap: 8px; }
  .technical-specs small { font-size: 7px; }
  .fitness-options .profile-icon .strength-low { width: 34px; height: 34px; }
  .fitness-options .profile-icon .strength-medium { width: 39px; height: 39px; }
  .fitness-options .profile-icon .strength-high { width: 44px; height: 44px; }
}
@media print { .winner-cta, .product-english { display: none; } }

.winner-visual.recommended-photo img { mix-blend-mode: normal; transform: none; }


.language-switch { display: flex; flex-direction: column; gap: 5px; margin-left: 16px; flex-shrink: 0; }
.language-switch > span { font-size: 9px; color: var(--muted); letter-spacing: .3px; }
.language-switch select { font: inherit; font-size: 12px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 3px; padding: 7px 30px 7px 10px; min-height: 36px; }
.language-switch select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media(max-width:700px) { .masthead { gap: 10px; } .masthead .brand-line, .masthead .header-link { display: none; } .masthead .logo { width: min(185px,45vw); } .language-switch { margin-left: auto; } .language-switch > span { font-size: 8px; } }
@media print { .language-switch { display: none; } }
