/* Pulse sign-in + authenticator setup. No JS on these pages. */
:root{--navy:#05061A;--deep:#0B0C26;--ink:#F3EEF4;--ink2:#BDB8D2;--rose:#F2729F;--berry:#B3245F;--tape:#EBDFC9;--line:#2A2D55}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--navy);color:var(--ink);font:16px/1.5 Geist,system-ui,sans-serif}
.gate{position:relative;min-height:100vh;display:grid;place-items:center;padding:48px 16px;overflow:hidden}
.field-a,.field-b{position:absolute;pointer-events:none}
.field-a{width:min(78vw,820px);height:min(52vh,460px);left:-6vw;top:8vh;background:var(--berry);clip-path:polygon(0 6%,93% 0,100% 71%,96% 74%,97% 100%,4% 93%);opacity:.9}
.field-b{width:min(46vw,460px);height:min(70vh,640px);right:-4vw;bottom:-6vh;background:var(--rose);clip-path:polygon(9% 0,100% 4%,100% 100%,0 96%,3% 40%,0 37%);opacity:.92}
.door{position:relative;width:min(100%,420px);background:var(--navy);padding:34px 30px 26px;border-left:10px solid var(--rose);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.door-wide{width:min(100%,560px)}
h1{margin:0 0 18px;line-height:1}
h1 .p{display:block;font:italic 400 64px/0.9 "Instrument Serif",Georgia,serif;color:var(--rose);letter-spacing:-.01em}
h1 .e{display:inline-block;margin-top:12px;padding:3px 10px 2px;background:var(--tape);color:var(--navy);font:600 11px/1.4 Geist,sans-serif;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-2deg);clip-path:polygon(2% 8%,98% 0,100% 88%,96% 100%,1% 94%,0 30%)}
.err{min-height:0;margin:0 0 8px;color:#FFB4C9;font-weight:500}
.err:empty{display:none}
label{display:block;margin:16px 0 6px;font-weight:600;font-size:14px;letter-spacing:.04em}
input[type=password],input[type=text]{width:100%;min-height:48px;padding:10px 12px;background:var(--deep);color:var(--ink);border:0;border-bottom:3px solid var(--ink2);border-radius:0;font:500 18px Geist,sans-serif}
#code{font-family:"Geist Mono",ui-monospace,monospace;letter-spacing:.3em}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
input:focus{border-bottom-color:var(--rose)}
button{margin-top:22px;width:100%;min-height:52px;border:0;border-radius:0;background:var(--rose);color:var(--navy);font:700 17px Geist,sans-serif;letter-spacing:.02em;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 70%,97% 100%,0 100%)}
button:hover{background:var(--ink)}
button:focus-visible{outline:3px solid var(--navy);outline-offset:-7px}
.note{margin:18px 0 0;color:var(--ink2);font-size:13px}
.steps{margin:0;padding-left:1.3em;color:var(--ink)}
.steps li{margin:0 0 12px}
.key{display:block;margin:10px 0 2px;padding:12px 14px;background:var(--tape);color:var(--navy);font:500 22px/1.35 "Geist Mono",ui-monospace,monospace;letter-spacing:.06em;word-spacing:.3em;user-select:all;overflow-wrap:anywhere;transform:rotate(-.6deg)}
.otp{color:var(--rose);font-weight:600}
@media (max-width:480px){.door{padding:28px 20px 22px}h1 .p{font-size:52px}.key{font-size:18px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.75;margin-left:6px}
.welcome{margin:4px 0 6px;font:400 30px/1.15 "Instrument Serif",Georgia,serif;color:var(--ink)}
button:disabled{opacity:.6;cursor:progress}
