html{-webkit-text-size-adjust:100%;}
body.zsp-page{margin:0;background:#10161f;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body.zsp-page, body.zsp-page *{box-sizing:border-box;}
.zsp-homepage{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow:hidden;}
@supports not (height: 100dvh) {
.zsp-homepage{min-height:var(--zsp-vh, 100vh);}
} .zsp-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#16213e;background-image:linear-gradient(135deg, #1d2b64 0%, #3a6073 100%);background-size:cover;background-position:center center;background-repeat:no-repeat;transform:translateZ(0);}
.zsp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--zsp-overlay-bg, rgba(0, 0, 0, 0.2));pointer-events:none;}
body.dark-theme .zsp-overlay{background:rgba(8, 10, 16, 0.45);}
.zsp-header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;}
.zsp-header-logo{display:inline-flex;align-items:center;text-decoration:none;}
.zsp-header-logo img{display:block;max-width:180px;max-height:40px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 1px 10px rgba(0, 0, 0, 0.35));}
.zsp-header-site-name{font-size:18px;font-weight:600;line-height:1.3;color:#fff;text-shadow:0 1px 10px rgba(0, 0, 0, 0.4);word-break:break-word;}
.zsp-user-state{display:flex;align-items:center;gap:6px;font-size:14px;flex-wrap:wrap;justify-content:flex-end;}
.zsp-user-name{color:#fff;opacity:0.95;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 8px rgba(0, 0, 0, 0.4);}
.zsp-user-state .zsp-link{display:inline-block;padding:7px 14px;border-radius:999px;color:#fff;text-decoration:none;line-height:1.2;text-shadow:0 1px 8px rgba(0, 0, 0, 0.35);transition:background-color 0.15s ease;}
.zsp-user-state .zsp-link:hover{background:rgba(255, 255, 255, 0.16);}
.zsp-user-state .zsp-link-strong{background:rgba(255, 255, 255, 0.2);}
.zsp-user-state .zsp-link-strong:hover{background:rgba(255, 255, 255, 0.3);}
.zsp-user-state .zsp-link:focus-visible, .zsp-hot-item:focus-visible, .zsp-search-button:focus-visible{outline:2px solid rgba(255, 255, 255, 0.9);outline-offset:2px;}
.zsp-search-area{position:relative;z-index:3;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px 12vh;text-align:center;}
.zsp-logo{margin-bottom:32px;line-height:0;}
.zsp-logo img{display:inline-block;max-width:220px;max-height:100px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 16px rgba(0, 0, 0, 0.4));}
.zsp-site-name{margin:0;font-size:44px;font-weight:700;letter-spacing:2px;line-height:1.25;color:#fff;text-shadow:0 2px 20px rgba(0, 0, 0, 0.45);word-break:break-word;}
.zsp-logo .zsp-img-light, .zsp-header-logo .zsp-img-light{display:none;}
.zsp-logo .zsp-img-dark, .zsp-header-logo .zsp-img-dark{display:inline-block;}
body.zsp-light-overlay .zsp-logo .zsp-img-light, body.zsp-light-overlay .zsp-header-logo .zsp-img-light{display:inline-block;}
body.zsp-light-overlay .zsp-logo .zsp-img-dark, body.zsp-light-overlay .zsp-header-logo .zsp-img-dark{display:none;}
body.dark-theme .zsp-logo .zsp-img-light, body.dark-theme .zsp-header-logo .zsp-img-light{display:none;}
body.dark-theme .zsp-logo .zsp-img-dark, body.dark-theme .zsp-header-logo .zsp-img-dark{display:inline-block;}
.zsp-search-form{width:100%;max-width:var(--zsp-search-width, 760px);margin:0 auto;}
.zsp-search-box{display:flex;align-items:center;gap:10px;height:var(--zsp-search-height, 64px);padding:6px 6px 6px 22px;background:rgba(255, 255, 255, 0.94);border:1px solid rgba(255, 255, 255, 0.55);border-radius:var(--zsp-search-radius, 32px);box-shadow:0 12px 36px rgba(0, 0, 0, 0.24);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);transition:box-shadow 0.2s ease;}
.zsp-search-box:focus-within{box-shadow:0 16px 46px rgba(0, 0, 0, 0.32);}
.zsp-search-icon{flex:0 0 auto;color:#8a94a0;}
.zsp-search-input{flex:1 1 auto;min-width:0;height:100%;margin:0;padding:0;border:0;outline:none;background:transparent;font-family:inherit;font-size:17px;line-height:1.4;color:#1f2733;caret-color:#2f6fed;appearance:none;-webkit-appearance:none;}
.zsp-search-input::placeholder{color:#9aa4b0;opacity:1;}
.zsp-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-left:6px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239aa4b0' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm3.5 12.1-1.4 1.4L12 13.4l-2.1 2.1-1.4-1.4L10.6 12 8.5 9.9l1.4-1.4L12 10.6l2.1-2.1 1.4 1.4L13.4 12l2.1 2.1Z'/%3E%3C/svg%3E") center / contain no-repeat;cursor:pointer;}
.zsp-search-button{flex:0 0 auto;min-width:104px;min-height:44px;height:calc(var(--zsp-search-height, 64px) - 12px);padding:0 26px;border:0;border-radius:calc(var(--zsp-search-radius, 32px) - 6px);background:#2f6fed;color:#fff;font-family:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:background-color 0.15s ease;-webkit-appearance:none;appearance:none;}
.zsp-search-button:hover{background:#2b63d6;}
.zsp-search-button:active{background:#2557c0;}
body.dark-theme .zsp-search-box{background:rgba(24, 28, 36, 0.9);border-color:rgba(255, 255, 255, 0.14);}
body.dark-theme .zsp-search-input{color:#eef1f5;}
body.dark-theme .zsp-search-icon{color:#9aa4b0;}
body.zsp-light-overlay .zsp-site-name, body.zsp-light-overlay .zsp-user-name{color:#1f2733;text-shadow:none;}
body.zsp-light-overlay .zsp-header-site-name{color:#1f2733;text-shadow:none;}
body.zsp-light-overlay .zsp-user-state .zsp-link{color:#1f2733;text-shadow:none;}
body.zsp-light-overlay .zsp-user-state .zsp-link:hover{background:rgba(0, 0, 0, 0.08);}
body.zsp-light-overlay .zsp-user-state .zsp-link-strong{background:rgba(0, 0, 0, 0.1);}
body.zsp-light-overlay .zsp-logo img, body.zsp-light-overlay .zsp-header-logo img{filter:drop-shadow(0 1px 10px rgba(255, 255, 255, 0.5));}
body.zsp-light-overlay .zsp-login-tip, body.zsp-light-overlay .zsp-footer p, body.zsp-light-overlay .zsp-hot-label{color:rgba(31, 39, 51, 0.75);}
body.zsp-light-overlay .zsp-hot-item{background:rgba(0, 0, 0, 0.06);border-color:rgba(0, 0, 0, 0.08);color:#1f2733;}
body.zsp-light-overlay .zsp-hot-item:hover{background:rgba(0, 0, 0, 0.12);}
.zsp-hot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;max-width:var(--zsp-search-width, 760px);margin-top:26px;}
.zsp-hot-label{font-size:13px;color:rgba(255, 255, 255, 0.85);text-shadow:0 1px 8px rgba(0, 0, 0, 0.35);}
.zsp-hot-item{display:inline-block;max-width:220px;padding:7px 16px;border:1px solid rgba(255, 255, 255, 0.22);border-radius:999px;background:rgba(255, 255, 255, 0.16);color:#fff;font-size:13px;line-height:1.4;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color 0.15s ease;}
.zsp-hot-item:hover{background:rgba(255, 255, 255, 0.28);}
.zsp-login-tip{margin:24px 0 0;font-size:14px;color:rgba(255, 255, 255, 0.88);text-shadow:0 1px 8px rgba(0, 0, 0, 0.35);}
.zsp-login-tip a{color:inherit;font-weight:600;text-decoration:underline;}
.zsp-footer{position:relative;z-index:3;padding:16px 20px 20px;text-align:center;}
.zsp-footer p{margin:0;font-size:12px;line-height:1.6;color:rgba(255, 255, 255, 0.72);text-shadow:0 1px 8px rgba(0, 0, 0, 0.35);}
@media(max-width:600px){
:root{--zsp-search-height:52px;--zsp-search-radius:26px;}
.zsp-header{padding:12px 14px;}
.zsp-header-logo img{max-width:140px;max-height:32px;}
.zsp-header-site-name{font-size:16px;}
.zsp-user-state{font-size:13px;}
.zsp-user-state .zsp-link{padding:8px 12px;}
.zsp-user-name{max-width:96px;}
.zsp-search-area{padding:16px 14px 10vh;}
.zsp-logo{margin-bottom:24px;}
.zsp-logo img{max-width:160px;max-height:72px;}
.zsp-site-name{font-size:30px;letter-spacing:1px;}
.zsp-search-box{gap:6px;padding-left:16px;}
.zsp-search-input{font-size:16px;}
.zsp-search-button{min-width:68px;padding:0 16px;font-size:15px;}
.zsp-hot{gap:8px;margin-top:20px;}
.zsp-hot-item{max-width:160px;padding:7px 13px;}
} @media (max-height: 480px) {
.zsp-search-area{padding-bottom:24px;}
.zsp-logo{margin-bottom:16px;}
} @media (prefers-reduced-motion: reduce) {
.zsp-search-box, .zsp-search-button, .zsp-hot-item, .zsp-user-state .zsp-link{transition:none;}
} .zsp-auth-main{position:relative;z-index:3;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:20px 20px 40px;}
.zsp-auth-card{width:100%;max-width:420px;margin:0 auto;padding:36px 34px 30px;border:1px solid rgba(255, 255, 255, 0.28);border-radius:22px;background:rgba(255, 255, 255, 0.92);box-shadow:0 24px 60px rgba(0, 0, 0, 0.32);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);animation:zsp-auth-in 0.4s ease both;}
@keyframes zsp-auth-in {
from{opacity:0;transform:translateY(14px);}
to{opacity:1;transform:none;}
}
.zsp-auth-head{margin-bottom:22px;text-align:center;}
.zsp-auth-title{margin:0;font-size:24px;font-weight:700;line-height:1.3;color:#1f2733;word-break:break-word;}
.zsp-auth-subtitle{margin:8px 0 0;font-size:13.5px;line-height:1.6;color:#5c6672;}
.zsp-auth-msg{display:flex;gap:10px;margin-bottom:18px;padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.6;}
.zsp-auth-msg p{margin:0;}
.zsp-auth-msg p + p{margin-top:4px;}
.zsp-auth-msg-icon{flex:0 0 auto;margin-top:2px;}
.zsp-auth-msg-error{background:rgba(255, 95, 87, 0.12);border:1px solid rgba(255, 95, 87, 0.35);color:#b3261e;}
.zsp-auth-msg-success{background:rgba(52, 199, 89, 0.12);border:1px solid rgba(52, 199, 89, 0.35);color:#1e7a3d;}
.zsp-auth-form{display:block;}
.zsp-field{margin-bottom:16px;}
.zsp-field-label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:600;color:#2a3440;}
.zsp-input{display:block;width:100%;height:46px;margin:0;padding:0 14px;border:1px solid #d4dae2;border-radius:12px;background:#fff;font-family:inherit;font-size:15px;line-height:1.4;color:#1f2733;transition:border-color 0.15s ease, box-shadow 0.15s ease;-webkit-appearance:none;appearance:none;}
.zsp-input:focus{outline:none;border-color:#2f6fed;box-shadow:0 0 0 3px rgba(47, 111, 237, 0.18);}
.zsp-input.is-mismatch{border-color:#ff5f57;box-shadow:0 0 0 3px rgba(255, 95, 87, 0.16);}
.zsp-password{position:relative;}
.zsp-password .zsp-input{padding-right:46px;}
.zsp-password-toggle{position:absolute;top:0;right:4px;display:flex;align-items:center;justify-content:center;width:40px;height:46px;margin:0;padding:0;border:0;border-radius:10px;background:none;color:#8a94a0;cursor:pointer;transition:color 0.15s ease, background-color 0.15s ease;}
.zsp-password-toggle:hover{color:#2f6fed;background:rgba(47, 111, 237, 0.08);}
.zsp-password-toggle:focus-visible{outline:2px solid #2f6fed;outline-offset:1px;}
.zsp-password-toggle.is-visible{color:#2f6fed;}
.zsp-strength{display:flex;gap:5px;margin-top:9px;}
.zsp-strength-seg{flex:1 1 0;height:4px;border-radius:2px;background:#e2e7ee;transition:background-color 0.2s ease;}
.zsp-strength[data-level="1"] .zsp-strength-seg.is-on{background:#ff5f57;}
.zsp-strength[data-level="2"] .zsp-strength-seg.is-on{background:#ff9f0a;}
.zsp-strength[data-level="3"] .zsp-strength-seg.is-on{background:#ffd60a;}
.zsp-strength[data-level="4"] .zsp-strength-seg.is-on{background:#34c759;}
.zsp-strength-text{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:#8a94a0;}
.zsp-strength-text[data-level="1"]{color:#d0342c;}
.zsp-strength-text[data-level="2"]{color:#b56a00;}
.zsp-strength-text[data-level="3"]{color:#a08a00;}
.zsp-strength-text[data-level="4"]{color:#1e7a3d;}
.zsp-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:13.5px;}
.zsp-check{display:inline-flex;align-items:center;gap:7px;color:#3a4552;cursor:pointer;user-select:none;}
.zsp-check input{width:15px;height:15px;margin:0;accent-color:#2f6fed;cursor:pointer;}
.zsp-check-agree{align-items:flex-start;margin:-4px 0 18px;font-size:12.5px;line-height:1.7;}
.zsp-check-agree input{margin-top:3px;flex-shrink:0;}
.zsp-check-agree .zsp-auth-link{font-size:12.5px;}
.zsp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:12px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color 0.15s ease, box-shadow 0.15s ease;-webkit-appearance:none;appearance:none;}
.zsp-btn-block{width:100%;}
.zsp-btn-primary{background:#2f6fed;color:#fff;box-shadow:0 8px 22px rgba(47, 111, 237, 0.32);}
.zsp-btn-primary:hover{background:#2b63d6;}
.zsp-btn-primary:active{background:#2557c0;}
.zsp-btn:focus-visible{outline:2px solid rgba(47, 111, 237, 0.85);outline-offset:2px;}
.zsp-auth-switch{margin:18px 0 0;text-align:center;font-size:13.5px;color:#5c6672;}
.zsp-auth-switch > span{margin-right:4px;}
.zsp-auth-link{color:#2f6fed;font-weight:600;text-decoration:none;}
.zsp-auth-link:hover{text-decoration:underline;}
.zsp-auth-link:focus-visible{outline:2px solid #2f6fed;outline-offset:2px;border-radius:4px;}
.zsp-auth-muted{color:#98a2ae;}
.zsp-auth-agree{margin:14px 0 0;font-size:12px;line-height:1.7;text-align:center;color:#5c6672;}
.zsp-auth-agree .zsp-auth-link{font-size:12px;}
.zsp-auth-invalid{padding:8px 0 4px;text-align:center;}
.zsp-auth-invalid-icon{color:#ff9f0a;}
.zsp-auth-invalid p{margin:12px 0 18px;font-size:14px;line-height:1.6;color:#5c6672;}
body.dark-theme .zsp-auth-card{background:rgba(24, 28, 36, 0.92);border-color:rgba(255, 255, 255, 0.12);box-shadow:0 24px 60px rgba(0, 0, 0, 0.5);}
body.dark-theme .zsp-auth-title{color:#eef1f5;}
body.dark-theme .zsp-auth-subtitle, body.dark-theme .zsp-auth-switch, body.dark-theme .zsp-auth-invalid p{color:#9aa4b0;}
body.dark-theme .zsp-field-label{color:#cfd6de;}
body.dark-theme .zsp-input{background:rgba(16, 20, 27, 0.85);border-color:rgba(255, 255, 255, 0.16);color:#eef1f5;}
body.dark-theme .zsp-input:focus{border-color:#5c8df6;box-shadow:0 0 0 3px rgba(92, 141, 246, 0.22);}
body.dark-theme .zsp-password-toggle{color:#8a94a0;}
body.dark-theme .zsp-password-toggle:hover{color:#7ea4f8;background:rgba(92, 141, 246, 0.12);}
body.dark-theme .zsp-password-toggle.is-visible{color:#7ea4f8;}
body.dark-theme .zsp-check{color:#cfd6de;}
body.dark-theme .zsp-strength-seg{background:rgba(255, 255, 255, 0.14);}
body.dark-theme .zsp-auth-muted{color:#6f7a86;}
body.dark-theme .zsp-auth-agree{color:#9aa4b0;}
body.dark-theme .zsp-auth-msg-error{color:#ff8a80;}
body.dark-theme .zsp-auth-msg-success{color:#7ee2a0;}
body.zsp-light-overlay .zsp-auth-card{border-color:rgba(0, 0, 0, 0.08);box-shadow:0 24px 60px rgba(0, 0, 0, 0.18);}
@media(max-width:600px){
.zsp-auth-main{padding:14px 14px 30px;}
.zsp-auth-card{padding:26px 20px 22px;border-radius:18px;}
.zsp-auth-title{font-size:21px;}
.zsp-input{height:44px;font-size:16px;}
.zsp-password-toggle{height:44px;}
.zsp-btn{min-height:44px;}
} @media (max-height: 480px) {
.zsp-auth-main{align-items:flex-start;padding-top:12px;}
}
@media (prefers-reduced-motion: reduce) {
.zsp-auth-card {
animation: none;
}
.zsp-input, .zsp-btn, .zsp-password-toggle, .zsp-strength-seg {
transition: none;
}
}