/* 登录页：左侧立体橘猫，右侧账号登录卡片。字号遵守 typography.css 的 18/14/12 三级标准。 */
.auth-cat-body{--cat-blue:#1f6bff;--cat-ink:#141c2b;--cat-muted:#8792a6;--cat-line:#dfe4ee;--cat-brand:#183f73;
  background:radial-gradient(900px 700px at 88% 8%,rgba(150,180,255,.28),transparent 60%),radial-gradient(800px 700px at 6% 96%,rgba(170,195,255,.25),transparent 62%),linear-gradient(180deg,#f7f9fd,#eef2fa);color:var(--cat-ink)}
.auth-cat-body .standalone{min-height:100vh;background:transparent}
.auth-cat-rings{position:fixed;inset:0;pointer-events:none;background:
  repeating-radial-gradient(circle at 92% 6%,transparent 0 46px,rgba(120,150,220,.06) 47px 48px),
  repeating-radial-gradient(circle at 4% 100%,transparent 0 52px,rgba(120,150,220,.05) 53px 54px);
  -webkit-mask-image:radial-gradient(circle at 92% 6%,#000,transparent 28%),radial-gradient(circle at 4% 100%,#000,transparent 30%);mask-image:radial-gradient(circle at 92% 6%,#000,transparent 28%),radial-gradient(circle at 4% 100%,#000,transparent 30%)}
.auth-cat{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:clamp(20px,3.4vh,56px) clamp(20px,3.4vw,96px);box-sizing:border-box}
.auth-cat-brand{display:flex;align-items:center;gap:10px}
.auth-cat-logo{width:clamp(34px,2vw,56px);height:clamp(34px,2vw,56px);display:grid;place-items:center;padding:6px;border-radius:9px;background:var(--cat-brand);box-sizing:border-box}
.auth-cat-logo img{width:100%;height:100%;object-fit:contain}
.auth-cat-brand h2{margin:0;color:var(--cat-brand)}
.auth-cat-brand .release-badge{position:relative;top:-5px;display:inline-flex;align-items:center;height:15px;margin-left:5px;padding:0 4px;border:1px solid rgba(24,63,115,.45);border-radius:3px;background:transparent;color:var(--cat-brand);font-weight:800;letter-spacing:.08em}
.auth-cat-main{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(24px,3.6vw,120px);padding:24px 0}

/* 猫：照片 + 深度图（WebGL 视差）+ 可动的眼珠和眼皮；脚本没加载时显示静态照片 */
.auth-cat-area{position:relative;width:clamp(300px,21vw,760px);flex:none}
.auth-cat-still,.auth-cat-canvas{display:block;width:100%;aspect-ratio:500/620}
.auth-cat-still{height:auto}
.auth-cat-canvas{position:absolute;inset:0;opacity:0;transition:opacity .4s;transform-origin:50% 92%}
.auth-cat-area.is-ready .auth-cat-canvas{opacity:1}
.auth-cat-area.is-ready .auth-cat-still{visibility:hidden}
.auth-cat-floor{position:absolute;left:8%;right:4%;bottom:.5%;height:5%;border-radius:50%;background:radial-gradient(closest-side,rgba(40,60,110,.14),rgba(40,60,110,0));filter:blur(4px)}
.auth-cat-canvas.is-shake{animation:auth-cat-shake .7s ease}
@keyframes auth-cat-shake{15%{translate:-14px 0;rotate:-2deg}35%{translate:12px 0;rotate:2deg}55%{translate:-8px 0;rotate:-1deg}75%{translate:4px 0;rotate:.5deg}90%{translate:-1px 0;rotate:0deg}}
@media(prefers-reduced-motion:reduce){.auth-cat-canvas.is-shake{animation:none}}
.auth-cat-bubble{position:absolute;left:2%;top:-2%;padding:9px 16px;border-radius:12px;background:#fff;color:#2a3344;font-weight:600;white-space:nowrap;box-shadow:0 8px 24px rgba(40,70,140,.12);transition:opacity .2s,transform .2s}
.auth-cat-bubble::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;background:#fff;transform:rotate(45deg);border-radius:2px}
.auth-cat-bubble.swap{opacity:.2;transform:translateY(3px)}

/* 登录卡片 */
.auth-cat-card{width:min(clamp(440px,31vw,1100px),100%);padding:clamp(32px,4.4vh,72px) clamp(32px,2.6vw,80px) clamp(24px,3vh,48px);border-radius:20px;background:#fff;box-shadow:0 24px 60px rgba(40,70,140,.10),0 2px 6px rgba(40,70,140,.04);box-sizing:border-box}
.auth-cat-card h1{margin:0;color:var(--cat-ink)}
.auth-cat-card .auth-cat-sub{margin:8px 0 0;color:var(--cat-muted)}
.auth-cat-card .notice{margin:20px 0 0}
.auth-cat-card .auth-form{display:grid;gap:22px;margin-top:28px}
.auth-cat-card .auth-form label{display:grid;gap:6px;font-weight:600;color:#3a4458}
.auth-cat-field{position:relative;display:block}
.auth-cat-card .auth-form input{width:100%;height:clamp(40px,4.6vh,56px);padding:0 2px;border:0;border-bottom:1px solid var(--cat-line);border-radius:0;background:transparent;color:var(--cat-ink);font:inherit;font-weight:400;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.auth-cat-card .auth-form input::placeholder{color:#b4bccb}
.auth-cat-card .auth-form input:hover{border-bottom-color:#c3cbda}
.auth-cat-card .auth-form input:focus{border-bottom-color:var(--cat-blue);box-shadow:0 1px 0 var(--cat-blue)}
.auth-cat-card .auth-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:var(--cat-ink)}
.auth-cat-field input{padding-right:40px!important}
.auth-cat-peek{position:absolute;right:0;top:50%;width:34px;height:34px;margin-top:-17px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#9aa4b6;cursor:pointer}
.auth-cat-peek:hover{background:#f1f4fa;color:var(--cat-blue)}
.auth-cat-peek:focus-visible{outline:2px solid var(--cat-blue)}
.auth-cat-peek svg{width:20px;height:20px}
.auth-cat-peek .i-show{display:none}.auth-cat-peek[aria-pressed="true"] .i-hide{display:none}.auth-cat-peek[aria-pressed="true"] .i-show{display:block}
.auth-cat-card .auth-submit{width:100%;height:clamp(44px,5vh,60px);min-height:44px;margin-top:6px;border:0;border-radius:10px;background:linear-gradient(180deg,#3b80ff,var(--cat-blue));color:#fff;font-family:inherit;font-weight:700;letter-spacing:.6em;text-indent:.6em;cursor:pointer;box-shadow:0 10px 22px rgba(31,107,255,.28);transition:filter .15s,box-shadow .15s,transform .15s}
.auth-cat-card .auth-submit:hover{filter:brightness(1.05);box-shadow:0 12px 26px rgba(31,107,255,.36)}
.auth-cat-card .auth-submit:active{transform:translateY(1px)}
.auth-cat-card .auth-switch{margin:4px 0 0;text-align:center;color:var(--cat-muted)}
.auth-cat-card .auth-switch a{color:var(--cat-blue);font-weight:600;text-decoration:none}
.auth-cat-card .auth-switch a:hover{text-decoration:underline}
.auth-cat-footer{margin:0;text-align:center;color:#a5aec0}
@media(max-width:780px){
  .auth-cat{padding:16px 16px 20px}
  .auth-cat-main{flex-direction:column;justify-content:flex-start;gap:8px;padding:28px 0 8px}
  .auth-cat-area{width:min(200px,52vw)}
  .auth-cat-bubble{left:auto;right:-52%;top:8%;padding:6px 12px}
  .auth-cat-bubble::after{left:12px;bottom:auto;top:50%;margin:-6px 0 0 -12px}
  .auth-cat-card{width:min(480px,100%);padding:28px 22px 22px}
  .auth-cat-card .auth-form{gap:18px;margin-top:22px}
  .auth-cat-footer{margin-top:12px}
}
/* 共享字号层会把 2 级文字统一加粗；登录卡片里的说明和输入内容保持常规字重。
   同名层里按选择器优先级生效，只改字重，不改字号。 */
@layer site-typography{
  .auth-cat-card .auth-cat-sub,.auth-cat-card .auth-form input{font-weight:400!important}
}
