:root{color-scheme:dark;--ink:#edf4f3;--muted:#a9c0c4;--blue:#71d4ed;--yellow:#f6cc72}*{box-sizing:border-box}body{margin:0;background:#101c25;color:var(--ink);font:16px/1.6 system-ui,sans-serif}header,main{max-width:1120px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #35434c;font-size:12px}a{color:var(--blue)}h1{font-size:clamp(48px,9vw,100px);line-height:1;letter-spacing:-4px;margin:20px 0 28px}h2{font-size:25px;line-height:1.25}p{color:var(--muted)}.eyebrow{color:var(--yellow);letter-spacing:2px;font-size:11px;font-weight:700}.lead{max-width:650px;font-size:20px}.settings{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:#1b2c38;padding:22px;border-radius:12px;margin-top:35px}label{font-size:13px;color:var(--muted)}select,input{display:block;width:100%;min-width:0;margin-top:6px;padding:12px;color:var(--ink);background:#101c25;border:1px solid #50616b;border-radius:5px;font:inherit}button{font:600 14px system-ui;padding:14px 20px;border:1px solid #536672;border-radius:5px;background:#273d4c;color:var(--ink);cursor:pointer;min-height:46px}button:first-child{background:var(--yellow);color:#18242c}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}canvas{display:block;width:100%;height:auto;border-radius:6px;background:#1d2b34}article{margin-top:30px}h2 i{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:10px}.hold{background:var(--blue)}.switch{background:var(--yellow)}progress{width:100%;height:8px;accent-color:var(--blue)}#progress1{accent-color:var(--yellow)}.results,.explain{margin-top:55px;padding-top:24px;border-top:1px solid #40515e}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}td,th{padding:12px 8px;border-bottom:1px solid #40515e}caption{text-align:left;color:var(--muted)}summary{cursor:pointer;color:var(--yellow)}.explain{max-width:820px;padding-bottom:40px}#status{min-height:26px}@media(max-width:600px){header,main{padding:18px}.settings{grid-template-columns:1fr 1fr;padding:15px;gap:12px}h1{letter-spacing:-2px}header span{max-width:130px;text-align:right}.lead{font-size:17px}article p{font-size:13px}button{flex:1 1 42%}}
