@charset "UTF-8";
:root { font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif; color: #20252d; background: #fff; font-synthesis: none; line-height: 1.5; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
.workspace-login-brand { height: 110px; display: flex; align-items: center; padding: 0 4.6%; }
.workspace-login-brand span { font-family: "STKaiti", "KaiTi", "Noto Serif SC", serif; font-weight: 700; font-synthesis: weight; font-size: 40px; letter-spacing: .08em; }
.workspace-login-shell { width: min(1480px, 96%); min-height: calc(100dvh - 110px); margin: 0 auto; padding: 0 2% 72px 0; display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(300px, 1fr); gap: 30px; align-items: center; }
.workspace-campus img { display: block; width: 100%; height: auto; max-height: calc(100dvh - 190px); object-fit: contain; }
.workspace-signin { width: 100%; max-width: 408px; justify-self: center; padding-bottom: 20px; }
.workspace-signin h1 { margin: 0 0 34px; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.25; font-weight: 600; letter-spacing: .025em; }
.workspace-login-form { display: flex; flex-direction: column; }
.workspace-login-form label { font-size: 16px; font-weight: 400; margin-bottom: 12px; }
.workspace-login-form input { min-width: 0; width: 100%; height: clamp(44px, 4vw, 54px); border: 1px solid #aeb1b8; border-radius: 4px; padding: 0 14px; background: #fff; color: #20252d; margin-bottom: 26px; outline: none; transition: border-color .15s, box-shadow .15s; }
.workspace-login-form input:focus { border-color: #a64239; box-shadow: 0 0 0 3px #a6423912; }
.workspace-login-form button { height: 56px; border: 1px solid #ad433c; border-radius: 4px; background: #ad433c; color: #fff; cursor:var(--manuscript-cursor-link, pointer); font-size: 18px; font-weight: 400; letter-spacing: .2em; text-indent: .2em; margin-top: 18px; transition: background .15s, transform .15s; }
.workspace-login-form button:hover { background: #963830; }
.workspace-login-form button:active { transform: translateY(1px); }
.workspace-login-form button:focus-visible { outline: 2px solid #ad433c; outline-offset: 4px; }
.workspace-message { padding: 10px 12px; border-radius: 4px; font-size: 14px; margin-bottom: 20px; border: 1px solid; }
.workspace-message.error { color: #963b32; background: #fff8f6; border-color: #efd7d2; }
.workspace-message.success { color: #2c6244; background: #f4f9f3; border-color: #d1e5d2; }
@media (min-width: 1700px) { .workspace-login-shell { gap: 54px; } }
@media (max-width: 800px) {
 .workspace-login-brand { height: 80px; padding: 0 26px; }
 .workspace-login-brand span { font-size: 30px; }
 .workspace-login-shell { width: 100%; min-height: calc(100dvh - 80px); padding: 0 26px 50px; grid-template-columns: 1fr; gap: 8px; align-content: start; }
 .workspace-campus { width: min(420px, 100%); margin: -12px auto 0; }
 .workspace-campus img { max-height: none; }
 .workspace-signin { max-width: 400px; padding: 0; }
 .workspace-signin h1 { font-size: 30px; margin-bottom: 28px; }
 .workspace-login-form input { margin-bottom: 24px; height: 50px; }
 .workspace-login-form button { margin-top: 8px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
