@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/atkinson-hyperlegible-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/atkinson-hyperlegible-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Nunito;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/nunito-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Nunito;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/nunito-latin-800-normal.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-latin-400-normal.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf6ee;--surface:#fff;--sunken:#f3ebdf;--hairline:#d9cdbd;--control-border:#80736a;--ink:#2b2623;--ink-soft:#5a4f47;--ink-faint:#6f645b;--code-fill:#efe6d8;--primary:#3f4e69;--primary-hover:#334158;--primary-press:#2a364a;--primary-tint:#e8edf5;--on-primary:#fff;--link:#2d4f8f;--link-visited:#5b3f86;--focus:#1f5fbf;--progress-track:#cfc2b0;--info-ink:#2f3f5a;--success:#2a6a4a;--success-tint:#e1f1e8;--success-ink:#1d4d36;--warn-icon:#a86400;--warn-tint:#fdf0d5;--warn-ink:#7a4a00;--amber:#f2b441;--danger:#a3301d;--danger-tint:#fbe6e1;--danger-ink:#7f2214;--on-danger:#fff;--offline-tint:#e6e0d9;--offline-ink:#4f4a46;--disabled-fill:#e6e0d9;--disabled-ink:#6f645b;--stage-backdrop:#efe2cf;--stage-floor:#a99882;--stage-shadow:#3c281947;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Atkinson Hyperlegible Mono", ui-monospace, Menlo, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--target:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--shadow-1:0 1px 2px #3c28191a, 0 2px 8px #3c28190f;--shadow-2:0 4px 16px #3c281924;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.2, .7, .2, 1);--w-auth:480px;--w-wizard:640px;--w-page:720px;--w-office:1280px;--text-display:40px;--lh-display:48px;--text-h1:32px;--lh-h1:40px;--text-h2:24px;--lh-h2:32px;--text-h3:20px;--lh-h3:28px;--text-body:18px;--lh-body:28px;--text-small:16px;--lh-small:24px}@media (width<=639px){:root{--text-display:28px;--lh-display:36px;--text-h1:26px;--lh-h1:34px}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) :before,html:not([data-motion=full]) :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);margin:0}h1,h2,h3{font-family:var(--font-heading);margin:0 0 var(--space-3);color:var(--ink)}h1{font-size:var(--text-h1);line-height:var(--lh-h1);font-weight:800}h2{font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:700}h3{font-size:var(--text-h3);line-height:var(--lh-h3);font-weight:700}p{margin:0 0 var(--space-4);max-width:65ch}small,.small{font-size:var(--text-small);line-height:var(--lh-small)}.soft{color:var(--ink-soft)}.faint{color:var(--ink-faint)}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:var(--text-body)}ul,ol{margin:0 0 var(--space-4);padding-left:var(--space-5)}dl{margin:0 0 var(--space-4)}dt{font-weight:700}dd{margin:0 0 var(--space-2)}a{color:var(--link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}a:visited{color:var(--link-visited)}:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--surface)}[tabindex="-1"]:focus{box-shadow:none;outline:none}@media (forced-colors:active){:focus-visible{box-shadow:none;outline:3px solid highlight}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-3);z-index:100;background:var(--surface);color:var(--link);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-2);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}@media print{.no-print{display:none!important}}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--hairline);min-height:64px;display:flex}.wordmark{font-family:var(--font-heading);font-weight:800;font-size:var(--text-h3);line-height:var(--lh-h3);color:var(--ink);min-height:var(--target);align-items:center;text-decoration:none;display:inline-flex}.wordmark:visited{color:var(--ink)}.topbar-link{min-height:var(--target);padding:0 var(--space-2);align-items:center;display:inline-flex}.main{width:100%;padding:var(--space-6) var(--space-4) var(--space-8);flex:1}.main:focus{outline:none}.main-auth,.main-wizard,.main-page{margin:0 auto}.main-auth{max-width:calc(var(--w-auth) + 2 * var(--space-4))}.main-wizard{max-width:calc(var(--w-wizard) + 2 * var(--space-4))}.main-page{max-width:calc(var(--w-page) + 2 * var(--space-4))}.main-office{max-width:var(--w-office);flex-direction:column;margin:0 auto;padding:0;display:flex}.stack>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-6)}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.row-end{justify-content:flex-end}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-6)}.card-danger{border-color:var(--danger)}.card+.card{margin-top:var(--space-5)}@media (width<=639px){.card{padding:var(--space-5) var(--space-4)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target);height:var(--target);padding:0 var(--space-5);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border:1.5px solid #0000;font-size:18px;font-weight:700;line-height:24px;text-decoration:none;display:inline-flex}.btn-large{height:56px}.btn-block{width:100%;display:flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:visited{color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-press)}.btn-secondary{background:var(--primary-tint);color:var(--primary);border-color:var(--primary-tint)}.btn-secondary:visited{color:var(--primary)}.btn-secondary:hover{background:#dce4f0}.btn-danger{background:var(--danger);color:var(--on-danger)}.btn-danger:hover{background:#8a2818}.btn-link{color:var(--link);text-underline-offset:3px;padding:0 var(--space-2);background:0 0;font-weight:400;text-decoration:underline;text-decoration-thickness:2px}.btn:disabled,.btn[disabled]{background:var(--disabled-fill);color:var(--disabled-ink);cursor:not-allowed;border-color:#0000}.btn[aria-disabled=true]{cursor:progress}.quiet-link{min-height:var(--target);align-items:center;display:inline-flex}.link-list{margin-top:var(--space-3);flex-direction:column;display:flex}@media (forced-colors:active){.btn{border-color:buttontext}}.field{margin-bottom:var(--space-5)}.field-label{margin-bottom:var(--space-1);font-weight:700;display:block}.field-hint{margin:0 0 var(--space-2);color:var(--ink-soft);font-size:var(--text-small);line-height:var(--lh-small)}.field-error{gap:var(--space-2);margin:var(--space-2) 0 0;color:var(--danger-ink);font-size:var(--text-small);line-height:var(--lh-small);align-items:flex-start;display:flex}.field-error .icon{color:var(--danger);flex:none}.input{width:100%;height:52px;padding:0 var(--space-4);font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--control-border);border-radius:var(--radius-sm);display:block}.input[aria-invalid=true]{border-color:var(--danger);border-width:2px}.input:disabled{background:var(--disabled-fill);color:var(--disabled-ink);border-color:#0000}.input-mono{font-family:var(--font-mono);letter-spacing:.04em}.input-wrap{position:relative}.input-with-button{padding-right:112px}.input-button{height:48px;min-width:var(--target);padding:0 var(--space-3);align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;display:inline-flex;position:absolute;top:2px;right:2px}.check{min-height:var(--target);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex;position:relative}.check input{width:28px;height:28px;margin:0 var(--space-3) 0 0;accent-color:var(--primary);flex:none}.check label{min-height:var(--target);cursor:pointer;flex:1;align-items:center;display:flex}.check-hint{flex-basis:100%;margin-left:40px}textarea.input{height:auto;padding:var(--space-3) var(--space-4)}fieldset{margin:0 0 var(--space-5);border:0;min-width:0;padding:0}legend{margin-bottom:var(--space-2);padding:0;font-weight:700}.banner{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1.5px solid;align-items:flex-start;display:flex}.banner p{margin-bottom:var(--space-2)}.banner p:last-child{margin-bottom:0}.banner-icon{flex:none;padding-top:2px}.banner-body{flex:1;min-width:0}.banner-title{margin-bottom:var(--space-1);font-weight:700}.banner-actions{margin-top:var(--space-3)}.banner-close{width:var(--target);height:var(--target);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.banner-info{background:var(--primary-tint);color:var(--info-ink);border-color:var(--primary)}.banner-info .banner-icon{color:var(--primary)}.banner-success{background:var(--success-tint);color:var(--success-ink);border-color:var(--success)}.banner-success .banner-icon{color:var(--success)}.banner-warning{background:var(--warn-tint);color:var(--warn-ink);border-color:var(--warn-icon)}.banner-warning .banner-icon{color:var(--warn-icon)}.banner-error{background:var(--danger-tint);color:var(--danger-ink);border-color:var(--danger)}.banner-error .banner-icon{color:var(--danger)}.error-summary{gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--danger-tint);color:var(--danger-ink);border:1.5px solid var(--danger);border-radius:var(--radius-md);align-items:flex-start;display:flex}.error-summary .icon{color:var(--danger);flex:none}.error-summary p{margin:0;font-weight:700}.details{margin-top:var(--space-3)}.details summary{cursor:pointer;min-height:var(--target);align-items:center;font-weight:700;display:flex}.details-body{padding:var(--space-2) 0}.details-reference{font-family:var(--font-mono);word-break:break-all}.error-block{text-align:left}.code-block{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--code-fill);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);margin-bottom:var(--space-4);display:flex}.code-text{font-family:var(--font-mono);font-size:var(--text-code,18px);flex:1;margin:0;line-height:28px;overflow-x:auto}.code-text code{font-size:inherit}.code-copy{padding:0 var(--space-4);flex:none}.chip{align-items:center;gap:var(--space-2);padding:2px var(--space-3) 2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-small);line-height:var(--lh-small);font-weight:700;display:inline-flex}.chip-ready,.chip-done,.chip-on{background:var(--success-tint);color:var(--success-ink)}.chip-ready .icon,.chip-done .icon,.chip-on .icon{color:var(--success)}.chip-working{background:var(--primary-tint);color:var(--info-ink)}.chip-working .icon{color:var(--primary)}.chip-needs-you,.chip-not-ready{background:var(--warn-tint);color:var(--warn-ink)}.chip-needs-you .icon{color:var(--warn-icon)}.chip-not-ready .icon{color:var(--warn-ink)}.chip-blocked{background:var(--danger-tint);color:var(--danger-ink)}.chip-blocked .icon{color:var(--danger)}.chip-offline,.chip-neutral{background:var(--offline-tint);color:var(--offline-ink)}.spinner-wrap{align-items:center;gap:var(--space-2);display:inline-flex}.spinner{border:3px solid;border-right-color:#0000;border-radius:50%;flex:none;width:20px;height:20px;animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}html[data-motion=reduced] .spinner{border-style:dotted;border-right-color:currentColor;animation:none}.loading{padding:var(--space-7) 0;color:var(--ink-soft);justify-content:center;display:flex}.progress{background:var(--progress-track);border-radius:var(--radius-pill);height:12px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width var(--dur-slow) var(--ease-out)}.progress-moving .progress-fill{width:40%;animation:slide 1.6s var(--ease-out) infinite alternate}@keyframes slide{0%{transform:translate(0)}to{transform:translate(150%)}}html[data-motion=reduced] .progress-moving .progress-fill{width:100%;animation:none}.menu{position:relative}.menu-button{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-3);background:var(--surface);border:1.5px solid var(--control-border);border-radius:var(--radius-md);font:inherit;color:var(--ink);cursor:pointer;display:inline-flex}.menu-list{right:0;top:calc(100% + var(--space-2));z-index:20;min-width:260px;padding:var(--space-2);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);border:1px solid var(--hairline);margin:0;list-style:none;position:absolute}.menu-item{width:100%;min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius-sm);font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;text-decoration:none;display:flex}.menu-item:hover{background:var(--sunken)}.menu-item:visited{color:var(--ink)}.shell-banners{max-width:var(--w-office);padding:var(--space-4) var(--space-4) 0;width:100%;margin:0 auto}.page-backdrop{background:linear-gradient(#f6ede0, var(--stage-backdrop))}.landing{max-width:560px;padding:14vh var(--space-4) var(--space-8);margin:0 auto}.landing h1{font-size:var(--text-display);line-height:var(--lh-display)}.landing-quiet{margin-top:var(--space-4);color:var(--ink-soft)}.steps{margin:0;padding:0;list-style:none}.steps>li{margin-bottom:var(--space-6)}.facts dt{color:var(--ink-soft);font-size:var(--text-small)}.facts dd{margin-bottom:var(--space-3)}.qr{margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff;width:fit-content;display:block}.qr svg{width:220px;height:220px;display:block}.manual-key{font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;word-break:break-all}.codes-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.codes-grid li{font-family:var(--font-mono);font-size:var(--text-body);letter-spacing:.04em;font-variant-numeric:tabular-nums;text-align:center;padding:var(--space-3);border:1.5px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface)}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{width:100%;position:absolute;top:0;left:0}.print-only{display:block!important}}.print-only{display:none}.banner .btn-secondary,.prompt-card .btn-secondary{background:var(--surface);border-color:var(--primary)}@media (width<=899px){.shell-banners-office{padding-bottom:var(--space-5);order:3}}.shell-banners .banner{margin-bottom:var(--space-3)}.wizard{display:block}.stepper{margin:0 0 var(--space-5);gap:var(--space-2);justify-content:space-between;padding:0;list-style:none;display:flex}.step{align-items:center;gap:var(--space-1);text-align:center;min-width:0;color:var(--ink-soft);font-size:var(--text-small);line-height:var(--lh-small);flex-direction:column;flex:1;display:flex}.step-circle{border:2px solid var(--control-border);background:var(--surface);width:36px;height:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.step-current .step-circle{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.step-current .step-label{color:var(--ink);font-weight:700}.step-done .step-circle{background:var(--success-tint);border-color:var(--success);color:var(--success-ink)}@media (width<=639px){.stepper{flex-direction:column}.step{text-align:left;justify-content:flex-start;gap:var(--space-3);flex-direction:row}}.wizard-card h1{margin-bottom:var(--space-3)}.choice-card{padding:var(--space-4);border:1.5px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:var(--space-3);cursor:pointer;display:block;position:relative}.choice-card input{opacity:0;position:absolute}.choice-card:has(input:checked){background:var(--primary-tint);border-color:var(--primary);border-width:2px}.choice-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.choice-title{font-weight:700;display:block}.choice-tag{margin-left:var(--space-2)}.codes-confirm{margin-top:var(--space-4)}.enrol-steps{padding-left:var(--space-5)}.enrol-steps>li{margin-bottom:var(--space-4)}.account-page{max-width:var(--w-page);margin-inline:auto}.account-card h2{margin-block:0 var(--space-3)}.account-card h3{margin-block:var(--space-4) var(--space-2)}.account-summary,.account-panel{gap:var(--space-3);display:grid}.account-line{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.account-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.account-card .banner{margin-block:var(--space-3)}.address-use{margin-bottom:var(--space-4)}.email-test{margin:var(--space-5) 0}.email-test h2{margin-bottom:var(--space-3)}.skip-panel{margin-top:var(--space-4)}.main-landing{flex-direction:column;max-width:none;padding:0;display:flex}.landing-stage{flex-direction:column;flex:1;display:flex}.landing-stage>.landing{flex:1}.landing-footer{justify-content:center;gap:var(--space-4);padding:var(--space-4);display:flex}.selfhost-step{margin-top:var(--space-5)}.selfhost-step h2{font-size:var(--text-h3);line-height:var(--lh-h3);margin:0 0 var(--space-2)}.db-own{margin-bottom:var(--space-4)}.db-test-first{margin:var(--space-2) 0 0}.phases{margin:var(--space-4) 0;padding:0;list-style:none}.phase{align-items:center;gap:var(--space-3);min-height:var(--target);color:var(--ink-soft);display:flex}.phase-current{color:var(--ink);font-weight:700}.phase-done{color:var(--ink)}.phase-mark{flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.phase-mark-done{background:var(--success-tint);color:var(--success-ink);border-radius:50%}.phase-mark-empty{border:2px solid var(--control-border);border-radius:50%}
