/* ================= 响应式 ================= */
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero .desc { margin: 0 auto 30px; }
  .btn-row { justify-content: center; }
  .polaroids { height: 340px; margin-top: 26px; }
  .pol-1 { right: 50%; transform: rotate(-8deg) translateX(50%); }
  .pol-2 { right: 6%; }
  .pol-3 { right: 44%; }
  .spin-badge { right: 6%; }
  .about-grid, .skills-cols { grid-template-columns: 1fr; }
  .works-grid { grid-template-columns: repeat(2, 1fr); }
  .home-links-grid { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .map-card { grid-template-columns: 1fr; }
  .map-side { border-left: none; border-top: 3px dashed var(--line); padding-left: 0; padding-top: 18px; }
  section { padding: 64px 0; }
  .nav-links {
    position: absolute; top: 66px; left: 12px; right: 12px;
    background: var(--paper); border: 3px solid var(--line); border-radius: 18px;
    box-shadow: 6px 6px 0 var(--shadow);
    flex-direction: column; padding: 12px; gap: 6px;
    display: none; z-index: 50;
  }
  .nav-links.open { display: flex; }
  .nav-links a:hover { transform: none; }
  .nav-toggle { display: block; }
}
@media (max-width: 560px) {
  .works-grid { grid-template-columns: 1fr; }
  .home-links-grid { grid-template-columns: 1fr; }
  .info-cards { grid-template-columns: 1fr 1fr; }
  .polaroids { height: 300px; }
  .pol { width: 172px; }
  .pol .pol-img { height: 116px; font-size: 50px; }
  .doodle { font-size: 22px !important; }
  .contact-card { padding: 52px 22px; }
}

/* ================= 挂件小屏适配(v2.1 从 widgets.css 归位) ================= */
@media (max-width: 640px) {
  /* 主题色快捷面板 */
  .accent-panel { right: 64px; padding: 8px 10px; gap: 6px; }
  .accent-opt { width: 22px; height: 22px; }
  /* 公告弹窗 */
  .notice-pop { padding: 10px 12px; }
  .notice-pop .np-text { font-size: 13px; }
  /* 倒计时挂件 */
  .cd-widget { right: 12px; bottom: 120px; padding: 7px 10px; max-width: 104px; }
}
