/* ============================================================
   ✿ Anime / Handwritten Theme for Yuxuan Xue's Homepage ✿
   Fonts : Caveat (headings) · Patrick Hand (body) · Kalam (accents)
           (loaded via <link> in _includes/head/custom.html)
   Feel  : sakura pastel · soft paper cards · floating petals
   ============================================================ */

:root {
  --sakura: #f78fb3;
  --sakura-deep: #e0568c;
  --lavender: #b69df2;
  --sky: #8ec5f2;
  --mint: #8fd9c4;
  --ink: #4a4458;
  --ink-soft: #7a7290;
  --paper: rgba(255, 255, 255, 0.82);
}

/* ---------- global body: dreamy sakura sky ---------- */
body {
  background-color: #fdf3f7 !important;
  background-image:
    radial-gradient(circle, rgba(224, 86, 140, 0.055) 1.5px, transparent 1.6px),
    radial-gradient(circle at 12% 18%, rgba(255, 183, 213, 0.45) 0%, transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(182, 157, 242, 0.35) 0%, transparent 38%),
    radial-gradient(circle at 78% 85%, rgba(142, 197, 242, 0.35) 0%, transparent 40%),
    radial-gradient(circle at 20% 90%, rgba(143, 217, 196, 0.30) 0%, transparent 36%),
    linear-gradient(160deg, #fff5f9 0%, #fdeaf4 30%, #eef3fd 70%, #f6effc 100%) !important;
  background-size: 28px 28px, auto, auto, auto, auto, auto !important;
  background-attachment: fixed !important;
  font-family: 'Patrick Hand', 'Comic Sans MS', cursive !important;
  font-size: 16.5px;
  color: var(--ink);
}

::selection {
  background: rgba(247, 143, 179, 0.4);
  color: #fff;
}

/* pastel scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(255, 235, 244, 0.6); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--sakura), var(--lavender));
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.7);
}

/* ---------- headings: big handwritten notes ---------- */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Caveat', cursive !important;
  color: var(--sakura-deep) !important;
  letter-spacing: 0.5px;
}

h1 { font-size: 2.6em !important; }
h2 { font-size: 2.1em !important; }
h3 { font-size: 1.7em !important; }

h2::after {
  content: '';
  display: block;
  width: 88px;
  height: 5px;
  margin-top: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sakura), var(--lavender) 60%, transparent);
}

.main-heading {
  font-family: 'Caveat', cursive !important;
  font-size: 3.1em !important;
  text-align: center;
  color: var(--sakura-deep) !important;
  animation: pop-in 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.main-heading img { vertical-align: middle; }

.intro-line { font-size: 1.12em; line-height: 1.75; }

/* ---------- links: rose ink, wavy underline ---------- */
a {
  color: var(--sakura-deep) !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
}
a:hover {
  color: #b23a70 !important;
  text-decoration: underline wavy rgba(247, 143, 179, 0.75) !important;
  text-underline-offset: 4px;
}

/* ---------- masthead: frosted glass ---------- */
.masthead {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 2px dashed rgba(247, 143, 179, 0.45) !important;
}
.masthead .visible-links a {
  font-family: 'Kalam', cursive !important;
  font-size: 1.05em !important;
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}
.masthead .visible-links a:hover {
  border-bottom-color: var(--sakura);
  text-decoration: none !important;
  transform: translateY(-2px);
}
.masthead__menu-item--lg a { font-family: 'Caveat', cursive !important; font-size: 1.5em !important; }
.greedy-nav .hidden-links a { font-family: 'Kalam', cursive; }
.masthead, .masthead .visible-links a, .masthead__menu-item--lg a { transition: all 0.25s ease; }

/* ---------- sidebar author card ---------- */
.sidebar {
  -webkit-font-smoothing: antialiased;
}
.author__avatar img {
  border-radius: 50% !important;
  border: 4px solid #fff !important;
  box-shadow: 0 0 0 6px rgba(255, 183, 213, 0.55),
              0 0 0 12px rgba(182, 157, 242, 0.25),
              0 14px 30px rgba(224, 86, 140, 0.28) !important;
  animation: floaty 4.5s ease-in-out infinite;
  transition: transform 0.4s ease;
}
.author__avatar img:hover {
  animation-play-state: paused;
  transform: rotate(6deg) scale(1.05);
}
.author__name {
  font-family: 'Caveat', cursive !important;
  font-size: 1.9em !important;
  color: var(--sakura-deep) !important;
}
.author__bio { font-family: 'Kalam', cursive; color: var(--ink-soft) !important; }
.author__urls-wrapper button.btn--inverse {
  background: linear-gradient(120deg, var(--sakura), var(--lavender)) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Kalam', cursive !important;
  box-shadow: 0 6px 14px rgba(224, 86, 140, 0.3);
}
.author__urls-wrapper button.btn--inverse:hover {
  transform: translateY(-2px) rotate(-1deg);
  box-shadow: 0 10px 20px rgba(224, 86, 140, 0.4);
}
.author__urls a { font-family: 'Patrick Hand', cursive; }

/* ---------- cards: soft paper notes ---------- */
.news-box,
.experience-card,
.project-card,
.publication-card,
.skills-card,
.space-card,
.notice {
  background: var(--paper) !important;
  border: 1.5px solid rgba(247, 143, 179, 0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 18px rgba(182, 157, 242, 0.16) !important;
  backdrop-filter: blur(4px);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}
.experience-card:hover,
.project-card:hover,
.publication-card:hover,
.skills-card:hover,
.space-card:hover {
  transform: translateY(-5px) rotate(-0.6deg);
  border-color: rgba(247, 143, 179, 0.75) !important;
  box-shadow: 0 14px 30px rgba(224, 86, 140, 0.22) !important;
}

.news-box {
  border: 2px dashed rgba(247, 143, 179, 0.5) !important;
  background: rgba(255, 248, 251, 0.9) !important;
  max-height: 240px;
}
.news-date { color: var(--sakura-deep) !important; font-family: 'Kalam', cursive; }
.news-list li { transition: transform 0.25s ease; }
.news-list li:hover { transform: translateX(6px); }

.experience-logo {
  border-radius: 16px !important;
  background: rgba(255, 240, 247, 0.9);
  padding: 6px;
  border: 1.5px solid rgba(247, 143, 179, 0.3);
}

/* emoji badge for project cards */
.project-emoji {
  flex: 0 0 auto;
  width: 74px;
  height: 74px;
  margin-right: 20px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.1rem;
  background: linear-gradient(135deg, #ffe3ee, #e9e2fd);
  border: 1.5px solid rgba(247, 143, 179, 0.4);
  box-shadow: 0 6px 14px rgba(182, 157, 242, 0.22);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.project-card:hover .project-emoji { transform: rotate(-8deg) scale(1.12); }

.project-card { padding: 14px !important; }
.project-card > div:not(.project-emoji) { flex: 1; min-width: 0; }

/* skills / hobby twin cards */
.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.skills-container .skills-card { flex: 1 1 320px; margin-bottom: 0 !important; }
.skills-card { padding: 18px 22px !important; }
.skills-title {
  font-family: 'Caveat', cursive;
  font-size: 1.55em;
  color: var(--sakura-deep);
  margin-bottom: 10px;
}
.skills-card ul { margin: 0; padding-left: 1.1em; }
.skills-card li { margin-bottom: 8px; line-height: 1.6; }

.course-tag {
  display: inline-block;
  margin: 4px;
  padding: 4px 14px;
  border-radius: 999px;
  border: 1.5px solid rgba(142, 197, 242, 0.5);
  background: rgba(240, 248, 255, 0.85);
  color: #4a6fa5 !important;
  font-family: 'Kalam', cursive;
  font-size: 0.92em;
  transition: all 0.25s ease;
}
.course-tag:hover {
  border-color: var(--sakura);
  background: #fff0f6;
  color: var(--sakura-deep) !important;
  transform: translateY(-2px) rotate(-1deg);
}

/* research space link cards */
.space-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.space-card {
  flex: 1 1 340px;
  display: flex;
  align-items: flex-start;
  padding: 18px 22px !important;
  color: var(--ink) !important;
}
.space-card:hover { text-decoration: none !important; }
.space-card strong { font-family: 'Caveat', cursive; font-size: 1.45em; color: var(--sakura-deep) !important; }
.space-emoji {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  margin-right: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  background: linear-gradient(135deg, #fff3d6, #ffdff0);
  border: 1.5px solid rgba(247, 143, 179, 0.35);
}
.space-cta {
  display: inline-block;
  margin-top: 8px;
  font-family: 'Kalam', cursive;
  font-weight: 700;
  color: var(--sakura-deep) !important;
}
.space-card:hover .space-cta { transform: translateX(4px); }

/* badges */
.pub-list-badge {
  background: linear-gradient(120deg, rgba(247, 143, 179, 0.16), rgba(182, 157, 242, 0.18)) !important;
  border: 1px solid rgba(247, 143, 179, 0.45) !important;
  color: var(--sakura-deep) !important;
  font-family: 'Kalam', cursive;
  border-radius: 999px !important;
}

/* awards list */
li em { font-family: 'Kalam', cursive; color: var(--sakura-deep); }

/* ---------- buttons ---------- */
.btn {
  border-radius: 999px !important;
  font-family: 'Kalam', cursive !important;
  border: 1.5px solid rgba(247, 143, 179, 0.5) !important;
  transition: all 0.25s ease;
}
.btn:hover { transform: translateY(-2px) rotate(-1deg); }

/* ---------- pagination & footer ---------- */
.page__footer {
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(8px);
  border-top: 2px dashed rgba(247, 143, 179, 0.4) !important;
}
.page__footer a { color: var(--sakura-deep) !important; }
.page__footer-copyright { font-family: 'Kalam', cursive; color: var(--ink-soft); }

/* ---------- sakura canvas ---------- */
#sakura-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
}

/* ---------- owner-only studio entry ---------- */
#studio-link {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 10000;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.2rem;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.85);
  border: 1.5px solid rgba(107, 95, 208, 0.45);
  box-shadow: 0 4px 12px rgba(107, 95, 208, 0.25);
  opacity: 0.55;
  transition: all 0.25s ease;
}
#studio-link:hover {
  opacity: 1;
  transform: translateY(-3px) rotate(-8deg);
  box-shadow: 0 8px 18px rgba(107, 95, 208, 0.4);
}

/* ---------- back-to-top ---------- */
#back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 10000;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  font-size: 1.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--sakura), var(--lavender));
  color: #fff;
  box-shadow: 0 8px 20px rgba(224, 86, 140, 0.4);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}
#back-to-top:hover {
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 12px 26px rgba(224, 86, 140, 0.5);
}

/* ---------- featured guide card (starred recommendation) ---------- */
.space-card.space-card--star {
  background: linear-gradient(120deg, #fff8e1 0%, #fff0f6 100%) !important;
  border: 1.5px solid rgba(230, 175, 60, 0.55) !important;
  position: relative;
}
.space-card--star .space-emoji {
  background: linear-gradient(135deg, #fff3c4, #ffe3ee);
  border-color: rgba(230, 175, 60, 0.6);
}
.space-card--star .star-badge {
  display: inline-block;
  font-family: 'Kalam', cursive;
  font-size: 0.78rem;
  font-weight: 700;
  color: #b8860b;
  background: #fff3c4;
  border: 1px solid rgba(230, 175, 60, 0.65);
  border-radius: 999px;
  padding: 1px 10px;
  margin-left: 8px;
  vertical-align: 2px;
}

/* ---------- anchor offset under the fixed masthead ---------- */
[id] { scroll-margin-top: 84px; }

/* ---------- entrance animation ---------- */
@keyframes pop-in {
  0%   { opacity: 0; transform: translateY(-18px) scale(0.94); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

/* main content slides in gently */
.page, .archive {
  animation: pop-in 0.8s ease both;
}

/* ---------- mobile ---------- */
@media (max-width: 768px) {
  body { font-size: 15.5px; }
  .main-heading { font-size: 2.3em !important; }
  h1 { font-size: 2.2em !important; }

  /* stack project / space cards vertically so content can shrink */
  .project-card { flex-direction: column !important; align-items: flex-start !important; }
  .project-card > .project-emoji { width: 58px; height: 58px; margin-right: 0 !important; margin-bottom: 12px; font-size: 1.7rem; }
  .space-card, .skills-card { flex: 1 1 100%; }

  /* guard against any remaining horizontal overflow */
  body { overflow-x: hidden; }
}

/* respect reduced-motion users */
@media (prefers-reduced-motion: reduce) {
  .author__avatar img, .page, .archive, .main-heading { animation: none !important; }
}

/* ============================================================
   🌙 DARK MODE — activated by html[data-theme="dark"]
   (toggled by sakura.js; light mode is untouched when off)
   Palette: lavender night — deep plum surfaces, soft glow accents
   ============================================================ */

html[data-theme="dark"] { color-scheme: dark; }

html[data-theme="dark"] body {
  background-color: #16121f !important;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(126, 96, 168, 0.16) 0%, transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(96, 78, 148, 0.15) 0%, transparent 38%),
    radial-gradient(circle at 78% 85%, rgba(64, 96, 136, 0.14) 0%, transparent 40%),
    radial-gradient(circle at 20% 90%, rgba(76, 132, 112, 0.10) 0%, transparent 36%),
    linear-gradient(160deg, #1a1526 0%, #1d1830 30%, #151a2b 70%, #1e1832 100%) !important;
  background-size: 28px 28px, auto, auto, auto, auto, auto !important;
  background-attachment: fixed !important;
  color: #d9d3ea;
}

html[data-theme="dark"] ::selection { background: rgba(255, 158, 199, 0.35); color: #fff; }
html[data-theme="dark"] ::-webkit-scrollbar-track { background: rgba(40, 34, 62, 0.6); }

/* base text colors */
html[data-theme="dark"] .title, html[data-theme="dark"] .subtitle,
html[data-theme="dark"] .content, html[data-theme="dark"] p,
html[data-theme="dark"] li, html[data-theme="dark"] td, html[data-theme="dark"] th,
html[data-theme="dark"] strong, html[data-theme="dark"] label,
html[data-theme="dark"] .has-text-grey, html[data-theme="dark"] .has-text-grey-dark,
html[data-theme="dark"] .st-sub, html[data-theme="dark"] .form-hint,
html[data-theme="dark"] .pdf-note, html[data-theme="dark"] .ks-divider,
html[data-theme="dark"] .tl-tags, html[data-theme="dark"] .heat-legend,
html[data-theme="dark"] .space-card, html[data-theme="dark"] .post-card p,
html[data-theme="dark"] .post-card h3, html[data-theme="dark"] .paper-authors,
html[data-theme="dark"] .paper-abstract, html[data-theme="dark"] .channel-card span.desc {
  color: #d9d3ea !important;
}
html[data-theme="dark"] .subtitle, html[data-theme="dark"] .has-text-grey,
html[data-theme="dark"] .st-sub, html[data-theme="dark"] .form-hint,
html[data-theme="dark"] .pdf-note, html[data-theme="dark"] .heat-legend,
html[data-theme="dark"] .paper-authors, html[data-theme="dark"] .paper-abstract,
html[data-theme="dark"] .channel-card span.desc,
html[data-theme="dark"] .page__footer-copyright {
  color: #a79fc4 !important;
}

/* headings shift to the brighter night accents */
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6 {
  color: #ff9ec7 !important;
}
html[data-theme="dark"] h2::after {
  background: linear-gradient(90deg, #ff9ec7, #b7a8f7 60%, transparent);
}
html[data-theme="dark"] .section-title-mini { color: #ff9ec7 !important; }
html[data-theme="dark"] .section-title-mini .dash {
  background: linear-gradient(90deg, #ff9ec7, transparent);
}

/* shared surfaces: white cards → deep plum glass */
html[data-theme="dark"] .news-box,
html[data-theme="dark"] .experience-card,
html[data-theme="dark"] .project-card,
html[data-theme="dark"] .publication-card,
html[data-theme="dark"] .skills-card,
html[data-theme="dark"] .space-card,
html[data-theme="dark"] .st-card,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .paper-card,
html[data-theme="dark"] .collab-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .channel-card,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .cal-card,
html[data-theme="dark"] .side-card,
html[data-theme="dark"] .writer-card,
html[data-theme="dark"] .profiles-note,
html[data-theme="dark"] .empty-shelf,
html[data-theme="dark"] .status-box,
html[data-theme="dark"] .entry-view {
  background: rgba(40, 34, 62, 0.82) !important;
  border-color: rgba(183, 168, 247, 0.28) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme="dark"] .empty-shelf,
html[data-theme="dark"] .status-box { background: rgba(40, 34, 62, 0.6) !important; }

/* masthead + footer */
html[data-theme="dark"] .masthead {
  background: rgba(26, 21, 38, 0.75) !important;
  border-bottom-color: rgba(255, 158, 199, 0.35) !important;
}
html[data-theme="dark"] .navbar.is-light,
html[data-theme="dark"] .navbar {
  background: rgba(26, 21, 38, 0.75) !important;
  border-bottom: 2px dashed rgba(255, 158, 199, 0.3);
}
html[data-theme="dark"] .footer,
html[data-theme="dark"] .page__footer {
  background: rgba(26, 21, 38, 0.8) !important;
  border-top-color: rgba(255, 158, 199, 0.3) !important;
}
html[data-theme="dark"] .footer, html[data-theme="dark"] .page__footer,
html[data-theme="dark"] .footer .title, html[data-theme="dark"] .footer p {
  color: #a79fc4 !important;
}

/* hero panels: night versions of the pastel gradients */
html[data-theme="dark"] .blog-hero {
  background: linear-gradient(135deg, #3a2b4e 0%, #45304a 45%, #2b3550 100%) !important;
  color: #d9d3ea !important;
  border-color: rgba(255, 158, 199, 0.35) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .blog-hero h1, html[data-theme="dark"] .pub-hero h1,
html[data-theme="dark"] .daily-hero h1, html[data-theme="dark"] .guest-hero h1,
html[data-theme="dark"] .diary-hero h1 { color: #ff9ec7 !important; }
html[data-theme="dark"] .blog-hero p, html[data-theme="dark"] .pub-hero p,
html[data-theme="dark"] .daily-hero p, html[data-theme="dark"] .guest-hero p,
html[data-theme="dark"] .diary-hero p, html[data-theme="dark"] .pub-kicker,
html[data-theme="dark"] .guest-kicker, html[data-theme="dark"] .daily-kicker,
html[data-theme="dark"] .featured-tag { color: #b7a8f7 !important; }

html[data-theme="dark"] .pub-hero {
  background: linear-gradient(135deg, #2c3352 0%, #3d3052 45%, #45304a 100%) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .daily-hero {
  background: linear-gradient(135deg, #40304a 0%, #4a2f47 45%, #2c3352 100%) !important;
  border-color: rgba(255, 158, 199, 0.35) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .guest-hero {
  background: linear-gradient(135deg, #24403a 0%, #263a4a 45%, #3a2b4e 100%) !important;
  border-color: rgba(127, 212, 181, 0.4) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .diary-hero {
  background: linear-gradient(135deg, #2e2950 0%, #45304a 55%, #2c3352 100%) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}

/* forms & inputs */
html[data-theme="dark"] .input, html[data-theme="dark"] .textarea,
html[data-theme="dark"] input[type="text"], html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="email"], html[data-theme="dark"] textarea,
html[data-theme="dark"] #diary-text, html[data-theme="dark"] .paper-search {
  background: rgba(20, 16, 32, 0.8) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  color: #e8e3f5 !important;
}
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder {
  color: #7d75a0 !important;
}

/* small chips, badges, tags */
html[data-theme="dark"] .course-tag {
  background: rgba(40, 34, 62, 0.8) !important;
  border-color: rgba(142, 197, 242, 0.35) !important;
  color: #a8c8f0 !important;
}
html[data-theme="dark"] .course-tag:hover { background: rgba(60, 50, 90, 0.9) !important; }
html[data-theme="dark"] .ks-date, html[data-theme="dark"] .ks-stat,
html[data-theme="dark"] .stat-chip {
  background: rgba(40, 34, 62, 0.8) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  color: #cfc7ee !important;
}
html[data-theme="dark"] .ks-stat img, html[data-theme="dark"] .ks-pv { border-radius: 4px; }
html[data-theme="dark"] .pub-list-badge {
  background: rgba(255, 158, 199, 0.14) !important;
  border-color: rgba(255, 158, 199, 0.4) !important;
  color: #ff9ec7 !important;
}
html[data-theme="dark"] .space-card--star {
  background: linear-gradient(120deg, #3a3222 0%, #42303e 100%) !important;
  border-color: rgba(230, 175, 60, 0.5) !important;
}
html[data-theme="dark"] .space-card--star .space-emoji,
html[data-theme="dark"] .star-badge { background: rgba(230, 175, 60, 0.15) !important; }
html[data-theme="dark"] .star-badge { color: #ffd76e !important; border-color: rgba(255, 215, 110, 0.4) !important; }
html[data-theme="dark"] .space-card--star .space-cta,
html[data-theme="dark"] .space-card .space-cta { color: #ff9ec7 !important; }

/* daily page */
html[data-theme="dark"] .paper-search { border-color: rgba(183, 168, 247, 0.4) !important; }
html[data-theme="dark"] .schip, html[data-theme="dark"] .chip {
  background: rgba(40, 34, 62, 0.85) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  color: #cfc7ee !important;
}
html[data-theme="dark"] .schip.active, html[data-theme="dark"] .chip.active {
  background: linear-gradient(120deg, #b7a8f7, #ff9ec7) !important;
  color: #1a1526 !important;
  border-color: transparent !important;
}
html[data-theme="dark"] .pick-badge.pick-embodied { background: rgba(255, 158, 199, 0.16) !important; color: #ff9ec7 !important; border-color: rgba(255,158,199,.4) !important; }
html[data-theme="dark"] .pick-badge.pick-rl        { background: rgba(183, 168, 247, 0.16) !important; color: #c3b5ff !important; border-color: rgba(183,168,247,.4) !important; }
html[data-theme="dark"] .pick-badge.pick-cv        { background: rgba(242, 181, 102, 0.16) !important; color: #ffc98a !important; border-color: rgba(242,181,102,.4) !important; }
html[data-theme="dark"] .pick-badge.pick-ai        { background: rgba(127, 212, 181, 0.16) !important; color: #8fe0c0 !important; border-color: rgba(127,212,181,.4) !important; }
html[data-theme="dark"] .paper-card .paper-title a { color: #e8e3f5 !important; }
html[data-theme="dark"] .paper-card .paper-title a:hover { color: #ff9ec7 !important; }
html[data-theme="dark"] .paper-cats .cat { background: rgba(60, 50, 90, 0.9) !important; color: #c3b5ff !important; border-color: rgba(183,168,247,.35) !important; }
html[data-theme="dark"] .status-box { background: rgba(40, 34, 62, 0.6) !important; }
html[data-theme="dark"] .retray-btn { background: linear-gradient(120deg, #b7a8f7, #ff9ec7) !important; color: #1a1526 !important; }

/* guestbook + diary + studio bits */
html[data-theme="dark"] .collab-btn.ghost, html[data-theme="dark"] .cta-btn.ghost,
html[data-theme="dark"] .channel-card {
  background: rgba(40, 34, 62, 0.85) !important;
  color: #d9d3ea !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
}
html[data-theme="dark"] .collab-btn.ghost { color: #d9d3ea !important; }
html[data-theme="dark"] .mood-btn, html[data-theme="dark"] .tag-btn,
html[data-theme="dark"] .toolbar button, html[data-theme="dark"] .cal-nav button {
  background: rgba(40, 34, 62, 0.9) !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
  color: #d9d3ea !important;
}
html[data-theme="dark"] .mood-btn.sel, html[data-theme="dark"] .tag-btn.sel {
  background: var(--dusk-deep) !important; color: #fff !important;
}
html[data-theme="dark"] .editor-grid .pane, html[data-theme="dark"] .post-list li,
html[data-theme="dark"] .day-entry, html[data-theme="dark"] .tl-body {
  background: rgba(28, 23, 44, 0.9) !important;
}
html[data-theme="dark"] #preview code, html[data-theme="dark"] .cal-table th { color: #cfc7ee !important; }
html[data-theme="dark"] #preview code, html[data-theme="dark"] #preview pre { background: rgba(20, 16, 32, 0.8) !important; }
html[data-theme="dark"] #preview blockquote { color: #a79fc4 !important; }

/* badges & day cells */
html[data-theme="dark"] .role-badge, html[data-theme="dark"] .day-cell.has-entry {
  background: rgba(60, 50, 90, 0.85) !important;
  border-color: rgba(183, 168, 247, 0.45) !important;
  color: #cfc7ee !important;
}
html[data-theme="dark"] .status-badge {
  background: rgba(60, 50, 90, 0.7) !important;
  color: #cfc7ee !important;
  border-color: rgba(183, 168, 247, 0.4) !important;
}
html[data-theme="dark"] .empty-shelf { color: #a79fc4 !important; }

/* generic bulma bits on static pages */
html[data-theme="dark"] .box, html[data-theme="dark"] .card {
  background: rgba(40, 34, 62, 0.85) !important;
  color: #d9d3ea;
}
html[data-theme="dark"] .button.is-light, html[data-theme="dark"] .tag.is-light,
html[data-theme="dark"] .tag.is-white {
  background: rgba(40, 34, 62, 0.9) !important;
  color: #cfc7ee !important;
}
html[data-theme="dark"] .button.is-outlined.is-link,
html[data-theme="dark"] .button.is-text { color: #b7a8f7 !important; }
html[data-theme="dark"] .table th { color: #cfc7ee !important; }
html[data-theme="dark"] .navbar-item { color: #d9d3ea !important; }
html[data-theme="dark"] strong { color: #ece7f8; }

/* report page */
html[data-theme="dark"] .post-meta, html[data-theme="dark"] .sep,
html[data-theme="dark"] .paper-abstract { color: #a79fc4 !important; }
html[data-theme="dark"] .interaction-bar p { color: #a79fc4 !important; }
html[data-theme="dark"] .interaction-bar a { color: #b7a8f7 !important; }
html[data-theme="dark"] .tag-cat { background: rgba(60, 50, 90, 0.9) !important; color: #c3b5ff !important; }
html[data-theme="dark"] .button.is-outlined.is-link { color: #b7a8f7 !important; }

/* theme toggle button (bottom-right stack, above back-to-top) */
#theme-toggle {
  position: fixed;
  right: 22px;
  bottom: 80px;
  z-index: 10000;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(40, 34, 62, 0.85);
  border: 1.5px solid rgba(183, 168, 247, 0.45);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}
#theme-toggle:hover { transform: translateY(-3px) scale(1.08); }

/* dark: solid surfaces where backdrop-filter renders unreliably */
html[data-theme="dark"] .masthead {
  background: #1a1526 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-theme="dark"] .navbar.is-light,
html[data-theme="dark"] .navbar {
  background: #1a1526 !important;
}
html[data-theme="dark"] .navbar-item { color: #e0d9f2 !important; }
html[data-theme="dark"] .page__footer,
html[data-theme="dark"] .footer {
  background: #1a1526 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-theme="dark"] .card, html[data-theme="dark"] .box {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-theme="dark"] .navbar .visible-links a,
html[data-theme="dark"] .navbar-item,
html[data-theme="dark"] .footer p, html[data-theme="dark"] .footer a,
html[data-theme="dark"] .page__footer p, html[data-theme="dark"] .page__footer a {
  color: #cfc7ee !important;
}
html[data-theme="dark"] .greedy-nav,
html[data-theme="dark"] .greedy-nav button,
html[data-theme="dark"] .greedy-nav .visible-links,
html[data-theme="dark"] .greedy-nav .hidden-links {
  background: transparent !important;
}
html[data-theme="dark"] .greedy-nav .hidden-links {
  background: #241f33 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5) !important;
  border: 1px solid rgba(183, 168, 247, 0.25);
}
html[data-theme="dark"] .greedy-nav .hidden-links a { color: #cfc7ee !important; }
html[data-theme="dark"] .greedy-nav .navicon { background: #cfc7ee !important; }
html[data-theme="dark"] .greedy-nav .navicon:before,
html[data-theme="dark"] .greedy-nav .navicon:after { background: #cfc7ee !important; }

/* dark: guide banner on resources page */
html[data-theme="dark"] .guide-banner {
  background: linear-gradient(120deg, #3a3222 0%, #42303e 100%) !important;
  border-color: rgba(230, 175, 60, 0.5) !important;
}
html[data-theme="dark"] .guide-banner .title { color: #ffd76e !important; }
html[data-theme="dark"] .guide-banner .subtitle { color: #c9c2e0 !important; }
