*{box-sizing:border-box}html{min-height:100%;background:#477f8f}body{margin:0;min-height:100vh;color:#102c3c;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(120deg,rgba(82,113,153,.45),transparent 65%),conic-gradient(from 35deg at 70% 40%,#5dafaa,#60aca9,#68bab3,#4e9c9f,#5dafaa)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}.app{max-width:1120px;margin:auto;padding:20px 32px 14px}header{display:flex;justify-content:space-between;align-items:center}.back{color:#102d3c;text-decoration:none;font-size:14px;font-weight:600}.back:hover{text-decoration:underline}.help{width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#162f40;font-weight:bold;font-size:21px}.heading{text-align:center;margin:14px 0 4px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}h1{font-weight:500;font-size:32px;letter-spacing:-1px;margin:8px 0}p{line-height:1.6}.heading p{margin:0;font-size:15px}.progress{max-width:530px;margin:19px auto 0;display:flex;justify-content:space-between;font-size:13px;font-weight:600}.dial-wrap{width:min(100%,660px);margin:-4px auto -7px}.dial{display:block;width:100%;height:auto}.dial-digit{font:38px monospace;fill:#252a3a;text-anchor:middle;dominant-baseline:middle}.dial-digit.target{fill:#263542;font-weight:bold}.code-segment{fill:#40d2c4}.code-segment.pending{fill:#8a999f;opacity:.65}.code-segment.target{fill:#f6f9ff}.lock-status{font-size:18px;font-style:italic;fill:#e28b8d}.lock-status.unlocked{fill:#61e7aa}.status{text-align:center;min-height:26px;max-width:640px;margin:0 auto 14px;font-size:15px;color:#102f3d}.controls{display:flex;gap:24px;align-items:center;justify-content:space-between;max-width:650px;margin:auto}.primary,.secondary{min-height:48px;border:0;border-radius:28px;padding:12px 28px;font-size:15px;font-weight:600}.primary{background:#fff;color:#183245;min-width:185px;box-shadow:0 4px 12px #234a5318}.primary:hover:not(:disabled){background:#f2f8fb}.primary span{font-size:12px;font-weight:400;opacity:.65;margin-left:25px}.secondary{background:#152b50;color:#fff;min-width:185px}.secondary:hover:not(:disabled){background:#213b65}.metrics{max-width:650px;margin:24px auto;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#22434c}.metrics b{display:block;font-size:18px;color:#102d3b;margin-top:6px}footer{text-align:center;font-size:11px;color:#26535e;margin:18px 0 4px}dialog{max-width:480px;width:calc(100% - 36px);padding:35px;border:0;border-radius:18px;color:#19394b;box-shadow:0 20px 60px #173a4c55;background:#f7fbfc}dialog::backdrop{background:#122a43a3;backdrop-filter:blur(5px)}dialog h2{font-size:28px;letter-spacing:-.8px;font-weight:500;margin:12px 0}dialog p,dialog li{font-size:14px;line-height:1.65}dialog ol{padding-left:22px}dialog li{margin:8px 0}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;color:#30576b;font-size:26px}dialog .primary{background:#173452;color:white;width:100%;margin-top:8px}dialog .primary:hover{background:#254a6e}.results{max-width:800px;margin:65px auto 35px;padding:36px;background:#ffffffdc;border-radius:20px}.results h2{font-size:36px;font-weight:500;letter-spacing:-1px;margin:14px 0}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.stat{padding:16px;background:#e5eff0;border-radius:12px;font-size:12px}.stat strong{display:block;font-size:27px;font-weight:500;margin-bottom:7px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}caption{text-align:left;font-size:14px;font-weight:600;padding-bottom:14px}th,td{padding:13px 8px;border-bottom:1px solid #cfdddf}th{font-weight:600;white-space:nowrap}.results-note{font-size:12px;color:#56727d;margin:22px 0}.results .primary{background:#173452;color:#fff}.results .primary:hover{background:#254a6e}[hidden]{display:none!important}
@media(max-width:600px){.app{padding:18px 16px}.heading{margin-top:21px}h1{font-size:27px}.eyebrow{font-size:10px}.progress{padding:0 8px}.dial-wrap{margin:12px auto 4px}.controls{gap:12px}.primary,.secondary{padding:12px 20px;min-width:0;flex:1}.primary span{margin-left:12px}.status{font-size:13px;min-height:44px;margin-bottom:4px}.results{margin-top:40px;padding:24px 18px}.result-stats{grid-template-columns:repeat(2,1fr)}dialog{padding:30px 25px}.metrics{margin-top:23px}}
@media(prefers-reduced-motion:reduce){dialog::backdrop{backdrop-filter:none}}
