:root {
  --color-primary: #e63946;
  --color-secondary: #f4a261;
  --color-bg: #1a1a1a;
  --color-text: #f8f9fa;
  --color-footer-bg: #333;
  --color-footer-text: #ccc;
  --color-border: #555;
  --color-link-hover: #f4a261;
  --color-button-hover: #c1121f;
  --color-secondary-hover: #d97706;
  --focus-outline: var(--color-primary);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:4rem}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:999;padding:.5rem 1rem;background:var(--color-primary);color:#fff;font-weight:700;text-decoration:none;transition:top .2s}
.skip-link:focus{top:.5rem}
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}
/* 头部 */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-bg);border-bottom:2px solid var(--color-primary);padding:.5rem 0}
.header-inner{display:flex;align-items:center;justify-content:space-between;position:relative}
.brand{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;font-style:italic;color:var(--color-secondary);text-decoration:none}
.brand-icon{font-size:1.2rem;line-height:1}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;padding:8px}
.nav-toggle .hamburger-line{display:block;width:24px;height:2px;background:var(--color-text);transition:transform .3s,opacity .3s}
.nav-list{list-style:none;display:flex;gap:2rem}
.nav-list a{color:var(--color-text);text-decoration:none;font-weight:600;font-size:.95rem;padding:.25rem 0;position:relative;transition:color .2s}
.nav-list a:hover,.nav-list a:focus{color:var(--color-link-hover)}
.nav-list a[aria-current="page"]{color:var(--color-primary);border-bottom:2px solid var(--color-primary)}
.progress-bar{position:absolute;bottom:-2px;left:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));width:0%;transition:width .1s linear;transform-origin:left}
/* 底部 */
.site-footer{background:var(--color-footer-bg);padding:1.5rem 0;margin-top:4rem;font-size:.875rem}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.footer-left,.footer-center,.footer-right{color:var(--color-footer-text)}
.footer-right a{color:var(--color-secondary);text-decoration:none;margin:0 .3rem}
.footer-right a:hover{color:var(--color-primary)}
.sep{color:var(--color-border)}
/* 通用组件 */
.button{display:inline-block;padding:.6em 1.5em;background:var(--color-primary);color:#fff;font-weight:700;text-decoration:none;border:none;border-radius:0;cursor:pointer;transition:background .2s,transform .2s}
.button:hover,.button:focus{background:var(--color-button-hover);transform:scale(1.05)}
.button--secondary{background:var(--color-secondary);color:var(--color-bg)}
.button--secondary:hover{background:var(--color-secondary-hover)}
.breadcrumb{display:flex;gap:.5rem;list-style:none;padding:1rem 0;color:#999}
.breadcrumb a{color:var(--color-secondary);text-decoration:none}
.breadcrumb [aria-current="page"]{color:var(--color-text)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
/* 移动端 */
@media (max-width:768px){
  .header-inner{flex-wrap:wrap}
  .nav-toggle{display:flex}
  .nav{width:100%;display:none;position:absolute;top:100%;left:0;background:var(--color-bg);border-bottom:2px solid var(--color-primary);padding:1rem}
  .nav[data-open]{display:block}
  .nav-list{flex-direction:column;gap:1rem}
  .nav-list a{display:block;padding:.5rem 0}
  .progress-bar{top:auto}
  .footer-inner{flex-direction:column;text-align:center}
  .footer-right{order:1}
}
@media (min-width:769px){
  .nav[data-open]{display:flex}
}
