:root{--bg:#08131f;--surface:#102334;--surface-2:#142b3d;--line:#2c4960;--text:#edf7fb;--muted:#a8c1cc;--cyan:#48d5e8;--green:#52d79a;--amber:#ffbd5a;--red:#ff7180;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.site-header,.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px max(5vw,24px);border-color:var(--line);border-style:solid}.site-header{border-width:0 0 1px}.site-footer{border-width:1px 0 0;margin-top:64px;color:var(--muted);font-size:.9rem}.site-header nav{display:flex;gap:20px}.site-header a,a{color:var(--cyan)}.brand{font-weight:800;text-decoration:none;color:#fff;font-size:1.2rem}.brand span{color:var(--cyan)}.tool-page,.intro{max-width:1440px;margin:auto;padding:28px max(5vw,24px)}.breadcrumbs{display:flex;gap:9px;color:var(--muted);font-size:.9rem}.hero{max-width:850px;padding:64px 0 34px}.eyebrow{color:var(--cyan);letter-spacing:.12em;font-size:.75rem;font-weight:800}.hero h1,.intro h1{font-size:clamp(2.35rem,6vw,4.6rem);line-height:1.03;margin:.2em 0}.lead{font-size:1.2rem;color:var(--muted);max-width:760px}.actions,.controls,.manual-controls{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.button,.manual-controls button{cursor:pointer;border:1px solid var(--cyan);border-radius:9px;background:var(--cyan);color:#05202a;padding:11px 16px;font:inherit;font-weight:700}.button.secondary,.manual-controls button{background:transparent;color:var(--text);border-color:var(--line)}.button.danger{background:var(--red);border-color:var(--red)}button:disabled{opacity:.45;cursor:not-allowed}.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:3px}.privacy{color:#bdeed8}.support-card,.keyboard-card,.event-panel,.stats-card,.result-card,.content-grid article,.callout{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.support-card{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.tester-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:18px}.keyboard-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center}.state{font-weight:700;color:var(--cyan)}.text-button{background:none;border:0;color:var(--cyan);padding:8px;cursor:pointer}.scroll-hint,.selection-help,.muted{color:var(--muted);font-size:.88rem}.keyboard-scroll{overflow-x:auto;padding:12px 0}.keyboard{min-width:1020px;display:grid;gap:6px}.key-row{display:flex;gap:6px}.key-gap{width:16px}.key{position:relative;min-width:52px;height:53px;padding:5px;border:1px solid #426078;border-radius:7px;background:#193348;color:var(--text);text-align:left;font:600 11px system-ui;cursor:pointer;box-shadow:inset 0 -3px #0b1e2c}.key[data-wide="1.25"]{min-width:68px}.key[data-wide="1.5"]{min-width:80px}.key[data-wide="1.75"]{min-width:94px}.key[data-wide="2"]{min-width:108px}.key[data-wide="2.25"]{min-width:122px}.key[data-wide="2.75"]{min-width:150px}.key[data-wide="6.25"]{min-width:340px}.key .code{display:block;color:var(--muted);font-size:9px;margin-top:3px}.key.pressed{outline:3px solid var(--cyan);background:#1d6070;transform:translateY(2px)}.key.tested{border-color:var(--green)}.key.held{border-color:var(--amber);background:#62491f}.key.problem{border-color:var(--red);box-shadow:inset 0 0 0 2px var(--red)}.key.selected{outline:3px solid white}.key::after{content:attr(data-status);position:absolute;right:4px;bottom:3px;font-size:9px;color:var(--muted)}.event-panel h2,.stats-card h2,.content-grid h2,.result-card h2{margin-top:0}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #263e50}dt{color:var(--muted)}dd{margin:0;text-align:right;max-width:65%;word-break:break-word}.stats-card{margin-top:18px;display:grid;grid-template-columns:220px minmax(160px,1fr);gap:16px;align-items:center}.progress{height:12px;background:#07131d;border-radius:20px;overflow:hidden}.progress span{display:block;background:var(--green);height:100%;width:0%;transition:width .2s}.metrics{grid-column:1/-1;display:flex;gap:20px;flex-wrap:wrap}.metrics span{color:var(--muted)}.metrics b{color:var(--text)}.result-card{margin-top:18px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.content-grid h2{font-size:1.2rem}.content-grid details{border-top:1px solid var(--line);padding:12px 0}.content-grid summary{cursor:pointer;font-weight:700}.callout{margin-top:18px;background:linear-gradient(115deg,#10354a,#102334)}.dialog-backdrop{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:10}.dialog{max-width:430px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:850px){.tester-grid,.content-grid{grid-template-columns:1fr}.stats-card{grid-template-columns:1fr}.event-panel{order:-1}}@media(max-width:560px){.site-header{align-items:flex-start}.site-header nav{display:none}.site-footer{display:block}.hero{padding-top:38px}.keyboard-card{padding:13px}.key{height:48px}.key .code{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000}.site-header,.site-footer,.breadcrumbs,.hero,.keyboard-card,.event-panel,.controls,.content-grid,.callout{display:none}.result-card{display:block!important;border:0}.tool-page{padding:0}}
.header-tools{display:flex;align-items:center;gap:12px}.all-tools-link{display:inline-flex;align-items:center;gap:8px;border:1px solid #3a6179;border-radius:8px;padding:8px 13px;color:var(--text);font-size:.88rem;font-weight:750;text-decoration:none}.all-tools-link span{color:var(--cyan);font-size:1.1rem}.home-page{max-width:1440px;margin:auto;padding:42px max(5vw,24px) 12px}.home-hero{max-width:800px;padding:26px 0 58px}.home-hero h1{max-width:720px;margin:6px 0 12px;font-size:clamp(2.55rem,5.7vw,4.75rem);line-height:1.02;letter-spacing:-.055em}.home-hero>p:last-of-type{max-width:670px;margin:0;color:var(--muted);font-size:1.16rem}.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.home-hero .button{display:inline-flex;text-decoration:none}.tool-directory{padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#0f2537,#0b1b2a)}.tool-directory>header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.tool-directory h2{margin:2px 0 0;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.1}.tool-directory>header>p{max-width:260px;margin:0;color:var(--muted);font-size:.92rem}.tool-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool-card{display:flex;min-height:365px;flex-direction:column;padding:22px;border:1px solid #2d5068;border-radius:12px;background:#0c1d2b}.tool-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:11px;background:#153549;color:var(--cyan);font-size:25px;font-weight:800}.speaker-icon{color:#5fdfaa;background:#153b35}.camera-icon{color:#62d4ff;background:#153146}.tool-type{margin:0;color:var(--cyan);font-size:.7rem;font-weight:800;letter-spacing:.12em}.tool-card h3{margin:6px 0 7px;font-size:1.35rem}.tool-card>p:not(.tool-type){min-height:50px;margin:0;color:var(--muted);font-size:.92rem}.tool-card ul{margin:18px 0 22px;padding:0;list-style:none;color:#c5d6e4;font-size:.84rem}.tool-card li{margin:7px 0}.tool-card li:before{content:"✓";margin-right:8px;color:var(--green);font-weight:900}.tool-card a{margin-top:auto;color:var(--cyan);font-weight:800;text-decoration:none}.tool-card a span{margin-left:5px}.home-information{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.home-information article{display:flex;gap:16px;padding:22px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.home-information article>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#17384c;color:var(--cyan);font-size:20px;font-weight:900}.home-information h2{margin:2px 0 5px;font-size:1.16rem}.home-information p:last-child{margin:0;color:var(--muted);font-size:.9rem}.not-found{max-width:900px;min-height:50vh;margin:auto;padding:80px max(5vw,24px)}.not-found h1{font-size:2.5rem}.not-found p{color:var(--muted)}@media(max-width:850px){.tool-card-grid,.home-information{grid-template-columns:1fr}.tool-card{min-height:0}.tool-directory>header{align-items:start;flex-direction:column}.tool-directory>header>p{max-width:none}.home-hero{padding-bottom:34px}}@media(max-width:560px){.home-page{padding-top:20px}.home-hero h1{font-size:2.55rem}.tool-directory{padding:18px}.tool-card{padding:18px}.site-header .header-tools{display:none}}
.site-header{min-height:58px;padding:0 max(6vw,48px);background:rgb(9 23 37 / .9);border-color:#20364b}.site-header nav{margin-right:auto;margin-left:42px}.site-header nav a{color:var(--text);font-size:14px;text-decoration:none}.site-header nav a:hover,.all-tools-link:hover{color:var(--cyan);border-color:var(--cyan)}.site-footer{padding:20px max(6vw,48px)}
.tools-menu{position:relative}.tools-menu summary{display:flex;align-items:center;gap:7px;color:var(--text);font-size:14px;cursor:pointer;list-style:none}.tools-menu summary::-webkit-details-marker{display:none}.tools-menu summary:after{content:"⌄";color:var(--muted);font-size:13px;transition:transform .15s}.tools-menu[open] summary:after{transform:rotate(180deg)}.tools-menu>div{position:absolute;z-index:20;top:calc(100% + 13px);left:-15px;min-width:205px;padding:8px;border:1px solid #31536c;border-radius:10px;background:#102438;box-shadow:0 15px 30px rgb(0 0 0 / .3)}.tools-menu>div a{display:block;padding:9px 11px;border-radius:6px;color:var(--text);font-size:13px;text-decoration:none;white-space:nowrap}.tools-menu>div a:hover,.tools-menu>div a:focus-visible{background:#18384c;color:var(--cyan)}.tools-menu summary:focus-visible{outline:3px solid #fff;outline-offset:4px}
.brand-image{display:inline-flex;align-items:center;line-height:0}.brand-image img{display:block;width:auto;height:38px;mix-blend-mode:screen}.site-footer .brand-image img{height:34px}@media(max-width:560px){.brand-image img{height:32px}}
.site-header .brand-image img{height:68px;margin:-8px 0}.site-footer .brand-image img{height:58px;margin:-9px 0}@media(max-width:560px){.site-header .brand-image img{height:56px;margin:-7px 0}}
.tools-menu summary:after{content:"";width:7px;height:7px;margin:0 1px 4px 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}.tools-menu[open] summary:after{transform:rotate(225deg);margin-top:5px;margin-bottom:0}.site-header nav a.is-active,.tools-menu.is-active summary,.tools-menu[open] summary{color:var(--cyan)}.all-tools-link.is-active{border-color:var(--cyan);background:#123448;color:var(--cyan)}.tools-menu>div a.is-active{background:#173b50;color:var(--cyan);box-shadow:inset 3px 0 0 var(--cyan)}
html{scroll-behavior:smooth}@keyframes page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes page-leave{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}body{animation:page-enter .24s ease-out both}body.page-leaving{pointer-events:none;animation:page-leave .17s ease-in both}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,body.page-leaving{animation:none}}
.microphone-icon{color:#22d3c5;background:#15384a}

/* Shared page frame: every public page and tester aligns to the same content gutter. */
:root{--page-max:1524px;--page-gutter:clamp(24px,4vw,64px);--page-block-start:24px;--page-block-end:40px}
:is(.home-page,.tool-page,.intro,.keyboard-page,.mouse-page,.speaker-page,.camera-page,.microphone-page,.battery-page,.admin-page,.not-found){width:100%;max-width:var(--page-max)!important;margin-inline:auto!important;padding-inline:var(--page-gutter)!important}
:is(.tool-page,.keyboard-page,.mouse-page,.speaker-page,.camera-page,.microphone-page,.battery-page,.admin-page){padding-top:var(--page-block-start)!important;padding-bottom:var(--page-block-end)!important}
.breadcrumbs{min-height:26px;align-items:center}
@media(max-width:600px){:root{--page-gutter:16px;--page-block-start:16px;--page-block-end:28px}}

/* Mouse tester: coherent SVG icon circles in the hero and information cards. */
#mouse-tester .mouse-hero aside>i,#mouse-tester .mouse-info>article>i{width:48px!important;height:48px!important;flex:0 0 48px!important;border:1px solid #285a72!important;border-radius:50%!important;background-color:#15384d!important;background-repeat:no-repeat!important;background-position:center!important;background-size:23px!important;font-size:0!important;box-shadow:inset 0 1px 0 rgba(117,238,255,.1)}
#mouse-tester .mouse-hero aside>i{background-image:url('../images/icon-shield.svg')!important}
#mouse-tester .mouse-info>article:nth-child(1)>i{background-image:url('../images/icon-guide.svg')!important}
#mouse-tester .mouse-info>article:nth-child(2)>i{background-image:url('../images/icon-shield.svg')!important}
#mouse-tester .mouse-info>article:nth-child(3)>i{background-image:url('../images/icon-wrench.svg')!important}

/* Contact page: usable channels now, with email shown automatically once configured. */
.contact-page{max-width:var(--page-max);margin:auto;padding:var(--page-block-start) var(--page-gutter) var(--page-block-end)}.contact-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.62fr);gap:clamp(28px,7vw,100px);align-items:center;padding:54px 0 42px}.contact-hero h1{max-width:760px;margin:5px 0 12px;font-size:clamp(2.5rem,5.4vw,4.45rem);line-height:1.03;letter-spacing:-.045em}.contact-hero>div>p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:1.1rem}.contact-hero aside{display:flex;gap:13px;align-items:flex-start;padding:20px;border:1px solid #2c5871;border-radius:14px;background:linear-gradient(145deg,#11354a,#0d2031)}.contact-hero aside>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#124638;color:#76edbf;font-size:1.2rem;font-weight:900}.contact-hero aside strong{display:block}.contact-hero aside p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-option{display:flex;min-height:335px;flex-direction:column;padding:24px;border:1px solid #2d5068;border-radius:14px;background:linear-gradient(145deg,#102a3d,#0c1d2b)}.contact-option>span{display:grid;place-items:center;width:43px;height:43px;margin-bottom:15px;border-radius:11px;background:#15394d;color:var(--cyan);font-size:1.35rem;font-weight:900}.contact-option:nth-child(2)>span{background:#143b36;color:#69e5ae}.contact-option:nth-child(3)>span{background:#3b3019;color:var(--amber)}.contact-option h2{margin:5px 0 8px;font-size:1.3rem}.contact-option>p:not(.eyebrow){margin:0;color:var(--muted);font-size:.92rem}.contact-option .button{align-self:flex-start;margin-top:auto;text-decoration:none}.contact-option ul{margin:16px 0 0;padding:0;list-style:none;color:#c6d7e4;font-size:.85rem}.contact-option li{margin:8px 0}.contact-option li:before{content:'✓';margin-right:8px;color:var(--green);font-weight:900}.contact-pending{display:inline-flex;align-self:flex-start;margin-top:auto;padding:9px 11px;border:1px solid #3b5060;border-radius:8px;background:#17232d;color:#d6b977;font-size:.84rem;font-weight:700}.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:15px}.contact-actions .button{margin:0;font-size:.82rem}.contact-guidance{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.contact-guidance h2{margin:3px 0 6px;font-size:1.25rem}.contact-guidance p:last-child{max-width:780px;margin:0;color:var(--muted);font-size:.92rem}.contact-guidance .button{text-decoration:none;white-space:nowrap}@media(max-width:900px){.contact-hero{grid-template-columns:1fr;padding-top:34px}.contact-hero aside{max-width:580px}.contact-options{grid-template-columns:1fr}.contact-option{min-height:0}.contact-option .button,.contact-pending,.contact-actions{margin-top:20px}.contact-guidance{align-items:flex-start;flex-direction:column}}@media(max-width:540px){.contact-page{padding-top:22px}.contact-hero{padding:28px 0}.contact-hero h1{font-size:2.5rem}.contact-option,.contact-guidance{padding:19px}}

/* Contact form: a real message flow without collecting more than is needed. */
.contact-form-section{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(26px,5vw,72px);align-items:start;margin-top:18px;padding:28px;border:1px solid #2d5068;border-radius:14px;background:linear-gradient(145deg,#102d41,#0c1d2b)}.contact-form-intro h2{margin:3px 0 8px;font-size:1.55rem}.contact-form-intro>p:not(.eyebrow){max-width:460px;margin:0;color:var(--muted);font-size:.94rem}.contact-form-note{margin-top:15px!important;color:#d5c085!important;font-size:.82rem!important}.contact-form{display:grid;gap:14px}.contact-form label{display:grid;gap:6px;color:#dceaf1;font-size:.86rem;font-weight:750}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #36566b;border-radius:9px;background:#091a28;color:var(--text);font:inherit;font-size:.94rem;line-height:1.45;padding:10px 12px;outline:none;resize:vertical}.contact-form select{min-height:43px}.contact-form textarea{min-height:150px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(72,213,232,.16)}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form .button{justify-self:start;margin-top:2px;text-decoration:none}.contact-form-success,.contact-form-error{margin:0;padding:11px 13px;border-radius:9px;font-size:.88rem}.contact-form-success{border:1px solid #328b68;background:#103d32;color:#a3f0ce}.contact-form-error{border:1px solid #9b4d59;background:#3c1e28;color:#ffd2d9}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:900px){.contact-form-section{grid-template-columns:1fr}.contact-form-intro>p:not(.eyebrow){max-width:none}}@media(max-width:540px){.contact-form-section{padding:19px}.contact-form-row{grid-template-columns:1fr}}

/* The desktop section points to the real Windows Battery Health application. */
.home-information .desktop-app-icon{background:#3a3018}.home-information .desktop-app-icon img{display:block;width:22px;height:22px}.home-information .desktop-app-link{display:inline-flex;align-items:center;gap:7px;margin-top:13px;color:var(--cyan);font-size:.88rem;font-weight:800;text-decoration:none}.home-information .desktop-app-link:hover,.home-information .desktop-app-link:focus-visible{color:#a8f4ff;text-decoration:underline}.home-information .desktop-app-link span{font-size:1rem;line-height:1}

/* Home: right-side device centre gives the hero a useful visual destination. */
.home-hero{max-width:none;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(400px,.82fr);align-items:center;gap:clamp(36px,7vw,116px);min-height:610px;padding:44px 0 64px}.home-hero-copy{max-width:720px}.device-check-center{width:min(100%,470px);justify-self:end;padding:22px;border:1px solid #2c5871;border-radius:18px;background:radial-gradient(circle at 100% 0,#16445c 0,transparent 42%),linear-gradient(145deg,#102d41,#0c1d2d);box-shadow:0 24px 54px rgba(0,0,0,.25)}.device-check-center header{display:flex;gap:12px;align-items:center;padding:0 2px 18px;border-bottom:1px solid #2a4c61}.device-center-indicator{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(82,215,154,.11),0 0 14px var(--green)}.device-check-center header p{margin:0 0 1px;color:var(--cyan);font-size:.68rem;font-weight:850;letter-spacing:.12em}.device-check-center header strong{font-size:1.05rem}.device-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 0}.device-check-grid a{display:flex;align-items:center;gap:10px;min-height:78px;padding:12px;border:1px solid #285068;border-radius:12px;background:#0b1c2b;color:var(--text);text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.device-check-grid a:hover,.device-check-grid a:focus-visible{border-color:var(--cyan);background:#123348;transform:translateY(-2px)}.device-check-grid a>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid #286078;border-radius:10px;background:#14384d}.device-check-grid a>span img{display:block;width:19px;height:19px}.device-check-grid a:nth-child(2)>span{background:#133a34}.device-check-grid a:nth-child(3)>span{background:#3a3018}.device-check-grid strong,.device-check-grid small{display:block}.device-check-grid strong{font-size:.88rem}.device-check-grid small{margin-top:2px;color:var(--muted);font-size:.72rem;line-height:1.25}.device-check-grid b{margin-left:auto;color:var(--cyan);font-size:1.2rem;font-weight:500}.device-check-center footer{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem}.device-center-lock{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#124539;color:#74edbb;font-weight:900}@media(max-width:980px){.home-hero{grid-template-columns:1fr;min-height:0;gap:34px}.device-check-center{justify-self:start;width:min(100%,560px)}.home-hero-copy{max-width:760px}}@media(max-width:520px){.home-hero{padding-top:28px}.device-check-center{padding:17px}.device-check-grid{grid-template-columns:1fr}.device-check-grid a{min-height:64px}}
