/* Tests library: JeuxEnd's editorial palette, scoped to this page. */
.je-tests{--tests-blue:#0757e8;--tests-ink:#111827;--tests-muted:#64748b;background:#fff;color:var(--tests-ink);font-family:ui-sans-serif,system-ui,sans-serif;padding:24px 0 80px;-webkit-font-smoothing:antialiased}
.je-tests *{box-sizing:border-box}.je-tests a{color:inherit;text-decoration:none}
.je-tests-wrap{max-width:1264px;margin:auto;padding:0 24px}
.je-tests-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--tests-muted);margin-bottom:24px}.je-tests-breadcrumb a:hover{color:var(--tests-blue)}
.je-tests-header{padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid #e2e8f0}
.je-tests-header h1{text-align:center;font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1.25;margin:0 0 18px;color:var(--tests-ink)}
.je-tests-intro{max-width:760px;margin:auto;text-align:center;font-size:15px;line-height:1.7;color:#475569}.je-tests-intro p{margin:0}
.je-tests-families{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.je-tests-family{display:inline-flex;align-items:center;padding:10px 15px;background:#f8fafc;border:1px solid #dfe5ed;border-radius:5px;font-size:13px;font-weight:600;min-height:42px}
.je-tests-family:hover{border-color:#93b7f9;color:var(--tests-blue)}.je-tests-family.is-active{background:var(--tests-blue);border-color:var(--tests-blue);color:#fff}
.je-tests-kinds{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.je-tests-filter-label{font-size:12px;font-weight:600;color:var(--tests-muted);margin-right:9px}
.je-tests-kind{display:inline-flex;align-items:center;padding:8px 10px;font-size:13px;color:#475569!important;border-radius:4px;min-height:36px}.je-tests-kind:hover{color:var(--tests-blue)!important;background:#f1f5f9}.je-tests-kind.is-active{color:var(--tests-blue)!important;background:#eff6ff;font-weight:700;box-shadow:inset 0 -2px var(--tests-blue)}
.je-tests-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}.je-tests-controls label{position:relative;height:46px}.je-tests-search{flex:1;min-width:200px}.je-tests-sort{width:220px}
.je-tests-controls svg{position:absolute;left:14px;top:14px;width:18px;height:18px;fill:none;stroke:#64748b;stroke-width:1.8;pointer-events:none}.je-tests-controls input[type=search],.je-tests-controls select{width:100%;height:46px;padding:0 14px 0 42px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font-size:14px;color:var(--tests-ink);font-family:inherit}.je-tests-controls input::placeholder{color:#64748b}.je-tests-controls select{padding-right:22px}.je-tests-submit{min-height:46px;background:var(--tests-blue);color:#fff;border:0;border-radius:5px;padding:10px 18px;font-family:inherit;font-size:14px;cursor:pointer}.je-tests.is-enhanced .je-tests-submit{display:none}
.je-tests-meta{font-size:13px;color:var(--tests-muted);margin:0 0 20px}
.je-tests-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;list-style:none;margin:0;padding:0;align-items:stretch}
.je-tests-card{display:flex;margin:0;min-width:0}.je-tests-card>a{position:relative;display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:4px;overflow:hidden;transition:border-color .15s}.je-tests-card>a:before{content:"";position:absolute;top:0;left:0;width:42px;height:2px;background:#00aeef;z-index:1}.je-tests-card>a:hover{border-color:#75a8ef}.je-tests-card>a:hover h2{color:var(--tests-blue)}
.je-tests-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f1f5f9;flex-shrink:0}.je-tests-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.je-tests-card-body{padding:15px 16px;flex:1;display:flex;flex-direction:column;min-height:137px}.je-tests-card-kind{font-size:10px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;color:var(--tests-blue);margin-bottom:8px}.je-tests-card h2{font-size:15px;font-weight:650;line-height:1.45;margin:0 0 14px;color:var(--tests-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.je-tests-card time{font-size:12px;color:var(--tests-muted);margin-top:auto}
.je-tests-rating{position:absolute;top:9px;right:9px;background:#111827;color:#fff;padding:5px 8px;border-radius:3px;font-size:12px;font-weight:650}
.je-tests-more-wrap{text-align:center;margin-top:32px}.je-tests-more{display:inline-block;padding:13px 26px;color:#fff!important;background:var(--tests-blue);border-radius:5px;font-size:14px;font-weight:600}.je-tests-more:hover{background:#0646b9}.je-tests-more[aria-disabled=true]{opacity:.6}
.je-tests-empty{text-align:center;padding:40px 20px;color:#475569}.je-tests-empty p{margin:0 0 12px}.je-tests-empty a{text-decoration:underline;color:var(--tests-blue)}.je-tests-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.je-tests a:focus-visible,.je-tests input:focus-visible,.je-tests select:focus-visible,.je-tests button:focus-visible{outline:3px solid #0757e8;outline-offset:3px}
@media(max-width:1000px){.je-tests-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.je-tests{padding-top:18px}.je-tests-wrap{padding:0 16px}.je-tests-header{margin-bottom:20px;padding-bottom:22px}.je-tests-breadcrumb{margin-bottom:20px}.je-tests-header h1{font-size:27px;letter-spacing:-.5px}.je-tests-intro{font-size:14px;line-height:1.65}.je-tests-family{font-size:12px;padding:9px 11px}.je-tests-kinds{gap:3px}.je-tests-filter-label{width:100%;margin:4px 0}.je-tests-kind{font-size:12px;padding:7px 8px}.je-tests-controls{gap:10px}.je-tests-search,.je-tests-sort{width:100%;flex:initial}.je-tests-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.je-tests-card-body{padding:12px 10px;min-height:147px}.je-tests-card h2{font-size:13px;line-height:1.45;-webkit-line-clamp:4}.je-tests-card-kind{font-size:9px;letter-spacing:.2px}.je-tests-meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){.je-tests-card>a{transition:none}}

/* Keep the first results within reach on narrow screens. */
@media(max-width:700px){.je-tests-families{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:3px 1px 8px;margin-bottom:10px}.je-tests-family{flex-shrink:0;white-space:nowrap}}

/* User-supplied hardware hero: fixed dimensions, responsive static WebP. */
.je-tests-hero{display:flex;align-items:center;gap:36px;max-width:1000px;margin:0 auto 18px}
.je-tests-cover{display:block;width:220px;height:220px;object-fit:contain;flex-shrink:0}
.je-tests-heading{min-width:0;flex:1}.je-tests-heading h1{text-align:left;margin:0 0 14px}
.je-tests-subtitle{font-size:17px;line-height:1.6;color:#475569;margin:0}
@media(max-width:700px){.je-tests-hero{gap:16px;margin-bottom:18px}.je-tests-cover{width:96px;height:96px}.je-tests-heading h1{font-size:25px;margin-bottom:10px}.je-tests-subtitle{font-size:14px;line-height:1.5}}

.je-tests-library{scroll-margin-top:110px}.je-tests-kinds--bottom{margin:36px 0 0;padding:18px 0 0;border-bottom:0;border-top:1px solid #e2e8f0}
@media(max-width:700px){.je-tests-library{scroll-margin-top:90px}}

.je-tests-thumb--product{background:#fff}.je-tests-thumb--product img{object-fit:contain;padding:14px}
