/* The sign-in page. Tokens follow the product. No inline style anywhere on the page. */
:root{--ground:#f7f9fc;--ink:#16243a;--accent:#2B4F7D;--line:#d9e1ec;--surface:#fff;--muted:#5d6b80;--warn:#b3261e;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans","PingFang SC","Noto Sans SC",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--ground:#0d0d11;--ink:#ece6da;--accent:#e0a94a;--line:#2a2a33;--surface:#15151c;--muted:#9a958a;--warn:#ff8a80}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;font-family:var(--sans);background:var(--ground);color:var(--ink)}
.card{width:min(380px,calc(100vw - 32px));padding:32px 28px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
h1{margin:0 0 24px;font-size:20px;font-family:var(--mono);color:var(--accent);letter-spacing:.02em}
label{display:block;margin-bottom:16px;font-size:13px;color:var(--muted)}
input{display:block;width:100%;margin-top:6px;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:8px}
input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
button{width:100%;padding:12px;font:inherit;font-weight:600;color:var(--surface);background:var(--accent);border:0;border-radius:8px;cursor:pointer}
button[disabled]{opacity:.6;cursor:progress}
.message{min-height:20px;margin:0 0 12px;font-size:13px;color:var(--warn)}
.lang{margin-top:20px;text-align:center;font-size:13px}.lang a{color:var(--muted);margin:0 6px;text-decoration:none}
.lang a[aria-current]{color:var(--ink);border-bottom:2px solid var(--accent)}
.help{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--muted)}
.again{margin:14px 0 0;text-align:center;font-size:13px}.again a{color:var(--muted)}
[hidden]{display:none}
#sign-in-code input[name=code]{font-family:var(--mono);font-size:22px;letter-spacing:.4em;text-align:center}
#sign-in-factor input[name=code]{font-family:var(--mono);font-size:18px;letter-spacing:.12em;text-align:center}
h2{margin:0 0 12px;font-size:16px}
.who{margin:18px 0 10px;font-family:var(--mono);font-size:13px;color:var(--muted)}
.card.wide{width:min(460px,calc(100vw - 32px))}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0 0 8px;font-size:14px}
.facts dt{color:var(--muted)}.facts dd{margin:0}
form h2{margin-top:22px}
.message.ok{color:var(--accent)}
button.quiet{margin-top:14px;background:transparent;color:var(--muted);border:1px solid var(--line);font-weight:400}

/* The same paper-and-ink treatment as the study desk, on the existing form. */
body{padding:40px 0;line-height:1.65}
.card{width:min(440px,calc(100vw - 32px));padding:42px 38px;border-radius:8px;border-top:4px solid var(--accent);box-shadow:0 18px 70px -48px var(--muted)}
h1{font-family:Georgia,"Songti SC",serif;font-size:30px;line-height:1.25;font-weight:400;letter-spacing:-.6px;margin-bottom:34px;color:var(--ink)}
label{font-size:13px;color:var(--ink);margin-bottom:20px}
input{border-radius:5px;padding:12px;margin-top:9px;background:var(--surface)}
button{border-radius:5px;padding:13px;min-height:46px}
.lang{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.lang a{display:inline-block;padding:4px 8px}
.again{line-height:1.8}.again a{text-underline-offset:4px}
.facts{grid-template-columns:minmax(70px,max-content) minmax(0,1fr)}.facts dd{overflow-wrap:anywhere}
:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(prefers-color-scheme:light){:root{--ground:#F5F4EF;--ink:#172F3C;--accent:#204B61;--line:#DBDFD9;--muted:#596B73}}
@media(max-width:480px){body{padding:24px 0}.card{padding:30px 24px}h1{font-size:28px}}

/* Bracket monogram, a faint construction grid and a precisely inset form. */
body{background-image:linear-gradient(color-mix(in srgb,var(--line) 32%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 32%,transparent) 1px,transparent 1px);background-size:48px 48px}
.card{position:relative;border-top-width:2px;box-shadow:0 18px 60px -40px var(--muted)}
.card::before{content:"";display:block;width:25px;height:29px;margin:0 0 26px;border-left:4px solid var(--accent);border-right:4px solid var(--accent);background:linear-gradient(var(--accent),var(--accent)) center/6px 9px no-repeat}
.card::after{content:"";position:absolute;right:13px;top:13px;width:9px;height:9px;border-top:1px solid var(--line);border-right:1px solid var(--line);pointer-events:none}
h1{font-size:32px;letter-spacing:-.8px}
button{transition:filter .15s,box-shadow .15s}button:hover:not([disabled]){filter:brightness(1.08)}
input{box-shadow:inset 0 1px 3px color-mix(in srgb,var(--ink) 3%,transparent)}
.lang{font-family:var(--mono);font-size:11px;letter-spacing:.5px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.company-signature{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);text-align:center;line-height:1.8}
.company-signature span{display:block;font-size:10px;color:var(--muted)}
.company-signature strong{display:block;font-size:11px;font-weight:500;letter-spacing:.6px;color:var(--muted)}
.auth-logo{display:block;width:52px;height:52px;margin:0 0 18px;object-fit:cover;border-radius:3px;box-shadow:0 2px 0 #b39a70,0 8px 18px #10243124}
.card::before{display:none}
.company-signature{color:var(--muted);font-size:12px;letter-spacing:.15px}
.company-signature strong{display:inline;color:var(--ink);margin-left:3px;font-weight:700}
body{background-color:var(--ground);background-image:radial-gradient(#332c2218 .6px,transparent .9px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,#6c5b4420 48px);background-size:5px 5px,auto}
.card{border:2px solid var(--ink);border-radius:4px;box-shadow:7px 7px 0 #c6bda9}
h1{font-family:Baskerville,"Iowan Old Style",Georgia,"Songti SC",serif;font-weight:600}
input{border-width:1.5px;border-color:var(--line)}
.company-signature{border-top:2px solid var(--ink)}
