.login-shell{--cursor-x:50vw;--cursor-y:50vh;--tilt-x:0deg;--tilt-y:0deg;--tilt-px-x:0px;--tilt-px-y:0px;z-index:3;width:100vw;height:100vh;font-family:var(--font-sans);cursor:default;grid-template-rows:56px 1fr 28px;font-size:14px;line-height:1.5;animation:.6s both shell-fade;display:grid;position:relative}@keyframes shell-fade{0%{opacity:0}to{opacity:1}}.login-bg-canvas{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.login-scan-overlay{z-index:1;pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 3px);position:fixed;inset:0}.login-cursor-halo{content:"";z-index:2;pointer-events:none;background:radial-gradient(320px circle at var(--cursor-x) var(--cursor-y), #3b82f609 0%, #3b82f603 35%, transparent 65%);position:fixed;inset:0}.login-brand-bar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ab3;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.login-brand{color:var(--text);align-items:center;gap:10px;display:flex}.login-brand-mark{background:var(--blue);color:#000;width:26px;height:26px;font-family:var(--font-mono);border-radius:3px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.login-brand-text{font-family:var(--font-mono);letter-spacing:.06em;font-size:13px;font-weight:600}.login-brand-text-dim{color:var(--text-faint);margin-left:4px}.login-brand-meta{gap:22px;display:flex}.login-meta-item{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.login-meta-dot{background:var(--amber);width:6px;height:6px;box-shadow:0 0 8px var(--amber);border-radius:50%;animation:2.5s ease-in-out infinite login-dot-pulse}@keyframes login-dot-pulse{0%,to{opacity:.85}50%{opacity:.35}}.login-shell[data-stage=authenticating] .login-meta-dot{background:var(--blue);box-shadow:0 0 8px var(--blue)}.login-shell[data-stage=success] .login-meta-dot{background:var(--green);box-shadow:0 0 12px var(--green);animation:none}.login-layout{grid-template-columns:minmax(420px,.85fr) 1.15fr;align-items:stretch;display:grid;overflow:hidden}.login-form-side{justify-content:center;align-items:center;padding:40px 64px;display:flex;position:relative}.login-form-frame{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.login-form-frame>*{opacity:0;animation:.6s cubic-bezier(.2,.8,.2,1) forwards login-form-rise;transform:translateY(8px)}.login-form-frame>:first-child{animation-delay:.1s}.login-form-frame>:nth-child(2){animation-delay:.18s}.login-form-frame>:nth-child(3){animation-delay:.26s}.login-form-frame>:nth-child(4){animation-delay:.34s}.login-form-frame>:nth-child(5){animation-delay:.42s}@keyframes login-form-rise{to{opacity:1;transform:translateY(0)}}.login-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;color:var(--blue);text-transform:uppercase;font-size:10px;font-weight:600}.login-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);margin:0;font-size:36px;font-weight:600;line-height:1.05}.login-subtitle{font-family:var(--font-sans);color:var(--text-dim);max-width:320px;margin:0;font-size:13px;line-height:1.6}.login-subtitle-dim{color:var(--text-faint)}.login-form-el{flex-direction:column;gap:14px;margin-top:8px;display:flex}.login-field{flex-direction:column;gap:4px;padding-bottom:6px;display:flex;position:relative}.login-field label{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;font-size:9.5px;font-weight:600;transition:color .15s}.login-field input{border:0;border-bottom:1px solid var(--border-2);color:var(--text);font-family:var(--font-mono);letter-spacing:.02em;background:0 0;outline:none;width:100%;padding:8px 0 6px;font-size:15px;transition:border-color .15s}.login-field input::placeholder{color:var(--text-ghost)}.login-field-line{background:linear-gradient(90deg, var(--blue), #3b82f64d);width:0;height:2px;transition:width .25s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:6px;left:0}.login-field:focus-within .login-field-line{width:100%}.login-field:focus-within label{color:var(--blue)}.login-field[data-error=true] .login-field-line{background:var(--red);width:100%}.login-field[data-error=true] input{border-bottom-color:var(--red)}.login-show-pw{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:10px;transition:color .15s;position:absolute;bottom:8px;right:0}.login-show-pw:hover{color:var(--blue)}.login-check-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-top:4px;display:flex}.login-check-row input{display:none}.login-check-box{border:1px solid var(--border-2);background:#0a0a0a;border-radius:2px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:inline-flex}.login-check-row input:checked~.login-check-box{background:var(--blue);border-color:var(--blue)}.login-check-row input:checked~.login-check-box:after{content:"✓";color:#000;font-size:10px;font-weight:700;line-height:1}.login-check-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;font-size:11px}.login-check-row:hover .login-check-label{color:var(--text)}.login-submit{border:1px solid var(--blue);color:var(--blue);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:3px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:13px 18px;font-size:12px;font-weight:600;transition:color .2s,border-color .2s;display:inline-flex;position:relative;overflow:hidden}.login-submit-bg{background:var(--blue);z-index:0;transition:transform .32s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(-101%)}.login-submit-label,.login-submit-arrow{z-index:1;align-items:center;transition:color .2s,transform .2s;display:inline-flex;position:relative}.login-submit:hover .login-submit-bg{transform:translate(0)}.login-submit:hover{color:#000}.login-submit:hover .login-submit-arrow{transform:translate(3px)}.login-submit:disabled{cursor:not-allowed;opacity:.6}.login-submit:disabled .login-submit-bg{transform:translate(-101%)!important}.login-submit:disabled:hover{color:var(--blue)}.login-shell[data-stage=authenticating] .login-submit{background:var(--blue);color:#000;cursor:wait}.login-shell[data-stage=authenticating] .login-submit-bg{transform:translate(0)}.login-shell[data-stage=success] .login-submit{background:var(--green);border-color:var(--green);color:#000}.login-shell[data-stage=success] .login-submit-bg{background:var(--green);transform:translate(0)}.login-error{font-family:var(--font-mono);color:var(--red);letter-spacing:.02em;background:#ef44440f;border:1px solid #ef44444d;border-radius:3px;padding:8px 12px;font-size:11px;animation:.4s cubic-bezier(.36,.07,.19,.97) login-shake;display:none}.login-error.show{display:block}@keyframes login-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.login-statue-side{border-left:1px solid var(--border);background:radial-gradient(circle at 65% 40%,#ffffff06 0%,#0000 60%),linear-gradient(#0000 0%,#0006 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-statue-frame{perspective:1000px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.login-statue-img{z-index:2;object-fit:contain;mix-blend-mode:screen;filter:grayscale(.4)contrast(1.15)brightness(.95);max-width:82%;max-height:92%;transform:translate3d(calc(var(--tilt-px-x) * -.6), calc(var(--tilt-px-y) * -.4), 0) rotateY(calc(var(--tilt-x) * -.3)) rotateX(calc(var(--tilt-y) * .3));opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .5s;animation:1.4s cubic-bezier(.2,.8,.2,1) .2s forwards login-statue-enter;position:relative;-webkit-mask-image:radial-gradient(55% 65% at 50% 46%,#000 0%,#000000e6 18%,#000000a6 35%,#00000059 55%,#0000001f 75%,#0000 95%);mask-image:radial-gradient(55% 65% at 50% 46%,#000 0%,#000000e6 18%,#000000a6 35%,#00000059 55%,#0000001f 75%,#0000 95%)}@keyframes login-statue-enter{0%{opacity:0;filter:grayscale(.5)contrast()brightness(.4);transform:translateY(30px)}to{opacity:1}}.login-statue-scan{pointer-events:none;z-index:3;mix-blend-mode:screen;background:linear-gradient(#0000 0%,#3b82f614 47%,#3b82f62e 50%,#3b82f614 53%,#0000 100%) 0 -120%/100% 220%;animation:9s ease-in-out infinite login-scan-drift;position:absolute;inset:0}@keyframes login-scan-drift{0%,to{background-position:0 -120%}50%{background-position:0 220%}}.login-statue-grid{z-index:1;opacity:.5;background-image:radial-gradient(circle,#ffffff0d 1px,#0000 1px);background-position:0 0;background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0000 30%,#000 90%);mask-image:radial-gradient(#0000 30%,#000 90%)}.login-statue-bracket{border:1px solid var(--text-ghost);z-index:4;opacity:0;width:18px;height:18px;animation:.6s .6s forwards login-bracket-fade;position:absolute}.login-statue-bracket--tl{border-bottom:0;border-right:0;top:32px;left:32px}.login-statue-bracket--tr{border-bottom:0;border-left:0;top:32px;right:32px}.login-statue-bracket--bl{border-top:0;border-right:0;bottom:32px;left:32px}.login-statue-bracket--br{border-top:0;border-left:0;bottom:32px;right:32px}@keyframes login-bracket-fade{to{opacity:1}}.login-statue-readout{z-index:5;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-faint);opacity:0;flex-direction:column;gap:3px;font-size:10px;animation:.6s .8s forwards login-bracket-fade;display:flex;position:absolute}.login-statue-readout--top{text-align:right;align-items:flex-end;top:56px;right:56px}.login-statue-readout--bottom{text-align:left;align-items:flex-start;bottom:56px;left:56px}.login-readout-label{color:var(--text-ghost);text-transform:uppercase}.login-readout-value{color:var(--text-dim);font-weight:600}.login-boot-seq{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;opacity:0;visibility:hidden;background:#0a0a0aa6;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .4s,visibility .4s;display:flex;position:absolute;inset:0}.login-shell[data-stage=authenticating] .login-boot-seq,.login-shell[data-stage=success] .login-boot-seq{opacity:1;visibility:visible}.login-boot-line{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-ghost);opacity:0;font-size:12px;transition:opacity .3s,transform .3s,color .3s;transform:translateY(6px)}.login-boot-line.active{opacity:1;color:var(--blue);text-shadow:0 0 8px #3b82f680;transform:translateY(0)}.login-boot-line.done{opacity:.55;color:var(--green);text-shadow:none}.login-status-bar{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-ghost);background:#0a0a0ab3;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;font-size:10px;display:grid}.login-status-cell--center{text-align:center}.login-status-cell--right{text-align:right}@media (max-width:880px){.login-layout{grid-template-columns:1fr}.login-statue-side{display:none}.login-form-side{padding:28px}.login-brand-meta{display:none}}body:has(.login-shell){overflow:hidden}
