/* Shared reset, header, navigation, mobile menu and footer. */
:root{--site-gutter:38px;}
@media (max-width:768px){
body:has(> #header.open){overflow:hidden;}
body > #header::after{content:"";position:fixed;inset:var(--mobile-header-height) 0 0;z-index:101;visibility:hidden;opacity:0;pointer-events:none;backdrop-filter:blur(3px);transition:opacity 260ms,visibility 0s linear 380ms;}
body > #header.open::after{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;}
body > #header .menu{position:fixed;top:var(--mobile-header-height);right:0;left:0;z-index:102;display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - var(--mobile-header-height));padding:20px var(--site-gutter) 24px;overflow-x:hidden;overflow-y:auto;border-top:1px solid #454545;border-bottom:1px solid #454545;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:transform 240ms ease,opacity 200ms,visibility 0s linear 240ms;}
body > #header.open .menu{display:flex;visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:0s;}
body > #header .navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,560px);margin:0 auto;padding:0;}
body > #header .navigation::before, body > #header .quick::before{display:block;margin-bottom:8px;font-size:10px;line-height:18px;font-weight:700;letter-spacing:0.18em;}
body > #header .navigation::before{content:"导航菜单";grid-column:1/-1;margin-bottom:6px;padding-left:10px;border-left:3px solid var(--brand);font-size:16px;line-height:22px;font-weight:700;letter-spacing:0.02em;}
body > #header .quick::before{content:"便捷入口";grid-column:1/-1;}
body > #header .navigation a{justify-content:flex-start;min-height:48px;padding:0 14px;border:0;border-radius:6px;box-shadow:none;font-size:14px;font-weight:600;transition:color 180ms,background 180ms;}
body > #header .quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,560px);margin:20px auto 0;padding-top:16px;border-top:1px solid #454545;}
body > #header .quick a{min-height:44px;border-radius:6px;box-shadow:none;}
body > #header.open .toggle{position:relative;z-index:103;}
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
body > #header .menu, body > #header::after{transition:none;}
}
*{box-sizing:border-box;}
body{margin:0;color:#fff;background:#141414;}
a{color:inherit;text-decoration:none;}
button, input, select, textarea{font-family:inherit;}
#header{position:sticky;top:0;z-index:100;--panel:#212121;--accent:#D82434;--text:#FFFFFF;--muted:#C7C7C7;--brand:#D82434;--brand-on:#FFFFFF;--header:#141414;--nav-active:#D82434;--hero-accent:#FF9AA4;box-shadow:none;}
#header .brand{display:inline-flex;align-items:center;width:fit-content;}
#header .logo{gap:14px;}
#header .logo img{display:block;width:auto;object-fit:contain;max-width:240px;height:68px;}
#header .nav a::after{content:"";position:absolute;right:0;left:0;height:2px;border-radius:999px;opacity:0;transition:opacity 180ms;bottom:10px;}
#header .nav a.current{color:var(--brand);font-weight:700;}
#header .nav a.current::after, #header .nav a:focus-visible::after, #header .nav a:hover::after{opacity:1;}
#header .login{border:0;}
#header .shortcut{position:relative;display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,0.72);font-size:13px;line-height:18px;letter-spacing:0;transition:color 180ms;}
#header .shortcut::before{content:"";display:block;width:15px;height:15px;border:0;border-radius:0;opacity:0.86;}
#header .download::before{width:14px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cg%20fill%3D%22white%22%20transform%3D%22translate(256%20256)%20scale(0.44744320)%20translate(-511.9999694824219%20-511.9999809265137)%22%3E%3Cpath%20d%3D%22M725.333333%2043.093333L298.666667%2042.666667c-47.146667%200-85.333333%2038.186667-85.333334%2085.333333v768c0%2047.146667%2038.186667%2085.333333%2085.333334%2085.333333h426.666666c47.146667%200%2085.333333-38.186667%2085.333334-85.333333V128c0-47.146667-38.186667-84.906667-85.333334-84.906667zM725.333333%20810.666667H298.666667V213.333333h426.666666v597.333334z%20m-42.666666-256h-128V341.333333h-85.333334v213.333334h-128l170.666667%20170.666666%20170.666667-170.666666z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/24px 24px no-repeat;}
#header .help::before{width:18px;height:15px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%20%3Cg%20fill%3D%22%23FFFFFF%22%20transform%3D%22translate(256%20256)%20scale(0.46875)%20translate(-512%20-512)%22%3E%0A%20%20%3Cpath%20d%3D%22M512%2064c211.2%200%20384%20153.6%20384%20345.6V704c0%20134.4-102.4%20243.2-236.8%20256H563.2c-25.6%200-51.2-25.6-51.2-51.2s25.6-51.2%2051.2-51.2h89.6c19.2%200%2038.4%2012.8%2051.2%2032%2057.6-19.2%20102.4-64%20121.6-121.6H704c-38.4%200-64-25.6-64-64V512c0-38.4%2025.6-64%2064-64h128v-38.4C832%20262.4%20704%20128%20512%20128S192%20262.4%20192%20409.6V448h128c38.4%200%2064%2025.6%2064%2064v192c0%2038.4-25.6%2064-64%2064H192c-38.4%200-64-25.6-64-64V409.6C128%20217.6%20300.8%2064%20512%2064z%20m320%20448h-128v192h128V512zM320%20512H192v192h128V512z%22%2F%3E%0A%20%3C%2Fg%3E%0A%3C%2Fsvg%3E") center/18px 18px no-repeat;}
#header .shortcut:hover{color:var(--brand);}
#header .menu, #header .toggle{display:none;}
#header .notice{display:flex;align-items:center;gap:16px;font-size:14px;line-height:20px;font-weight:500;letter-spacing:0;overflow:hidden;}
#header .label{display:inline-flex;align-items:center;flex:0 0 auto;font-weight:700;white-space:nowrap;}
#header .label::before{content:"";display:inline-block;width:15px;height:15px;margin-right:8px;background:url("../../images/common/notice.svg") center/contain no-repeat;}
#header .viewport{position:relative;flex:1 1 auto;min-width:0;height:20px;overflow:hidden;}
#header .track{position:relative;height:100%;}
#header .item{position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:8px;max-width:100%;opacity:0;transform:translateY(8px);transition:opacity 240ms,transform 240ms;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#header .item.active{opacity:1;transform:translateY(0);}
#header .item em{font-style:normal;font-weight:700;}
@media (max-width:1280px){
:root{--site-gutter:24px;}
#header .shortcut{display:none;}
}
@media (max-width:768px){
:root{--site-gutter:12px;}
#header .actions{margin-left:auto;}
#header .login{display:none;}
#header .toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;border:0;border-radius:6px;cursor:pointer;}
#header .toggle::before{content:"";display:block;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cg%20fill%3D%22%23FFFFFF%22%20transform%3D%22translate(256%20256)%20scale(0.5964782258767054)%20translate(-512.0944976806641%20-511.87750244140625)%22%3E%3Cpath%20d%3D%22M192.037%20287.953h640.124c17.673%200%2032-14.327%2032-32s-14.327-32-32-32H192.037c-17.673%200-32%2014.327-32%2032s14.327%2032%2032%2032zM192.028%20543.17h638.608c17.673%200%2032-14.327%2032-32s-14.327-32-32-32H192.028c-17.673%200-32%2014.327-32%2032s14.327%2032%2032%2032zM832.161%20735.802H192.037c-17.673%200-32%2014.327-32%2032s14.327%2032%2032%2032h640.124c17.673%200%2032-14.327%2032-32s-14.327-32-32-32z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/19.5047619px no-repeat;}
#header.open .toggle::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cg%20fill%3D%22%23FFFFFF%22%20transform%3D%22translate(256%20256)%20scale(0.6087812211065177)%20translate(-512.1900482177734%20-514.1244964599609)%22%3E%3Cpath%20d%3D%22M846.841%20799.024l-284.839-284.839%20284.839-284.96c13.714-13.714%2013.714-36.045%200-49.759s-36.045-13.714-49.759%200l-284.839%20284.839-284.96-284.839c-13.714-13.714-36.045-13.714-49.759%200s-13.714%2036.045%200%2049.759l284.96%20284.96-284.96%20284.839c-13.714%2013.714-13.714%2036.045%200%2049.759s36.045%2013.714%2049.759%200l284.96-284.96%20284.96%20284.96c13.714%2013.714%2036.045%2013.714%2049.759%200%2013.593-13.714%2013.593-36.045-0.122-49.759z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");mask-size:15.84761905px;}
#header .navigation a, #header .quick a{display:flex;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:7px;font-size:13px;line-height:18px;font-weight:500;}
#header .notice{display:flex;gap:10px;font-size:12px;}
#header .label::before{width:13px;height:13px;margin-right:6px;}
}
#header .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:38px;padding:0 var(--site-gutter);border-bottom:1px solid rgba(255,255,255,0.08);}
#header .topbar .bulletin{height:38px;border:0;}
#header .topbar .notice{height:100%;padding:0;}
#header .topbar .item, #header .topbar .label{font-size:13px;}
#header .shortcuts{display:flex;align-items:center;gap:18px;min-height:24px;margin-left:28px;padding-left:28px;border-left:1px solid rgba(255,255,255,0.12);}
#header .shortcuts .shortcut{font-weight:500;}
#header .inner{display:grid;align-items:center;padding:0 var(--site-gutter);grid-template-columns:240px minmax(0,1fr) 190px;min-height:76px;border-bottom:0;}
#header .nav{display:flex;align-items:center;min-width:0;line-height:22px;letter-spacing:0;white-space:nowrap;justify-content:flex-end;gap:clamp(20px,2.15vw,39px);font-size:17px;font-weight:600;}
#header .nav a{position:relative;display:inline-flex;align-items:center;transition:color 180ms;min-height:76px;}
#header .actions{display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:10px;}
#header .login, #header .register{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;line-height:22px;font-weight:600;letter-spacing:0;transition:color 0.18s,background-color 0.18s;min-width:74px;min-height:36px;font-size:15px;}
@media (max-width:1280px){
#header .topbar{grid-template-columns:1fr;padding:0 var(--site-gutter);}
#header .shortcuts{display:none;}
#header .inner{grid-template-columns:210px minmax(0,1fr) 166px;min-height:72px;padding:0 var(--site-gutter);}
#header .logo img{max-width:210px;height:64px;}
#header .nav{gap:18px;font-size:14px;}
#header .nav a{min-height:72px;}
#header .login, #header .register{min-width:68px;}
}
@media (min-width:769px) and (max-width:950px){
#header .inner{grid-template-columns:175px minmax(0,1fr) 70px;}
#header .logo img{max-width:175px;height:58px;}
#header .nav{gap:8px;font-size:14px;}
#header .login{display:none;}
#header .register{min-width:64px;font-size:13px;}
#header .shortcuts{gap:12px;margin-left:18px;padding-left:18px;}
}
@media (max-width:768px){
#header{--mobile-header-height:109px;display:flex;flex-direction:column;}
#header .inner{order:1;display:flex;min-height:66px;padding:0 var(--site-gutter);}
#header .logo img{max-width:152px;height:54px;}
#header .nav{display:none;}
#header .topbar{order:0;display:block;min-height:0;padding:0;}
#header .shortcuts{display:none;}
#header .topbar .bulletin{height:auto;}
#header .topbar .notice{height:auto;min-height:42px;padding:0 var(--site-gutter);}
}
body #header .menu{background:var(--header);border-color:#454545;box-shadow:none;}
body #header .toggle{color:#fff;background:#212121;}
body #header .navigation a, body #header .quick a{color:#e2e2e2;background:#212121;}
body #header .navigation a.current{color:#fff;background:var(--brand);box-shadow:none;}
body #header :is(.navigation a,.quick a):hover{color:#141414;background:#fff;}
body #header .quick, body #header .quick::before{color:#c7c7c7;border-color:#454545;}
body #header.open .toggle{background:var(--brand);box-shadow:none;}
body > #header::after{background:rgba(0,0,0,0.66);}
body #header{background:var(--header);color:#fff;}
body #header .topbar{background:var(--header);border-color:rgba(255,255,255,0.22);}
body #header .nav a.current, body #header .nav a:hover{color:var(--nav-active);}
body #header .nav a::after{background:var(--nav-active);}
body #header .login{box-shadow:none;background:#212121;}
body #header .register{color:var(--brand-on);background:var(--brand);box-shadow:none;}
body #header .register:hover{background:#fff;color:#141414;}
body #header .login:hover{background:var(--brand);}
body #header:not(.open) .toggle:hover{background:#fff;color:#141414;}
body #header :is(a,button):focus-visible{outline:currentColor solid 2px;outline-offset:3px;}
#header .shortcut.current{color:var(--brand);}
#footer{padding:64px var(--site-gutter) 0;color:#fff;background:#141414;}
#footer .inner{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.6fr);gap:7vw;padding-bottom:48px;}
#footer .brand > img{display:block;width:230px;height:auto;}
#footer .brand > p{margin:24px 0 28px;color:#bcbcbc;font-size:14px;line-height:1.9;}
#footer .social{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 18px;}
#footer .social > strong{font-size:13px;font-weight:500;}
#footer .social > span{grid-column:1;color:#999;font-size:11px;}
#footer .networks{grid-column:2;grid-row:1/3;display:flex;gap:10px;}
#footer .networks a{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#212121;}
#footer .networks img{width:18px;height:18px;}
#footer .groups{min-width:0;/* Keep the original column spacing; remove only the last column's trailing space. */ width: calc(50% + 163px);max-width:100%;justify-self:end;}
#footer .group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:baseline;padding:12px 0 32px;}
#footer .group + .group{padding-top:32px;padding-bottom:0;border-top:1px solid #393939;}
#footer .group > strong{font-size:14px;font-weight:500;color:#999;}
#footer .links{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:22px 24px;}
#footer .links a{width:fit-content;font-size:21px;font-weight:600;line-height:1.5;}
#footer .policies .links a{font-size:16px;font-weight:400;color:#ddd;}
#footer a{transition:color 150ms,background-color 150ms;}
#footer .links a:hover{color:#d82434;}
#footer .networks a:hover{background:#d82434;}
#footer a:focus-visible{outline:#D82434 solid 2px;outline-offset:4px;}
#footer .trust{border-top:1px solid #393939;border-bottom:1px solid #393939;}
#footer .assurances{display:grid;grid-template-columns:repeat(6,max-content);justify-content:space-between;gap:24px;padding:30px 0;}
#footer .assurances > span{display:grid;grid-template-columns:32px auto;justify-content:start;align-items:center;gap:5px 12px;}
#footer .assurances strong{font-size:14px;font-weight:500;line-height:1.4;}
#footer .assurances em{grid-column:2;font-size:12px;font-style:normal;color:#999;line-height:1.4;}
#footer .icon{display:grid;place-items:center;grid-row:1/3;width:32px;height:32px;}
#footer .icon img{width:32px;height:32px;}
#footer .legal{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;color:#999;font-size:12px;line-height:1.6;}
#footer .legal p{margin:0;}
#footer .legal b{margin-right:8px;color:#d82434;font-weight:600;}
@media (max-width:1100px){
#footer .inner{gap:40px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}
#footer .groups{width:100%;}
#footer .links{grid-template-columns:repeat(2,minmax(0,1fr));}
#footer .group{grid-template-columns:1fr;gap:18px;}
#footer .assurances{grid-template-columns:repeat(3,max-content);row-gap:28px;}
}
@media (max-width:768px){
#footer{padding:40px var(--site-gutter) 0;}
#footer .inner{grid-template-columns:minmax(0,1fr);gap:36px;padding-bottom:36px;}
#footer .brand > img{width:205px;}
#footer .brand > p{margin:20px 0 24px;}
#footer .social{grid-template-columns:auto 1fr;gap:5px 24px;}
#footer .networks{justify-self:end;gap:10px;}
#footer .networks a{width:40px;height:40px;}
#footer .group{padding:0 0 24px;gap:12px;}
#footer .group + .group{padding-top:24px;}
#footer .links{gap:10px 24px;}
#footer .links a{display:flex;align-items:center;min-height:44px;font-size:19px;}
#footer .policies .links a{font-size:15px;}
#footer .assurances{grid-template-columns:repeat(2,max-content);padding:28px 0;gap:24px;}
#footer .legal{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 0 28px;font-size:11px;}
}
