#login-root{--login-bg:#fcfafa;--login-surface:#ffffffeb;--login-surface-strong:#fff;--login-line:#4a10201a;--login-line-strong:#861f3d38;--login-ink:#171416;--login-ink-2:#62585c;--login-ink-3:#8d8185;--login-cyan:#861f3d;--login-cyan-strong:#941f45;--login-violet:#b14a67;--login-err:#6d1a31;--login-ok:#6d1a31;--lh-ease:cubic-bezier(.22, 1, .36, 1);min-height:100dvh;color:var(--login-ink);background:radial-gradient(circle at 15% 8%,#861f3d14,#0000 32%),radial-gradient(circle at 85% 14%,#b14a670d,#0000 30%),linear-gradient(#fcfafa 0%,#f8f4f5 60%,#fcfafa 100%);flex-direction:column;display:flex;position:relative;overflow-x:clip}#login-root ::selection{color:#fff;background:#861f3d}.login-atmosphere{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.login-grid-bg{background-image:linear-gradient(#4a10200b 1px,#0000 1px),linear-gradient(90deg,#4a10200b 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 22%,#000 0%,#000000b3 40%,#0000 78%);mask-image:radial-gradient(circle at 50% 22%,#000 0%,#000000b3 40%,#0000 78%)}.login-noise{opacity:.06;background-image:radial-gradient(#4a10200f .9px,#0000 .9px);background-size:10px 10px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 85%);mask-image:radial-gradient(circle,#000 0%,#0000 85%)}.login-light-cyan,.login-light-violet{filter:blur(72px);opacity:.5;position:absolute}.login-light-cyan{background:radial-gradient(circle,#861f3d14,#0000 62%);width:54vw;height:54vw;top:-12%;right:-12%}.login-light-violet{background:radial-gradient(circle,#b14a670d,#0000 64%);width:46vw;height:46vw;top:30%;left:-12%}.login-top{z-index:2;justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:relative}.login-brand{color:#171416;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.login-brand-mark{width:32px;height:32px;font-family:var(--font-geist-mono), ui-monospace, monospace;color:#861f3d;background:#fff;border:1px solid #4a102029;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 8px 20px #4a102014}.login-brand-word{font-family:var(--font-devhub-wordmark), var(--font-geist-sans), sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:13px;font-weight:700}.login-home{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--login-ink-2);align-items:center;min-height:44px;padding:0 4px;font-size:10px;text-decoration:none;display:inline-flex}.login-home:hover{color:#861f3d}.login-grid{z-index:1;flex:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(20px,3vw,44px);width:100%;max-width:1120px;margin:0 auto;padding:12px 28px 40px;display:grid;position:relative}.login-visual{min-width:0;min-height:480px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:40px 28px;display:flex;position:relative;overflow:visible}.login-visual:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#861f3d12,#0000 62%),radial-gradient(circle at 65% 60%,#b14a670d,#0000 60%);width:min(480px,90%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-panel{min-width:0;padding:12px 8px}.login-title{letter-spacing:-.035em;color:#171416;margin:0;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:680;line-height:1.08}.login-form{gap:16px;max-width:400px;margin-top:26px;display:grid}.login-field{display:block}.login-label{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:#861f3d;margin-bottom:8px;font-size:9px;font-weight:600;display:block}.login-input{color:#171416;background:#fff;border:1px solid #4a102024;border-radius:14px;outline:none;width:100%;min-height:52px;padding:0 16px;font-size:16px;transition:border-color .16s,box-shadow .16s,background .16s}.login-input::placeholder{color:#8d8185;font-size:14px}.login-input:hover{border-color:#4a102038}.login-input:focus{background:#fff;border-color:#861f3d;box-shadow:0 0 0 3px #861f3d12}.login-password{display:block;position:relative}.login-input-password{padding-right:48px}.login-visibility{width:40px;height:40px;color:var(--login-ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-visibility:hover{color:#861f3d;background:#861f3d0f}.login-error{color:#6d1a31;background:#861f3d0f;border:1px solid #6d1a3140;border-radius:14px;margin:0;padding:10px 14px;font-size:13px;line-height:1.55}.login-primary{color:#fff;cursor:pointer;background:linear-gradient(#941f45,#6d1a31);border:1px solid #4a10204d;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;font-size:13px;font-weight:600;transition:transform .2s,filter .2s,background .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff29,0 12px 30px #4a102040}.login-primary:hover:not(:disabled){background:linear-gradient(#a2254f,#7a1e37);transform:translateY(-1px)}.login-primary:active:not(:disabled){transform:translateY(0)scale(.99)}.login-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-loading{align-items:center;gap:10px;display:inline-flex}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:999px;width:15px;height:15px;animation:.9s linear infinite login-spin;display:inline-block}@keyframes login-spin{to{transform:rotate(360deg)}}.login-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.login-link-muted{color:var(--login-ink-2);align-items:center;min-height:44px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.login-link-muted:hover{color:#861f3d}.login-link-brand{color:var(--login-cyan-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.login-link-brand:hover{text-decoration:underline}.login-switch{color:var(--login-ink-2);margin:4px 0 0;font-size:13px}.login-link-strong{color:#6d1a31;font-weight:600;text-decoration:none}.login-link-strong:hover{color:#941f45}.lm-wrap{will-change:transform;flex-direction:column;align-items:center;width:auto;max-width:520px;display:flex;position:relative;overflow:visible}.lm-stage{cursor:pointer}.lm-wrap:focus-visible{outline-offset:8px;border-radius:12px;outline:2px solid #861f3d80}.lm-squash{transform-origin:50% 92%;will-change:transform;width:100%;height:100%}.lm-stage{aspect-ratio:440/370;clip-path:none;width:min(410px,78vw);position:relative;overflow:visible;-webkit-mask:none;mask:none}.lm-svg{clip-path:none;width:100%;height:100%;display:block;overflow:visible}.lm-flip{width:100%;height:100%;transition:transform .3s cubic-bezier(.22,1,.36,1);transform:scaleX(1)}.lm-wrap[data-facing=left] .lm-flip{transform:scaleX(-1)}.lm-laptop{transform-box:fill-box;transform-origin:50%}.lm-wrap[data-facing=left] .lm-laptop{transform:scaleX(-1)}.lm-tail{clip-path:none}.lm-head,.lm-body,.lm-tail,.lm-eye,.lm-ear,.lm-mood-tilt,.lm-pupil{transform-box:fill-box;transform-origin:50%;will-change:transform}.lm-mood-tilt{transition:transform .22s var(--lh-ease)}.lm-wrap[data-mood=curious] .lm-mood-tilt{transform:rotate(7deg)translateY(-2px)}.lm-wrap[data-mood=happy] .lm-mood-tilt{transform:rotate(-3deg)}.lm-wrap[data-mood=surprised] .lm-mood-tilt{transform:translateY(-3px)}.lm-wrap[data-mood=error] .lm-mood-tilt{transform:rotate(-4deg)}.lm-wrap[data-mood=annoyed] .lm-mood-tilt{animation:.5s lm-shake}.lm-wrap[data-mood=recovering] .lm-mood-tilt{animation:.6s lm-shake}.lm-wrap[data-mood=dizzy] .lm-mood-tilt{animation:1.4s ease-in-out lm-wobble}@keyframes lm-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}@keyframes lm-wobble{0%,to{transform:rotate(0)translate(0)}20%{transform:rotate(-10deg)translate(-4px)}45%{transform:rotate(8deg)translate(4px)}70%{transform:rotate(-5deg)translate(-2px)}85%{transform:rotate(2deg)translate(1px)}}.lm-pupil{transition:transform .17s var(--lh-ease)}.lm-wrap[data-mood=curious] .lm-pupil{transform:scale(1.14)}.lm-wrap[data-mood=surprised] .lm-pupil{transform:scale(1.3)}.lm-wrap[data-mood=happy] .lm-pupil{transform:scale(.96,.82)}.lm-wrap[data-mood=annoyed] .lm-pupil{transform:scale(.9)}.lm-stars{opacity:0;transform-box:view-box;transform-origin:160px 30px;transition:opacity .22s}.lm-wrap[data-mood=dizzy] .lm-stars{opacity:1;animation:1.5s linear infinite lm-orbit}@keyframes lm-orbit{to{transform:rotate(360deg)}}.lm-ear{transition:transform .26s var(--lh-ease)}.lm-wrap[data-mood=email] .lm-ear-l{transform:rotate(-7deg)translateY(-2px)}.lm-wrap[data-mood=email] .lm-ear-r{transform:rotate(7deg)translateY(-2px)}.lm-wrap[data-mood=recognized] .lm-ear-l{transform:rotate(-5deg)translateY(-1px)}.lm-wrap[data-mood=recognized] .lm-ear-r{transform:rotate(5deg)translateY(-1px)}.lm-wrap[data-mood=curious] .lm-ear-l{transform:rotate(-10deg)translateY(-3px)}.lm-wrap[data-mood=curious] .lm-ear-r{transform:rotate(10deg)translateY(-3px)}.lm-wrap[data-mood=surprised] .lm-ear-l,.lm-wrap[data-mood=surprised] .lm-ear-r{transform:translateY(-4px)}.lm-wrap[data-mood=annoyed] .lm-ear-l{transform:rotate(13deg)translateY(2px)}.lm-wrap[data-mood=annoyed] .lm-ear-r{transform:rotate(-13deg)translateY(2px)}.lm-wrap[data-mood=dizzy] .lm-ear-l{transform:rotate(9deg)translateY(4px)}.lm-wrap[data-mood=dizzy] .lm-ear-r{transform:rotate(-9deg)translateY(4px)}.lm-tail{transition:transform .12s linear}.lm-shadow{pointer-events:none;background:radial-gradient(#4a10202e,#0000 70%);width:56%;height:14px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.lm-eye{transition:transform 90ms ease-out}.lm-wrap[data-blink=true] .lm-eye{transform:scaleY(.12)!important}.lm-wrap[data-blink=soft] .lm-eye{transform:scaleY(.55)!important}.lm-brows,.lm-mouth{opacity:0;transition:opacity .16s}.lm-mouth-idle{opacity:1}.lm-wrap[data-mood=email] .lm-mouth-idle,.lm-wrap[data-mood=recognized] .lm-mouth-idle,.lm-wrap[data-mood=button] .lm-mouth-idle,.lm-wrap[data-mood=peek] .lm-mouth-idle,.lm-wrap[data-mood=curious] .lm-mouth-idle,.lm-wrap[data-mood=happy] .lm-mouth-idle,.lm-wrap[data-mood=surprised] .lm-mouth-idle,.lm-wrap[data-mood=annoyed] .lm-mouth-idle,.lm-wrap[data-mood=dizzy] .lm-mouth-idle{opacity:0}.lm-wrap[data-mood=email] .lm-mouth-attentive,.lm-wrap[data-mood=button] .lm-mouth-attentive,.lm-wrap[data-mood=peek] .lm-mouth-attentive,.lm-wrap[data-mood=success] .lm-mouth-attentive,.lm-wrap[data-mood=curious] .lm-mouth-attentive,.lm-wrap[data-mood=recognized] .lm-mouth-happy,.lm-wrap[data-mood=happy] .lm-mouth-happy,.lm-wrap[data-mood=surprised] .lm-mouth-surprised,.lm-wrap[data-mood=dizzy] .lm-mouth-surprised,.lm-wrap[data-mood=annoyed] .lm-mouth-calm,.lm-wrap[data-mood=annoyed] .lm-brows{opacity:1}.lm-wrap[data-mood=error] .lm-mouth-idle{opacity:0}.lm-wrap[data-mood=error] .lm-mouth-concerned,.lm-wrap[data-mood=error] .lm-brows{opacity:1}.lm-wrap[data-mood=error] .lm-ear-l{transform:rotate(6deg)translateY(3px)}.lm-wrap[data-mood=error] .lm-ear-r{transform:rotate(-6deg)translateY(3px)}.lm-wrap[data-mood=loading] .lm-mouth-idle{opacity:0}.lm-wrap[data-mood=loading] .lm-mouth-calm{opacity:1}.lm-paws{opacity:0;transition:opacity .18s}.lm-paw{transition:transform .22s cubic-bezier(.2,.7,.2,1.2)}.lm-paw-l{transform:translate(-26px,56px)}.lm-paw-r{transform:translate(26px,56px)}.lm-wrap[data-mood=password] .lm-paws,.lm-wrap[data-mood=peek] .lm-paws{opacity:1}.lm-wrap[data-mood=password] .lm-paw-l,.lm-wrap[data-mood=peek] .lm-paw-l,.lm-wrap[data-mood=password] .lm-paw-r,.lm-wrap[data-mood=peek] .lm-paw-r{transform:translate(0)}.lm-wrap[data-mood=peek] .lm-paw-l{transform:translate(-9px,-3px)rotate(-8deg)}.lm-wrap[data-mood=peek] .lm-paw-r{transform:translate(9px,-3px)rotate(8deg)}.lm-wrap[data-mood=loading] .lm-stage{animation:3.2s ease-in-out infinite lm-breathe}.lm-wrap[data-mood=recognized] .lm-stage{animation:.7s lm-nod}@keyframes lm-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.014)}}@keyframes lm-nod{0%{transform:translateY(0)}35%{transform:translateY(4px)}to{transform:translateY(0)}}.lm-bubble{transform-origin:30% 100%;opacity:1;visibility:visible;max-width:200px;transition:opacity .22s ease, transform .22s var(--lh-ease), visibility .22s;pointer-events:none;white-space:nowrap;z-index:2;background:#fff;border:1px solid #4a102024;border-radius:999px;padding:7px 13px;position:absolute;bottom:83%;left:63%;transform:translate(-50%)scale(1);box-shadow:0 10px 28px #4a10201a}.lm-bubble:after{content:"";background:#fff;border-bottom:1px solid #4a102024;border-right:1px solid #4a102024;width:8px;height:8px;position:absolute;bottom:-4px;left:30%;transform:rotate(45deg)}.lm-wrap[data-mood=idle] .lm-bubble,.lm-wrap[data-mood=curious] .lm-bubble,.lm-wrap[data-mood=happy] .lm-bubble,.lm-wrap[data-mood=button] .lm-bubble{opacity:0;visibility:hidden;transform:translate(-50%)scale(.9)}.lm-line{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.04em;color:#62585c;margin:0;font-size:12px}.lm-wrap[data-mood=error] .lm-line,.lm-wrap[data-mood=annoyed] .lm-line{color:#6d1a31}.lm-wrap[data-mood=success] .lm-line,.lm-wrap[data-mood=recognized] .lm-line,.lm-wrap[data-mood=curious] .lm-line,.lm-wrap[data-mood=happy] .lm-line{color:var(--login-cyan-strong)}@media (max-width:900px){.login-grid{grid-template-columns:1fr;align-items:start;gap:8px;max-width:520px;padding:4px 16px 28px}.login-visual{min-height:0;padding:32px 20px 10px}.lm-stage{width:min(220px,60vw)}.lm-bubble{max-width:160px;padding:6px 11px}.lm-bubble .lm-line{font-size:11px}.login-panel{padding:14px 4px 0}.login-form{max-width:none}.login-top{padding:18px 16px}}@media (prefers-reduced-motion:reduce){#login-root *,#login-root :before,#login-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lm-head,.lm-body,.lm-tail,.lm-eye,.lm-ear,.lm-flip,.lm-squash,.lm-mood-tilt,.lm-pupil{transform:none!important}.lm-wrap[data-mood=dizzy] .lm-stars{opacity:0;animation:none}.lm-wrap[data-facing=left] .lm-laptop{transform:none!important}.lm-wrap[data-mood=loading] .lm-stage,.lm-wrap[data-mood=recognized] .lm-stage{animation:none}}
