:root{color-scheme:light;--navy:#102b3f;--ink:#152d40;--gold:#e0b75e;--cream:#faf7ed}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#091e2f,#21485b);font:1rem/1.55 system-ui,sans-serif;color:var(--ink);min-height:100vh}main{width:min(100% - 2rem,37rem);margin:auto;padding:clamp(1rem,7vh,4.5rem) 0}header{display:flex;align-items:center;gap:.9rem;color:#f3d38d;margin-bottom:1rem}header a{display:flex}header img{object-fit:contain}header p{font:1.2rem/1.25 Georgia,serif}section{background:var(--cream);border:1px solid #bd9b55;border-radius:.5rem;padding:clamp(1.15rem,5vw,2.2rem)}h1{font:clamp(1.75rem,5.5vw,2.45rem)/1.12 Georgia,serif;margin:0 0 .75rem}p{margin:.7rem 0}label{font-weight:650;display:block;margin:.8rem 0 .25rem}input:not([type=checkbox]){width:100%;font:inherit;padding:.65rem .8rem;min-height:44px;border:1px solid #8e9ba2;border-radius:.25rem;background:white;color:var(--ink)}button,.primary{display:inline-block;background:var(--gold);border:1px solid #87652f;border-radius:.25rem;color:#15283a;padding:.65rem 1rem;min-height:44px;font:inherit;font-weight:700;margin-top:1rem;cursor:pointer;text-decoration:none}a{color:#124661}.plain{border-color:transparent;background:transparent;text-decoration:underline}.check{display:flex;gap:.6rem;align-items:center;font-weight:500}.alert{background:#fbe8df;border-left:4px solid #a63b22;padding:.65rem .8rem}.setup-key,.codes{background:#fff;border:1px solid #cbb88a;border-radius:.25rem;padding:.7rem .9rem;overflow-wrap:anywhere}.codes{list-style:none;display:grid;gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr))}.return{margin-top:1.15rem}:focus-visible{outline:3px solid #1973a0;outline-offset:3px}@media(max-width:450px){.codes{grid-template-columns:1fr}}

/* Authenticator enrollment */
.portal-qr{margin:1rem 0;padding:1rem;border:1px solid #cbb88a;border-radius:.4rem;background:#fffdf7;text-align:center}
.portal-qr[hidden]{display:none}
.portal-qr-symbol{display:block;width:min(100%,16.25rem);aspect-ratio:1;margin:.65rem auto;background:#fff}
.portal-qr-symbol svg{display:block;width:100%;height:100%}
.portal-qr figcaption{font-weight:700}
.portal-qr p{margin:.35rem 0;font-size:.95rem}
.portal-manual{margin:1rem 0}
.portal-manual summary{color:#124661;cursor:pointer;font-weight:650;text-decoration:underline}
