.auth-gate{align-content:start;justify-items:center;min-height:100svh;padding:max(1.5rem,8svh) 1rem 2rem;display:grid}.auth-gate .inner{width:min(100%,26.25rem);animation:rise .7s var(--ease-out) both;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1.5rem;display:grid}.auth-gate .brand{text-align:center;justify-items:center;gap:.375rem;display:grid}.auth-gate .name{font:600 clamp(1.5rem, 7.8vw, 2.25rem) / 1.05 var(--f-titre);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;margin:.25rem -.22em 0 0}.auth-gate .panel{background:var(--noir-2);border:1px solid var(--or-trait);outline:1px solid var(--or-trait);outline-offset:4px;border-radius:2px;gap:1.25rem;width:100%;padding:1.5rem;display:grid}.auth-gate h1{font:600 1.75rem / 1.15 var(--f-titre);margin:0}.auth-gate .lead,.auth-gate .attempts,.auth-gate .back{color:var(--pierre);margin:0;font-size:.9375rem;line-height:1.5}.auth-gate .back{text-align:center}.auth-gate .back a{color:var(--or-pale)}.auth-gate .lead.strong,.auth-gate .attempts{color:var(--ivoire)}.auth-gate .fields{gap:1.125rem;display:grid}.auth-gate .field{gap:.375rem;display:grid}.auth-gate label{font-size:.9375rem;font-weight:600}.auth-gate .hint{min-height:1.25rem;color:var(--pierre);margin:0;font-size:.875rem;line-height:1.45}.auth-gate .hint.bad{color:var(--sang-texte)}.auth-gate .hint.good{color:var(--or-pale)}.auth-gate input{background:var(--noir);width:100%;min-height:3rem;color:var(--ivoire);font:inherit;border:1px solid var(--bord-champ);border-radius:2px;padding:.625rem .875rem;transition:border-color .15s}.auth-gate input:hover{border-color:var(--or)}.auth-gate input:focus-visible{border-color:var(--or-pale)}.auth-gate .avatar{justify-items:center;gap:.25rem;min-height:8.25rem;margin:0;display:grid}.auth-gate .avatar img{image-rendering:pixelated}.auth-gate .avatar figcaption{color:var(--pierre);overflow-wrap:anywhere;text-align:center;font-size:.875rem;line-height:1.3}.auth-gate .actions{gap:.875rem;display:grid}.auth-gate .code-input{text-align:center;letter-spacing:.3em;min-height:3.5rem;color:var(--or-pale);padding-left:.3em;font:600 1.75rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth-gate .code-input::placeholder{color:var(--pierre);opacity:.55}.auth-gate .visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-gate button{width:100%;min-height:3rem;font:600 1rem / 1 var(--f-texte);letter-spacing:.04em;border-radius:2px;justify-content:center;align-items:center;padding:0 1.25rem;display:flex;position:relative}.auth-gate .primary{background:var(--sang);color:var(--ivoire);border:1px solid var(--or-trait);cursor:pointer;transition:background-color .15s,translate .1s}.auth-gate .next{font-size:1.25rem;position:absolute;right:1.25rem}.auth-gate .primary:hover{background:var(--sang-vif)}.auth-gate .primary:active{translate:0 1px}.auth-gate a.primary{width:100%;min-height:3rem;font:600 1rem / 1 var(--f-texte);letter-spacing:.04em;border-radius:2px;justify-content:center;align-items:center;padding:0 1.25rem;text-decoration:none;display:flex}.auth-gate a.primary:hover{color:var(--ivoire)}.auth-gate .primary[aria-disabled=true]{cursor:progress;translate:none}.auth-gate .primary.waiting{background:var(--noir-3);border-color:var(--or-bord);cursor:not-allowed}.auth-gate .primary.waiting:hover{background:var(--noir-3)}.auth-gate .wait{color:var(--ivoire);text-align:center;margin:.5rem 0 0;font-size:.875rem}.auth-gate .wait.idle{display:none}.auth-gate .ghost{color:var(--pierre);border:1px solid var(--trait);cursor:pointer;background:0 0}.auth-gate a.room{width:100%;min-height:3rem;font:600 1rem / 1 var(--f-texte);letter-spacing:.04em;color:var(--ivoire);border:1px solid var(--or-bord);border-radius:2px;justify-content:center;align-items:center;padding:0 1.25rem;text-decoration:none;display:flex}.auth-gate .command{background:var(--noir);border:1px solid var(--or-bord);border-radius:2px;justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem .375rem .375rem .875rem;display:flex}.auth-gate .command code{color:var(--or-pale);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font:600 1rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth-gate .copy{width:auto;min-width:5.5rem;min-height:2.5rem;color:var(--ivoire);border-color:var(--or-bord)}.auth-gate .out{font-size:1.125rem;position:absolute;right:1.25rem}.auth-gate a.room{position:relative}.auth-gate .ghost[aria-disabled=true]{cursor:not-allowed}.auth-gate .ghost:hover{color:var(--ivoire);border-color:var(--or)}.auth-gate .feedback p{background:var(--sang-lavis);border:1px solid var(--sang-vif);color:var(--ivoire);animation:fade .25s var(--ease-out) both;border-radius:2px;margin:.875rem 0 0;padding:.75rem .875rem;font-size:.9375rem;line-height:1.45}.auth-gate hr{border:0;border-top:1px solid var(--or-trait);width:100%;margin:0}@media (prefers-reduced-motion:reduce){.auth-gate .inner,.auth-gate .feedback p{animation:none}}@media (height<=900px){.auth-gate{padding-top:1.5rem;padding-bottom:1.5rem}.auth-gate .inner{gap:1rem}.auth-gate .brand{--crest-size:3.5rem}.auth-gate .panel{gap:.875rem;padding:1.25rem}.auth-gate .avatar{min-height:6.5rem}.auth-gate .avatar img{width:48px;height:auto}}@media (width<=30rem){.auth-gate .panel{padding:1.25rem}}@keyframes rise{0%{opacity:0;translate:0 .625rem}}@keyframes fade{0%{opacity:0}}
