@font-face{font-family:SunrayLoginMotto;src:url('./sunray-motto.ttf') format('truetype');font-display:swap;font-weight:400}
.sunray-login{--ink:#293e5d;--muted:#607189;--blue:#2854a1;--line:#dae3f0;box-sizing:border-box;min-height:calc(100dvh - 46px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(370px,.88fr);background:#fff;color:var(--ink);font:14px/1.65 'Segoe UI','Microsoft YaHei UI','PingFang SC',sans-serif}
.sunray-login *{box-sizing:border-box}.sunray-login h1,.sunray-login h2,.sunray-login p{margin:0}.sunray-login button,.sunray-login a,.sunray-login summary{outline-offset:5px}.sunray-login :focus-visible{outline:3px solid #d46f50}
.sunray-login .login-story{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:48px clamp(30px,5.5vw,92px) 40px;background:radial-gradient(ellipse at 35% 44%,#ffb95c15,transparent 49%),linear-gradient(145deg,#f9fbff,#f0f4fb 65%,#f8f4ec);border-right:1px solid var(--line)}
.sunray-login .login-identity{display:flex;align-items:center;gap:14px}.sunray-login .login-identity svg{height:50px;width:44px;flex:none}.sunray-login .login-identity>span{font-size:19px;font-weight:600;letter-spacing:.08em}.sunray-login .login-identity small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.16em;font-weight:400}
.sunray-login .login-manifesto{position:relative;margin:auto 0;padding:62px 0 82px}.sunray-login .login-kicker{font-size:11px;letter-spacing:.15em;color:var(--muted)}
.sunray-login .login-manifesto h1{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;margin:26px 0 20px;font:400 clamp(62px,6vw,96px)/1.1 SunrayLoginMotto,'KaiTi',serif;letter-spacing:.035em;color:var(--ink);-webkit-text-stroke:.4px currentColor;paint-order:stroke fill}
.sunray-login .login-manifesto h1>span{display:block;white-space:nowrap;transform:skewX(-4deg)}.sunray-login .login-manifesto h1 i{font:400 .9em/1 Georgia,serif;color:#d87959;margin-left:10px;font-style:normal;-webkit-text-stroke:0}
.sunray-login .login-manifesto>p{font-size:14px;color:var(--muted);letter-spacing:.28em}.sunray-login .login-current{position:absolute;width:125%;height:230px;left:-15%;bottom:-8px;z-index:-1;fill:none;stroke:#d9ae53;stroke-width:1.2;opacity:.43}.sunray-login .login-current path:first-child{stroke:#db805f}.sunray-login .login-current path:last-child{stroke:#68a7b3}.sunray-login .login-current path{stroke-dasharray:260 800;animation:login-flow 28s linear infinite}.sunray-login .login-current path:nth-child(2){animation-delay:-8s}.sunray-login .login-current path:nth-child(3){animation-delay:-16s}
.sunray-login .login-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:24px 0 0;margin:0;border-top:1px solid var(--line)}.sunray-login .login-method li{display:grid;gap:6px}.sunray-login .login-method li>span{color:#536c93;font:12px 'Bahnschrift',sans-serif}.sunray-login .login-method strong{font-weight:550;font-size:14px}.sunray-login .login-method small{color:var(--muted);font-size:11px}
.sunray-login .login-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px clamp(24px,5vw,80px) 26px;background:#fff}.sunray-login .login-entry-inner{width:100%;max-width:390px;margin:auto 0;padding:40px 0}.sunray-login .login-entry h2{font-size:34px;letter-spacing:-.03em;font-weight:600;margin:12px 0}.sunray-login .login-intro{font-size:13px;color:var(--muted)}
.sunray-login .login-provider-list{display:grid;gap:14px;margin:34px 0 24px}.sunray-login .login-provider{display:flex;align-items:center;gap:14px;padding:18px 20px;min-height:84px;width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;text-decoration:none;text-align:left;font:inherit;cursor:pointer;box-shadow:0 3px 8px #274b7805;transition:transform .18s,box-shadow .18s,background-color .18s}.sunray-login .login-provider:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #274b7810;border-color:#8ca6ca}.sunray-login .login-provider:active:not(:disabled){transform:translateY(0)}.sunray-login .login-provider.preferred{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 8px 20px #2854a120}.sunray-login .login-provider strong{display:block;font-size:15px;font-weight:550}.sunray-login .login-provider small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.sunray-login .login-provider.preferred small{color:#e0eaff}.sunray-login .login-provider-icon{font-size:23px}.sunray-login .login-enter-arrow{margin-left:auto;font-size:19px}.sunray-login .login-provider:disabled{opacity:.55;cursor:not-allowed}
.sunray-login .login-access-note{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px;line-height:1.9}.sunray-login .login-access-note>span{font-size:18px}.sunray-login .login-help{margin-top:22px;font-size:12px;color:var(--muted)}.sunray-login .login-help summary{cursor:pointer;padding:5px 0;color:var(--blue)}.sunray-login .login-help p{margin-top:10px;line-height:1.9}.sunray-login .login-notice{padding:12px 14px;background:#fff5e7;border-left:2px solid #c18b37;color:#74531c;font-size:12px;border-radius:4px;margin:12px 0 20px}.sunray-login .login-entry footer{font-size:10px;letter-spacing:.08em;color:var(--muted)}.sunray-login .login-entry footer span{padding:0 10px}.sunray-login .login-switch{font-size:12px;color:var(--muted);margin:18px 0}.sunray-login .login-switch a{color:var(--blue)}
@keyframes login-flow{to{stroke-dashoffset:-1060}}@media(prefers-reduced-motion:reduce){.sunray-login *, .sunray-login *:before{animation:none!important;transition:none!important}}
@media(min-width:1700px){.sunray-login .login-story{padding-left:max(92px,calc((100vw - 1500px)/2))}.sunray-login .login-entry{padding-right:max(80px,calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.sunray-login{grid-template-columns:minmax(0,1fr) minmax(340px,.95fr)}.sunray-login .login-story{padding:32px}.sunray-login .login-manifesto h1{font-size:62px}.sunray-login .login-method{gap:10px}.sunray-login .login-method small{font-size:10px}.sunray-login .login-entry{padding:40px 28px 24px}}
@media(max-width:760px){.sunray-login{display:block;min-height:100dvh}.sunray-login .login-story{padding:26px 24px 28px;border:0;border-bottom:1px solid var(--line)}.sunray-login .login-identity svg{width:32px;height:38px}.sunray-login .login-identity>span{font-size:16px}.sunray-login .login-manifesto{padding:28px 0 0}.sunray-login .login-manifesto>.login-kicker{display:none}.sunray-login .login-manifesto h1{flex-direction:row;gap:18px;font-size:clamp(27px,7.3vw,48px);margin:0 0 14px;letter-spacing:0}.sunray-login .login-manifesto h1 i{display:none}.sunray-login .login-manifesto>p{font-size:11px;letter-spacing:.22em}.sunray-login .login-current{height:110px;bottom:-25px}.sunray-login .login-method{display:none}.sunray-login .login-entry{padding:0 24px 24px}.sunray-login .login-entry-inner{padding:32px 0}.sunray-login .login-entry h2{font-size:28px}.sunray-login .login-provider-list{margin-top:26px}.sunray-login .login-provider{padding:16px;min-height:78px}.sunray-login .login-provider strong{font-size:14px}}

body{margin:0}.sunray-login{min-height:100dvh}
/* Shared login candidate, authentication elements and provider links unchanged. */
html body{background:#f5f6f0;color:#283e3a}
html body .sunray-login{background:radial-gradient(ellipse at 15% 25%,#f0e8d4aa,transparent 45%),#f5f6f0;min-height:100vh;grid-template-columns:1.25fr 1fr}
html body .sunray-login .login-story{background:transparent;color:#283e3a;border-color:#dbe3d5}
html body .sunray-login .login-identity{color:#283e3a}html body .sunray-login .login-identity small{color:#617565}
html body .sunray-login .login-manifesto{position:relative;isolation:isolate}html body .sunray-login .login-manifesto h1{color:#2c5545;text-shadow:0 2px #fff;font-size:clamp(56px,5.8vw,90px);letter-spacing:.025em;line-height:1.3}
html body .sunray-login .login-manifesto p{color:#647759;letter-spacing:.25em}html body .sunray-login .login-kicker{color:#6b7d64}html body .sunray-login .login-current{stroke:#cc9560;opacity:.45;filter:drop-shadow(0 8px 15px #d9a57440)}
html body .sunray-login .login-entry{background:transparent;border:0}html body .sunray-login .login-entry-inner{background:linear-gradient(145deg,#fff,#f9fbf5);border:1px solid white;border-radius:24px;padding:42px;box-shadow:0 6px 0 -1px #dfe6d4,0 30px 65px -35px #405a3940;position:relative}
html body .sunray-login .login-entry-inner:before{content:'';position:absolute;top:0;left:40px;right:40px;height:2px;background:linear-gradient(90deg,#daa777,#f0d299,#8db08e)}
html body .sunray-login .login-entry h2{color:#283e3a;font-size:32px}html body .sunray-login .login-intro,html body .sunray-login .login-access-note,html body .sunray-login .login-help{color:#617565}
html body .sunray-login .login-provider,html body .sunray-login .login-provider.preferred{background:#f1f6ed;color:#315b44;border:1px solid #ccdcca;border-radius:11px;box-shadow:0 3px 0 -1px #c5d5bd;transition:transform .2s,box-shadow .2s}
html body .sunray-login .login-provider.preferred{background:#286956;color:white;border-color:#286956;box-shadow:0 4px 0 #1f5141}html body .sunray-login .login-provider.preferred small{color:#d6e8d5}
html body .sunray-login .login-provider:hover{transform:translateY(-3px);box-shadow:0 7px 0 -2px #c6d9be,0 16px 24px -18px #335d3b50}html body .sunray-login .login-provider:disabled{transform:none;box-shadow:none;opacity:.55}
html body .sunray-login .login-method{gap:15px;border:0}html body .sunray-login .login-method li{border:1px solid #fff;background:linear-gradient(140deg,#fff,#edf4e7);padding:20px;border-radius:12px;box-shadow:0 5px 0 -1px #d6e1ca,0 20px 30px -25px #42603640;transform:translateY(0);color:#36593f}html body .sunray-login .login-method li:last-child{background:linear-gradient(140deg,#fffdf8,#f7e8cc)}html body .sunray-login .login-method small{color:#64755d}html body .sunray-login .login-method strong{color:#36593f}
html body .sunray-login .login-notice{background:#faf0df;color:#855226;border-color:#e2cfae}html body .sunray-login .login-help a{color:#286956}
@media(max-width:850px){html body .sunray-login{grid-template-columns:1fr}html body .sunray-login .login-story{padding:30px 25px}html body .sunray-login .login-manifesto h1{font-size:52px}html body .sunray-login .login-entry{padding:20px 25px 40px}html body .sunray-login .login-entry-inner{padding:25px;max-width:600px;margin:auto}html body .sunray-login .login-method li{padding:12px}html body .sunray-login .login-method strong{font-size:14px}html body .sunray-login .login-method small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html body .sunray-login *{animation:none!important;transition:none!important;transform:none!important}}

@media(max-width:760px){html body .sunray-login .login-manifesto h1{font-size:clamp(25px,7.1vw,48px);gap:12px}html body .sunray-login .login-entry-inner{padding:25px 20px}html body .sunray-login .login-entry{padding:24px 16px}}
