﻿.login-view{min-height:100svh;position:relative;overflow:hidden;background:var(--surface,#f2eee5);color:var(--ink,#181919);isolation:isolate;font-family:inherit}
.login-view button,.login-view input{font:inherit}
.login-view::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 45%,#e8ddca88,transparent 60%)}
.login-quiet::before{background:none}
.login-header{height:112px;position:absolute;z-index:4;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 4.3vw}
.login-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink,#181919);text-decoration:none;font-size:27px;letter-spacing:-1px;font-weight:650;line-height:1}
.login-brand-dot{width:5px;height:5px;background:var(--accent,#a72e2a);border-radius:50%;margin-top:13px}
.login-visual-switch{display:flex;align-items:center;gap:2px;border:1px solid #d8d1c699;padding:3px;border-radius:24px;background:#fbf9f440}
.login-visual-switch button{border:0;background:transparent;color:#655f56;font-size:14px;line-height:1;padding:10px 16px;border-radius:20px;cursor:pointer;transition:background .2s,color .2s}
.login-visual-switch button.is-active{background:#fbf9f4;color:var(--ink,#181919)}
.login-robot{position:absolute;left:3.5%;top:calc(50% - 254px);width:46%;height:510px;max-height:calc(100svh - 152px);isolation:isolate}
.login-robot canvas{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .35s ease-out}
.login-robot[data-state=ready] canvas{opacity:1}
.login-robot-target{position:absolute;z-index:1;display:block;border:0;border-radius:18px;padding:0;background:transparent;cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.login-robot-target:disabled{visibility:hidden}
.login-robot-target:focus-visible{outline:2px solid var(--accent,#a72e2a);outline-offset:8px}
.login-form-wrap{width:52%;margin-left:48%;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:125px 36px 112px}
.login-form-inner{width:100%;max-width:344px}
.login-intro{margin-bottom:34px}
.login-intro h1{font-size:30px;line-height:1.3;font-weight:550;letter-spacing:.01em;margin:0 0 12px;text-wrap:balance}
.login-intro p{font-size:16px;line-height:1.6;margin:0;color:#655f56}
.login-field{margin-bottom:23px}
.login-field label{display:block;font-size:16px;line-height:1.5;margin-bottom:9px}
.login-field-label{display:flex;align-items:center;justify-content:space-between}
.login-text-action{border:0;padding:0 0 9px;background:none;color:#655f56;font-size:14px!important;cursor:pointer;text-underline-offset:4px}
.login-text-action:hover{color:var(--accent,#a72e2a);text-decoration:underline}
.login-field input{display:block;width:100%;height:51px;border:1px solid #bfb5a5;border-radius:5px;background:#fbf9f44d;color:var(--ink,#181919);padding:0 14px;outline:none;font-size:16px;caret-color:var(--accent,#a72e2a);transition:border-color .2s,box-shadow .2s,background .2s}
.login-field input::placeholder{color:#655f56;font-size:15px}
.login-field input:focus{border-color:var(--accent,#a72e2a);background:#fbf9f4b3;box-shadow:0 0 0 3px #a72e2a12}
.login-field input[aria-invalid=true]{border-color:var(--accent,#a72e2a)}
.login-password-wrap{position:relative}
.login-password-wrap input{padding-right:48px}
.login-password-toggle{position:absolute;right:1px;top:1px;width:47px;height:49px;display:grid;place-items:center;border:0;background:none;color:#655f56;cursor:pointer;border-radius:4px}
.login-password-toggle svg{width:20px;height:20px}
.login-error{font-size:14px;line-height:1.6;color:var(--accent,#a72e2a);margin:-9px 0 15px;min-height:3px;overflow-wrap:anywhere}
.login-error:empty{margin:0 0 22px;min-height:0}
.login-submit{width:100%;height:51px;border:0;border-radius:6px;color:#fbf9f4;background:#181919;display:flex;align-items:center;justify-content:center;position:relative;font-size:16px;cursor:pointer;transition:background .2s,transform .2s}
.login-submit svg{width:20px;height:20px;position:absolute;right:19px;opacity:.8;transition:transform .2s}
.login-submit:hover{background:#30312f}
.login-submit:hover svg{transform:translateX(3px)}
.login-submit:active{transform:translateY(1px)}
.login-submit:disabled{background:#5b5a54;opacity:1;cursor:wait}
.login-demo{display:flex;gap:10px;justify-content:center;align-items:center;width:100%;min-height:48px;background:none;border:0;color:var(--accent,#a72e2a);font-size:16px;cursor:pointer;margin-top:11px}
.login-demo span{font-size:18px;line-height:1}
.login-demo:hover{text-decoration:underline;text-underline-offset:5px}
.login-demo-note{font-size:14px;line-height:1.7;color:#655f56;text-align:center;margin:19px -6px 0;overflow-wrap:anywhere}
.login-footer{display:none}
.login-view button:focus-visible,.login-brand:focus-visible{outline:2px solid var(--accent,#a72e2a);outline-offset:4px}
.login-view button{touch-action:manipulation}
.login-view .login-robot-target{touch-action:pan-y}
.login-view .login-form button{min-height:44px}
.login-view .login-form .login-text-action{min-height:0}
.login-view .login-form .login-password-toggle{min-height:49px}
.login-view ::selection{color:#fbf9f4;background:#a72e2a}
.login-studio-control{left:auto;right:4.3vw;bottom:26px}
@media(min-width:1450px){.login-form-inner{max-width:350px}.login-form-wrap{margin-left:47%;width:53%}.login-header{padding-left:4.6vw;padding-right:4.6vw}.login-robot{left:5%;width:44%;height:560px;top:calc(50% - 280px)}}
@media(max-width:900px){.login-robot{left:1%;width:44%;height:440px;top:calc(50% - 220px)}.login-form-wrap{margin-left:43%;width:57%;padding-left:30px;padding-right:30px}.login-header{height:96px}.login-brand{font-size:25px}}
@media(max-width:640px){.login-view{display:flex;flex-direction:column;min-height:100svh}.login-header{position:relative;inset:auto;height:84px;flex:0 0 84px;padding:0 25px}.login-brand{font-size:24px}.login-visual-switch button{font-size:13px;padding:9px 13px}.login-robot{position:relative;left:auto;top:auto;width:100%;height:236px;max-height:none;flex:0 0 236px;margin:-3px auto 12px}.login-form-wrap{width:100%;margin-left:0;min-height:0;padding:0 29px 96px;align-items:flex-start;flex:1}.login-form-inner{max-width:344px}.login-intro{margin-bottom:26px}.login-intro h1{font-size:29px;margin-bottom:10px}.login-field{margin-bottom:21px}.login-demo-note{margin-top:14px}.login-robot[data-state=unavailable]{height:36px;flex-basis:36px}.login-studio-control{right:25px;bottom:20px}}
@media(max-height:760px) and (min-width:641px){.login-header{height:90px}.login-form-wrap{padding-top:105px;padding-bottom:85px}.login-intro{margin-bottom:28px}.login-field{margin-bottom:18px}.login-demo-note{margin-top:9px}.login-robot{height:440px;top:calc(50% - 220px)}}
@media(max-width:640px) and (max-height:740px){.login-robot{height:184px;flex-basis:184px;margin-bottom:9px}.login-header{height:76px;flex-basis:76px}.login-intro{margin-bottom:23px}.login-intro h1{font-size:27px}.login-field{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.login-view *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
