@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('/brand/inter.woff2') format('woff2')}
:root{color-scheme:light;--bg:#f5f7fa;--surface:#fff;--fg:#0b1422;--muted:#586476;--border:#dde3ea;--input:#7d8999;--accent:#1060a8;--fill:#1060a8;--hover:#0c528f;--tint:#e3edf7;--grid:rgba(11,20,34,.045);--error:#b72820;font-family:Inter,system-ui,sans-serif;color:var(--fg);background:var(--bg);font-synthesis:none}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0a0f17;--surface:#0e1520;--fg:#e7ecf3;--muted:#a9b4c3;--border:#2a3747;--input:#5b6b80;--accent:#6aa6f0;--fill:#1466b3;--hover:#1a74c7;--tint:#0f2034;--grid:rgba(150,180,220,.045);--error:#f07366}}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}
.shell{max-width:1360px;margin:auto;min-height:100svh;padding:0 clamp(22px,5vw,72px);display:flex;flex-direction:column}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);font-size:21px;font-weight:650;letter-spacing:-.6px}.brand-divider{color:var(--input);font-weight:400;margin:0 3px}.brand-product{font-weight:450}.back-link{text-decoration:none;font-size:14px;color:var(--muted)}.back-link span{margin-left:10px}
main{flex:1;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;padding:72px 0 80px}.intro{min-width:0}.eyebrow{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:1.6px;font-weight:500;color:var(--muted);margin:0 0 28px}.intro .eyebrow:before{content:'';display:inline-block;width:7px;height:7px;background:#d63327;margin-right:12px}h1{font-size:clamp(44px,5.2vw,72px);font-weight:640;line-height:1.06;letter-spacing:-3px;margin:0 0 26px}h1 span{color:var(--accent)}.lede{font-size:21px;line-height:1.6;color:var(--muted);max-width:420px;margin:0}.identity-art{margin:34px 0 28px;padding:12px 0 16px;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;border-block:1px solid var(--border)}.identity-art svg{display:block;width:100%;height:auto}.art-line{stroke:var(--accent);stroke-width:1;opacity:.55}.art-node{stroke:var(--accent);fill:var(--bg)}.art-core{fill:var(--tint);stroke:var(--accent)}.art-key{stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.art-caption{display:flex;justify-content:space-between;padding:0 12px;font:10px ui-monospace,monospace;letter-spacing:1px;color:var(--muted)}.principles{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);padding:clamp(24px,3vw,42px);border-radius:4px;min-width:0;box-shadow:0 12px 32px -24px #0b142230}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:32px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 15px;color:var(--muted);font-size:15px}.tabs button.selected{color:var(--accent);border-bottom-color:var(--accent)}h2{font-size:32px;line-height:1.2;font-weight:600;letter-spacing:-1px;margin:0 0 12px}h3{font-size:20px;font-weight:600}h4{font-size:16px}.muted{color:var(--muted)}.card p{font-size:16px;line-height:1.65}.card .muted{margin-bottom:28px}label{display:block;font-size:15px;font-weight:550;margin-bottom:10px}input{width:100%;min-height:54px;padding:14px 15px;border:1px solid var(--input);background:var(--bg);border-radius:5px;color:var(--fg);font-size:17px}input::placeholder{color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.primary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--fill);color:#fff;border:0;border-radius:5px;width:100%;min-height:56px;padding:15px 18px;font-size:17px;font-weight:600;margin-top:18px}.primary:hover:not(:disabled){background:var(--hover)}.secondary{background:transparent;border:0;color:var(--accent);padding:10px 0;margin-top:12px;font-size:15px;text-align:left}.hint{font-size:13px!important;color:var(--muted);margin:20px 0 0;line-height:1.7!important}#status{margin:24px 0 0;padding:12px 14px;background:var(--tint);overflow-wrap:anywhere}#status:empty{display:none}#status.error,.danger{color:var(--error)}dl{margin:24px 0}dt{font-size:13px;color:var(--muted);margin-top:16px}dd{font-size:16px;margin:5px 0 0;overflow-wrap:anywhere}.mono{font-family:ui-monospace,monospace;font-size:13px}#key-management,#oidc-consent{margin-top:26px;padding-top:20px;border-top:1px solid var(--border)}.key-row{padding:10px 0;border-bottom:1px solid var(--border);min-width:0}.key-summary{display:flex;align-items:baseline;gap:10px;justify-content:space-between}.key-row h4{font-size:14px;margin:0;min-width:0;overflow-wrap:anywhere}.key-actions{display:flex;gap:12px;flex-shrink:0}.key-row .secondary{font-size:12px;margin:0;padding:3px 0}.key-row .hint{font-size:11px!important;margin:3px 0 0}.key-rename{margin-top:12px}.key-rename .secondary{margin-right:12px}#add-key-form{margin-top:24px}#add-key-form h4{margin:0 0 8px}.add-key-step{color:var(--muted)}#oidc-allow{min-height:60px;font-size:18px}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;padding:24px 0 30px;color:var(--muted);font-size:12px}.footer-divider{padding:0 8px}
@media(max-width:900px){main{gap:36px;grid-template-columns:1fr;padding:44px 0}.intro{max-width:600px}.identity-art,.principles{display:none}h1{font-size:52px}.lede{font-size:19px;max-width:520px}.card{width:100%;max-width:600px;justify-self:center}.intro{justify-self:center;width:100%}.eyebrow{margin-bottom:20px}header{min-height:80px}}
@media(max-width:480px){.brand{font-size:18px;gap:8px}.brand img{width:30px;height:30px}.back-link{font-size:0}.back-link span{font-size:20px}.brand-divider{margin:0}h1{font-size:44px;letter-spacing:-2px}h2{font-size:28px}.card{padding:24px 20px}footer{flex-direction:column;gap:8px}.tabs{gap:20px}.tabs button{font-size:14px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,color .15s}}

/* Both tab panels contribute their natural height; the inactive form stays
   invisible and unfocusable. No fixed height or clipped translated text. */
#guest{display:grid;grid-template-columns:minmax(0,1fr)}
#guest>.tabs{grid-area:1/1}
#login-form,#enroll-form{grid-area:2/1;min-width:0}
#login-form[hidden],#enroll-form[hidden]{display:block!important;visibility:hidden;pointer-events:none}
#federation-login{grid-area:3/1}
.lede{max-width:none}.lede>span{display:block;text-wrap:balance}
