.desk-login{--login-ink:#f2eee5;--login-muted:#a5bac3;--login-accent:#d7c59e;min-height:100svh;color:var(--login-ink);background:#071a23;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.login-scene{color:#20313b;background:#e8eae3;flex-direction:column;justify-content:space-between;gap:20px;min-width:0;padding:40px clamp(24px,4vw,58px);display:flex;position:relative;overflow:hidden}.login-brand{align-items:center;gap:12px;line-height:1.4;display:flex}.login-brand img{border-radius:9px;width:34px;height:34px}.login-brand strong{letter-spacing:.03em;font-size:1.125rem;font-weight:600}.login-brand small{letter-spacing:.12em;color:#5a6e73;margin-top:2px;font-size:.75rem;display:block}.login-scene-copy{max-width:440px;padding-bottom:10px}.login-scene-copy p{margin:0 0 12px;font-size:1.125rem;line-height:1.8}.login-scene-copy span{color:#597077;font-size:.875rem;line-height:1.7}.character-stage{flex:1;width:100%;height:470px;min-height:450px;position:relative}.character-canvas{transform-origin:bottom;width:550px;height:440px;position:absolute;bottom:0;left:50%;transform:translate(-50%)scale(.9)}.cast-body{transform-origin:bottom;will-change:transform;position:absolute;bottom:0}.cast-purple{z-index:1;background:#6c3ff5;border-radius:12px 12px 0 0;width:180px;height:400px;left:70px}.cast-black{z-index:2;background:#2d2d2d;border-radius:9px 9px 0 0;width:120px;height:310px;left:240px}.cast-orange{z-index:3;background:#ff9b6b;border-radius:120px 120px 0 0;width:240px;height:200px;left:0}.cast-yellow{z-index:4;background:#e8d754;border-radius:70px 70px 0 0;width:140px;height:230px;left:310px}.cast-face{will-change:transform;position:absolute}.cast-purple .cast-face{top:40px;left:45px}.cast-black .cast-face{top:32px;left:26px}.cast-orange .cast-face{top:90px;left:82px}.cast-yellow .cast-face{top:40px;left:52px}.cast-eyes{align-items:center;gap:32px;display:flex}.cast-black .cast-eyes,.cast-yellow .cast-eyes{gap:24px}.cast-eye{will-change:transform;background:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;overflow:hidden}.cast-pupil{will-change:transform;background:#2d2d2d;border-radius:50%;width:7px;height:7px;display:block}.cast-black .cast-eye{width:16px;height:16px}.cast-black .cast-pupil{width:6px;height:6px}.cast-orange .cast-eye,.cast-yellow .cast-eye{background:0 0;width:12px;height:12px;overflow:visible}.cast-orange .cast-pupil,.cast-yellow .cast-pupil{width:12px;height:12px}.cast-mouth{background:#2d2d2d;border-radius:4px;width:80px;height:4px;display:block;position:absolute;top:48px;left:-12px}.login-form-pane{justify-content:center;align-items:center;min-width:0;padding:44px clamp(24px,5vw,72px);display:flex}.login-form-content{width:100%;max-width:430px}.login-eyebrow{color:var(--login-accent);letter-spacing:.14em;align-items:center;gap:8px;margin:0 0 18px;font-size:.75rem;display:flex}.login-intro h1{letter-spacing:.025em;margin:0 0 14px;font-size:clamp(1.8rem,3vw,2.3rem);font-weight:500;line-height:1.35}.login-intro>p:last-child{color:var(--login-muted);margin:0 0 28px;font-size:.875rem;line-height:1.9}.login-form-content form fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.login-field{gap:9px;min-width:0;font-size:.875rem;line-height:1.6;display:grid}.login-field>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-field small{color:var(--login-muted);font-size:.75rem;font-weight:400}.login-field input{width:100%;min-width:0;min-height:50px;color:var(--login-ink);font:inherit;box-shadow:none;background:#102833;border:1px solid #ffffff27;border-radius:12px;padding:12px 15px;font-size:1rem;line-height:1.5;display:block}.login-field input::placeholder{color:#73909d}.login-field input:focus{border-color:var(--login-accent)}.login-password{display:block;position:relative}.login-password input{padding-right:58px}.login-password-toggle{width:44px;color:var(--login-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;inset:3px 3px 3px auto}.login-password-toggle:hover{color:var(--login-ink);background:#ffffff08}.desk-login :focus-visible{outline:2px solid var(--login-accent);outline-offset:4px}.login-submit{background:var(--login-accent);color:#10232e;width:100%;min-height:50px;font:inherit;cursor:pointer;isolation:isolate;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:1rem;font-weight:600;display:flex;position:relative;overflow:hidden}.login-submit:before{content:"";z-index:-1;background:#ffffff26;position:absolute;inset:0;transform:translate(-101%)}.login-recovery{min-height:46px;color:var(--login-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:12px;width:100%;margin-top:16px;padding:11px 14px;font-size:.875rem}.desk-login button:disabled{opacity:.55;cursor:default}.login-error{color:#f1b8a9;background:#e2a2940e;border:1px solid #e2a29455;border-radius:12px;margin:16px 0 0;padding:12px 14px;font-size:.875rem;line-height:1.8}.login-help{color:var(--login-muted);border-top:1px solid #ffffff13;margin-top:24px;padding-top:20px;font-size:.875rem;line-height:1.85}.login-help p{margin:0 0 10px}.login-help details>p{margin:10px 0 0}.login-help summary{color:#c7d5db;cursor:pointer}.login-help small{color:#7f9ca8;margin-top:16px;font-size:.75rem;line-height:1.7;display:block}@media (min-width:1450px){.character-canvas{transform:translate(-50%)scale(1)}}@media (min-width:901px) and (max-width:1100px){.character-canvas{transform:translate(-50%)scale(.72)}.login-scene{padding:32px 24px}.login-form-pane{padding:36px 30px}.character-stage{min-height:380px}}@media (max-width:900px){.desk-login{grid-template-columns:1fr}.login-scene{gap:8px;min-height:260px;padding:22px 24px 0}.login-brand strong{font-size:1rem}.login-brand small{font-size:.75rem}.login-scene-copy{display:none}.character-stage{flex:none;height:185px;min-height:185px}.character-canvas{transform:translate(-50%)scale(.42)}.login-form-pane{align-items:start;padding:32px 24px 44px}.login-form-content{max-width:470px}.login-intro h1{font-size:1.8rem}.login-intro>p:last-child{margin-bottom:24px}.login-form-content form fieldset{gap:18px}}@media (prefers-reduced-motion:reduce){.cast-body,.cast-face,.cast-eye,.cast-pupil{will-change:auto}}
