
.site-sidebar{display:block!important;position:fixed;z-index:100;top:0;left:0;width:240px;height:100vh;height:100dvh;overflow:hidden auto;-webkit-overflow-scrolling:touch}
.sidebar-inner{display:flex;flex-direction:column;width:100%;min-height:100vh;min-height:100dvh;padding:2rem 1.75rem}
.sidebar-logo{display:block;width:fit-content;color:inherit;text-decoration:none;font-size:1rem;line-height:1.2;font-weight:500;letter-spacing:-.02em}
.sidebar-nav{margin-top:4rem}
.sidebar-nav ul{margin:0;padding:0;list-style:none}
.sidebar-nav li{margin:0;padding:0}
.sidebar-nav a{display:flex;flex-direction:column;width:fit-content;padding:.35rem 0;color:inherit;text-decoration:none;line-height:1.25;transition:opacity .2s ease}
.sidebar-nav a:hover{opacity:.55}
.sidebar-nav .nav-en{font-size:.85rem;letter-spacing:.04em}
.sidebar-nav .nav-zh{margin-top:.1rem;font-size:.75rem;opacity:.55}
.sidebar-nav li.active .nav-en{opacity:1}
.sidebar-nav li.active .nav-zh{opacity:.75}
.sidebar-bottom{display:flex;flex-direction:column;margin-top:auto;padding-top:3rem}
.language-switch{display:inline-block;width:fit-content;color:inherit;text-decoration:none;font-size:.75rem;line-height:1.4;opacity:.7;transition:opacity .2s ease}
.language-switch:hover{opacity:1}
.sidebar-meta{display:flex;flex-direction:column;margin-top:1.5rem;font-size:.65rem;line-height:1.5;opacity:.45}

@media screen and (max-width:767px){
  .site-sidebar{display:none!important}
}
@media screen and (max-width:480px){
  .site-sidebar{display:none!important}
}

.mobile-header{display:none;position:relative;z-index:1000;width:100%}
.mobile-header-bar{display:flex;align-items:center;justify-content:space-between;width:100%;height:60px;padding:0 1.5rem}
.mobile-logo{display:block;width:fit-content;color:inherit;text-decoration:none;font-size:.95rem;line-height:1;font-weight:500;letter-spacing:-.02em}
.mobile-menu-button{display:flex;align-items:center;gap:.6rem;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}
.menu-label{font-size:.7rem;letter-spacing:.04em}
.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px;height:18px}
.menu-icon span{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.mobile-header.is-open .menu-icon span:first-child{transform:translateY(2.5px) rotate(45deg)}
.mobile-header.is-open .menu-icon span:last-child{transform:translateY(-2.5px) rotate(-45deg)}
.mobile-menu{position:fixed;top:60px;right:0;bottom:0;left:0;z-index:999;width:100%;background:var(--background-color,#fff);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobile-header.is-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.mobile-menu-inner{display:flex;flex-direction:column;width:100%;min-height:100%;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom,0px))}
.mobile-nav ul{margin:0;padding:0;list-style:none}
.mobile-nav li{margin:0;padding:0}
.mobile-nav a{display:flex;flex-direction:column;width:fit-content;padding:.65rem 0;color:inherit;text-decoration:none;line-height:1.25}
.mobile-nav .nav-en{font-size:1rem;letter-spacing:.04em}
.mobile-nav .nav-zh{margin-top:.1rem;font-size:.8rem;opacity:.55}
.mobile-nav li.active .nav-en{opacity:1}
.mobile-nav li.active .nav-zh{opacity:.75}
.mobile-menu-bottom{display:flex;flex-direction:column;margin-top:auto;padding-top:3rem}
.mobile-language{display:inline-block;width:fit-content;color:inherit;text-decoration:none;font-size:.8rem;opacity:.7}
.mobile-meta{margin-top:1.25rem;font-size:.65rem;opacity:.45}

@media screen and (max-width:767px){
  .mobile-header{display:block}
}
@media screen and (max-width:480px){
  .mobile-header-bar{height:56px;padding-left:1rem;padding-right:1rem}
  .mobile-menu{top:56px}
  .mobile-menu-inner{padding-left:1rem;padding-right:1rem}
}


.mobile-footer{display:none;width:100%}
.mobile-footer-inner{display:flex;flex-direction:column;width:100%;padding:3rem 1.5rem calc(3rem + env(safe-area-inset-bottom,0px))}
.footer-brand{margin:0}
.footer-logo{display:inline-block;color:inherit;text-decoration:none;font-size:.95rem;line-height:1.2;font-weight:500;letter-spacing:-.02em}
.footer-description{max-width:22rem;margin:.75rem 0 0;font-size:.75rem;line-height:1.6;opacity:.6}
.footer-nav{margin-top:3rem}
.footer-nav ul{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}
.footer-nav li{margin:0;padding:0}
.footer-nav a{display:flex;align-items:baseline;gap:.5rem;width:fit-content;color:inherit;text-decoration:none;line-height:1.5;transition:opacity .2s ease}
.footer-nav a:hover{opacity:.55}
.footer-nav .nav-en{font-size:.8rem;letter-spacing:.04em}
.footer-nav .nav-zh{font-size:.7rem;opacity:.5}
.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:3rem}
.footer-links a{color:inherit;text-decoration:none;font-size:.75rem;line-height:1.5;opacity:.7;transition:opacity .2s ease}
.footer-links a:hover{opacity:1}
.footer-meta{margin-top:2rem;font-size:.65rem;line-height:1.5;opacity:.4}

@media screen and (max-width:767px){
  .mobile-footer{display:flex}
}
@media screen and (max-width:480px){
  .mobile-footer-inner{padding-left:1rem;padding-right:1rem}
}

html,body{width:100%;min-height:100%;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none}
body{overflow-x:hidden;background:#fff;color:#3f3f3d}
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%}
img{height:auto}

.site{width:100%;min-height:100dvh}
.site-body{width:100%;min-width:0;min-height:100dvh;margin-left:240px}
.site-main{width:100%;min-width:0}
.site-content{width:100%;max-width:1600px;min-width:0;margin:0 auto;padding:2rem 4rem}

@media screen and (max-width:767px){
  .site-body{margin-left:0}
  .site-content{padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px))}
}
@media screen and (max-width:480px){
  .site-content{padding-left:1rem;padding-right:1rem}
}

