html:has(.auth-page),html:has(.landing-site-page){color-scheme:light;background:#fafafa}html:has(.auth-page) body,html:has(.landing-site-page) body{background:#fafafa;color:#0a0a0a}.auth-page{--lp-bg:#fafafa;--lp-surface:#ffffff;--lp-text:#0a0a0a;--lp-muted:#6b6b6f;--lp-line:#e4e4e7;--lp-accent:#0a0a0a;--auth-error:#dc2626;--auth-success:#16a34a;--auth-pad-x:24px;--auth-max-width:440px;--auth-control-h:48px;--auth-radius:12px;box-sizing:border-box;min-height:100dvh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--lp-bg);color:var(--lp-text);animation:auth-page-enter .28s cubic-bezier(.22,1,.36,1) both}@keyframes auth-page-enter{0%{opacity:0}to{opacity:1}}.auth-main{box-sizing:border-box;width:100%;max-width:var(--auth-max-width);margin:0 auto;padding:24px var(--auth-pad-x);display:flex;flex-direction:column;align-items:stretch;animation:auth-main-enter .34s cubic-bezier(.22,1,.36,1) .04s both}@keyframes auth-main-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-card{width:100%;padding:32px 28px;border:1px solid var(--lp-line);border-radius:16px;background:var(--lp-surface);box-shadow:0 1px 2px rgba(0,0,0,.04);text-align:left}.auth-card-head{margin-bottom:22px}.auth-brand{display:inline-flex;align-items:center;margin-bottom:16px}.auth-logo{display:block;width:auto!important;height:26px!important;max-width:128px;object-fit:contain}.auth-card h1{margin:0;color:var(--lp-text);font-size:1.625rem;font-weight:650;line-height:1.15;letter-spacing:-.03em}.auth-card-body,.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:6px}.auth-field label{color:#27272a;font-size:.8125rem;font-weight:600}.auth-field input{box-sizing:border-box;width:100%;min-height:var(--auth-control-h);height:var(--auth-control-h);padding:0 14px;border:1.5px solid #d4d4d8;border-radius:var(--auth-radius);background:var(--lp-surface);color:var(--lp-text);font-size:1rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:48px}.auth-password-toggle{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--lp-muted);cursor:pointer;transform:translateY(-50%);transition:color .15s ease,background .15s ease}.auth-password-toggle:hover{color:var(--lp-text);background:rgba(0,0,0,.04)}.auth-password-toggle:focus-visible{outline:2px solid var(--lp-text);outline-offset:1px}.auth-field:hover input{border-color:#a1a1aa}.auth-field:focus-within input{border-color:var(--lp-text);box-shadow:0 0 0 3px rgba(10,10,10,.06)}.auth-google{box-sizing:border-box;width:100%;min-height:var(--auth-control-h);height:var(--auth-control-h);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:1.5px solid var(--lp-line);border-radius:var(--auth-radius);background:var(--lp-surface);color:var(--lp-text);font-size:.9375rem;font-weight:650;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.auth-google svg{flex:none;width:18px;height:18px}.auth-google:hover:not(:disabled){background:#f4f4f5;border-color:#d4d4d8;box-shadow:0 2px 8px rgba(0,0,0,.05)}.auth-google:disabled{opacity:.65;cursor:wait}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0;color:var(--lp-muted);font-size:12px;font-weight:600}.auth-divider:after,.auth-divider:before{content:"";height:1px;background:var(--lp-line)}.auth-row{display:flex;justify-content:flex-end;margin-top:-2px}.auth-link{color:var(--lp-muted);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-link:hover{color:var(--lp-text)}.auth-submit{box-sizing:border-box;width:100%;min-height:var(--auth-control-h);height:var(--auth-control-h);margin-top:2px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--auth-radius);background:var(--lp-accent);color:#fff;font-size:.9375rem;font-weight:650;cursor:pointer;transition:background .18s ease,opacity .18s ease}.auth-submit:hover:not(:disabled){background:#1a1a1a}.auth-submit:disabled{opacity:.72;cursor:wait}.auth-error{color:var(--auth-error)}.auth-error,.auth-success{margin:0;font-size:.8125rem;line-height:1.35}.auth-success{color:var(--auth-success)}.auth-switch{margin:16px 0 0;color:var(--lp-muted);font-size:13px;text-align:center;line-height:1.4}.auth-switch a{color:var(--lp-text);font-weight:650;text-decoration:underline;text-underline-offset:2px}@media (max-width:639px){.auth-page{--auth-pad-x:20px;--auth-max-width:100%;--auth-control-h:58px;--auth-radius:14px;padding:max(12px,env(safe-area-inset-top)) 0 max(12px,env(safe-area-inset-bottom))}.auth-main{padding:20px var(--auth-pad-x)}.auth-card{padding:32px 24px 36px;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}.auth-card-head{margin-bottom:28px;text-align:center}.auth-brand{display:flex;justify-content:center;width:100%;margin-bottom:18px}.auth-logo{height:30px!important;max-width:148px}.auth-card h1{font-size:1.875rem;letter-spacing:-.04em}.auth-card-body{gap:18px}.auth-form{gap:16px}.auth-field{gap:8px}.auth-field label{font-size:.9375rem;font-weight:600;padding-left:2px}.auth-field input{padding:0 16px;font-size:1.0625rem;border-radius:var(--auth-radius);background:#f4f4f5;border-color:transparent}.auth-password-wrap input{padding-right:52px}.auth-password-toggle{width:44px;height:44px;right:6px}.auth-field:hover input{border-color:transparent;background:#efeff0}.auth-field:focus-within input{background:var(--lp-surface);border-color:var(--lp-text);box-shadow:0 0 0 3px rgba(10,10,10,.06)}.auth-google{gap:12px;font-size:1.0625rem;font-weight:600;border-radius:var(--auth-radius)}.auth-google svg{width:22px;height:22px}.auth-divider{gap:14px;font-size:13px}.auth-link{font-size:15px}.auth-submit{margin-top:6px;font-size:1.0625rem;font-weight:650;border-radius:var(--auth-radius)}.auth-error,.auth-success{font-size:.875rem}.auth-switch{margin-top:22px;font-size:15px}}@media (min-width:640px){.auth-page{--auth-max-width:460px}}@media (prefers-reduced-motion:reduce){.auth-main,.auth-page{animation:none}.auth-google,.auth-submit{transition:none}}