/* Every public route shares these isolated shell styles and breakpoints. */
:root{--shell-bg:#f7f9f6;--shell-ink:#112c26;--shell-muted:#566e62;--shell-line:#cfdfd6;--shell-accent:#137f68;--shell-soft:#e0f2e7;--shell-pad:clamp(20px,3.8vw,64px);--shell-height:88px}
html[data-theme="dark"]{--shell-bg:#091813;--shell-ink:#e7f2e9;--shell-muted:#9fb9aa;--shell-line:#294638;--shell-accent:#9eddbb;--shell-soft:#194a35}
html{scroll-padding-top:calc(var(--shell-height) + 20px)}
.lan-header,.lan-footer,.lan-header *,.lan-footer *{box-sizing:border-box}
.lan-header,.lan-footer{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--shell-ink);font-size:14px;line-height:1.6;letter-spacing:normal;text-align:left}
.lan-header a,.lan-footer a{color:inherit;text-decoration:none;box-shadow:none}
.lan-header button,.lan-footer button{font:inherit;cursor:pointer}
.lan-header a:focus-visible,.lan-footer a:focus-visible,.lan-header button:focus-visible,.lan-footer button:focus-visible{outline:2px solid var(--shell-accent);outline-offset:4px}
.lan-skip{position:fixed;z-index:220;top:8px;left:20px;transform:translateY(-200%);padding:10px 16px;background:var(--shell-ink);color:var(--shell-bg);border-radius:8px;text-decoration:none}
.lan-skip:focus{transform:none}
.lan-header{position:sticky;top:0;z-index:100;background:var(--shell-bg);border-bottom:1px solid var(--shell-line);width:100%;margin:0;padding:0}
.lan-header-inner{min-height:var(--shell-height);width:min(100%,1536px);margin:0 auto;padding:0 var(--shell-pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.lan-brand{display:inline-flex;align-items:center;gap:11px;width:fit-content;white-space:nowrap;font-weight:650;font-size:21px;letter-spacing:-.03em}
.lan-brand img{display:block;width:34px;height:34px;max-width:none;flex:none;object-fit:contain}
.lan-primary{display:flex;align-items:center;justify-content:center;gap:28px;padding:0;margin:0}
.lan-primary>a{position:relative;font-size:13px;white-space:nowrap;padding:9px 0;color:var(--shell-ink)}
.lan-primary>a::after{content:"";position:absolute;bottom:2px;left:0;right:0;height:1px;background:var(--shell-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.lan-primary>a:hover::after,.lan-primary>a[aria-current]::after{transform:scaleX(1)}
.lan-primary>a[aria-current]{color:var(--shell-accent)}
.lan-header-actions{justify-self:end;display:flex;align-items:center;gap:16px}
.lan-contact{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--shell-line);border-radius:9px;padding:9px 16px;font-size:12px;font-weight:550;white-space:nowrap}
.lan-contact>span:last-child{font-size:20px;line-height:1}
.lan-contact:hover{background:var(--shell-soft)}
.lan-menu-toggle{display:none;position:relative;width:44px;height:44px;border:1px solid var(--shell-line);border-radius:9px;background:transparent;color:inherit;padding:13px}
.lan-menu-toggle>span{display:block;height:1px;width:17px;background:currentColor;margin:5px 0;transition:transform .2s}
.lan-mobile-settings{display:none}
.lan-theme{display:inline-flex;align-items:center;border:1px solid var(--shell-line);padding:3px;border-radius:10px;gap:2px;width:fit-content;max-width:100%}
.lan-theme>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 9px;background:transparent;border:0;border-radius:6px;font-size:11px;color:var(--shell-muted);white-space:nowrap}
.lan-theme>button>span:first-child{font-size:14px;line-height:1}
.lan-theme>button[aria-pressed="true"]{background:var(--shell-soft);color:var(--shell-ink)}
.lan-theme>button:hover{color:var(--shell-accent)}
.lan-languages{display:inline-flex;align-items:center;gap:4px}
.lan-language{border:0;border-radius:5px;color:var(--shell-muted);background:transparent;min-width:34px;min-height:34px;padding:6px 8px;font-size:12px}
.lan-language[aria-pressed="true"]{background:var(--shell-soft);color:var(--shell-ink)}
.lan-footer{width:min(100%,1536px);padding:68px var(--shell-pad) 32px;margin:0 auto;background:transparent}
.lan-footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;align-items:start;padding-bottom:48px}
.lan-footer-brand p{font-size:13px;color:var(--shell-muted);margin:20px 0 0;max-width:270px}
.lan-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding:0;margin:0}
.lan-footer-links>a{font-size:13px;min-height:25px}
.lan-footer-links>a:hover,.lan-footer-registration>a:hover{color:var(--shell-accent);text-decoration:underline;text-underline-offset:5px}
.lan-footer-contact{display:flex;align-items:flex-end;flex-direction:column;gap:10px;font-size:13px}
.lan-footer-settings{display:flex;align-items:flex-end;flex-direction:column;gap:12px;margin-top:12px}
.lan-footer-legal{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--shell-line);padding-top:24px;color:var(--shell-muted);font-size:10px;line-height:1.8}
.lan-footer-legal p{font:inherit;margin:3px 0;max-width:none;color:inherit}
.lan-footer-registration{text-align:right;flex-shrink:0}
.lan-footer-registration>a{display:inline-block;margin-left:16px}
body[data-share-route="wecom"] main{min-height:calc(100svh - var(--shell-height));padding-block:40px}
@media(max-width:1100px){.lan-primary{gap:19px}.lan-header-inner{gap:20px}.lan-brand{font-size:19px}.lan-footer-main{grid-template-columns:.9fr 1fr 1.1fr;gap:24px}}
@media(max-width:960px){:root{--shell-height:72px;--shell-pad:24px}.lan-header-inner{grid-template-columns:1fr auto}.lan-menu-toggle{display:block}.lan-header-actions{gap:12px}.lan-primary{display:none;position:absolute;left:0;right:0;top:100%;padding:20px var(--shell-pad) 26px;background:var(--shell-bg);border-bottom:1px solid var(--shell-line);box-shadow:0 20px 30px #09181312;max-height:calc(100svh - var(--shell-height));overflow:auto;align-items:stretch;gap:0}.lan-header.is-open .lan-primary{display:flex;flex-direction:column}.lan-primary>a{font-size:17px;padding:15px 0;border-bottom:1px solid var(--shell-line)}.lan-primary>a::after{display:none}.lan-primary>a[aria-current]{font-weight:600}.lan-mobile-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.lan-header.is-open .lan-menu-toggle>span:first-child{transform:translateY(3px) rotate(45deg)}.lan-header.is-open .lan-menu-toggle>span:last-child{transform:translateY(-3px) rotate(-45deg)}.lan-footer-main{grid-template-columns:1fr 1fr}.lan-footer-contact{grid-column:1/-1;align-items:flex-start;display:grid;grid-template-columns:1fr 1fr}.lan-footer-settings{grid-column:2;grid-row:1/3;justify-self:end;margin-top:0}.lan-footer-legal{flex-direction:column;gap:16px}.lan-footer-registration{text-align:left}.lan-footer-registration>a{margin:0 16px 0 0}}
@media(max-width:600px){:root{--shell-height:68px;--shell-pad:20px}.lan-brand{font-size:18px;gap:8px}.lan-brand img{width:30px;height:30px}.lan-contact{font-size:11px;padding:8px 11px;gap:10px;min-height:40px}.lan-header-actions{gap:9px}.lan-header-inner{gap:10px}.lan-menu-toggle{width:40px;height:40px;padding:11px}.lan-footer{padding-top:46px}.lan-footer-main{gap:30px;padding-bottom:30px}.lan-footer-brand{grid-column:1/-1}.lan-footer-links{grid-column:1/-1;gap:10px 28px}.lan-footer-contact{display:flex;grid-column:1/-1;gap:8px}.lan-footer-settings{align-items:flex-start;margin-top:12px;flex-direction:row;flex-wrap:wrap;gap:16px}.lan-footer-legal{font-size:10px}.lan-theme>button{padding-inline:8px}.lan-mobile-settings{flex-direction:column;align-items:flex-start}}
@media(max-width:359px){.lan-contact{display:none}.lan-footer-settings{flex-direction:column}.lan-footer{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.lan-primary>a::after,.lan-menu-toggle>span{transition:none}}
@media(max-width:960px){html:not(.js) .lan-primary{display:flex;position:static;grid-column:1/-1;flex-wrap:wrap;flex-direction:row;padding:0 0 20px;max-height:none;box-shadow:none;border:0}html:not(.js) .lan-primary>a{font-size:14px;margin-right:20px}html:not(.js) .lan-mobile-settings{display:none}html:not(.js) .lan-menu-toggle{display:none}html:not(.js) .lan-header-actions{grid-column:2;grid-row:1}}
@media print{.lan-header,.lan-footer,.lan-skip{display:none}}
