@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#10191d;--panel:#172226;--line:#334043;--muted:#9caeb0;--lime:#d6f489;--cyan:#72d4d2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#edf2e9;font-family:'DM Sans',sans-serif;font-size:14px}button,a,select{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}header,main,footer{max-width:1360px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 40px}.brand{display:flex;gap:12px;align-items:center;color:var(--lime);font-size:29px;text-decoration:none}.brand span{font-family:'Space Grotesk',sans-serif;font-size:19px;letter-spacing:2px;font-weight:700}.strap{color:var(--muted);font-size:13px}.text-btn{background:none;border:0;color:#d7e0d9;padding:10px 0}.intro{padding:60px 40px 42px;position:relative}.eyebrow,.section-label{font-size:10px;letter-spacing:1.8px;font-weight:700}.eyebrow{color:var(--lime)}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--lime);margin-right:8px}h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(45px,5.4vw,72px);line-height:1.06;letter-spacing:-3.5px;margin:24px 0}h1 em{font-style:normal;color:var(--lime)}.intro p{font-size:16px;color:#adbbbd;line-height:1.65;margin-bottom:0}.lab{margin:0 40px;display:grid;grid-template-columns:245px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}aside{border-right:1px solid var(--line);padding:27px 20px}.section-label{color:var(--muted);display:flex;justify-content:space-between}.section-label span{font-size:9px;color:#6c8184}nav{margin-top:25px;display:grid;gap:9px}.level{display:flex;text-align:left;gap:12px;align-items:center;border:1px solid transparent;border-radius:7px;color:#a7b5b5;background:none;padding:13px 10px;width:100%}.level.active{background:#29362c;border-color:#5c7045;color:var(--lime)}.level .num{width:28px;height:28px;border:1px solid #45534e;border-radius:50%;display:grid;place-items:center;font-size:10px}.level strong{display:block;font-size:12px;font-weight:500}.level small{display:block;font-size:10px;color:#8c9e9c;margin-top:4px}.aside-note{border-top:1px solid var(--line);margin-top:34px;padding-top:24px;display:flex;gap:13px;color:var(--lime)}.aside-note>span{font-size:27px}.aside-note p{font-size:12px;line-height:1.8;margin:0;color:#b8c6be}#reset{font-size:10px;color:var(--muted);margin-top:20px}.workspace{padding:28px 30px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-family:'Space Grotesk',sans-serif;font-size:25px;font-weight:500;letter-spacing:-.6px;margin:10px 0 0}.pill{white-space:nowrap;font-size:9px;letter-spacing:1px;border:1px solid #465546;padding:7px 10px;border-radius:30px;color:var(--lime)}.brief{font-size:12px;color:#a4b5b4;margin:12px 0 24px;line-height:1.6}.scope{border:1px solid #354549;border-radius:6px;background:#101a1e;overflow:hidden}.scope-top{display:flex;justify-content:space-between;padding:14px 16px;font-size:8px;letter-spacing:1.3px;color:#8caaab}.scope-top>span:first-child{color:var(--lime)}canvas{display:block;width:100%;height:220px}.axis{display:flex;justify-content:space-between;padding:10px 16px;color:#70888b;font-size:8px;letter-spacing:.5px}.legend{display:flex;align-items:center;gap:18px;font-size:10px;color:#9cb2b3;margin:13px 0 23px}.legend>span:last-child{margin-left:auto;font-size:8px;letter-spacing:1px}.key{display:inline-block;width:14px;margin-right:6px;vertical-align:middle}.target{border-top:2px dashed var(--lime)}.yours{border-top:2px solid var(--cyan)}.controls{display:flex;gap:12px;align-items:center}.primary,.secondary{border-radius:5px;padding:12px 17px;font-size:12px;font-weight:600;border:1px solid var(--line)}.primary{background:var(--lime);color:#1c2916;border-color:var(--lime)}.secondary{background:transparent;color:#d5e1da}.controls .text-btn{margin-left:auto;font-size:11px;color:#c7d8b2}.status{font-size:10px;color:#91a7a7;min-height:30px;line-height:1.6;margin:12px 0 14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:20px;gap:14px}.metrics>div{border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics span{font-size:8px;letter-spacing:1px;color:#a1b4af}.metrics b{font-size:7px;background:#2b3738;padding:3px 4px;font-weight:400;margin-left:4px}.metrics strong{font-family:'Space Grotesk',sans-serif;display:block;font-size:30px;font-weight:500;color:var(--lime);margin-top:10px}.metrics small{font-size:12px;color:#71898a}.metrics p{font-size:10px;color:#8fa4a3;margin-bottom:0}.result{margin-top:20px;padding:17px;background:#26352a;border:1px solid #536e41;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:16px}.result[hidden]{display:none}.result p{font-size:12px;line-height:1.6;color:#bfcdbe;margin:6px 0 0}.below{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:46px 40px}.below h3{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:20px;letter-spacing:-.4px;margin:17px 0 10px}.below p{font-size:12px;color:#94a8a9;line-height:1.8}details{margin:0 40px 50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 0;font-size:14px}summary span{float:right;color:#8fa3a5;font-size:11px}.science-body{max-width:850px;padding:0 0 25px;font-size:13px;line-height:1.8;color:#b2c2c1}.science-body a{color:var(--lime)}select{background:#243235;border:1px solid #586a68;padding:8px;color:white;margin:8px}footer{border-top:1px solid var(--line);padding:25px 40px;display:flex;justify-content:space-between;font-size:10px;color:#809797}footer>span:first-child{letter-spacing:2px;color:#c2d1c7}@media(min-width:1450px){.intro{padding-top:65px}}@media(max-width:850px){header{padding:0 22px;height:75px}.strap{display:none}.intro{padding:40px 22px 30px}.lab{margin:0 20px;grid-template-columns:1fr}aside{padding:18px;border-right:0;border-bottom:1px solid var(--line)}nav{display:flex;margin-top:14px;gap:5px}.level{justify-content:center;padding:8px 0}.level div{display:none}.aside-note,#reset{display:none}.workspace{padding:24px 20px}.below{margin:35px 22px;gap:25px}details{margin:0 22px 30px}footer{padding:22px;gap:16px}.controls{flex-wrap:wrap}.controls .text-btn{margin-left:0}.panel-head{align-items:flex-start}.pill{font-size:8px}h2{font-size:22px}summary span{float:none;display:block;margin-top:8px}.metrics span{letter-spacing:.3px}.metrics b{display:block;width:max-content;margin:6px 0}.below{grid-template-columns:1fr;gap:15px}.below h3{margin-top:10px}.result{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.score-note{font-size:8px;letter-spacing:1px;color:#94a8a9;margin:15px 0 10px}#micOff{font-size:10px;color:var(--lime);padding:8px 0 0}button[hidden]{display:none}

header .project-logos{display:flex;align-items:center;justify-content:center;gap:30px;margin:0;padding:0}header .project-logos>svg{position:absolute;overflow:hidden}header .project-logos a{display:block;padding:4px}header .project-logos img{display:block;object-fit:contain;filter:url(#logo-outline)}header .portsmouth-logo{width:auto;height:68px}header .pycbc-logo{width:140px;height:auto}@media(max-width:850px){header{height:auto;min-height:90px;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}header .project-logos{gap:20px}header .portsmouth-logo{height:58px}header .pycbc-logo{width:115px}}@media(max-width:540px){header .brand span{font-size:15px;letter-spacing:1px}header .brand img{width:30px;height:30px}header .project-logos{order:3;width:100%;padding-top:8px;border-top:1px solid var(--line)}header .portsmouth-logo{height:54px}header .pycbc-logo{width:125px}}

header .header-links{display:flex;align-items:center;gap:22px;margin:0}header .header-links .text-btn{white-space:nowrap;text-decoration:none}header .header-links a:hover{color:var(--lime)}@media(max-width:540px){header .header-links{gap:14px;font-size:12px}}

header .gwpiano-link{display:block;line-height:0}header .gwpiano-link img{display:block;width:124px;height:70px;object-fit:contain}@media(max-width:540px){header .gwpiano-link img{width:100px;height:56px}}

header .gwpiano-link{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 10px;border:1px solid #52634a;border-radius:7px;color:var(--lime);text-decoration:none;transition:background .15s,border-color .15s}header .gwpiano-link span{font-size:11px;font-weight:600;line-height:1.4;text-decoration:underline;text-underline-offset:3px}header .gwpiano-link:hover,header .gwpiano-link:focus-visible{background:#29362c;border-color:var(--lime)}

.scope{position:relative}.countdown{position:absolute;inset:40px 0 30px;display:grid;place-items:center;font-family:"Space Grotesk",sans-serif;font-size:86px;font-weight:700;color:var(--lime);background:#101a1edd;z-index:1}.countdown[hidden]{display:none}
