:root{--bg:#faf9f5;--bg-warm:#f3f1ea;--fg:#141413;--muted:#5e5d59;--muted-light:#8c8b85;--border:#e8e6dc;--serif:"Microsoft JhengHei", Georgia, Times, "Microsoft YaHei", "Open Sans", "Noto Sans SC", sans-serif;--sans:"Microsoft JhengHei", Georgia, Times, "Microsoft YaHei", "Open Sans", "Noto Sans SC", sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px}body{flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.page{flex:1}a{color:inherit;text-decoration:none}::selection{color:var(--fg);background:#f1ebd9}:focus-visible{outline:2px solid var(--fg);outline-offset:4px;border-radius:3px}.nav{z-index:100;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;width:100%;max-width:100%;margin:0 auto;padding:22px clamp(24px,5vw,64px);transition:background-color .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(16px)saturate(1.1);border-bottom:1px solid var(--border);background:#f8f7f4e0}.nav-logo{align-items:center;text-decoration:none;display:flex}.logo-img{width:auto;height:24px;transition:transform .3s;display:block}.nav-logo:hover .logo-img{transform:scale(1.08)}.logo-text{font-family:var(--serif);letter-spacing:-.02em;color:var(--fg);margin-left:10px;font-size:18px;font-weight:600;transition:color .3s}.nav-logo:hover .logo-text{color:var(--fg)}.nav-links{gap:36px;display:flex}.nav-links a{letter-spacing:.02em;color:var(--muted);font-size:13px;font-weight:500;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--muted-light);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--fg)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--fg)}.nav-links a.active:after{width:100%}.nav-toggle{border:1px solid var(--border);width:42px;height:42px;color:var(--fg);cursor:pointer;background:#f8f7f4eb;border-radius:50%;place-items:center;padding:0;display:none}.nav-toggle-lines{gap:4px;display:grid}.nav-toggle-lines:before,.nav-toggle-lines:after{content:"";background:currentColor;width:15px;height:1px;transition:transform .25s;display:block}.nav.menu-open .nav-toggle-lines:before{transform:translateY(2.5px)rotate(45deg)}.nav.menu-open .nav-toggle-lines:after{transform:translateY(-2.5px)rotate(-45deg)}.footer{border-top:1px solid var(--border);flex-shrink:0;margin-top:80px;padding:48px clamp(32px,6vw,80px)}.footer-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.footer-left{font-family:var(--serif);color:var(--muted);flex-direction:column;gap:8px;font-size:14px;display:flex}.footer-beian{font-family:var(--sans);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.footer-beian a{color:var(--muted-light);align-items:center;gap:4px;transition:color .3s;display:inline-flex}.footer-beian a:hover{color:var(--fg)}.gongan-icon{width:14px;height:14px;display:block}.footer-right{gap:28px;display:flex}.footer-right a{color:var(--muted);font-size:13px;transition:color .3s}.footer-right a:hover{color:var(--fg)}.reveal{opacity:0;transition:all .8s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transition:none;transform:none}}@media (width<=768px){:root{--muted:#595959;--muted-light:gray}.footer-inner{text-align:center;flex-direction:column;gap:20px}.footer-left{align-items:center}.footer-beian{justify-content:center}}@media (width<=640px){.nav{padding:14px 18px}.nav-toggle{flex:none;display:grid}.nav-links{border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);opacity:0;pointer-events:none;background:#f8f7f4f5;border-radius:18px;gap:4px;padding:10px;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:calc(100% + 8px);left:12px;right:12px;transform:translateY(-8px);box-shadow:0 18px 50px #1a1a1a14}.nav.menu-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{border-radius:12px;padding:12px 14px;display:block}.nav-links a:hover,.nav-links a.active{background:var(--bg-warm)}.nav-links a:after{display:none}.logo-text,.nav.scrolled .logo-text{opacity:1;max-width:none;margin-left:10px}}@media (width<=420px){.logo-text{display:none!important}}
