:root {
  --primary: #E8294A;
  --primary-dark: #B81E38;
  --primary-light: #FF6B82;
  --secondary: #1A1A2E;
  --accent: #FF4D6D;
}

/* 作品集 · 暗调创意风 */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: #0c0c0e; }
::-webkit-scrollbar-thumb { background: #3f3f46; }
::-webkit-scrollbar-thumb:hover { background: #fbbf24; }
::selection { background: #fbbf24; color: #0c0c0e; }

/* 作品卡片 */
.work-frame { overflow: hidden; position: relative; }
.work-frame img { transition: transform .8s cubic-bezier(.16,.84,.44,1), filter .5s ease; }
.work-frame:hover img { transform: scale(1.06); }
.work-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88), transparent 65%);
  opacity: 0; transition: opacity .45s ease;
  display: flex; align-items: flex-end; padding: 1.5rem;
}
.work-frame:hover .work-overlay { opacity: 1; }

/* 字距标题 */
.eyebrow { letter-spacing: 0.34em; text-transform: uppercase; }
.display { letter-spacing: -0.02em; }

/* 经历时间线 */
.exp-item { position: relative; padding-left: 1.75rem; }
.exp-item::before {
  content: ""; position: absolute; left: 2px; top: 7px;
  width: 9px; height: 9px; border-radius: 50%; background: #fbbf24;
}
.exp-line { position: absolute; left: 6px; top: 7px; bottom: 0; width: 1px; background: rgba(255,255,255,.15); }

/* 移动端抽屉导航 */
.nav { transition: transform .4s cubic-bezier(.16,.84,.44,1); }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 84%; max-width: 340px;
    flex-direction: column; align-items: flex-start;
    justify-content: flex-start;
    background: #0c0c0e; padding: 6rem 2rem 2rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto; gap: 1rem;
    display: flex !important;
    border-left: 1px solid rgba(251,191,36,.3);
  }
  .nav.active { transform: translateX(0); }
  .nav a { width: 100%; font-size: 1.05rem; }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.8);
    opacity: 0; visibility: hidden;
    transition: opacity .35s ease; z-index: 55;
  }
  .menu-overlay.active { opacity: 1; visibility: visible; }
  body.menu-open { overflow: hidden; }
}

/* 回到顶部 */
.back-to-top { opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.back-to-top.visible { opacity: 1; visibility: visible; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeIn .9s cubic-bezier(.16,.84,.44,1) both; }

@media print {
  header, footer, .nav, .no-print { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
