    body:has(.Lin_cd-shell) .zp-main,
    body:has(.Lin_cd-shell) .blog-container {
      margin-top: 0 !important;
      padding-top: 95.63px; /* 顶栏 71.63px + 默认间距 24px */
    }
    @media all and (max-width: 991px) {
      body:has(.Lin_cd-shell) .zp-main,
      body:has(.Lin_cd-shell) .blog-container {
        margin-top: 2px !important; /* 抵消主题 body{margin:-2px} */
        padding-top: 98px; /* 移动端顶栏 74px + 默认间距 24px */
      }
    }
    body:not(:has(.zp-main)):not(:has(.blog-container)):has(.Lin_cd-shell) .Lin_cd-shell {
      padding-top: 95.63px;
      padding-bottom: 24px;
    }
    @media all and (max-width: 991px) {
      body:not(:has(.zp-main)):not(:has(.blog-container)):has(.Lin_cd-shell) .Lin_cd-shell {
        padding-top: 98px;
        padding-bottom: 24px;
      }
    }
    .Lin_cd-shell { width: 100%; flex: 1 0 auto; }
    body:has(.Lin_cd-shell) .zp-main,
    body:has(.Lin_cd-shell) .blog-container {
      background: transparent;
      box-shadow: none;
      border-radius: 0;
    }
    #Lin_countdown #app { padding-bottom: 24px; }
    #Lin_countdown button,
    #Lin_countdown input,
    #Lin_countdown select,
    #Lin_countdown textarea { font-family: inherit; font-size: inherit; }
    #Lin_countdown button {
      margin: 0;
      padding: 0;
      border: 0;
      background: none;
      color: inherit;
      font-weight: inherit;
      line-height: 1;
      box-shadow: none;
      appearance: none;
      -webkit-appearance: none;
      transform: none;
    }
    #Lin_countdown button:hover,
    #Lin_countdown button:active {
      filter: none;
      transform: none;
      box-shadow: none;
    }
    #Lin_countdown .Lin_icon-btn:hover { transform: scale(1.08); }
    #Lin_countdown .Lin_tab-btn:hover { transform: scale(0.97); }
    #Lin_countdown .Lin_filter-btn:hover { transform: scale(0.97); }
    #Lin_countdown .Lin_calendar-nav:hover { transform: none; }
    #Lin_countdown .Lin_checkin-btn:hover { transform: scale(0.97); opacity: 0.9; }
    #Lin_countdown .Lin_action-btn:hover { transform: scale(0.97); }
    #Lin_countdown .Lin_add-custom-form button:hover { transform: scale(0.97); opacity: 0.9; }
    #Lin_countdown input,
    #Lin_countdown textarea,
    #Lin_countdown select {
      margin: 0;
      padding: 0;
      border: 0;
      background: none;
      color: inherit;
      line-height: inherit;
      box-shadow: none;
      appearance: none;
      -webkit-appearance: none;
    }
    #Lin_countdown hr,
    #Lin_countdown blockquote { margin: 0; padding: 0; border: 0; font-style: normal; }
    #Lin_countdown {
      font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif;
      font-size: 16px;
      line-height: 1.5;
      color: #3e2e1f;
      transition: background 0.4s ease, color 0.4s ease;
      padding: clamp(0.5rem, 1.6vw, 1rem);
      border-radius: 18px;
    }
    #Lin_countdown,
    #Lin_countdown *,
    #Lin_countdown *::before,
    #Lin_countdown *::after {
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
    }
    #Lin_countdown h1, #Lin_countdown h2, #Lin_countdown h3,
    #Lin_countdown h4, #Lin_countdown h5, #Lin_countdown h6,
    #Lin_countdown p, #Lin_countdown ul, #Lin_countdown ol { margin: 0; padding: 0; }
    #Lin_countdown ul, #Lin_countdown ol { list-style: none; }

#Lin_countdown .Lin_none {
  display: none;
}
#Lin_countdown.Lin_font-large {
  font-size: 20px;
}
#Lin_countdown.Lin_font-large .Lin_festival-name {
  font-size: clamp(1.1rem, 2.8vw, 1.5rem);
}
#Lin_countdown.Lin_font-large .Lin_days-number {
  font-size: clamp(1.8rem, 4.4vw, 2.6rem);
}
#Lin_countdown.Lin_font-large .Lin_solar-day-text {
  font-size: clamp(0.75rem, 1.8vw, 1rem);
}
#Lin_countdown.Lin_font-large .Lin_lunar-day-text {
  font-size: clamp(0.58rem, 1.4vw, 0.72rem);
}
#Lin_countdown.Lin_theme-classic {
  background: #f5f3ef; background-image: radial-gradient(circle at 10% 20%, rgba(255, 245, 235, 0.5) 0%, #f0ebe4 90%); color: #3e2e1f;
}
#Lin_countdown.Lin_theme-classic .Lin_card {
  background: rgba(255, 255, 255, 0.88); border-color: rgba(255, 250, 240, 0.7);
}
#Lin_countdown.Lin_theme-classic .Lin_festival-card::before {
  background: linear-gradient(90deg, #d4a373, #c28b5e, #b07347);
}
#Lin_countdown.Lin_theme-classic .Lin_next-festival-card {
  background: linear-gradient(135deg, #a67c52, #8b5e3c);
}
#Lin_countdown.Lin_theme-classic .Lin_tab-btn.Lin_active, #Lin_countdown.Lin_theme-classic .Lin_filter-btn.Lin_active {
  background: #a67c52;
}
#Lin_countdown.Lin_theme-classic .Lin_days-number {
  color: #8b5e3c;
}
#Lin_countdown.Lin_theme-classic .Lin_unit-value {
  color: #4a3424;
}
#Lin_countdown.Lin_theme-classic .Lin_calendar-day.Lin_today {
  background: #a67c52;
}
#Lin_countdown.Lin_theme-classic .Lin_icon-btn {
  color: #6b4f37;
}
#Lin_countdown.Lin_theme-classic .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #b07347;
}
#Lin_countdown.Lin_theme-classic .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #5a8a5a;
}
#Lin_countdown.Lin_theme-classic .Lin_festival-marker {
  background: #d4a373;
}
#Lin_countdown.Lin_theme-classic .Lin_search-input {
  background: #fff; border-color: #e0d0c0;
}
#Lin_countdown.Lin_theme-classic .Lin_term-card::before {
  background: linear-gradient(90deg, #7c9e7c, #5a8a5a);
}
#Lin_countdown.Lin_theme-classic .Lin_term-card .Lin_days-number {
  color: #5a8a5a;
}
#Lin_countdown.Lin_theme-classic .Lin_action-btn {
  background: #f3e9dd; color: #8b5e3c;
}
#Lin_countdown.Lin_theme-classic .Lin_action-btn.Lin_primary {
  background: linear-gradient(135deg, #a67c52, #8b5e3c); color: #fff;
}
#Lin_countdown.Lin_theme-dark {
  background: #1a1512; background-image: radial-gradient(circle at 10% 20%, rgba(60, 45, 35, 0.5) 0%, #0f0c0a 90%); color: #e8ddd0;
}
#Lin_countdown.Lin_theme-dark .Lin_card {
  background: rgba(35, 28, 23, 0.9); border-color: rgba(120, 90, 60, 0.3);
}
#Lin_countdown.Lin_theme-dark h1 {
  color: #e8ddd0; border-bottom-color: #5a4433;
}
#Lin_countdown.Lin_theme-dark .Lin_today-badge {
  background: #3d2f24; color: #e8ddd0;
}
#Lin_countdown.Lin_theme-dark .Lin_subhead {
  color: #b8a08a;
}
#Lin_countdown.Lin_theme-dark .Lin_lunar-info {
  color: #b8a08a;
}
#Lin_countdown.Lin_theme-dark .Lin_tab-btn {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_tab-btn.Lin_active {
  background: #a67c52; color: #1a1512;
}
#Lin_countdown.Lin_theme-dark .Lin_filter-btn {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_filter-btn.Lin_active {
  background: #a67c52; color: #1a1512;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-card {
  background: rgba(45, 36, 28, 0.9); border-color: #4a3828;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-name {
  color: #f0e6d8;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-lunar {
  background: #3d2f24; color: #b8a08a;
}
#Lin_countdown.Lin_theme-dark .Lin_date-text {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_days-number {
  color: #c99b6e;
}
#Lin_countdown.Lin_theme-dark .Lin_countdown-box {
  background: #2a2019;
}
#Lin_countdown.Lin_theme-dark .Lin_unit-value {
  color: #e8ddd0;
}
#Lin_countdown.Lin_theme-dark .Lin_modal-content {
  background: #231c17; color: #e8ddd0;
}
#Lin_countdown.Lin_theme-dark .Lin_modal-lunar {
  background: #3d2f24; color: #b8a08a;
}
#Lin_countdown.Lin_theme-dark .Lin_modal-date {
  color: #b8a08a;
}
#Lin_countdown.Lin_theme-dark .Lin_empty-state {
  background: #231c17; color: #8a7560;
}
#Lin_countdown.Lin_theme-dark footer {
  color: #7a6a58;
}
#Lin_countdown.Lin_theme-dark .Lin_holiday-info {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_custom-item {
  background: #2a2019; border-color: #4a3828;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day {
  color: #c4b4a4;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day.Lin_other-month {
  color: #5a4a3a;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day.Lin_today {
  background: #a67c52; color: #1a1512;
}
#Lin_countdown.Lin_theme-dark .Lin_story-box {
  background: #2a2019;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-header {
  color: #e8ddd0;
}
#Lin_countdown.Lin_theme-dark .Lin_weekday-header {
  color: #a8907a;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-marker {
  background: #a67c52;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-container {
  background: #231c17;
}
#Lin_countdown.Lin_theme-dark .Lin_lunar-day-text {
  color: #8a7560;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day.Lin_today .Lin_lunar-day-text {
  color: #f0e6d8;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #c99b6e;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #8fc98f;
}
#Lin_countdown.Lin_theme-dark .Lin_icon-btn {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-card::before {
  background: linear-gradient(90deg, #a67c52, #8b5e3c, #6b4a30);
}
#Lin_countdown.Lin_theme-dark .Lin_search-input {
  background: #2a2019; color: #e8ddd0; border-color: #4a3828;
}
#Lin_countdown.Lin_theme-dark .Lin_term-card {
  background: rgba(45, 36, 28, 0.9); border-color: #4a3828;
}
#Lin_countdown.Lin_theme-dark .Lin_term-card::before {
  background: linear-gradient(90deg, #5a8a5a, #3d6b3d);
}
#Lin_countdown.Lin_theme-dark .Lin_action-btn {
  background: #2a2019; color: #d4c2b0;
}
#Lin_countdown.Lin_theme-dark .Lin_action-btn.Lin_primary {
  background: #a67c52; color: #1a1512;
}
#Lin_countdown.Lin_theme-rainbow {
  background: linear-gradient(135deg, #ffd6e0 0%, #ffe5b4 25%, #d4f1c4 50%, #b3e0ff 75%, #e0c4ff 100%); background-attachment: fixed; color: #3a2e4a;
}
#Lin_countdown.Lin_theme-rainbow .Lin_card {
  background: rgba(255, 255, 255, 0.82); border: 2px solid transparent; background-clip: padding-box; position: relative; box-shadow: 0 20px 40px -10px rgba(180, 140, 220, 0.35);
}
#Lin_countdown.Lin_theme-rainbow .Lin_card::before {
  content: ''; position: absolute; inset: -2px; border-radius: inherit; background: linear-gradient(135deg, #ff9a9e, #fad0c4, #fbc2eb, #a18cd1, #84fab0, #8fd3f4, #a6c1ee); z-index: -1; background-size: 300% 300%; animation: rainbowShift 8s ease infinite;
}
@keyframes rainbowShift {
  0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; }
}
#Lin_countdown.Lin_theme-rainbow h1 {
  color: #6a3d8f; border-bottom-color: #d4b3e8;
}
#Lin_countdown.Lin_theme-rainbow .Lin_today-badge {
  background: linear-gradient(135deg, #ffd6e0, #e0c4ff); color: #4a2d6a;
}
#Lin_countdown.Lin_theme-rainbow .Lin_tab-btn {
  background: #f0e6ff; color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_tab-btn.Lin_active {
  background: linear-gradient(135deg, #a18cd1, #fbc2eb); color: white;
}
#Lin_countdown.Lin_theme-rainbow .Lin_filter-btn {
  background: #f0e6ff; color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_filter-btn.Lin_active {
  background: linear-gradient(135deg, #a18cd1, #fbc2eb); color: white;
}
#Lin_countdown.Lin_theme-rainbow .Lin_festival-card {
  background: rgba(255, 255, 255, 0.85); border-color: #e8d5ff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_festival-card::before {
  background: linear-gradient(90deg, #ff9a9e, #fad0c4, #a18cd1, #84fab0, #8fd3f4); height: 6px; opacity: 1;
}
#Lin_countdown.Lin_theme-rainbow .Lin_festival-name {
  color: #4a2d6a;
}
#Lin_countdown.Lin_theme-rainbow .Lin_festival-lunar {
  background: #f3e8ff; color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_date-text {
  background: #f3e8ff; color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_days-number {
  color: #7a5cae;
}
#Lin_countdown.Lin_theme-rainbow .Lin_next-festival-card {
  background: linear-gradient(135deg, #ff9a9e, #a18cd1, #84fab0); background-size: 200% 200%; animation: rainbowShift 6s ease infinite;
}
#Lin_countdown.Lin_theme-rainbow .Lin_countdown-box {
  background: #f5ecff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_unit-value {
  color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_icon-btn {
  background: #f0e6ff; color: #8a5fb0;
}
#Lin_countdown.Lin_theme-rainbow .Lin_calendar-container {
  background: #faf5ff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_calendar-day.Lin_today {
  background: linear-gradient(135deg, #a18cd1, #fbc2eb); color: white;
}
#Lin_countdown.Lin_theme-rainbow .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #a18cd1; font-weight: 600;
}
#Lin_countdown.Lin_theme-rainbow .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #4a9d7a;
}
#Lin_countdown.Lin_theme-rainbow .Lin_festival-marker {
  background: #a18cd1;
}
#Lin_countdown.Lin_theme-rainbow .Lin_modal-content {
  background: #fdfaff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_modal-name {
  color: #4a2d6a;
}
#Lin_countdown.Lin_theme-rainbow .Lin_modal-lunar {
  background: #f3e8ff; color: #8a5fb0;
}
#Lin_countdown.Lin_theme-rainbow .Lin_holiday-info {
  background: #e8f8e8;
}
#Lin_countdown.Lin_theme-rainbow .Lin_story-box {
  background: #faf0ff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_action-btn {
  background: #f0e6ff; color: #6a3d8f;
}
#Lin_countdown.Lin_theme-rainbow .Lin_action-btn.Lin_primary {
  background: linear-gradient(135deg, #a18cd1, #fbc2eb); color: white;
}
#Lin_countdown.Lin_theme-rainbow footer {
  color: #a98fc9;
}
#Lin_countdown.Lin_theme-rainbow .Lin_search-input {
  background: #faf5ff; border-color: #e8d5ff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_term-card {
  background: rgba(255, 255, 255, 0.85); border-color: #e8d5ff;
}
#Lin_countdown.Lin_theme-rainbow .Lin_term-card::before {
  background: linear-gradient(90deg, #84fab0, #8fd3f4);
}
#Lin_countdown.Lin_theme-rainbow .Lin_term-card .Lin_days-number {
  color: #4a9d7a;
}
#Lin_countdown.Lin_theme-sakura {
  background: #fff0f5; background-image: radial-gradient(circle at 20% 30%, rgba(255, 200, 220, 0.6) 0%, #ffe4ec 70%); color: #6a3d4a;
}
#Lin_countdown.Lin_theme-sakura .Lin_card {
  background: rgba(255, 250, 252, 0.9); border-color: rgba(255, 200, 220, 0.6);
}
#Lin_countdown.Lin_theme-sakura h1 {
  color: #b85a7a; border-bottom-color: #f5c2d4;
}
#Lin_countdown.Lin_theme-sakura .Lin_today-badge {
  background: #fce4ec; color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_tab-btn {
  background: #fce4ec; color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_tab-btn.Lin_active {
  background: #e88ea8; color: white;
}
#Lin_countdown.Lin_theme-sakura .Lin_filter-btn {
  background: #fce4ec; color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_filter-btn.Lin_active {
  background: #e88ea8; color: white;
}
#Lin_countdown.Lin_theme-sakura .Lin_festival-card {
  background: rgba(255, 248, 251, 0.92); border-color: #fce4ec;
}
#Lin_countdown.Lin_theme-sakura .Lin_festival-card::before {
  background: linear-gradient(90deg, #f8bbd0, #f48fb1, #ec407a);
}
#Lin_countdown.Lin_theme-sakura .Lin_festival-name {
  color: #6a3d4a;
}
#Lin_countdown.Lin_theme-sakura .Lin_festival-lunar {
  background: #fce4ec; color: #9c3f5e;
}
#Lin_countdown.Lin_theme-sakura .Lin_date-text {
  background: #fce4ec; color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_days-number {
  color: #d85a7a;
}
#Lin_countdown.Lin_theme-sakura .Lin_next-festival-card {
  background: linear-gradient(135deg, #f8bbd0, #ec407a);
}
#Lin_countdown.Lin_theme-sakura .Lin_countdown-box {
  background: #fce4ec;
}
#Lin_countdown.Lin_theme-sakura .Lin_unit-value {
  color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_icon-btn {
  background: #fce4ec; color: #b85a7a;
}
#Lin_countdown.Lin_theme-sakura .Lin_calendar-container {
  background: #fff5f8;
}
#Lin_countdown.Lin_theme-sakura .Lin_calendar-day.Lin_today {
  background: #ec407a; color: white;
}
#Lin_countdown.Lin_theme-sakura .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #d85a7a; font-weight: 600;
}
#Lin_countdown.Lin_theme-sakura .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #5a9d78;
}
#Lin_countdown.Lin_theme-sakura .Lin_festival-marker {
  background: #f48fb1;
}
#Lin_countdown.Lin_theme-sakura .Lin_modal-content {
  background: #fffafc;
}
#Lin_countdown.Lin_theme-sakura .Lin_modal-name {
  color: #6a3d4a;
}
#Lin_countdown.Lin_theme-sakura .Lin_modal-lunar {
  background: #fce4ec; color: #b85a7a;
}
#Lin_countdown.Lin_theme-sakura .Lin_holiday-info {
  background: #e8f8e8;
}
#Lin_countdown.Lin_theme-sakura .Lin_story-box {
  background: #fff0f5;
}
#Lin_countdown.Lin_theme-sakura .Lin_action-btn {
  background: #fce4ec; color: #a84a6a;
}
#Lin_countdown.Lin_theme-sakura .Lin_action-btn.Lin_primary {
  background: #ec407a; color: white;
}
#Lin_countdown.Lin_theme-sakura footer {
  color: #c98fa5;
}
#Lin_countdown.Lin_theme-sakura .Lin_search-input {
  background: #fff5f8; border-color: #fce4ec;
}
#Lin_countdown.Lin_theme-sakura .Lin_term-card {
  background: rgba(255, 248, 251, 0.92); border-color: #fce4ec;
}
#Lin_countdown.Lin_theme-sakura .Lin_term-card::before {
  background: linear-gradient(90deg, #a8d8b9, #7cbf8e);
}
#Lin_countdown.Lin_theme-ocean {
  background: #e3f2fd; background-image: radial-gradient(circle at 30% 20%, rgba(179, 229, 252, 0.7) 0%, #bbdefb 70%); color: #1a3a5c;
}
#Lin_countdown.Lin_theme-ocean .Lin_card {
  background: rgba(250, 253, 255, 0.92); border-color: rgba(144, 202, 249, 0.6);
}
#Lin_countdown.Lin_theme-ocean h1 {
  color: #1565c0; border-bottom-color: #90caf9;
}
#Lin_countdown.Lin_theme-ocean .Lin_today-badge {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_tab-btn {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_tab-btn.Lin_active {
  background: #2196f3; color: white;
}
#Lin_countdown.Lin_theme-ocean .Lin_filter-btn {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_filter-btn.Lin_active {
  background: #2196f3; color: white;
}
#Lin_countdown.Lin_theme-ocean .Lin_festival-card {
  background: rgba(248, 252, 255, 0.95); border-color: #e3f2fd;
}
#Lin_countdown.Lin_theme-ocean .Lin_festival-card::before {
  background: linear-gradient(90deg, #64b5f6, #2196f3, #1976d2);
}
#Lin_countdown.Lin_theme-ocean .Lin_festival-name {
  color: #1a3a5c;
}
#Lin_countdown.Lin_theme-ocean .Lin_festival-lunar {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_date-text {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_days-number {
  color: #1976d2;
}
#Lin_countdown.Lin_theme-ocean .Lin_next-festival-card {
  background: linear-gradient(135deg, #42a5f5, #1565c0);
}
#Lin_countdown.Lin_theme-ocean .Lin_countdown-box {
  background: #e3f2fd;
}
#Lin_countdown.Lin_theme-ocean .Lin_unit-value {
  color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_icon-btn {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_calendar-container {
  background: #f0f8ff;
}
#Lin_countdown.Lin_theme-ocean .Lin_calendar-day.Lin_today {
  background: #2196f3; color: white;
}
#Lin_countdown.Lin_theme-ocean .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #1976d2; font-weight: 600;
}
#Lin_countdown.Lin_theme-ocean .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #00796b;
}
#Lin_countdown.Lin_theme-ocean .Lin_festival-marker {
  background: #64b5f6;
}
#Lin_countdown.Lin_theme-ocean .Lin_modal-content {
  background: #fafdff;
}
#Lin_countdown.Lin_theme-ocean .Lin_modal-name {
  color: #1a3a5c;
}
#Lin_countdown.Lin_theme-ocean .Lin_modal-lunar {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_holiday-info {
  background: #e8f8e8;
}
#Lin_countdown.Lin_theme-ocean .Lin_story-box {
  background: #f0f8ff;
}
#Lin_countdown.Lin_theme-ocean .Lin_action-btn {
  background: #e3f2fd; color: #1565c0;
}
#Lin_countdown.Lin_theme-ocean .Lin_action-btn.Lin_primary {
  background: #2196f3; color: white;
}
#Lin_countdown.Lin_theme-ocean footer {
  color: #6a9fd0;
}
#Lin_countdown.Lin_theme-ocean .Lin_search-input {
  background: #f0f8ff; border-color: #bbdefb;
}
#Lin_countdown.Lin_theme-ocean .Lin_term-card {
  background: rgba(248, 252, 255, 0.95); border-color: #e3f2fd;
}
#Lin_countdown.Lin_theme-ocean .Lin_term-card::before {
  background: linear-gradient(90deg, #4db6ac, #26a69a);
}
#Lin_countdown.Lin_theme-forest {
  background: #e8f5e9; background-image: radial-gradient(circle at 20% 30%, rgba(200, 230, 201, 0.7) 0%, #c8e6c9 70%); color: #1a3a1a;
}
#Lin_countdown.Lin_theme-forest .Lin_card {
  background: rgba(250, 255, 250, 0.92); border-color: rgba(165, 214, 167, 0.6);
}
#Lin_countdown.Lin_theme-forest h1 {
  color: #2e7d32; border-bottom-color: #a5d6a7;
}
#Lin_countdown.Lin_theme-forest .Lin_today-badge {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_tab-btn {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_tab-btn.Lin_active {
  background: #4caf50; color: white;
}
#Lin_countdown.Lin_theme-forest .Lin_filter-btn {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_filter-btn.Lin_active {
  background: #4caf50; color: white;
}
#Lin_countdown.Lin_theme-forest .Lin_festival-card {
  background: rgba(248, 255, 248, 0.95); border-color: #e8f5e9;
}
#Lin_countdown.Lin_theme-forest .Lin_festival-card::before {
  background: linear-gradient(90deg, #81c784, #4caf50, #2e7d32);
}
#Lin_countdown.Lin_theme-forest .Lin_festival-name {
  color: #1a3a1a;
}
#Lin_countdown.Lin_theme-forest .Lin_festival-lunar {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_date-text {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_days-number {
  color: #388e3c;
}
#Lin_countdown.Lin_theme-forest .Lin_next-festival-card {
  background: linear-gradient(135deg, #66bb6a, #2e7d32);
}
#Lin_countdown.Lin_theme-forest .Lin_countdown-box {
  background: #e8f5e9;
}
#Lin_countdown.Lin_theme-forest .Lin_unit-value {
  color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_icon-btn {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_calendar-container {
  background: #f0f8f0;
}
#Lin_countdown.Lin_theme-forest .Lin_calendar-day.Lin_today {
  background: #4caf50; color: white;
}
#Lin_countdown.Lin_theme-forest .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  color: #388e3c; font-weight: 600;
}
#Lin_countdown.Lin_theme-forest .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_festival-marker {
  background: #81c784;
}
#Lin_countdown.Lin_theme-forest .Lin_modal-content {
  background: #fafffa;
}
#Lin_countdown.Lin_theme-forest .Lin_modal-name {
  color: #1a3a1a;
}
#Lin_countdown.Lin_theme-forest .Lin_modal-lunar {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_holiday-info {
  background: #e8f8e8;
}
#Lin_countdown.Lin_theme-forest .Lin_story-box {
  background: #f0f8f0;
}
#Lin_countdown.Lin_theme-forest .Lin_action-btn {
  background: #e8f5e9; color: #2e7d32;
}
#Lin_countdown.Lin_theme-forest .Lin_action-btn.Lin_primary {
  background: #4caf50; color: white;
}
#Lin_countdown.Lin_theme-forest footer {
  color: #6aa06a;
}
#Lin_countdown.Lin_theme-forest .Lin_search-input {
  background: #f0f8f0; border-color: #a5d6a7;
}
#Lin_countdown.Lin_theme-forest .Lin_term-card {
  background: rgba(248, 255, 248, 0.95); border-color: #e8f5e9;
}
#Lin_countdown.Lin_theme-forest .Lin_term-card::before {
  background: linear-gradient(90deg, #66bb6a, #43a047);
}
#Lin_countdown #app {
  width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(0.25rem, 1vw, 0.5rem);
}
#Lin_countdown .Lin_card {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: 0 20px 35px -8px rgba(0, 0, 0, 0.12), 0 8px 18px -6px rgba(0, 0, 0, 0.05);
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid;
  transition: padding 0.2s, background 0.4s, border-color 0.4s;
}
#Lin_countdown .Lin_top-bar {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem;
  padding-bottom: clamp(0.4rem, 1vw, 0.6rem); border-bottom: 2px dashed;
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem); transition: border-color 0.4s;
}
#Lin_countdown h1 {
  font-size: clamp(1.2rem, 3.5vw, 2rem); font-weight: 550; letter-spacing: 0.5px;
  display: flex; align-items: center; gap: clamp(0.4rem, 1vw, 0.75rem);
  transition: color 0.4s;
}
#Lin_countdown h1 span {
  font-size: clamp(1.1rem, 3vw, 1.8rem);
}
#Lin_countdown .Lin_top-actions {
  display: flex; gap: 0.4rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_icon-btn {
  border: none; border-radius: 50%;
  width: clamp(2rem, 4vw, 2.5rem); height: clamp(2rem, 4vw, 2.5rem);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  font-size: clamp(0.9rem, 2vw, 1.1rem); transition: all 0.2s;
}
#Lin_countdown .Lin_icon-btn:hover {
  transform: scale(1.08);
}
#Lin_countdown .Lin_search-bar {
  display: flex; gap: 0.5rem; margin-bottom: clamp(0.6rem, 1.8vw, 1rem);
  align-items: center;
}
#Lin_countdown .Lin_search-input {
  flex: 1;
  padding: clamp(0.4rem, 1.2vw, 0.6rem) clamp(0.8rem, 2vw, 1.2rem);
  border-radius: 40px;
  border: 1px solid;
  font-size: clamp(0.75rem, 1.7vw, 0.9rem);
  outline: none;
  transition: all 0.2s;
}
#Lin_countdown .Lin_search-input:focus {
  border-color: #a67c52;
}
#Lin_countdown .Lin_search-clear {
  background: none; border: none; cursor: pointer;
  font-size: 1.2rem; opacity: 0.6;
  padding: 0.2rem 0.5rem;
  border-radius: 50%;
  transition: all 0.2s;
}
#Lin_countdown .Lin_search-clear:hover {
  opacity: 1; background: rgba(0,0,0,0.06);
}
#Lin_countdown .Lin_year-stats {
  display: flex; gap: clamp(0.4rem, 1.5vw, 0.8rem); flex-wrap: wrap;
  margin-bottom: clamp(0.6rem, 1.8vw, 1rem);
  padding: clamp(0.5rem, 1.5vw, 0.8rem);
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1rem;
  font-size: clamp(0.65rem, 1.5vw, 0.8rem);
}
#Lin_countdown.Lin_theme-dark .Lin_year-stats {
  background: rgba(60, 45, 30, 0.5);
}
#Lin_countdown .Lin_stat-item {
  display: flex; align-items: center; gap: 0.3rem;
  padding: 0.2rem 0.6rem;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 20px;
  white-space: nowrap;
}
#Lin_countdown.Lin_theme-dark .Lin_stat-item {
  background: rgba(80, 60, 40, 0.6);
}
#Lin_countdown .Lin_stat-value {
  font-weight: 600;
}
#Lin_countdown .Lin_progress-bar {
  width: 100%; height: 6px; border-radius: 3px;
  background: rgba(0,0,0,0.1);
  overflow: hidden;
  margin-top: 0.3rem;
}
#Lin_countdown .Lin_progress-fill {
  height: 100%; background: linear-gradient(90deg, #a67c52, #d4a373);
  border-radius: 3px;
  transition: width 0.3s;
}
#Lin_countdown .Lin_subhead {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem); font-size: clamp(0.75rem, 1.7vw, 0.95rem);
  flex-wrap: wrap; gap: 0.5rem; transition: color 0.4s;
}
#Lin_countdown .Lin_today-badge {
  border-radius: 30px;
  padding: clamp(0.25rem, 0.8vw, 0.45rem) clamp(0.7rem, 1.8vw, 1.2rem);
  font-size: clamp(0.65rem, 1.5vw, 0.85rem); font-weight: 500;
  box-shadow: inset 0 1px 4px rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.05);
  white-space: nowrap; transition: background 0.4s, color 0.4s;
}
#Lin_countdown .Lin_lunar-info {
  font-size: clamp(0.7rem, 1.6vw, 0.85rem); font-weight: 450; transition: color 0.4s;
}
#Lin_countdown .Lin_tab-bar {
  display: flex; gap: 0.4rem; margin-bottom: clamp(0.8rem, 2vw, 1.2rem); flex-wrap: wrap;
}
#Lin_countdown .Lin_tab-btn {
  border: none; padding: clamp(0.3rem, 0.9vw, 0.5rem) clamp(0.7rem, 1.8vw, 1.1rem);
  border-radius: 40px; font-size: clamp(0.7rem, 1.6vw, 0.85rem); font-weight: 500;
  cursor: pointer; transition: all 0.3s; white-space: nowrap;
}
#Lin_countdown .Lin_tab-btn:hover {
  transform: scale(0.97);
}
#Lin_countdown .Lin_filter-bar {
  display: flex; flex-wrap: wrap; gap: clamp(0.3rem, 1vw, 0.5rem); margin-bottom: clamp(0.8rem, 2vw, 1.2rem);
}
#Lin_countdown .Lin_filter-btn {
  border: none; padding: clamp(0.3rem, 0.9vw, 0.5rem) clamp(0.6rem, 1.6vw, 1rem);
  border-radius: 40px; font-size: clamp(0.65rem, 1.5vw, 0.8rem); font-weight: 500;
  cursor: pointer; transition: all 0.3s; white-space: nowrap;
}
#Lin_countdown .Lin_filter-btn:hover {
  transform: scale(0.97);
}
#Lin_countdown .Lin_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: clamp(0.6rem, 1.8vw, 1.1rem);
}
#Lin_countdown .Lin_festival-card {
  backdrop-filter: blur(4px);
  border-radius: clamp(1.2rem, 2.5vw, 1.8rem);
  padding: clamp(0.8rem, 2vw, 1.2rem);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.03), 0 2px 8px rgba(80, 60, 40, 0.05);
  border: 1px solid;
  transition: transform 0.2s, box-shadow 0.2s, background 0.4s, border-color 0.4s;
  display: flex; flex-direction: column; position: relative; overflow: hidden; cursor: pointer;
}
#Lin_countdown .Lin_festival-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 28px -12px rgba(80, 60, 40, 0.2), 0 4px 12px rgba(0, 0, 0, 0.03);
}
#Lin_countdown .Lin_festival-card:active {
  transform: scale(0.98);
}
#Lin_countdown .Lin_festival-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%;
  height: clamp(4px, 0.8vw, 6px); opacity: 0.8;
}
#Lin_countdown .Lin_festival-name {
  font-size: clamp(0.95rem, 2.4vw, 1.3rem); font-weight: 550;
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.3rem 0.5rem;
  margin-bottom: 0.15rem; line-height: 1.3; transition: color 0.4s;
}
#Lin_countdown .Lin_festival-lunar {
  font-size: clamp(0.58rem, 1.4vw, 0.72rem);
  padding: 0.15rem clamp(0.4rem, 1.3vw, 0.7rem); border-radius: 50px;
  display: inline-block; align-self: flex-start; margin-bottom: 0.4rem;
  transition: background 0.4s, color 0.4s;
}
#Lin_countdown .Lin_countdown-wrapper {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-top: auto; border-top: 1px solid #efe2d6;
  padding-top: clamp(0.4rem, 1.3vw, 0.8rem);
  margin-top: clamp(0.4rem, 1.3vw, 0.8rem); gap: 0.4rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_days-number {
  font-size: clamp(1.5rem, 3.8vw, 2.2rem); font-weight: 600; line-height: 1;
  letter-spacing: -1px; transition: color 0.4s;
}
#Lin_countdown .Lin_days-label {
  font-size: clamp(0.65rem, 1.5vw, 0.85rem); margin-left: 0.15rem;
}
#Lin_countdown .Lin_date-text {
  font-size: clamp(0.6rem, 1.4vw, 0.8rem);
  padding: clamp(0.15rem, 0.7vw, 0.3rem) clamp(0.4rem, 1.3vw, 0.8rem);
  border-radius: 30px; font-weight: 450; white-space: nowrap;
  transition: background 0.4s, color 0.4s;
}
#Lin_countdown .Lin_today-tag {
  font-size: clamp(0.5rem, 1.2vw, 0.7rem);
  font-weight: 600; padding: 0.1rem clamp(0.35rem, 0.9vw, 0.6rem); border-radius: 40px;
}
#Lin_countdown .Lin_holiday-tag {
  background: #7c9e7c; color: white; font-size: clamp(0.5rem, 1.2vw, 0.7rem);
  font-weight: 600; padding: 0.1rem clamp(0.35rem, 0.9vw, 0.6rem);
  border-radius: 40px; margin-left: 0.3rem;
}
#Lin_countdown .Lin_term-tag {
  background: #7c9e7c; color: white; font-size: clamp(0.5rem, 1.2vw, 0.7rem);
  font-weight: 600; padding: 0.1rem clamp(0.35rem, 0.9vw, 0.6rem);
  border-radius: 40px; margin-left: 0.3rem;
}
#Lin_countdown .Lin_term-card {
  backdrop-filter: blur(4px);
  border-radius: clamp(1.2rem, 2.5vw, 1.8rem);
  padding: clamp(0.8rem, 2vw, 1.2rem);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.03);
  border: 1px solid;
  transition: transform 0.2s, background 0.4s;
  display: flex; flex-direction: column; position: relative; overflow: hidden; cursor: pointer;
}
#Lin_countdown .Lin_term-card:hover {
  transform: translateY(-3px);
}
#Lin_countdown .Lin_term-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%;
  height: clamp(4px, 0.8vw, 6px); opacity: 0.8;
}
#Lin_countdown .Lin_term-name {
  font-size: clamp(0.95rem, 2.4vw, 1.3rem); font-weight: 550;
  margin-bottom: 0.3rem;
}
#Lin_countdown .Lin_term-date {
  font-size: clamp(0.6rem, 1.4vw, 0.75rem);
  opacity: 0.75; margin-bottom: 0.5rem;
}
#Lin_countdown .Lin_term-desc {
  font-size: clamp(0.6rem, 1.4vw, 0.75rem);
  line-height: 1.5; opacity: 0.85;
}
#Lin_countdown .Lin_term-name {
  display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_term-current-tag {
  font-size: 0.62rem; padding: 0.08rem 0.4rem; border-radius: 999px;
  background: #5a8a5a; color: #fff; font-weight: 400;
}
#Lin_countdown .Lin_term-life-tip {
  font-size: clamp(0.58rem, 1.3vw, 0.72rem);
  line-height: 1.45; margin-top: 0.45rem; padding-top: 0.45rem;
  border-top: 1px dashed rgba(124, 158, 124, 0.35); opacity: 0.8;
}
#Lin_countdown .Lin_term-life-meta {
  display: flex; flex-wrap: wrap; gap: 0.1rem 0.75rem;
  font-size: clamp(0.56rem, 1.25vw, 0.68rem);
  line-height: 1.5; opacity: 0.72; margin-top: 0.3rem;
}
#Lin_countdown .Lin_term-life-meta > span {
  display: inline-flex; gap: 0.25rem;
}
#Lin_countdown .Lin_calendar-day .Lin_lunar-day-text.Lin_festival-day-text {
  color: #b07347; font-weight: 600;
}
#Lin_countdown.Lin_theme-dark .Lin_calendar-day .Lin_lunar-day-text.Lin_festival-day-text {
  color: #e0b184;
}
#Lin_countdown .Lin_next-festival-card {
  color: #fff;
  border-radius: clamp(1.2rem, 2.5vw, 1.6rem);
  padding: clamp(1rem, 2.5vw, 1.3rem) clamp(1.2rem, 3vw, 1.8rem);
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem);
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 0.8rem;
  box-shadow: 0 10px 25px -8px rgba(166, 124, 82, 0.4);
  cursor: pointer; transition: transform 0.2s, background 0.4s;
}
#Lin_countdown .Lin_next-festival-card:hover {
  transform: translateY(-2px);
}
#Lin_countdown .Lin_next-label {
  font-size: clamp(0.65rem, 1.5vw, 0.8rem); opacity: 0.9; letter-spacing: 1px; text-transform: uppercase;
}
#Lin_countdown .Lin_next-name {
  font-size: clamp(1.3rem, 3.5vw, 1.7rem); font-weight: 600; margin-top: 0.2rem;
}
#Lin_countdown .Lin_next-countdown {
  font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 700; font-variant-numeric: tabular-nums;
}
#Lin_countdown .Lin_next-days-label {
  font-size: clamp(0.75rem, 1.8vw, 1rem); font-weight: 400; opacity: 0.9;
}
#Lin_countdown .Lin_empty-state {
  text-align: center; padding: clamp(2rem, 5vw, 3rem) 1rem;
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  border-radius: clamp(1.2rem, 2.5vw, 2rem); border: 1px dashed;
  transition: background 0.4s, color 0.4s;
}
#Lin_countdown .Lin_modal-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(30, 20, 12, 0.5); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px); display: flex; align-items: center;
  justify-content: center; padding: clamp(0.75rem, 3vw, 1.5rem);
  animation: fadeIn 0.25s ease;
}
@keyframes fadeIn {
  from { opacity: 0; } to { opacity: 1; }
}
#Lin_countdown .Lin_modal-content {
  border-radius: clamp(1.5rem, 3vw, 2.2rem);
  max-width: 500px; width: 100%; padding: clamp(1.2rem, 4vw, 1.8rem);
  box-shadow: 0 30px 50px -12px rgba(40, 25, 10, 0.4);
  text-align: center; animation: slideUp 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);
  position: relative; max-height: 90vh; overflow-y: auto;
  transition: background 0.4s, color 0.4s;
}
@keyframes slideUp {
  from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; }
}
#Lin_countdown .Lin_modal-close {
  position: absolute; top: clamp(0.6rem, 2vw, 1.1rem); right: clamp(0.6rem, 2vw, 1.3rem);
  background: none; border: none; font-size: clamp(1.5rem, 4vw, 1.8rem);
  cursor: pointer; color: #b9a48e; width: clamp(1.8rem, 4vw, 2.2rem);
  height: clamp(1.8rem, 4vw, 2.2rem); display: flex; align-items: center;
  justify-content: center; border-radius: 50%; z-index: 2;
}
#Lin_countdown .Lin_modal-close:hover {
  background: rgba(0,0,0,0.06);
}
#Lin_countdown .Lin_modal-icon {
  font-size: clamp(2.2rem, 7vw, 2.8rem); display: block; line-height: 1.2;
}
#Lin_countdown .Lin_modal-name {
  font-size: clamp(1.4rem, 4vw, 1.8rem); font-weight: 550; margin-bottom: 0.2rem;
}
#Lin_countdown .Lin_modal-lunar {
  font-size: clamp(0.75rem, 1.8vw, 0.9rem);
  display: inline-block; padding: 0.2rem clamp(0.8rem, 2vw, 1.2rem);
  border-radius: 40px; margin-bottom: 0.4rem;
}
#Lin_countdown .Lin_modal-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 0.6rem; margin-bottom: 0.4rem;
}
#Lin_countdown .Lin_modal-head-text { min-width: 0; }
#Lin_countdown .Lin_modal-head-text .Lin_modal-lunar { margin-bottom: 0; }
#Lin_countdown .Lin_modal-mail-btn {
  display: inline-flex; align-items: center; gap: 0.3rem;
  flex: none; white-space: nowrap;
  padding: 0.4rem 0.8rem;
  border: none; border-radius: 40px;
  background: linear-gradient(135deg, #c2410c, #a83a08);
  color: #fff;
  font-size: clamp(0.7rem, 1.6vw, 0.85rem);
  font-family: inherit; font-weight: 600; line-height: 1.3;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(162, 65, 12, 0.3);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
#Lin_countdown .Lin_modal-mail-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(162, 65, 12, 0.38);
}
#Lin_countdown .Lin_modal-mail-btn:active { transform: translateY(0); }
#Lin_countdown .Lin_modal-mail-icon { font-size: 1.05em; line-height: 1; }
#Lin_countdown .Lin_modal-mail-btn.Lin_modal_mail_btn_on {
  background: linear-gradient(135deg, #4a7c4a, #3a6339);
  box-shadow: 0 3px 8px rgba(58, 99, 57, 0.3);
}
#Lin_countdown .Lin_modal-mail-btn.Lin_modal_mail_btn_on:hover {
  box-shadow: 0 6px 14px rgba(58, 99, 57, 0.38);
}
#Lin_countdown.Lin_theme-dark .Lin_modal-mail-btn {
  background: linear-gradient(135deg, #c2410c, #8f3407);
  color: #fff;
}
#Lin_countdown.Lin_theme-dark .Lin_modal-mail-btn.Lin_modal_mail_btn_on {
  background: linear-gradient(135deg, #4a7c4a, #35603a);
}
#Lin_countdown .Lin_modal-date {
  font-size: clamp(0.85rem, 2vw, 1rem); margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);
}
#Lin_countdown .Lin_countdown-box {
  border-radius: clamp(1.2rem, 2.5vw, 1.8rem);
  padding: clamp(0.8rem, 2.5vw, 1.2rem) clamp(0.5rem, 2vw, 1rem);
  margin-bottom: clamp(0.8rem, 2vw, 1.2rem); transition: background 0.4s;
}
#Lin_countdown .Lin_countdown-title {
  font-size: clamp(0.6rem, 1.5vw, 0.8rem); text-transform: uppercase;
  letter-spacing: clamp(2px, 0.5vw, 3px);
  margin-bottom: clamp(0.4rem, 1.5vw, 0.7rem); font-weight: 500; opacity: 0.75;
}
#Lin_countdown .Lin_countdown-units {
  display: flex; align-items: baseline; justify-content: center; gap: clamp(0.2rem, 1vw, 0.5rem);
}
#Lin_countdown .Lin_unit {
  display: flex; flex-direction: column; align-items: center; min-width: clamp(38px, 12vw, 55px);
}
#Lin_countdown .Lin_unit-value {
  font-size: clamp(1.3rem, 5vw, 2.2rem); font-weight: 600; line-height: 1.2;
  font-variant-numeric: tabular-nums; transition: color 0.4s;
}
#Lin_countdown .Lin_unit-label {
  font-size: clamp(0.55rem, 1.5vw, 0.7rem); font-weight: 500; margin-top: 0.1rem; opacity: 0.75;
}
#Lin_countdown .Lin_separator {
  font-size: clamp(1.2rem, 4vw, 1.8rem); font-weight: 300; line-height: 1; align-self: center; opacity: 0.5;
}
#Lin_countdown .Lin_holiday-info {
  border-radius: clamp(0.8rem, 2vw, 1rem);
  padding: clamp(0.6rem, 1.8vw, 0.9rem); margin-bottom: clamp(0.6rem, 1.8vw, 0.9rem);
  font-size: clamp(0.7rem, 1.7vw, 0.85rem); text-align: left;
}
#Lin_countdown .Lin_holiday-info strong {
  font-weight: 600;
}
#Lin_countdown .Lin_story-box {
  border-radius: clamp(0.8rem, 2vw, 1rem);
  padding: clamp(0.7rem, 2vw, 0.9rem); margin-bottom: clamp(0.6rem, 1.8vw, 0.9rem);
  font-size: clamp(0.7rem, 1.7vw, 0.85rem); text-align: left; line-height: 1.6;
}
#Lin_countdown .Lin_story-title {
  font-weight: 600; margin-bottom: 0.3rem; font-size: clamp(0.75rem, 1.8vw, 0.9rem);
}
#Lin_countdown .Lin_blessing-box {
  border-radius: clamp(0.8rem, 2vw, 1rem);
  padding: clamp(0.6rem, 1.8vw, 0.9rem);
  margin-bottom: clamp(0.6rem, 1.8vw, 0.9rem);
  font-size: clamp(0.7rem, 1.7vw, 0.9rem);
  text-align: center; font-style: italic; line-height: 1.5;
  background: rgba(255, 240, 220, 0.5);
}
#Lin_countdown.Lin_theme-dark .Lin_blessing-box {
  background: rgba(60, 45, 30, 0.5);
}
#Lin_countdown.Lin_theme-rainbow .Lin_blessing-box {
  background: rgba(240, 230, 255, 0.6);
}
#Lin_countdown.Lin_theme-sakura .Lin_blessing-box {
  background: rgba(255, 230, 240, 0.6);
}
#Lin_countdown.Lin_theme-ocean .Lin_blessing-box {
  background: rgba(220, 240, 255, 0.6);
}
#Lin_countdown.Lin_theme-forest .Lin_blessing-box {
  background: rgba(230, 250, 230, 0.6);
}
#Lin_countdown .Lin_culture-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  margin-bottom: clamp(0.6rem, 1.8vw, 0.9rem);
}
#Lin_countdown .Lin_culture-item {
  padding: clamp(0.5rem, 1.5vw, 0.8rem);
  border-radius: 0.8rem;
  background: rgba(255, 240, 220, 0.5);
  text-align: left;
  font-size: clamp(0.65rem, 1.5vw, 0.8rem);
}
#Lin_countdown.Lin_theme-dark .Lin_culture-item {
  background: rgba(60, 45, 30, 0.5);
}
#Lin_countdown .Lin_culture-label {
  font-weight: 600; margin-bottom: 0.2rem; font-size: clamp(0.7rem, 1.6vw, 0.85rem);
}
#Lin_countdown .Lin_action-btns {
  display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-top: clamp(0.6rem, 2vw, 1rem);
}
#Lin_countdown .Lin_action-btn {
  border: none; padding: clamp(0.4rem, 1.2vw, 0.5rem) clamp(0.8rem, 2vw, 1.1rem);
  border-radius: 40px; font-size: clamp(0.65rem, 1.5vw, 0.8rem);
  cursor: pointer; transition: all 0.2s; font-weight: 500;
  display: flex; align-items: center; gap: 0.3rem;
}
#Lin_countdown .Lin_action-btn:hover {
  transform: scale(0.97); opacity: 0.9;
}
#Lin_countdown .Lin_custom-list {
  display: flex; flex-direction: column; gap: 0.6rem;
}
#Lin_countdown .Lin_custom-item {
  border: 1px solid rgba(128, 128, 128, 0.22); border-radius: 1.1rem;
  padding: 0.7rem 0.9rem;
  display: flex; align-items: center; gap: 0.75rem;
  transition: background 0.4s, border-color 0.4s, transform 0.2s;
}
#Lin_countdown .Lin_custom-item:hover { transform: translateY(-1px); }
#Lin_countdown .Lin_custom-item-icon {
  flex: none;
  width: clamp(1.9rem, 4.5vw, 2.3rem); height: clamp(1.9rem, 4.5vw, 2.3rem);
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(128, 128, 128, 0.12);
  font-size: clamp(0.9rem, 2.2vw, 1.1rem);
  line-height: 1;
}
#Lin_countdown .Lin_custom-item--birthday .Lin_custom-item-icon {
  background: rgba(214, 122, 154, 0.18);
}
#Lin_countdown .Lin_custom-item-info {
  flex: 1 1 auto; min-width: 0;
  display: flex; flex-direction: column; gap: 0.15rem;
}
#Lin_countdown .Lin_custom-item-name {
  font-weight: 550; font-size: clamp(0.85rem, 2vw, 1rem);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#Lin_countdown .Lin_custom-item-date {
  font-size: clamp(0.65rem, 1.5vw, 0.8rem); opacity: 0.7;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#Lin_countdown .Lin_custom-item-tail {
  flex: none; margin-left: auto;
  display: flex; align-items: center; gap: 0.5rem;
}
#Lin_countdown .Lin_custom-days-wrap {
  display: flex; align-items: baseline; gap: 0.1rem;
  white-space: nowrap;
}
#Lin_countdown .Lin_custom-days-prefix {
  font-size: clamp(0.6rem, 1.4vw, 0.72rem);
  opacity: 0.7;
  margin-right: 0.1rem;
}
#Lin_countdown .Lin_custom-days-today {
  font-size: clamp(0.68rem, 1.5vw, 0.8rem);
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 40px;
  background: rgba(128, 128, 128, 0.16);
  white-space: nowrap;
}
#Lin_countdown .Lin_custom-item-days {
  font-size: clamp(1.15rem, 2.8vw, 1.6rem); font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
#Lin_countdown .Lin_custom-item-days-label {
  font-size: clamp(0.6rem, 1.4vw, 0.75rem); opacity: 0.7;
}
#Lin_countdown .Lin_delete-btn {
  background: rgba(128, 128, 128, 0.10); border: none; color: #c99;
  cursor: pointer; font-size: clamp(0.8rem, 1.9vw, 0.95rem);
  width: clamp(1.7rem, 4vw, 2rem); height: clamp(1.7rem, 4vw, 2rem);
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; transition: all 0.2s; flex: none;
}
#Lin_countdown .Lin_delete-btn:hover {
  background: #ffe0e0; color: #e66; transform: scale(1.06);
}
#Lin_countdown .Lin_add-custom-form {
  display: flex; flex-direction: column; gap: 0.9rem;
  margin-bottom: 1.1rem;
  padding: clamp(0.85rem, 2.2vw, 1.15rem);
  border: 1px solid rgba(128, 128, 128, 0.22);
  border-radius: 1.1rem;
  transition: background 0.4s, border-color 0.4s;
}
#Lin_countdown .Lin_cf-head {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: clamp(0.82rem, 1.9vw, 0.95rem); font-weight: 600;
  padding-bottom: 0.6rem;
  border-bottom: 1px dashed rgba(128, 128, 128, 0.28);
}
#Lin_countdown .Lin_cf-head-icon { font-size: 1.05em; }
#Lin_countdown .Lin_cf-field {
  display: flex; flex-direction: column; gap: 0.35rem; min-width: 0;
}
#Lin_countdown .Lin_cf-label {
  font-size: clamp(0.68rem, 1.5vw, 0.78rem);
  opacity: 0.65; font-weight: 500; letter-spacing: 0.02em;
}
#Lin_countdown .Lin_cf-row {
  display: flex; flex-wrap: wrap; gap: 0.9rem; align-items: flex-start;
}
#Lin_countdown .Lin_cf-auto { flex: none; }
#Lin_countdown .Lin_cf-grow { flex: 1 1 240px; }
#Lin_countdown .Lin_cf-input {
  width: 100%;
  min-height: 2.4rem;
  padding: clamp(0.42rem, 1.1vw, 0.55rem) clamp(0.7rem, 1.7vw, 0.9rem);
  border-radius: 0.75rem;
  font-size: clamp(0.72rem, 1.7vw, 0.85rem);
  outline: none;
  transition: border-color 0.2s, background 0.4s, color 0.4s, box-shadow 0.2s;
}
#Lin_countdown .Lin_cf-input:focus {
  box-shadow: 0 0 0 3px rgba(128, 128, 128, 0.16);
}
#Lin_countdown .Lin_cal-switch {
  display: inline-flex; gap: 0.35rem;
}
#Lin_countdown .Lin_cal-switch .Lin_filter-btn {
  padding: clamp(0.42rem, 1.1vw, 0.55rem) clamp(0.9rem, 2.2vw, 1.2rem);
  border-radius: 0.75rem;
  font-size: clamp(0.72rem, 1.7vw, 0.85rem);
  background: rgba(128, 128, 128, 0.10);
}
#Lin_countdown .Lin_lunar-picker {
  display: flex; gap: 0.5rem;
}
#Lin_countdown .Lin_lunar-picker .Lin_cf-input {
  flex: 1 1 0; min-width: 0;
}
#Lin_countdown .Lin_chip-row {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
#Lin_countdown .Lin_chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: clamp(0.36rem, 1vw, 0.48rem) clamp(0.7rem, 1.7vw, 0.95rem);
  border-radius: 0.75rem;
  font-size: clamp(0.7rem, 1.6vw, 0.8rem); font-weight: 500;
  cursor: pointer; user-select: none;
  background: rgba(128, 128, 128, 0.10);
  transition: all 0.2s;
}
#Lin_countdown .Lin_chip:hover { transform: scale(0.98); }
#Lin_countdown .Lin_chip input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  flex: none; width: 1rem; height: 1rem; margin: 0;
  border: 1.6px solid currentColor; border-radius: 0.28rem;
  opacity: 0.5; position: relative; transition: all 0.2s;
}
#Lin_countdown .Lin_chip input[type="checkbox"]:checked {
  opacity: 1; border-color: currentColor;
}
#Lin_countdown .Lin_chip input[type="checkbox"]:checked::after {
  content: ''; position: absolute; left: 50%; top: 46%;
  width: 0.28rem; height: 0.5rem;
  border: solid currentColor; border-width: 0 1.6px 1.6px 0;
  transform: translate(-50%, -56%) rotate(45deg);
}
#Lin_countdown .Lin_cf-hint {
  font-size: clamp(0.62rem, 1.4vw, 0.72rem); opacity: 0.55; line-height: 1.6;
}
#Lin_countdown .Lin_cf-submit {
  display: flex; justify-content: flex-end;
  padding-top: 0.2rem;
}
#Lin_countdown .Lin_cf-add {
  min-height: 2.2rem;
  padding: clamp(0.5rem, 1.3vw, 0.62rem) clamp(1.2rem, 3vw, 1.8rem);
  border-radius: 0.75rem;
  font-size: clamp(0.74rem, 1.75vw, 0.88rem);
  font-weight: 600;
  white-space: nowrap;
}
#Lin_countdown .Lin_data-actions {
  display: flex; gap: 0.5rem; flex-wrap: wrap;
  margin-top: 1rem; padding-top: 1rem;
  border-top: 1px dashed rgba(128, 128, 128, 0.3);
}
#Lin_countdown .Lin_ics-export {
  margin-top: 0.9rem; padding-top: 0.9rem;
  border-top: 1px dashed rgba(128, 128, 128, 0.3);
}
#Lin_countdown .Lin_ics-export-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.8rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_ics-export-title {
  font-size: clamp(0.78rem, 1.8vw, 0.9rem); font-weight: 600;
}
#Lin_countdown .Lin_ics-export-hint {
  font-size: clamp(0.62rem, 1.4vw, 0.72rem);
  opacity: 0.6; margin-top: 0.15rem; line-height: 1.5;
}
#Lin_countdown .Lin_ics-export-go {
  min-height: 2.1rem;
  padding: 0.4rem 1rem;
  white-space: nowrap;
}
#Lin_countdown .Lin_ics-scope {
  display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.7rem;
}
#Lin_countdown .Lin_ics-scope .Lin_filter-btn {
  min-height: 1.75rem;
  padding: clamp(0.32rem, 0.9vw, 0.42rem) clamp(0.7rem, 1.7vw, 0.95rem);
  border-radius: 0.7rem;
  font-size: clamp(0.68rem, 1.55vw, 0.78rem);
}
#Lin_countdown .Lin_setting-control--wrap {
  flex: 1 1 auto; flex-wrap: wrap;
  justify-content: flex-end; min-width: 0;
}
#Lin_countdown .Lin_setting-control--wrap .Lin_ics-scope {
  margin-top: 0; justify-content: flex-end;
}
#Lin_countdown .Lin_month-terms-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem;
  margin: 0.1rem 0 0.55rem; font-size: clamp(0.58rem, 1.3vw, 0.72rem);
}
#Lin_countdown .Lin_month-terms-label {
  opacity: 0.6; margin-right: 0.15rem;
}
#Lin_countdown .Lin_month-term-chip {
  padding: 0.12rem 0.5rem; border-radius: 999px; cursor: pointer;
  background: rgba(124, 158, 124, 0.14); color: #5a8a5a;
  border: 1px solid rgba(124, 158, 124, 0.3);
  transition: all 0.2s; white-space: nowrap;
}
#Lin_countdown .Lin_month-term-chip:hover {
  background: rgba(124, 158, 124, 0.28);
}
#Lin_countdown .Lin_month-term-chip.Lin_is-today-term {
  background: #7c9e7c; color: #fff; border-color: #7c9e7c; font-weight: 600;
}
#Lin_countdown.Lin_theme-dark .Lin_month-terms-label {
  color: #c4b4a4;
}
#Lin_countdown.Lin_theme-dark .Lin_month-term-chip {
  background: rgba(124, 158, 124, 0.2); color: #8fc98f; border-color: rgba(124, 158, 124, 0.4);
}
#Lin_countdown.Lin_theme-dark .Lin_month-term-chip.Lin_is-today-term {
  background: #5a8a5a; color: #f0e6d8;
}
#Lin_countdown.Lin_theme-rainbow .Lin_month-term-chip {
  background: rgba(132, 250, 176, 0.18); color: #4a9d7a;
}
#Lin_countdown.Lin_theme-sakura .Lin_month-term-chip {
  background: rgba(168, 216, 185, 0.22); color: #5a9d78;
}
#Lin_countdown.Lin_theme-ocean .Lin_month-term-chip {
  background: rgba(77, 182, 172, 0.15); color: #00796b;
}
#Lin_countdown.Lin_theme-forest .Lin_month-term-chip {
  background: rgba(102, 187, 106, 0.15); color: #2e7d32;
}
#Lin_countdown .Lin_calendar-container {
  border-radius: clamp(1rem, 2.5vw, 1.5rem);
  padding: clamp(0.6rem, 1.8vw, 1.2rem);
  transition: background 0.4s;
  max-width: 760px;
  margin: 0 auto;
}
#Lin_countdown .Lin_calendar-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: clamp(0.4rem, 1.2vw, 0.8rem);
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  font-weight: 550;
}
#Lin_countdown .Lin_calendar-nav {
  background: none; border: none;
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  cursor: pointer; padding: 0.2rem 0.6rem;
  border-radius: 50%; transition: background 0.2s;
  color: inherit;
}
#Lin_countdown .Lin_calendar-nav:hover {
  background: rgba(0,0,0,0.06);
}
#Lin_countdown .Lin_calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: clamp(0.15rem, 0.5vw, 0.3rem);
}
#Lin_countdown .Lin_weekday-header {
  text-align: center;
  font-size: clamp(0.6rem, 1.3vw, 0.75rem);
  padding: 0.2rem 0; font-weight: 500; opacity: 0.75;
}
#Lin_countdown .Lin_calendar-day {
  aspect-ratio: 1 / 1;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  border-radius: clamp(0.4rem, 1.2vw, 0.7rem);
  cursor: pointer; transition: all 0.2s;
  position: relative; font-weight: 450; padding: 0.05rem;
  min-height: 0;
}
#Lin_countdown .Lin_calendar-day:hover {
  background: rgba(0,0,0,0.05);
}
#Lin_countdown .Lin_calendar-day.Lin_other-month {
  opacity: 0.4;
}
#Lin_countdown .Lin_calendar-day.Lin_today {
  font-weight: 600; color: #fff;
}
#Lin_countdown .Lin_calendar-day.Lin_has-festival {
  font-weight: 600;
}
#Lin_countdown .Lin_calendar-day.Lin_has-term {
  font-weight: 600;
}
#Lin_countdown .Lin_calendar-day.Lin_is-workday {
  box-shadow: inset 0 0 0 2px #d9534f;
}
#Lin_countdown .Lin_calendar-day.Lin_is-workday::after {
  content: '班';
  position: absolute; top: 1px; left: 2px;
  font-size: 0.5rem; color: #d9534f; font-weight: 700;
}
#Lin_countdown .Lin_calendar-day.Lin_has-note::before {
  content: '';
  position: absolute; top: 2px; right: 2px;
  width: 5px; height: 5px; border-radius: 50%;
  background: #4a90d9;
}
#Lin_countdown .Lin_solar-day-text {
  font-size: clamp(0.6rem, 1.5vw, 0.8rem); line-height: 1.1;
}
#Lin_countdown .Lin_lunar-day-text {
  font-size: clamp(0.45rem, 1.1vw, 0.58rem); line-height: 1.1; margin-top: 1px; opacity: 0.75;
}
#Lin_countdown .Lin_calendar-day.Lin_has-festival .Lin_lunar-day-text {
  font-weight: 600; opacity: 1;
}
#Lin_countdown .Lin_calendar-day.Lin_today .Lin_lunar-day-text {
  color: inherit; opacity: 0.9;
}
#Lin_countdown .Lin_term-marker {
  position: absolute; top: 2px; right: 2px;
  width: 4px; height: 4px; border-radius: 50%;
  background: #7c9e7c;
}
#Lin_countdown .Lin_calendar-day.Lin_has-term .Lin_lunar-day-text.Lin_term-day-text {
  color: #5a8a5a; font-weight: 700; opacity: 1;
  letter-spacing: -0.02em;
}
#Lin_countdown .Lin_calendar-day.Lin_today .Lin_lunar-day-text.Lin_term-day-text {
  color: inherit;
}
#Lin_countdown .Lin_festival-marker {
  position: absolute; bottom: 2px; width: 3px; height: 3px;
  border-radius: 50%;
}
#Lin_countdown footer {
  margin-top: clamp(1.2rem, 3vw, 1.8rem); text-align: center;
  font-size: clamp(0.6rem, 1.4vw, 0.75rem);
  letter-spacing: 0.5px; transition: color 0.4s;
}
#Lin_countdown .Lin_notification-banner {
  background: #7c9e7c; color: white; padding: 0.6rem 1rem;
  border-radius: 1rem; margin-bottom: 1rem;
  font-size: clamp(0.7rem, 1.6vw, 0.85rem);
  display: flex; align-items: center; gap: 0.5rem;
  justify-content: space-between; flex-wrap: wrap;
}
#Lin_countdown .Lin_notification-banner button {
  background: rgba(255,255,255,0.3); border: none; color: white;
  padding: 0.3rem 0.8rem; border-radius: 20px; cursor: pointer;
  font-size: clamp(0.65rem, 1.5vw, 0.8rem); white-space: nowrap;
}
#Lin_countdown .Lin_theme-picker-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(30, 20, 12, 0.5); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: fadeIn 0.25s ease;
}
#Lin_countdown .Lin_theme-picker {
  background: #fffcf9;
  border-radius: 2rem;
  max-width: 420px; width: 100%;
  padding: 1.5rem;
  box-shadow: 0 30px 50px -12px rgba(40, 25, 10, 0.5);
  animation: slideUp 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);
}
#Lin_countdown.Lin_theme-dark .Lin_theme-picker {
  background: #231c17; color: #e8ddd0;
}
#Lin_countdown .Lin_theme-picker h3 {
  font-size: 1.2rem; margin-bottom: 1rem;
  display: flex; align-items: center; gap: 0.5rem;
  font-weight: 550;
}
#Lin_countdown .Lin_theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}
#Lin_countdown .Lin_theme-option {
  border: 2px solid transparent;
  border-radius: 1rem;
  padding: 0.8rem 0.5rem;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
  position: relative;
  overflow: hidden;
}
#Lin_countdown .Lin_theme-option:hover {
  transform: translateY(-2px);
}
#Lin_countdown .Lin_theme-option.Lin_selected {
  border-color: #a67c52;
}
#Lin_countdown .Lin_theme-option-preview {
  width: 100%; height: 50px; border-radius: 0.6rem;
  margin-bottom: 0.5rem;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
}
#Lin_countdown .Lin_theme-option-name {
  font-size: 0.8rem; font-weight: 550;
  display: flex; align-items: center; justify-content: center; gap: 0.3rem;
}
#Lin_countdown .Lin_theme-option-check {
  position: absolute; top: 0.5rem; right: 0.5rem;
  color: #a67c52; font-size: 1.1rem; font-weight: bold;
}
#Lin_countdown .Lin_preview-classic {
  background: linear-gradient(135deg, #f5f3ef, #e7d9cc, #d4a373);
}
#Lin_countdown .Lin_preview-dark {
  background: linear-gradient(135deg, #1a1512, #3d2f24, #a67c52);
}
#Lin_countdown .Lin_preview-rainbow {
  background: linear-gradient(135deg, #ff9a9e, #fad0c4, #a18cd1, #84fab0, #8fd3f4);
}
#Lin_countdown .Lin_preview-sakura {
  background: linear-gradient(135deg, #fff0f5, #fce4ec, #f8bbd0, #ec407a);
}
#Lin_countdown .Lin_preview-ocean {
  background: linear-gradient(135deg, #e3f2fd, #bbdefb, #64b5f6, #1565c0);
}
#Lin_countdown .Lin_preview-forest {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9, #81c784, #2e7d32);
}
#Lin_countdown .Lin_theme-actions {
  display: flex; gap: 0.5rem; justify-content: flex-end;
}
#Lin_countdown .Lin_theme-actions button {
  border: none; padding: 0.5rem 1.2rem; border-radius: 40px;
  font-size: 0.85rem; cursor: pointer; font-weight: 500;
  transition: all 0.2s;
}
#Lin_countdown .Lin_theme-actions .Lin_cancel {
  background: #efe7e0; color: #6b4f37;
}
#Lin_countdown.Lin_theme-dark .Lin_theme-actions .Lin_cancel {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown .Lin_settings-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(30, 20, 12, 0.5); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: fadeIn 0.25s ease;
}
#Lin_countdown .Lin_modal-content, #Lin_countdown .Lin_theme-picker, #Lin_countdown .Lin_settings-panel {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
#Lin_countdown .Lin_modal-content::-webkit-scrollbar, #Lin_countdown .Lin_theme-picker::-webkit-scrollbar, #Lin_countdown .Lin_settings-panel::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
#Lin_countdown .Lin_theme-picker {
  max-height: 90vh; overflow-y: auto;
}
#Lin_countdown .Lin_settings-panel {
  background: #fffcf9;
  border-radius: 2rem;
  max-width: 480px; width: 100%;
  padding: 1.5rem;
  box-shadow: 0 30px 50px -12px rgba(40, 25, 10, 0.5);
  animation: slideUp 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);
  max-height: 90vh; overflow-y: auto;
}
#Lin_countdown.Lin_theme-dark .Lin_settings-panel {
  background: #231c17; color: #e8ddd0;
}
#Lin_countdown .Lin_settings-panel h3 {
  font-size: 1.2rem; margin-bottom: 1rem;
  display: flex; align-items: center; gap: 0.5rem;
  font-weight: 550;
}
#Lin_countdown .Lin_setting-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(128, 128, 128, 0.15);
  font-size: 0.85rem;
  gap: 1rem;
}
#Lin_countdown .Lin_setting-item:last-of-type {
  border-bottom: none;
}
#Lin_countdown .Lin_setting-label {
  font-weight: 500;
}
#Lin_countdown .Lin_setting-desc {
  font-size: 0.7rem; opacity: 0.7; margin-top: 0.15rem;
}
#Lin_countdown .Lin_setting-control {
  display: flex; align-items: center; gap: 0.4rem;
  flex-shrink: 0;
}
#Lin_countdown .Lin_setting-control select, #Lin_countdown .Lin_setting-control input[type="time"] {
  padding: 0.3rem 0.6rem; border-radius: 20px;
  border: 1px solid rgba(128, 128, 128, 0.3);
  background: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem; cursor: pointer;
  color: inherit;
}
#Lin_countdown.Lin_theme-dark .Lin_setting-control select, #Lin_countdown.Lin_theme-dark .Lin_setting-control input[type="time"] {
  background: rgba(60, 45, 30, 0.6);
}
#Lin_countdown .Lin_toggle-switch {
  position: relative; width: 44px; height: 24px;
  background: rgba(128, 128, 128, 0.4);
  border-radius: 12px; cursor: pointer;
  transition: background 0.3s;
}
#Lin_countdown .Lin_toggle-switch.Lin_on {
  background: #7c9e7c;
}
#Lin_countdown .Lin_toggle-switch::after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 20px; height: 20px; border-radius: 50%;
  background: white; transition: transform 0.3s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
#Lin_countdown .Lin_toggle-switch.Lin_on::after {
  transform: translateX(20px);
}
#Lin_countdown .Lin_settings-actions {
  display: flex; gap: 0.5rem; justify-content: flex-end;
  margin-top: 1rem;
}
#Lin_countdown .Lin_settings-actions button {
  border: none; padding: 0.5rem 1.2rem; border-radius: 40px;
  font-size: 0.85rem; cursor: pointer; font-weight: 500;
  transition: all 0.2s;
}
#Lin_countdown .Lin_settings-actions .Lin_save {
  background: #a67c52; color: white;
}
#Lin_countdown .Lin_settings-actions .Lin_cancel {
  background: #efe7e0; color: #6b4f37;
}
#Lin_countdown.Lin_theme-dark .Lin_settings-actions .Lin_cancel {
  background: #3d2f24; color: #d4c2b0;
}
#Lin_countdown .Lin_mail-panel {
  max-width: 620px;
}
#Lin_countdown .Lin_mail-intro {
  font-size: 0.78rem; line-height: 1.7; opacity: 0.75;
  background: rgba(166, 124, 82, 0.08);
  border-left: 3px solid #a67c52;
  border-radius: 6px; padding: 0.7rem 0.9rem; margin-bottom: 0.8rem;
}
#Lin_countdown .Lin_mail-groups { margin-top: 0.6rem; }
#Lin_countdown .Lin_mail-group {
  margin-bottom: 0.9rem;
  border: 1px solid rgba(128, 128, 128, 0.2);
  border-radius: 10px; overflow: hidden;
}
#Lin_countdown .Lin_mail-group-head {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(128, 128, 128, 0.08);
  font-size: 0.8rem;
}
#Lin_countdown .Lin_mail-group-title { font-weight: 600; }
#Lin_countdown .Lin_mail-group-count { font-size: 0.72rem; opacity: 0.65; }
#Lin_countdown .Lin_mail-group-btn {
  margin-left: auto; border: none; background: transparent;
  color: #a67c52; font-size: 0.75rem; cursor: pointer; padding: 0.1rem 0.3rem;
}
#Lin_countdown .Lin_mail-group-btn:hover { text-decoration: underline; }
#Lin_countdown .Lin_mail-list {
  max-height: 260px; overflow-y: auto;
  scrollbar-width: thin;
}
#Lin_countdown .Lin_mail-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.6rem; padding: 0.4rem 0.75rem;
  font-size: 0.82rem;
  border-top: 1px solid rgba(128, 128, 128, 0.1);
}
#Lin_countdown .Lin_mail-row:first-child { border-top: none; }
#Lin_countdown .Lin_mailrowoff { opacity: 0.45; }
#Lin_countdown .Lin_mail-check {
  display: flex; align-items: center; gap: 0.45rem;
  cursor: pointer; flex: 1; min-width: 0;
}
#Lin_countdown .Lin_mail-check input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  flex: none; width: 1rem; height: 1rem; margin: 0;
  border: 1.6px solid currentColor; border-radius: 0.3rem;
  background: none; opacity: 0.55;
  position: relative; cursor: pointer;
  transition: opacity 0.2s, border-color 0.2s;
}
#Lin_countdown .Lin_mail-check input[type="checkbox"]:checked {
  opacity: 1; border-color: currentColor;
}
#Lin_countdown .Lin_mail-check input[type="checkbox"]:checked::after {
  content: ''; position: absolute; left: 50%; top: 46%;
  width: 0.28rem; height: 0.5rem;
  border: solid currentColor; border-width: 0 1.7px 1.7px 0;
  transform: translate(-50%, -56%) rotate(45deg);
}
#Lin_countdown .Lin_mail-check input[type="checkbox"] { cursor: pointer; }
#Lin_countdown .Lin_mail-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#Lin_countdown .Lin_mail-sub {
  font-size: 0.7rem; opacity: 0.6; margin-left: 0.2rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#Lin_countdown .Lin_mail-days {
  display: flex; align-items: center; gap: 0.25rem; flex-shrink: 0;
}
#Lin_countdown .Lin_mail-days-input {
  width: 68px; text-align: center; padding: 0.25rem 0.35rem;
  font-size: 0.78rem;
}
#Lin_countdown .Lin_mail-days-input:disabled { opacity: 0.5; cursor: not-allowed; }
#Lin_countdown .Lin_mail-days-unit { font-size: 0.7rem; opacity: 0.7; }
#Lin_countdown .Lin_mail-hint {
  font-size: 0.7rem; opacity: 0.6; line-height: 1.6;
  padding: 0.5rem 0.75rem;
  background: rgba(128, 128, 128, 0.06);
  border-top: 1px solid rgba(128, 128, 128, 0.1);
}
#Lin_countdown .Lin_mail-status {
  margin-top: 0.8rem; padding: 0.6rem 0.8rem;
  border-radius: 8px; font-size: 0.78rem; line-height: 1.6;
  background: rgba(128, 128, 128, 0.12); color: #6b4f37;
}
#Lin_countdown .Lin_mail-status-ok {
  background: rgba(124, 158, 124, 0.16); color: #4a6b4a;
}
#Lin_countdown .Lin_mail-status-pending {
  background: rgba(217, 119, 6, 0.14); color: #92400e;
}
#Lin_countdown.Lin_theme-dark .Lin_mail-status { color: #d4c2b0; }
#Lin_countdown.Lin_theme-dark .Lin_mail-status-ok { color: #a8c8a8; }
#Lin_countdown.Lin_theme-dark .Lin_mail-status-pending { color: #f0c088; }
#Lin_countdown.Lin_theme-dark .Lin_mail-group-head { background: rgba(255, 255, 255, 0.06); }
#Lin_countdown.Lin_theme-dark .Lin_mail-group-btn { color: #d4a06a; }
#Lin_countdown.Lin_theme-dark .Lin_mail-intro {
  background: rgba(212, 160, 106, 0.1); border-left-color: #a67c52;
}
#Lin_countdown .Lin_festival-lunar-row,
#Lin_countdown .Lin_term-name-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem; width: 100%;
}
#Lin_countdown .Lin_term-name-row { margin-bottom: 0.3rem; }
#Lin_countdown .Lin_term-name-row .Lin_term-name {
  flex: 1 1 auto; min-width: 0; margin-bottom: 0;
  display: flex; align-items: center; gap: 0.35rem;
  flex-wrap: nowrap; overflow: hidden;
  font-size: clamp(0.88rem, 2.1vw, 1.15rem);
}
#Lin_countdown .Lin_term-name-row .Lin_term-text {
  flex: 0 1 auto; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#Lin_countdown .Lin_term-name-row .Lin_term-current-tag { flex: none; }
#Lin_countdown .Lin_festival-lunar-row { margin-bottom: 0.4rem; }
#Lin_countdown .Lin_festival-lunar-row .Lin_festival-lunar {
  align-self: auto; margin-bottom: 0; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#Lin_countdown .Lin_mail-item-btn {
  display: inline-flex; align-items: center; gap: 0.25rem;
  flex: none; white-space: nowrap;
  padding: 0.24rem 0.48rem;
  border: none; border-radius: 50px;
  background: linear-gradient(135deg, #c2410c, #a83a08);
  color: #fff;
  font-size: clamp(0.58rem, 1.3vw, 0.7rem);
  font-family: inherit; font-weight: 600; line-height: 1.35;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(162, 65, 12, 0.28);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
#Lin_countdown .Lin_mail-item-icon { font-size: 0.95em; line-height: 1; }
#Lin_countdown .Lin_mail-item-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 12px rgba(162, 65, 12, 0.38);
}
#Lin_countdown .Lin_mail-item-btn:active { transform: translateY(0); }
#Lin_countdown .Lin_mail-item-btn-on {
  background: linear-gradient(135deg, #4a7c4a, #3a6339);
  box-shadow: 0 2px 6px rgba(58, 99, 57, 0.28);
}
#Lin_countdown .Lin_mail-item-btn-on:hover {
  box-shadow: 0 5px 12px rgba(58, 99, 57, 0.38);
}
#Lin_countdown .Lin_mail-item-btn-inline { padding: 0.2rem 0.42rem; }
#Lin_countdown.Lin_theme-dark .Lin_mail-item-btn {
  background: linear-gradient(135deg, #c2410c, #8f3407);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.42);
}
#Lin_countdown.Lin_theme-dark .Lin_mail-item-btn:hover {
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.52);
}
#Lin_countdown.Lin_theme-dark .Lin_mail-item-btn-on {
  background: linear-gradient(135deg, #4a7c4a, #35603a);
}
#Lin_countdown .Lin_mail-item-panel { max-width: 420px; }
#Lin_countdown .Lin_mail-item-panel h3 span { flex: none; }
#Lin_countdown .Lin_mail-status-err {
  background: rgba(220, 38, 38, 0.12); color: #991b1b;
}
#Lin_countdown.Lin_theme-dark .Lin_mail-status-err { color: #f0a0a0; }
.Lin_mail-notice {
  max-width: 1100px; margin: 0 auto 1rem;
  padding: 0.8rem 1.1rem; border-radius: 10px;
  background: rgba(124, 158, 124, 0.16); color: #3f5c3f;
  font-size: 0.9rem; line-height: 1.6;
  border: 1px solid rgba(124, 158, 124, 0.3);
}
#Lin_countdown .Lin_custom-event-festivals {
  margin-top: 1rem;
}
#Lin_countdown .Lin_festival-checkbox-list {
  display: flex; flex-wrap: wrap; gap: 0.4rem;
  margin-top: 0.5rem;
}
#Lin_countdown .Lin_festival-checkbox {
  display: flex; align-items: center; gap: 0.3rem;
  padding: 0.3rem 0.7rem; border-radius: 20px;
  background: rgba(128, 128, 128, 0.1);
  font-size: 0.75rem; cursor: pointer;
  transition: all 0.2s;
}
#Lin_countdown .Lin_festival-checkbox.Lin_selected {
  background: #a67c52; color: white;
}
#Lin_countdown .Lin_festival-checkbox input {
  display: none;
}
#Lin_countdown .Lin_shortcuts-hint {
  font-size: 0.65rem; opacity: 0.5;
  margin-top: 0.5rem; text-align: center;
}
#Lin_countdown kbd {
  display: inline-block; padding: 0.1rem 0.4rem;
  background: rgba(128,128,128,0.15);
  border-radius: 4px; font-size: 0.65rem;
  font-family: monospace;
  border: 1px solid rgba(128,128,128,0.2);
}
#Lin_countdown .Lin_checkin-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 0.4rem; margin-top: 0.5rem;
}
#Lin_countdown .Lin_checkin-day {
  aspect-ratio: 1;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  border-radius: 0.6rem;
  background: rgba(128, 128, 128, 0.1);
  font-size: 0.7rem;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
}
#Lin_countdown .Lin_checkin-day.Lin_done {
  background: #7c9e7c; color: white;
}
#Lin_countdown .Lin_checkin-day.Lin_festival {
  border: 2px solid #a67c52;
}
#Lin_countdown .Lin_checkin-btn {
  border: none; color: #fff; padding: 0.4rem 1rem;
  border-radius: 40px; cursor: pointer;
  font-size: 0.75rem; font-weight: 500;
  background: #8a5e34;
  transition: all 0.2s;
}
#Lin_countdown.Lin_theme-classic .Lin_checkin-btn { background: #8a5e34; }
#Lin_countdown.Lin_theme-dark    .Lin_checkin-btn { background: #8a5e34; }
#Lin_countdown.Lin_theme-rainbow .Lin_checkin-btn { background: linear-gradient(135deg, #7a5cae, #5c3f8f); }
#Lin_countdown.Lin_theme-sakura  .Lin_checkin-btn { background: #b03a63; }
#Lin_countdown.Lin_theme-ocean   .Lin_checkin-btn { background: #1565c0; }
#Lin_countdown.Lin_theme-forest  .Lin_checkin-btn { background: #2e7d32; }
#Lin_countdown .Lin_checkin-btn.Lin_checked {
  background: #4e7a4e;
}
#Lin_countdown .Lin_checkin-btn:hover {
  transform: scale(0.97); opacity: 0.9;
}
@media (min-width: 768px) {
  #Lin_countdown .Lin_calendar-container {
    max-width: 680px; padding: 0.8rem 1rem;
  }
  #Lin_countdown .Lin_calendar-grid {
    gap: 0.2rem;
  }
  #Lin_countdown .Lin_calendar-day {
    border-radius: 0.5rem;
  }
  #Lin_countdown .Lin_solar-day-text {
    font-size: 0.82rem;
  }
  #Lin_countdown .Lin_lunar-day-text {
    font-size: 0.58rem;
  }
  #Lin_countdown .Lin_weekday-header {
    font-size: 0.72rem; padding: 0.15rem 0;
  }
  #Lin_countdown .Lin_calendar-header {
    font-size: 1.05rem; margin-bottom: 0.5rem;
  }
}
@media (max-width: 480px) {
  #Lin_countdown .Lin_grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 0.6rem;
  }
  #Lin_countdown .Lin_festival-card {
    padding: 0.65rem 0.7rem 0.75rem; border-radius: 1.1rem;
  }
  #Lin_countdown .Lin_days-number {
    font-size: 1.5rem;
  }
  #Lin_countdown .Lin_date-text {
    font-size: 0.58rem; padding: 0.12rem 0.45rem;
  }
  #Lin_countdown .Lin_filter-btn {
    font-size: 0.62rem; padding: 0.28rem 0.65rem;
  }
  #Lin_countdown .Lin_tab-btn {
    font-size: 0.65rem; padding: 0.3rem 0.7rem;
  }
  #Lin_countdown .Lin_today-badge {
    font-size: 0.62rem; padding: 0.2rem 0.65rem;
  }
  #Lin_countdown .Lin_modal-content {
    padding: 1.1rem 0.9rem 1.3rem; border-radius: 1.4rem;
  }
  #Lin_countdown .Lin_countdown-units {
    gap: 0.1rem;
  }
  #Lin_countdown .Lin_unit {
    min-width: 30px;
  }
  #Lin_countdown .Lin_unit-value {
    font-size: 1.25rem;
  }
  #Lin_countdown .Lin_separator {
    font-size: 0.9rem;
  }
  #Lin_countdown .Lin_custom-item {
    padding: 0.6rem 0.7rem;
  }
  #Lin_countdown .Lin_calendar-container {
    padding: 0.5rem 0.6rem; border-radius: 1rem;
  }
  #Lin_countdown .Lin_calendar-day {
    border-radius: 0.4rem;
  }
  #Lin_countdown .Lin_solar-day-text {
    font-size: 0.7rem;
  }
  #Lin_countdown .Lin_lunar-day-text {
    font-size: 0.48rem;
  }
  #Lin_countdown .Lin_theme-picker {
    padding: 1.2rem 1rem;
  }
  #Lin_countdown .Lin_theme-grid {
    grid-template-columns: repeat(2, 1fr); gap: 0.6rem;
  }
  #Lin_countdown .Lin_culture-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 360px) {
  #Lin_countdown .Lin_grid {
    grid-template-columns: 1fr;
  }
  #Lin_countdown .Lin_festival-name {
    font-size: 0.95rem;
  }
  #Lin_countdown .Lin_lunar-day-text {
    font-size: 0.44rem;
  }
  #Lin_countdown .Lin_solar-day-text {
    font-size: 0.65rem;
  }
}
#Lin_countdown .Lin_tz-bar {
  display: flex; flex-wrap: wrap; gap: 0.4rem 1rem;
  align-items: center; justify-content: center;
  padding: 0.5rem 0.8rem; margin-bottom: 0.7rem;
  border-radius: 0.7rem; font-size: 0.76rem;
  background: rgba(0, 0, 0, 0.04);
}
#Lin_countdown.Lin_theme-dark .Lin_tz-bar {
  background: rgba(255, 255, 255, 0.06);
}
#Lin_countdown .Lin_tz-item {
  opacity: 0.85;
}
#Lin_countdown .Lin_tz-warn {
  color: #b06a2c; font-size: 0.72rem;
}
#Lin_countdown.Lin_theme-dark .Lin_tz-warn {
  color: #d9a05b;
}
#Lin_countdown .Lin_current-term-card {
  border-radius: 1rem; padding: 0.85rem 1rem; margin-bottom: 0.9rem;
  background: linear-gradient(135deg, #eef6ee, #dcecdc);
  border: 1px solid #cfe3cf; cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#Lin_countdown.Lin_theme-dark .Lin_current-term-card {
  background: linear-gradient(135deg, #253024, #1c261c); border-color: #3b4c3a;
}
#Lin_countdown .Lin_current-term-card:hover {
  transform: translateY(-1px); box-shadow: 0 6px 18px -8px rgba(90, 138, 90, 0.5);
}
#Lin_countdown .Lin_ct-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_ct-name {
  font-weight: 600; font-size: 0.95rem; color: #3f6b3f;
}
#Lin_countdown.Lin_theme-dark .Lin_ct-name {
  color: #a8d8a8;
}
#Lin_countdown .Lin_ct-next {
  font-size: 0.74rem; opacity: 0.7;
}
#Lin_countdown .Lin_ct-desc {
  font-size: 0.78rem; opacity: 0.72; margin-top: 0.2rem;
}
#Lin_countdown .Lin_ct-progress {
  height: 6px; border-radius: 999px; background: rgba(90, 138, 90, 0.18); margin: 0.55rem 0 0.35rem; overflow: hidden;
}
#Lin_countdown .Lin_ct-progress-fill {
  height: 100%; border-radius: 999px; background: linear-gradient(90deg, #7c9e7c, #5a8a5a); transition: width 0.6s ease;
}
#Lin_countdown .Lin_ct-meta {
  display: flex; justify-content: space-between; font-size: 0.7rem; opacity: 0.65;
}
#Lin_countdown .Lin_today-festival-bar {
  text-align: center; padding: 0.55rem 0.8rem; margin-bottom: 0.9rem;
  border-radius: 0.7rem; font-size: 0.82rem; cursor: pointer;
  background: linear-gradient(90deg, #fde8d0, #fbd9b8);
  color: #8b5e3c; border: 1px solid #f0cfae;
}
#Lin_countdown.Lin_theme-dark .Lin_today-festival-bar {
  background: linear-gradient(90deg, #3d2f24, #33282055); color: #e0c49a; border-color: #5a4433;
}
#Lin_countdown .Lin_life-grid {
  display: grid; grid-template-columns: 1fr; gap: 0.5rem; margin-top: 0.6rem;
}
#Lin_countdown .Lin_life-item {
  background: rgba(124, 158, 124, 0.1); border-radius: 0.7rem; padding: 0.6rem 0.75rem; font-size: 0.8rem;
}
#Lin_countdown.Lin_theme-dark .Lin_life-item {
  background: rgba(124, 158, 124, 0.14);
}
#Lin_countdown .Lin_life-label {
  font-weight: 600; margin-bottom: 0.2rem; color: #4a7a4a; font-size: 0.78rem;
}
#Lin_countdown.Lin_theme-dark .Lin_life-label {
  color: #9ecf9e;
}
#Lin_countdown .Lin_calendar-mode-bar {
  display: flex; gap: 0.4rem; justify-content: center; margin-bottom: 0.7rem;
}
#Lin_countdown .Lin_mode-btn {
  padding: 0.3rem 0.85rem; border-radius: 999px; border: none; cursor: pointer;
  font-size: 0.78rem; background: rgba(0, 0, 0, 0.06); color: inherit;
  transition: all 0.2s ease;
}
#Lin_countdown.Lin_theme-dark .Lin_mode-btn {
  background: rgba(255, 255, 255, 0.08);
}
#Lin_countdown .Lin_mode-btn.Lin_active {
  background: #a67c52; color: #fff;
}
#Lin_countdown.Lin_theme-dark .Lin_mode-btn.Lin_active {
  background: #a67c52; color: #1a1512;
}
#Lin_countdown .Lin_week-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.35rem;
}
#Lin_countdown .Lin_week-day {
  border-radius: 0.7rem; padding: 0.5rem 0.25rem; text-align: center;
  background: rgba(0, 0, 0, 0.03); cursor: pointer; min-height: 5.6rem;
  display: flex; flex-direction: column; align-items: center; gap: 0.15rem;
  transition: background 0.2s ease;
}
#Lin_countdown.Lin_theme-dark .Lin_week-day {
  background: rgba(255, 255, 255, 0.05);
}
#Lin_countdown .Lin_week-day:hover {
  background: rgba(166, 124, 82, 0.15);
}
#Lin_countdown .Lin_week-day.Lin_is-today {
  outline: 2px solid #a67c52;
}
#Lin_countdown .Lin_week-day .Lin_wd-num {
  font-size: 1rem; font-weight: 600;
}
#Lin_countdown .Lin_week-day .Lin_wd-md {
  font-size: 0.6rem; opacity: 0.6;
}
#Lin_countdown .Lin_week-day .Lin_wd-sub {
  font-size: 0.6rem; line-height: 1.15; margin-top: 0.15rem;
}
#Lin_countdown .Lin_week-day .Lin_wd-sub.Lin_wd-festival {
  color: #b07347; font-weight: 600;
}
#Lin_countdown .Lin_week-day .Lin_wd-sub.Lin_wd-term {
  color: #5a8a5a; font-weight: 600;
}
#Lin_countdown.Lin_theme-dark .Lin_week-day .Lin_wd-sub.Lin_wd-festival {
  color: #e0b184;
}
#Lin_countdown.Lin_theme-dark .Lin_week-day .Lin_wd-sub.Lin_wd-term {
  color: #9ecf9e;
}
#Lin_countdown .Lin_year-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem;
}
@media (min-width: 620px) {
  #Lin_countdown .Lin_year-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
#Lin_countdown .Lin_year-month {
  border-radius: 0.8rem; padding: 0.6rem 0.7rem; background: rgba(0, 0, 0, 0.03); cursor: pointer;
}
#Lin_countdown.Lin_theme-dark .Lin_year-month {
  background: rgba(255, 255, 255, 0.05);
}
#Lin_countdown .Lin_year-month:hover {
  background: rgba(166, 124, 82, 0.12);
}
#Lin_countdown .Lin_ym-title {
  font-size: 0.82rem; font-weight: 600; margin-bottom: 0.35rem;
}
#Lin_countdown .Lin_ym-item {
  font-size: 0.72rem; line-height: 1.5; display: flex; gap: 0.35rem;
}
#Lin_countdown .Lin_ym-item .Lin_ym-day {
  opacity: 0.55; min-width: 1.6rem;
}
#Lin_countdown .Lin_ym-item.Lin_k-festival {
  color: #b07347;
}
#Lin_countdown .Lin_ym-item.Lin_k-term {
  color: #5a8a5a;
}
#Lin_countdown.Lin_theme-dark .Lin_ym-item.Lin_k-festival {
  color: #e0b184;
}
#Lin_countdown.Lin_theme-dark .Lin_ym-item.Lin_k-term {
  color: #9ecf9e;
}
#Lin_countdown .Lin_ym-empty {
  font-size: 0.7rem; opacity: 0.4;
}
#Lin_countdown .Lin_checkin-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 0.9rem;
}
#Lin_countdown .Lin_cs-item {
  text-align: center; padding: 0.6rem 0.3rem; border-radius: 0.8rem; background: rgba(0, 0, 0, 0.035);
}
#Lin_countdown.Lin_theme-dark .Lin_cs-item {
  background: rgba(255, 255, 255, 0.06);
}
#Lin_countdown .Lin_cs-value {
  font-size: 1.15rem; font-weight: 600;
}
#Lin_countdown .Lin_cs-label {
  font-size: 0.68rem; opacity: 0.65; margin-top: 0.1rem;
}
#Lin_countdown .Lin_checkin-stats-bar {
  height: 8px; border-radius: 999px; background: rgba(0, 0, 0, 0.07); overflow: hidden; margin-bottom: 1rem;
}
#Lin_countdown.Lin_theme-dark .Lin_checkin-stats-bar {
  background: rgba(255, 255, 255, 0.1);
}
#Lin_countdown .Lin_checkin-stats-fill {
  height: 100%; background: linear-gradient(90deg, #7c9e7c, #5a8a5a); transition: width 0.5s ease;
}
#Lin_countdown .Lin_qr-box {
  position: relative;
  padding: 1rem; background: #fff; border-radius: 1rem;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 200px; min-height: 200px; margin: 0.4rem 0;
}
#Lin_countdown .Lin_qr-img {
  display: block; width: 240px; height: 240px; max-width: 100%; image-rendering: pixelated;
}
#Lin_countdown .Lin_qr-hint {
  font-size: 0.8rem; color: #8a7a6a; line-height: 1.7;
}
#Lin_countdown .Lin_qr-hint-err {
  color: #c0392b;
}
#Lin_countdown .Lin_qr-hint-err span {
  font-size: 0.72rem; color: #a08070;
}
#Lin_countdown .Lin_qr-sub {
  font-size: 0.75rem; opacity: 0.7; margin-top: 0.6rem; word-break: break-all;
}
#Lin_countdown .Lin_geo-weather-item {
  cursor: pointer;
  background: linear-gradient(135deg, rgba(135, 206, 250, 0.18), rgba(255, 200, 150, 0.18));
  border: 1px solid rgba(135, 206, 250, 0.35);
  transition: transform 0.2s;
}
#Lin_countdown .Lin_geo-weather-item:hover {
  transform: translateY(-1px);
}
#Lin_countdown.Lin_theme-dark .Lin_geo-weather-item {
  background: linear-gradient(135deg, rgba(80, 130, 180, 0.25), rgba(150, 100, 60, 0.25));
  border-color: rgba(120, 170, 220, 0.35);
}
#Lin_countdown .Lin_geo-weather-temp {
  font-weight: 600; color: #4a7ab5;
}
#Lin_countdown.Lin_theme-dark .Lin_geo-weather-temp {
  color: #9ec8f0;
}
#Lin_countdown .Lin_geo-source-badge {
  font-size: 0.58rem; padding: 0.05rem 0.35rem; border-radius: 999px;
  background: rgba(124, 158, 124, 0.18); color: #5a8a5a;
  margin-left: 0.2rem;
}
#Lin_countdown.Lin_theme-dark .Lin_geo-source-badge {
  background: rgba(124, 158, 124, 0.25); color: #9ecf9e;
}
#Lin_countdown .Lin_weather-header {
  display: flex; justify-content: space-between; align-items: center;
  gap: 0.8rem; flex-wrap: wrap; margin-bottom: 0.9rem;
}
#Lin_countdown .Lin_weather-loc {
  display: flex; align-items: center; gap: 0.6rem;
}
#Lin_countdown .Lin_weather-loc-icon {
  font-size: 1.6rem;
}
#Lin_countdown .Lin_weather-loc-name {
  font-size: 1.05rem; font-weight: 600;
}
#Lin_countdown .Lin_weather-loc-region {
  font-size: 0.72rem; font-weight: 400; opacity: 0.6;
  margin-left: 0.35rem;
}
#Lin_countdown .Lin_weather-loc-coord {
  font-size: 0.72rem; opacity: 0.55; margin-top: 0.15rem;
}
#Lin_countdown .Lin_geo-tip {
  font-size: 0.72rem; opacity: 0.7; margin-bottom: 0.8rem;
  padding: 0.45rem 0.7rem; border-radius: 0.6rem;
  background: rgba(135, 206, 250, 0.12);
  border: 1px solid rgba(135, 206, 250, 0.25);
  line-height: 1.5;
}
#Lin_countdown.Lin_theme-dark .Lin_geo-tip {
  background: rgba(80, 130, 180, 0.18);
  border-color: rgba(120, 170, 220, 0.28);
}
#Lin_countdown .Lin_geo-tip button {
  background: none; border: none; color: #4a7ab5; font-weight: 600;
  cursor: pointer; font-size: 0.72rem; padding: 0 0.2rem;
  text-decoration: underline;
}
#Lin_countdown.Lin_theme-dark .Lin_geo-tip button {
  color: #9ec8f0;
}
#Lin_countdown .Lin_current-weather-card {
  border-radius: 1.2rem; padding: 1.1rem 1.2rem; margin-bottom: 1rem;
  background: linear-gradient(135deg, #e8f4ff, #d4e9ff);
  border: 1px solid #c5e0f7;
  display: flex; flex-direction: column; gap: 1rem;
}
#Lin_countdown.Lin_theme-dark .Lin_current-weather-card {
  background: linear-gradient(135deg, #1f2a35, #16202a);
  border-color: #2f4256;
}
#Lin_countdown .Lin_cw-main {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_cw-icon {
  font-size: 3rem; line-height: 1;
}
#Lin_countdown .Lin_cw-temp {
  font-size: 2.6rem; font-weight: 600; line-height: 1;
}
#Lin_countdown .Lin_cw-unit {
  font-size: 1.1rem; font-weight: 400; opacity: 0.6; margin-left: 0.15rem;
}
#Lin_countdown .Lin_cw-desc {
  font-size: 1rem; opacity: 0.8;
}
#Lin_countdown .Lin_cw-meta {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.5rem;
}
#Lin_countdown .Lin_cw-meta-item {
  display: flex; flex-direction: column; gap: 0.1rem;
  padding: 0.45rem 0.6rem; border-radius: 0.6rem;
  background: rgba(255, 255, 255, 0.55); font-size: 0.72rem;
}
#Lin_countdown.Lin_theme-dark .Lin_cw-meta-item {
  background: rgba(255, 255, 255, 0.07);
}
#Lin_countdown .Lin_cw-meta-item span {
  opacity: 0.6;
}
#Lin_countdown .Lin_cw-meta-item strong {
  font-size: 0.9rem;
}
#Lin_countdown .Lin_forecast-section {
  margin-top: 0.5rem;
}
#Lin_countdown .Lin_forecast-title {
  font-size: 0.9rem; font-weight: 600; margin-bottom: 0.6rem;
  display: flex; align-items: center; gap: 0.4rem;
}
#Lin_countdown .Lin_forecast-list {
  display: flex; flex-direction: column; gap: 0.35rem;
}
#Lin_countdown .Lin_forecast-row {
  display: grid;
  grid-template-columns: 62px 32px 1fr auto auto auto;
  align-items: center; gap: 0.5rem;
  padding: 0.5rem 0.7rem; border-radius: 0.7rem;
  background: rgba(0, 0, 0, 0.03); font-size: 0.78rem;
  transition: background 0.2s;
}
#Lin_countdown.Lin_theme-dark .Lin_forecast-row {
  background: rgba(255, 255, 255, 0.05);
}
#Lin_countdown .Lin_forecast-row:hover {
  background: rgba(135, 206, 250, 0.15);
}
#Lin_countdown .Lin_forecast-today {
  background: rgba(166, 124, 82, 0.15) !important;
  outline: 1px solid rgba(166, 124, 82, 0.4);
}
#Lin_countdown .Lin_forecast-festival {
  background: rgba(236, 64, 122, 0.12) !important;
  outline: 1px solid rgba(236, 64, 122, 0.3);
}
#Lin_countdown .Lin_fc-date {
  text-align: center;
}
#Lin_countdown .Lin_fc-weekday {
  font-weight: 600; font-size: 0.8rem;
}
#Lin_countdown .Lin_fc-md {
  font-size: 0.65rem; opacity: 0.6;
}
#Lin_countdown .Lin_fc-icon {
  font-size: 1.4rem; text-align: center;
}
#Lin_countdown .Lin_fc-desc {
  font-size: 0.75rem; opacity: 0.85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#Lin_countdown .Lin_fc-desc .Lin_fc-festival-tag {
  display: inline-block; margin-left: 0.35rem;
  font-size: 0.62rem; padding: 0.05rem 0.35rem;
  border-radius: 999px; background: #ec407a; color: #fff;
  font-weight: 600;
}
#Lin_countdown .Lin_fc-temp {
  display: flex; gap: 0.35rem; align-items: baseline; white-space: nowrap;
}
#Lin_countdown .Lin_fc-temp-max {
  font-weight: 600; font-size: 0.95rem;
}
#Lin_countdown .Lin_fc-temp-min {
  opacity: 0.55; font-size: 0.85rem;
}
#Lin_countdown .Lin_fc-extra {
  display: flex; gap: 0.4rem; font-size: 0.68rem; opacity: 0.8; white-space: nowrap;
}
#Lin_countdown .Lin_fc-precip {
  color: #4a90d9;
}
#Lin_countdown .Lin_fc-uv {
  color: #d99b4a;
}
#Lin_countdown .Lin_fc-aqi {
  color: #7c9e7c;
}
#Lin_countdown .Lin_fc-sun {
  display: flex; flex-direction: column; font-size: 0.62rem; opacity: 0.65; line-height: 1.3; white-space: nowrap;
}
#Lin_countdown .Lin_forecast-foot {
  text-align: center; font-size: 0.68rem; opacity: 0.5; margin-top: 0.8rem;
}
@media (max-width: 600px) {
  #Lin_countdown .Lin_forecast-row {
    grid-template-columns: 52px 28px 1fr auto;
    grid-template-areas:
    "date icon desc temp"
    "extra extra extra sun";
    row-gap: 0.3rem;
  }
  #Lin_countdown .Lin_fc-date {
    grid-area: date;
  }
  #Lin_countdown .Lin_fc-icon {
    grid-area: icon;
  }
  #Lin_countdown .Lin_fc-desc {
    grid-area: desc;
  }
  #Lin_countdown .Lin_fc-temp {
    grid-area: temp;
  }
  #Lin_countdown .Lin_fc-extra {
    grid-area: extra; flex-wrap: wrap;
  }
  #Lin_countdown .Lin_fc-sun {
    grid-area: sun; flex-direction: row; gap: 0.6rem; justify-content: flex-end;
  }
}
#Lin_countdown .Lin_weather-tips {
  border-radius: 1rem; padding: 0.8rem 1rem; margin-bottom: 1rem;
  background: linear-gradient(135deg, #fff6e0, #ffedc4);
  border: 1px solid #f5d99a; font-size: 0.82rem; line-height: 1.7;
}
#Lin_countdown.Lin_theme-dark .Lin_weather-tips {
  background: linear-gradient(135deg, #2e2418, #2a2014);
  border-color: #5a4426;
}
#Lin_countdown .Lin_weather-tips .Lin_wt-item {
  display: flex; gap: 0.4rem; align-items: flex-start;
}
#Lin_countdown .Lin_weather-tips .Lin_wt-icon {
  flex-shrink: 0;
}
#Lin_countdown .Lin_aqi-card {
  border-radius: 1rem; padding: 0.9rem 1rem; margin-bottom: 1rem;
  background: rgba(124, 158, 124, 0.1);
  border: 1px solid rgba(124, 158, 124, 0.25);
}
#Lin_countdown.Lin_theme-dark .Lin_aqi-card {
  background: rgba(124, 158, 124, 0.15);
  border-color: rgba(124, 158, 124, 0.35);
}
#Lin_countdown .Lin_aqi-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; flex-wrap: wrap;
}
#Lin_countdown .Lin_aqi-title {
  font-weight: 600; font-size: 0.88rem;
}
#Lin_countdown .Lin_aqi-value {
  font-size: 1.6rem; font-weight: 700;
}
#Lin_countdown .Lin_aqi-level {
  font-size: 0.78rem; margin-top: 0.15rem;
}
#Lin_countdown .Lin_aqi-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 0.4rem; margin-top: 0.6rem;
}
#Lin_countdown .Lin_aqi-item {
  font-size: 0.7rem; opacity: 0.8;
}
#Lin_countdown .Lin_aqi-item strong {
  display: block; font-size: 0.85rem; opacity: 1;
}
#Lin_countdown .Lin_city-picker-bar {
  display: flex; gap: 0.5rem; margin-bottom: 0.7rem; flex-wrap: wrap;
  align-items: center;
}
#Lin_countdown .Lin_city-picker-bar input {
  flex: 1; min-width: 160px;
  padding: 0.4rem 0.8rem; border-radius: 40px;
  border: 1px solid; font-size: 0.8rem; outline: none;
  background: rgba(255,255,255,0.7);
}
#Lin_countdown.Lin_theme-dark .Lin_city-picker-bar input {
  background: rgba(60,45,30,0.6); color: #e8ddd0; border-color: #4a3828;
}
#Lin_countdown .Lin_city-results {
  display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.7rem;
}
#Lin_countdown .Lin_city-result-item {
  padding: 0.25rem 0.7rem; border-radius: 999px;
  background: rgba(166, 124, 82, 0.15); color: #8b5e3c;
  font-size: 0.75rem; cursor: pointer;
  border: 1px solid rgba(166, 124, 82, 0.3);
  transition: all 0.2s;
}
#Lin_countdown.Lin_theme-dark .Lin_city-result-item {
  background: rgba(166, 124, 82, 0.25); color: #e0c49a;
}
#Lin_countdown .Lin_city-result-item:hover {
  background: rgba(166, 124, 82, 0.3);
}
#Lin_countdown .Lin_city-current-hint {
  font-size: 0.72rem; opacity: 0.65; margin-bottom: 0.5rem;
}
#Lin_countdown .Lin_todo-section {
  margin-top: 0.8rem; padding-top: 0.8rem;
  border-top: 1px dashed rgba(128,128,128,0.3);
}
#Lin_countdown .Lin_todo-title {
  font-size: 0.85rem; font-weight: 600; margin-bottom: 0.5rem;
}
#Lin_countdown .Lin_todo-input-row {
  display: flex; gap: 0.4rem; margin-bottom: 0.5rem;
}
#Lin_countdown .Lin_todo-input-row input {
  flex: 1; padding: 0.4rem 0.7rem; border-radius: 40px;
  border: 1px solid rgba(128,128,128,0.3); font-size: 0.8rem; outline: none;
  background: rgba(255,255,255,0.7);
}
#Lin_countdown.Lin_theme-dark .Lin_todo-input-row input {
  background: rgba(60,45,30,0.6); color: #e8ddd0; border-color: #4a3828;
}
#Lin_countdown .Lin_todo-list {
  display: flex; flex-direction: column; gap: 0.3rem;
}
#Lin_countdown .Lin_todo-item {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.4rem 0.6rem; border-radius: 0.6rem;
  background: rgba(0,0,0,0.03); font-size: 0.8rem;
}
#Lin_countdown.Lin_theme-dark .Lin_todo-item {
  background: rgba(255,255,255,0.05);
}
#Lin_countdown .Lin_todo-item.Lin_done {
  opacity: 0.5; text-decoration: line-through;
}
#Lin_countdown .Lin_todo-item input[type="checkbox"] {
  width: auto; cursor: pointer;
}
#Lin_countdown .Lin_todo-item .Lin_todo-text {
  flex: 1; word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#Lin_countdown .Lin_todo-item .Lin_todo-del {
  background: none; border: none; color: #c99; cursor: pointer;
  padding: 0.1rem 0.3rem; border-radius: 50%;
}
#Lin_countdown .Lin_todo-item input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  flex: none; width: 1.05rem; height: 1.05rem; margin: 0;
  border: 1.6px solid currentColor; border-radius: 0.32rem;
  background: none; opacity: 0.5;
  position: relative; cursor: pointer; transition: opacity 0.2s, border-color 0.2s;
}
#Lin_countdown .Lin_todo-item input[type="checkbox"]:checked {
  opacity: 1; border-color: currentColor;
}
#Lin_countdown .Lin_todo-item input[type="checkbox"]:checked::after {
  content: ''; position: absolute; left: 50%; top: 46%;
  width: 0.3rem; height: 0.55rem;
  border: solid currentColor; border-width: 0 1.8px 1.8px 0;
  transform: translate(-50%, -56%) rotate(45deg);
}
#Lin_countdown .Lin_todo-panel { margin-top: 1rem; }
#Lin_countdown .Lin_todo-add-row {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.5rem; margin-bottom: 0.6rem;
}
#Lin_countdown .Lin_todo-add-row > input:first-child { flex: 1 1 160px; min-width: 0; }
#Lin_countdown .Lin_todo-date-input { flex: 0 0 auto; width: auto; min-width: 9.5rem; }
#Lin_countdown .Lin_todo-add-row > button { flex: none; }
#Lin_countdown .Lin_todo-date {
  flex: none; font-size: 0.72em; opacity: 0.7; white-space: nowrap;
}
#Lin_countdown .Lin_todo-date.Lin_overdue { color: #d9534f; opacity: 0.95; }
#Lin_countdown .Lin_todo-empty {
  font-size: 0.78rem; opacity: 0.6; line-height: 1.7; padding: 0.15rem 0;
}
#Lin_countdown .Lin_todo-foot {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem; margin-top: 0.55rem;
  font-size: 0.72rem; opacity: 0.7;
}
#Lin_countdown .Lin_todo-clear {
  background: none; border: none; cursor: pointer;
  font-size: 0.95em; opacity: 0.9; text-decoration: underline;
  padding: 0.1rem 0.2rem;
}
#Lin_countdown .Lin_todo-clear:hover { opacity: 1; }
#Lin_countdown .Lin_birthday-section {
  margin-top: 0.8rem; padding-top: 0.8rem;
  border-top: 1px dashed rgba(128,128,128,0.3);
}
#Lin_countdown .Lin_birthday-title {
  font-size: 0.85rem; font-weight: 600; margin-bottom: 0.5rem;
  display: flex; align-items: center; gap: 0.35rem;
}
#Lin_countdown .Lin_birthday-title-icon { font-size: 1.05em; }
#Lin_countdown .Lin_empty-state:has(.Lin_empty-icon) {
  display: flex; flex-direction: column; align-items: center;
  padding: clamp(1.6rem, 4vw, 2.4rem) 1rem;
  border-color: rgba(128, 128, 128, 0.3);
}
#Lin_countdown .Lin_empty-icon {
  font-size: clamp(1.8rem, 4.5vw, 2.4rem); line-height: 1; opacity: 0.55;
}
#Lin_countdown .Lin_empty-title { font-weight: 600; margin-top: 0.55rem; }
#Lin_countdown .Lin_empty-desc {
  font-size: 0.82em; opacity: 0.65; margin-top: 0.35rem; line-height: 1.6;
}
#Lin_countdown .Lin_poem-box {
  border-radius: 1rem; padding: 0.9rem 1.1rem; margin-bottom: 0.9rem;
  background: linear-gradient(135deg, #f5efe6, #ede0cf);
  border: 1px solid #e0d0b8;
  font-size: 0.85rem; line-height: 1.8; text-align: center;
  font-style: italic;
}
#Lin_countdown.Lin_theme-dark .Lin_poem-box {
  background: linear-gradient(135deg, #2a2019, #241c14);
  border-color: #4a3828;
}
#Lin_countdown .Lin_poem-title {
  font-size: 0.72rem; opacity: 0.6; margin-bottom: 0.35rem; font-style: normal; letter-spacing: 1px;
}
#Lin_countdown .Lin_poem-author {
  font-size: 0.72rem; opacity: 0.6; margin-top: 0.4rem; font-style: normal;
}
#Lin_countdown .Lin_home-duo {
  display: block;
  container-type: inline-size;
}
#Lin_countdown .Lin_home-duo > .Lin_holiday-quota,
#Lin_countdown .Lin_home-duo > .Lin_festival-wallpaper,
#Lin_countdown .Lin_home-duo > .Lin_poem-box {
  margin-bottom: 0.9rem;
}
@media (min-width: 768px) {
  #Lin_countdown .Lin_home-duo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    align-items: stretch;
    gap: 0.9rem;
    margin-bottom: 0.9rem;
  }
  #Lin_countdown .Lin_home-duo > .Lin_holiday-quota,
  #Lin_countdown .Lin_home-duo > .Lin_festival-wallpaper,
  #Lin_countdown .Lin_home-duo > .Lin_poem-box {
    margin-bottom: 0;
  }
  #Lin_countdown .Lin_home-duo > .Lin_holiday-quota,
  #Lin_countdown .Lin_home-duo > .Lin_poem-box {
    display: flex; flex-direction: column; justify-content: center;
  }
  #Lin_countdown .Lin_home-duo > :only-child {
    grid-column: 1 / -1;
  }
}
@container (min-width: 534px) and (max-width: 808px) {
  #Lin_countdown .Lin_home-duo > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
#Lin_countdown .Lin_yi-ji-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  margin-bottom: 0.9rem;
}
#Lin_countdown .Lin_yi-ji-item {
  border-radius: 0.8rem; padding: 0.6rem 0.8rem;
  font-size: 0.75rem; line-height: 1.6;
}
#Lin_countdown .Lin_yi-ji-item.Lin_yi {
  background: rgba(124, 158, 124, 0.15);
}
#Lin_countdown .Lin_yi-ji-item.Lin_ji {
  background: rgba(200, 100, 100, 0.12);
}
#Lin_countdown .Lin_yi-ji-label {
  font-weight: 600; margin-bottom: 0.2rem; font-size: 0.78rem;
}
#Lin_countdown .Lin_blessing-picker {
  margin-bottom: 0.9rem;
}
#Lin_countdown .Lin_blessing-picker-title {
  font-size: 0.78rem; font-weight: 600; margin-bottom: 0.4rem;
  display: flex; justify-content: space-between; align-items: center;
}
#Lin_countdown .Lin_blessing-picker-title button {
  background: none; border: none; color: #a67c52; font-size: 0.72rem;
  cursor: pointer; text-decoration: underline;
}
#Lin_countdown .Lin_blessing-options {
  display: flex; flex-direction: column; gap: 0.35rem;
}
#Lin_countdown .Lin_blessing-option {
  padding: 0.45rem 0.7rem; border-radius: 0.6rem;
  background: rgba(0,0,0,0.03); font-size: 0.78rem;
  cursor: pointer; transition: all 0.2s;
  display: flex; justify-content: space-between; align-items: center;
  gap: 0.5rem;
}
#Lin_countdown.Lin_theme-dark .Lin_blessing-option {
  background: rgba(255,255,255,0.05);
}
#Lin_countdown .Lin_blessing-option:hover {
  background: rgba(166, 124, 82, 0.15);
}
#Lin_countdown .Lin_blessing-option .Lin_bo-text {
  flex: 1;
}
#Lin_countdown .Lin_blessing-option .Lin_bo-style {
  font-size: 0.65rem; opacity: 0.6; flex-shrink: 0;
}
#Lin_countdown .Lin_copy-today-bar {
  text-align: center; padding: 0.5rem 0.8rem; margin-bottom: 0.8rem;
  border-radius: 0.7rem; font-size: 0.78rem;
  background: linear-gradient(90deg, #e0f0ff, #d0e8ff);
  color: #1565c0; border: 1px solid #b3d9ff;
  cursor: pointer; transition: all 0.2s;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
#Lin_countdown .Lin_copy-today-bar:hover {
  transform: translateY(-1px);
}
#Lin_countdown.Lin_theme-dark .Lin_copy-today-bar {
  background: linear-gradient(90deg, #1a2a3a, #152535);
  color: #9ec8f0; border-color: #2f4256;
}
#Lin_countdown .Lin_holiday-quota {
  border-radius: 1rem; padding: 0.8rem 1rem; margin-bottom: 0.9rem;
  background: rgba(166, 124, 82, 0.1);
  border: 1px solid rgba(166, 124, 82, 0.25);
  font-size: 0.78rem;
}
#Lin_countdown.Lin_theme-dark .Lin_holiday-quota {
  background: rgba(166, 124, 82, 0.18);
  border-color: rgba(166, 124, 82, 0.4);
}
#Lin_countdown .Lin_holiday-quota .Lin_hq-title {
  font-weight: 600; margin-bottom: 0.3rem;
}
#Lin_countdown .Lin_holiday-quota .Lin_hq-item {
  display: flex; justify-content: space-between; padding: 0.15rem 0;
}
#Lin_countdown .Lin_hq-missing {
  display: flex; align-items: flex-start; gap: 0.6rem;
  padding: 0.6rem 0.7rem; border-radius: 0.7rem;
  background: rgba(128, 128, 128, 0.12);
  line-height: 1.6;
}
#Lin_countdown .Lin_hq-missing-icon {
  flex: none; font-size: 1.25em; line-height: 1.15;
}
#Lin_countdown .Lin_hq-missing-hint {
  opacity: 0.6;
}
#Lin_countdown .Lin_hq-next-missing {
  margin-top: 0.45rem; padding-top: 0.45rem;
  border-top: 1px dashed rgba(180, 130, 40, 0.35);
  color: #9a6a10;
  opacity: 0.92; line-height: 1.55;
}
#Lin_countdown.Lin_theme-dark .Lin_hq-next-missing {
  color: #e0b661;
}
#Lin_countdown .Lin_ics-export-range {
  font-size: 0.85em; opacity: 0.8; margin-left: 0.15rem;
  white-space: nowrap;
}
#Lin_countdown .Lin_festival-wallpaper {
  border-radius: 1.2rem; margin-bottom: 0.9rem;
  padding: 1.2rem; text-align: center;
  color: #fff; position: relative; overflow: hidden;
  min-height: 140px; display: flex; flex-direction: column;
  justify-content: center; align-items: center; gap: 0.4rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45), 0 0 1px rgba(0, 0, 0, 0.3);
}
#Lin_countdown .Lin_festival-wallpaper .Lin_fw-icon {
  font-size: 2.5rem;
}
#Lin_countdown .Lin_festival-wallpaper .Lin_fw-name {
  font-size: 1.3rem; font-weight: 600;
}
#Lin_countdown .Lin_festival-wallpaper .Lin_fw-days {
  font-size: 0.85rem; opacity: 0.9;
}
#Lin_countdown .Lin_fw-spring {
  background: linear-gradient(135deg, #c62828, #e53935);
}
#Lin_countdown .Lin_fw-midautumn {
  background: linear-gradient(135deg, #8a5a00, #b8860b);
}
#Lin_countdown .Lin_fw-qingming {
  background: linear-gradient(135deg, #356035, #4a7a4a);
}
#Lin_countdown .Lin_fw-dragonboat {
  background: linear-gradient(135deg, #1a5e2a, #2e7d32);
}
#Lin_countdown .Lin_fw-national {
  background: linear-gradient(135deg, #b71c1c, #d32f2f);
}
#Lin_countdown .Lin_fw-default {
  background: linear-gradient(135deg, #a67c52, #8b5e3c);
}
#Lin_countdown .Lin_festival-link-box {
  padding-bottom: 0.4rem;
  background: rgba(0,0,0,0.04); border-radius: 0.6rem;
  font-size: 0.72rem; word-break: break-all; line-height: 1.5;
}
#Lin_countdown.Lin_theme-dark .Lin_festival-link-box {
  background: rgba(255,255,255,0.06);
}
#Lin_countdown .Lin_festival-link-box button {
  margin-top: 0.35rem; background: #a67c52; color: #fff; border: none;
  padding: 0.25rem 0.7rem; border-radius: 20px; font-size: 0.72rem;
  cursor: pointer;
}
#Lin_countdown .Lin_checkin-badge-card {
  border-radius: 1.2rem; padding: 1.2rem; margin-bottom: 1rem;
  background: linear-gradient(135deg, #f5c96a, #e8a04a);
  color: #4a2c10; text-align: center;
}
#Lin_countdown.Lin_theme-dark .Lin_checkin-badge-card {
  background: linear-gradient(135deg, #8b5e3c, #6b4a30);
  color: #fff;
}
#Lin_countdown .Lin_checkin-badge-card .Lin_cbc-big {
  font-size: 2rem; font-weight: 700;
}
#Lin_countdown .Lin_checkin-badge-card .Lin_cbc-label {
  font-size: 0.8rem; opacity: 0.95; margin-top: 0.2rem;
}
#Lin_countdown .Lin_checkin-badge-card > .Lin_action-btn {
  display: inline-flex;
}
#Lin_countdown .Lin_wallpaper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem; margin-bottom: 0.9rem;
}
#Lin_countdown .Lin_wallpaper-thumb {
  border-radius: 0.8rem; aspect-ratio: 3 / 4; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff; font-size: 0.7rem; text-align: center; padding: 0.4rem;
  position: relative; overflow: hidden;
  transition: transform 0.2s;
}
#Lin_countdown .Lin_wallpaper-thumb:hover {
  transform: translateY(-2px);
}
#Lin_countdown .Lin_wallpaper-thumb .Lin_wt-icon {
  font-size: 1.8rem; margin-bottom: 0.2rem;
}
#Lin_countdown .Lin_wallpaper-thumb .Lin_wt-name {
  font-weight: 600;
}
#Lin_countdown .Lin_term-calendar-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}
#Lin_countdown .Lin_term-calendar-item {
  border-radius: 0.8rem; padding: 0.6rem 0.7rem;
  background: rgba(124,158,124,0.1);
  border: 1px solid rgba(124,158,124,0.25);
  font-size: 0.75rem; cursor: pointer;
}
#Lin_countdown.Lin_theme-dark .Lin_term-calendar-item {
  background: rgba(124,158,124,0.15);
}
#Lin_countdown .Lin_term-calendar-item .Lin_tc-name {
  font-weight: 600; font-size: 0.85rem;
}
#Lin_countdown .Lin_term-calendar-item .Lin_tc-date {
  opacity: 0.7; font-size: 0.7rem; margin-top: 0.1rem;
}
#Lin_countdown .Lin_term-calendar-item .Lin_tc-desc {
  opacity: 0.8; margin-top: 0.3rem; line-height: 1.4;
}
#Lin_countdown .Lin_local-festival-section {
  margin-top: 0.6rem;
}
#Lin_countdown .Lin_local-festival-item {
  border-radius: 0.8rem; padding: 0.6rem 0.8rem;
  background: rgba(166,124,82,0.1);
  border: 1px solid rgba(166,124,82,0.25);
  margin-bottom: 0.4rem; font-size: 0.78rem;
  cursor: pointer;
}
#Lin_countdown.Lin_theme-dark .Lin_local-festival-item {
  background: rgba(166,124,82,0.18);
}
#Lin_countdown .Lin_local-festival-item .Lin_lf-name {
  font-weight: 600;
}
#Lin_countdown .Lin_local-festival-item .Lin_lf-info {
  opacity: 0.8; margin-top: 0.15rem; font-size: 0.72rem; line-height: 1.5;
}
#Lin_countdown .Lin_big-text-toggle {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.5rem 0.8rem; margin-bottom: 0.7rem;
  border-radius: 0.7rem; background: rgba(0,0,0,0.04);
  font-size: 0.78rem;
}
#Lin_countdown.Lin_theme-dark .Lin_big-text-toggle {
  background: rgba(255,255,255,0.06);
}
	#Lin_countdown .Lin_cd-page-title {
	  text-align: center !important;
	  display: flex !important;
	  justify-content: center !important;
	  align-items: center !important;
	  margin-left: auto !important;
	  margin-right: auto !important;
	  width: 100% !important;
}
#Lin_countdown { --Lin-z-modal-base: 1300; }
#Lin_countdown .Lin_modal-overlay        { z-index: var(--Lin-z-modal-base); }
#Lin_countdown .Lin_theme-picker-overlay { z-index: calc(var(--Lin-z-modal-base) + 20); }
#Lin_countdown .Lin_settings-overlay     { z-index: calc(var(--Lin-z-modal-base) + 40); }