:root {
  /* === DARK PALETTE (cross-stitch calendar reference) === */
  /* Brown-black backdrop, baby blue, cream, pink */
  --bg-deep:      #1a1418;  /* page bg, deepest brown-black */
  --bg-mid:       #241a20;  /* slightly lighter brown-black for windows */
  --bg-card:      #2a1f26;  /* card body backdrop */

  --cream:        #f4ead8;
  --paper:        #f8f0e0;
  --paper-soft:   #ebe0c8;

  --baby-blue:    #b8d4e8;
  --baby-blue-mid:#9cc0d8;
  --baby-blue-pale:#dcebf3;

  --pink:         #f0a8c4;
  --pink-soft:    #f6c8d8;
  --pink-deep:    #d97fa1;

  --pen:          #1a1418;  /* outlines */
  --ink:          #1a1418;  /* primary text on cream cards */
  --ink-soft:     #4a3d44;  /* secondary text */
  --ink-on-dark:  #f4ead8;  /* text for the dark surfaces */

  /* aliases kept for compatibility with existing rules */
  --gothic:       #1a1418;
  --ribbon:       #d97fa1;
  --gold:         #b8d4e8;  /* aliased to baby-blue for compatibility */
  --rose:         #f0a8c4;
  --rose-deep:    #d97fa1;
  --lilac:        #b8d4e8;
  --lilac-mid:    #9cc0d8;
  --lilac-deep:   #6a8aa5;
  --mint:         #c8d4b8;
  --sky:          #b8d4e8;
  --butter:       #f6c8d8;  /* aliased to pink-soft for compatibility */
}

/* === FONTS === */
@font-face {
  font-family: 'Pixelify Sans';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }

/* glitter cursor trail container — fixed so sparkles don't push layout */
#glitter {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
}
.sparkle {
  position: absolute;
  font-family: 'Pixelify Sans', monospace;
  animation: float-up 2.2s ease-out forwards;
  pointer-events: none;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

@keyframes shimmer-text {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes blink-soft { 50% { opacity: 0.4; } }
@keyframes wiggle {
  0%, 100% { transform: rotate(-1.5deg); }
  50%      { transform: rotate(1.5deg); }
}
@keyframes drift {
  0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); }
  50%      { transform: translateY(-6px) rotate(var(--r, 0deg)); }
}
@keyframes spin-slow { to { transform: rotate(360deg); } }
@keyframes float-up {
  0%   { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(-80px) rotate(360deg); opacity: 0; }
}
@keyframes twinkle {
  0%, 100% { opacity: 0.5; transform: scale(0.9) rotate(var(--r, 0deg)); }
  50%      { opacity: 1;   transform: scale(1.1) rotate(var(--r, 0deg)); }
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Pixelify Sans', 'Courier New', monospace;
  color: var(--ink-on-dark);
  background:
    /* baby blue polka dots, larger spacing */
    radial-gradient(circle at 12px 12px, var(--baby-blue) 3px, transparent 3.5px),
    /* subtle gradient */
    linear-gradient(180deg, var(--bg-deep), var(--bg-mid) 50%, var(--bg-deep));
  background-size: 32px 32px, auto;
  overflow-x: hidden;
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><text x='4' y='22' font-size='22' fill='%23f0a8c4'>✦</text></svg>") 4 4, auto;
  min-height: 100vh;
}

/* ============ TOP TICKER ============ */
.lace-border {
  height: 28px;
  background:
    /* ASCII-style cross-stitch pattern in baby blue dots */
    repeating-linear-gradient(90deg,
      var(--baby-blue) 0 3px,
      transparent 3px 9px,
      var(--pink) 9px 12px,
      transparent 12px 18px),
    var(--bg-mid);
  border-bottom: 2px solid var(--pen);
  border-top: 2px solid var(--pen);
  font-family: 'Pixelify Sans', monospace;
  text-align: center;
  color: var(--cream);
  font-size: 14px;
  letter-spacing: 8px;
  line-height: 28px;
  overflow: hidden;
}

.top-ticker {
  background: var(--gothic);
  color: var(--cream);
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  padding: 8px 0;
  border-bottom: 2px solid var(--pen);
  border-top: 2px solid var(--pen);
  letter-spacing: 1px;
  position: relative;
}
.top-ticker::before, .top-ticker::after {
  content: "✟"; position: absolute; top: 50%;
  transform: translateY(-50%); color: var(--rose); font-size: 16px;
}
.top-ticker::before { left: 12px; }
.top-ticker::after  { right: 12px; }
.top-ticker marquee b { color: var(--rose); font-style: italic; }
.top-ticker .sep { color: var(--rose-deep); margin: 0 14px; }

.page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 16px 80px;
  position: relative;
}

/* ============ MASTHEAD ============ */
.masthead {
  display: grid;
  grid-template-columns: 200px 1fr 240px;
  gap: 18px; align-items: center;
  padding: 18px 24px 22px;
  background: var(--paper);
  color: var(--pen);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  position: relative;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  z-index: 10;
}

.portrait {
  width: 180px; height: 180px;
  border: 2px solid var(--pen);
  background: linear-gradient(160deg, var(--rose), var(--lilac));
  position: relative; border-radius: 50%; overflow: hidden;
  box-shadow: inset 0 0 24px rgba(255,255,255,0.6), 0 0 0 6px var(--cream), 0 0 0 8px var(--pen);
}
.portrait::after {
  content: "✿"; position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive; font-size: 92px;
  color: rgba(255,255,255,0.95);
  text-shadow: 0 2px 8px rgba(26, 15, 31, 0.2);
  animation: wiggle 6s ease-in-out infinite;
}

.title-block {
  text-align: center;
  position: relative;
  padding: 22px 0 18px;
}
.title-block .since {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  letter-spacing: 4px;
  color: var(--pink-deep);
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  text-shadow: 0 0 8px var(--paper), 0 0 8px var(--paper);
  white-space: nowrap;
}
.title-block h1 {
  font-family: 'pf-pixelscript', cursive;
  margin: 0;
  font-size: 96px;
  line-height: 1.15;
  padding: 14px 0 10px;
  color: var(--pen);
  background: linear-gradient(90deg, var(--pink-deep) 0%, var(--pen) 30%, var(--baby-blue-mid) 70%, var(--pink-deep) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-text 8s ease-in-out infinite;
  letter-spacing: 3px;
  position: relative;
  z-index: 1;
}
.title-block .subtitle {
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px;
  color: var(--pen);
  letter-spacing: 2px;
  font-style: italic;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  background: var(--paper);
  padding: 2px 12px;
  white-space: nowrap;
}
.title-block .subtitle b { color: var(--ribbon); }

.status-card {
  background: var(--cream);
  border: 2px solid var(--pen);
  padding: 10px 12px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 16px; line-height: 1.5;
}
.status-card .row { display: flex; justify-content: space-between; border-bottom: 1px dotted var(--pen); padding: 1px 0; }
.status-card .row:last-child { border-bottom: none; }
.status-card .row .k { color: var(--ribbon); }
.status-card .online {
  display: inline-block; width: 8px; height: 8px;
  background: #6fb86f; border-radius: 50%; margin-right: 4px;
  animation: blink-soft 1.4s steps(1) infinite;
  box-shadow: 0 0 6px #6fb86f;
}

@media (max-width: 820px) {
  .masthead { grid-template-columns: 1fr; text-align: center; }
  .portrait { margin: 0 auto; }
}

/* ============ NAV ============ */
nav.menu {
  margin: 18px 0 14px;
  background: var(--bg-mid);
  border: 2.5px solid var(--pen);
  padding: 4px 6px;
  display: flex; flex-wrap: wrap; gap: 2px; align-items: center;
  position: relative; z-index: 10;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  border-radius: 14px;
  overflow: hidden;
}
nav.menu a {
  font-family: 'Pixelify Sans', monospace;
  font-size: 16px; text-decoration: none;
  color: var(--cream); padding: 6px 14px;
  letter-spacing: 1px; position: relative;
  transition: all 0.15s;
}
nav.menu a:hover { background: var(--pink); color: var(--pen); }
nav.menu a + a::before {
  content: "✦"; position: absolute; left: -4px;
  color: var(--pink); font-size: 9px;
  top: 50%; transform: translateY(-50%);
}
nav.menu .nav-decor {
  margin-left: auto;
  display: flex;
  gap: 10px;
  align-items: center;
  font-family: 'Pixelify Sans', monospace;
  font-size: 18px;
  letter-spacing: 2px;
  user-select: none;
}
nav.menu .nav-decor span {
  display: inline-block;
  transition: transform 0.2s ease;
}
nav.menu .nav-decor span:hover {
  transform: rotate(20deg) scale(1.3);
}

/* ============ COLLAGE ============ */
.collage {
  display: grid;
  grid-template-columns: 260px 1fr 260px;
  gap: 18px;
  align-items: start;
  position: relative;
}
/* center column scrolls independently, stays put as the page scrolls */
.main {
  overflow-y: auto;
  padding-right: 6px;
  position: sticky;
  top: 20px;
  align-self: start;
  scrollbar-width: thin;
  scrollbar-color: var(--ribbon) transparent;
  /* max-height set by JS to match the taller sidebar */
}
.main::-webkit-scrollbar { width: 8px; }
.main::-webkit-scrollbar-thumb {
  background: var(--ribbon);
  border-radius: 4px;
}
.main::-webkit-scrollbar-track {
  background: rgba(26, 15, 31, 0.08);
  border-radius: 4px;
}
.page-footer {
  margin-top: 32px;
}
.page-footer .footer-newsletter {
  max-width: 640px;
  margin: 0 auto 22px;
  /* flip from black variant — make this stand out */
  background: var(--pink) !important;
  border: 2.5px solid var(--pen) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5) !important;
}
.page-footer .footer-newsletter .title-bar {
  background: var(--cream) !important;
  color: var(--pen) !important;
  font-size: 16px !important;
  padding: 8px 14px !important;
  letter-spacing: 2px !important;
}
.page-footer .footer-newsletter .window-body {
  background: var(--pink) !important;
  color: var(--pen) !important;
  padding: 20px 28px !important;
}
.page-footer .footer-newsletter .newsletter .pitch {
  color: var(--pen) !important;
  font-size: 17px;
  margin-bottom: 14px;
  line-height: 1.45;
}
.page-footer .footer-newsletter .newsletter input[type=email] {
  background: var(--cream);
  border: 2px solid var(--pen);
  color: var(--pen);
  font-size: 16px;
  padding: 7px 12px;
  width: 60%;
  max-width: 280px;
  border-radius: 4px;
}
.page-footer .footer-newsletter .newsletter button {
  background: var(--pen);
  color: var(--cream);
  border: 2px solid var(--pen);
  padding: 8px 18px;
  font-size: 15px;
  border-radius: 4px;
  margin-left: 4px;
  letter-spacing: 1.5px;
}
.page-footer .footer-newsletter .newsletter button:hover {
  background: var(--pink-deep);
  color: var(--cream);
}

@media (max-width: 980px) {
  .collage { grid-template-columns: 1fr; }
  .main { max-height: none; overflow: visible; padding-right: 0; position: static; }
}

/* ============ WINDOW — DRAWING OF AN OS ============ */
.window {
  background: var(--paper);
  color: var(--pen);
  border: 2.5px solid var(--pen);
  margin-bottom: 18px;
  position: relative;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  z-index: 5;
  border-radius: 14px;
  overflow: hidden;
}

.title-bar {
  background: var(--pink);
  color: var(--pen);
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  padding: 5px 12px;
  display: flex; align-items: center;
  border-bottom: 2px solid var(--pen);
  letter-spacing: 1px;
}
.title-bar .tbar-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.title-bar .tbar-icon {
  display: inline-block;
  width: 16px; height: 16px;
}

/* coloured window variants — cream body, varied pink/blue title bar accents */
.window.rose       { background: var(--paper); }
.window.rose .title-bar { background: var(--pink); color: var(--pen); }
.window.lilac      { background: var(--paper); }
.window.lilac .title-bar { background: var(--baby-blue); color: var(--pen); }
.window.mint       { background: var(--paper); }
.window.mint .title-bar { background: var(--baby-blue-pale); color: var(--pen); }
.window.butter     { background: var(--paper); }
.window.butter .title-bar { background: var(--pink-soft); color: var(--pen); }
.window.sky        { background: var(--paper); }
.window.sky .title-bar { background: var(--baby-blue-mid); color: var(--pen); }
.window.black      { background: var(--bg-mid); color: var(--cream); }
.window.black .title-bar { background: var(--pink-deep); color: var(--pen); }

.window-body { padding: 12px; font-size: 15px; line-height: 1.45; color: var(--pen); }
.window.black .window-body { color: var(--cream); }

.tape {
  position: absolute; width: 60px; height: 20px;
  background: rgba(245, 230, 179, 0.75);
  border: 1.5px dashed rgba(26, 15, 31, 0.4); z-index: 5;
}
.tape.tl { top: -8px; left: 10px; transform: rotate(-8deg); }
.tape.tr { top: -8px; right: 10px; transform: rotate(7deg); }

/* ============ SIDEBAR BODY CONTENT ============ */
.sidebar-l .window-body, .sidebar-r .window-body { font-family: 'Pixelify Sans', monospace; font-size: 17px; line-height: 1.4; }

.np { display: flex; gap: 10px; align-items: center; }
.disc {
  width: 50px; height: 50px;
  background: radial-gradient(circle at 30% 30%, #fff, var(--lilac-deep) 55%, var(--gothic));
  border-radius: 50%; animation: spin-slow 5s linear infinite;
  flex-shrink: 0; position: relative; border: 2px solid var(--pen);
}
.disc::after {
  content: ""; position: absolute; inset: 40%;
  background: var(--cream); border-radius: 50%;
  border: 1.5px solid var(--pen);
}
.music-toggle {
  font-family: 'Pixelify Sans', monospace;
  font-size: 13px;
  background: var(--cream); border: 2px solid var(--pen);
  padding: 3px 12px; cursor: pointer; letter-spacing: 1px;
  color: var(--pen);
  border-radius: 4px;
}
.music-toggle:hover { background: var(--rose); }

.visitor-block { text-align: center; font-family: 'Pixelify Sans', monospace; font-size: 14px; }
.counter {
  display: inline-block; background: var(--gothic);
  color: var(--rose); font-family: 'Pixelify Sans', monospace;
  font-size: 14px; padding: 6px 10px;
  border: 2px solid var(--pen); letter-spacing: 4px; margin-top: 4px;
}

.mood { text-align: center; font-family: 'Pixelify Sans', monospace; font-size: 16px; line-height: 1.2; }
.mood .face {
  font-family: 'pf-pixelscript', cursive; font-size: 48px;
  color: var(--ribbon); display: block;
}
.mood .sub {
  font-family: 'Pixelify Sans', monospace; font-size: 14px;
  color: var(--lilac-deep); display: block; margin-top: 4px;
}

.currently dt {
  font-family: 'pf-pixelscript', cursive;
  color: var(--ribbon); font-size: 14px;
  letter-spacing: 1px; margin-top: 8px;
}
.currently dt:first-child { margin-top: 0; }
.currently dd {
  margin: 2px 0 0 0;
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px; padding-left: 14px;
  position: relative; line-height: 1.35;
}
.currently dd::before { content: "▸"; position: absolute; left: 0; color: var(--lilac-deep); }
.currently dd .title { font-weight: 600; }
.currently dd .com {
  font-family: 'Pixelify Sans', monospace;
  color: var(--ink); opacity: 0.8;
  font-size: 13px; display: block; padding-left: 0;
}

.friends { list-style: none; padding: 0; margin: 0; }
.friends li {
  padding: 3px 0; border-bottom: 1px dotted var(--ribbon);
  font-family: 'Pixelify Sans', monospace;
  font-size: 16px;
}
.friends li:last-child { border-bottom: none; }
.friends li::before { content: "♡ "; color: var(--rose-deep); }

.webring { text-align: center; font-family: 'Pixelify Sans', monospace; font-size: 15px; }
.webring .ring-btn {
  display: inline-block; background: var(--gothic);
  color: var(--rose); padding: 2px 7px; margin: 2px 1px;
  text-decoration: none; border: 2px solid var(--pen);
  font-family: 'Pixelify Sans', monospace; font-size: 13px;
  border-radius: 3px;
}
.webring .ring-btn:hover { background: var(--rose); color: var(--gothic); }

/* ============ MAIN CONTENT ============ */
.about-note {
  position: relative;
  background:
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(216, 200, 232, 0.4) 27px 28px),
    var(--paper);
  padding: 14px 18px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 16px;
  line-height: 1.7; color: var(--ink);
  border-left: 3px double var(--ribbon);
}
.about-note b { color: var(--ribbon); }

.feat-post {
  display: grid; grid-template-columns: 130px 1fr;
  gap: 14px; padding: 10px;
  background: var(--cream);
  border: 2px solid var(--pen);
  margin-bottom: 12px; position: relative;
  border-radius: 4px;
}
.feat-post .post-img {
  width: 130px; height: 130px;
  background: linear-gradient(135deg, var(--lilac), var(--rose));
  border: 2px solid var(--pen);
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive; font-size: 60px;
  color: var(--paper);
  border-radius: 3px;
}
.feat-post .meta {
  font-family: 'Pixelify Sans', monospace; font-size: 13px;
  color: var(--ribbon); letter-spacing: 2px;
}
.feat-post h3 {
  font-family: 'pf-pixelscript', cursive;
  margin: 4px 0 6px; font-size: 22px; line-height: 1.1;
  color: var(--pen);
}
.feat-post .excerpt {
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px; line-height: 1.45; margin: 0 0 6px;
}
.feat-post .read-more {
  font-family: 'Pixelify Sans', monospace;
  text-decoration: none; color: var(--ribbon); font-size: 14px;
}
.feat-post .read-more:hover { color: var(--gothic); }

.recent-list {
  list-style: none; padding: 0; margin: 0;
  border-top: 1.5px dashed var(--ribbon); padding-top: 8px;
}
.recent-list li {
  display: grid; grid-template-columns: 80px 1fr auto;
  gap: 10px; font-family: 'Pixelify Sans', monospace;
  font-size: 14px; padding: 3px 4px;
  border-bottom: 1px dotted rgba(26, 15, 31, 0.2);
}
.recent-list li:last-child { border-bottom: none; }
.recent-list .d {
  font-family: 'Pixelify Sans', monospace; color: var(--ribbon);
  font-size: 14px; letter-spacing: 1px;
}
.recent-list a { color: var(--ink); text-decoration: none; }
.recent-list a:hover { color: var(--ribbon); }
.recent-list .tag {
  font-family: 'Pixelify Sans', monospace; font-size: 11px;
  background: var(--gothic); color: var(--cream);
  padding: 1px 6px;
  border: 1.5px solid var(--pen);
}

/* ============ SECTION WINDOWS (art, music, games) ============ */
.section-feat {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 14px;
  padding: 12px;
  background: var(--cream);
  border: 2px solid var(--pen);
  margin-bottom: 12px;
  border-radius: 3px;
}
@media (max-width: 600px) { .section-feat { grid-template-columns: 1fr; } }
.section-feat .sf-img {
  width: 200px; height: 150px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive; font-size: 80px;
  color: var(--paper);
  border: 2px solid var(--pen);
  border-radius: 3px;
}
@media (max-width: 600px) { .section-feat .sf-img { width: 100%; height: 180px; } }
.section-feat .sf-meta {
  font-family: 'Pixelify Sans', monospace; font-size: 13px;
  color: var(--ribbon); letter-spacing: 2px;
}
.section-feat .sf-title {
  font-family: 'pf-pixelscript', cursive;
  font-size: 22px;
  color: var(--pen);
  margin: 4px 0 6px;
  line-height: 1.1;
}
.section-feat .sf-blurb {
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px;
  line-height: 1.45;
  margin: 0 0 8px;
  color: var(--ink);
}
.section-feat .sf-cta {
  font-family: 'Pixelify Sans', monospace;
  color: var(--ribbon);
  font-size: 14px;
  text-decoration: none;
}
.section-feat .sf-cta:hover { color: var(--pen); }

.section-list {
  list-style: none; padding: 0; margin: 0;
  border-top: 1.5px dashed var(--ribbon); padding-top: 8px;
}
.section-list li {
  display: grid; grid-template-columns: 80px 1fr auto;
  gap: 10px; font-family: 'Pixelify Sans', monospace;
  font-size: 14px; padding: 3px 4px;
  border-bottom: 1px dotted rgba(26, 15, 31, 0.2);
  align-items: center;
}
.section-list li:last-child { border-bottom: none; }
.section-list .d {
  font-family: 'Pixelify Sans', monospace; color: var(--ribbon);
  font-size: 13px; letter-spacing: 1px;
}
.section-list a { color: var(--ink); text-decoration: none; }
.section-list a:hover { color: var(--ribbon); }
.section-list .browse-all {
  display: inline-block;
  margin-top: 8px;
  font-family: 'Pixelify Sans', monospace;
  color: var(--lilac-deep);
  font-size: 14px;
  text-decoration: none;
}

.quick-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 560px) { .quick-row { grid-template-columns: 1fr; } }
.qcard {
  background: var(--paper);
  border: 2px solid var(--pen);
  padding: 8px; font-size: 13px;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
}
.qcard h4 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 16px;
  margin: 0 0 6px; color: var(--ribbon);
  border-bottom: 1.5px dashed var(--ribbon); padding-bottom: 3px;
}
.qcard .qfeat {
  display: flex;
  gap: 6px;
  padding: 5px;
  background: var(--cream);
  border: 1.5px solid var(--pen);
  margin-bottom: 6px;
  border-radius: 2px;
}
.qcard .qfeat-img {
  flex-shrink: 0;
  width: 50px; height: 50px;
  border: 1.5px solid var(--pen);
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive; font-size: 30px;
  color: var(--paper);
  border-radius: 2px;
}
.qcard .qfeat-body {
  font-size: 11px;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.qcard .qfeat-title {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  color: var(--pen);
  font-weight: bold;
  line-height: 1.15;
  margin-bottom: 2px;
}
.qcard .qfeat-blurb {
  font-family: 'Pixelify Sans', monospace;
  font-style: italic;
  color: var(--ink);
  opacity: 0.8;
  font-size: 11px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.qcard .qitem {
  font-family: 'Pixelify Sans', monospace;
  padding: 2px 0; border-bottom: 1px dotted rgba(0,0,0,0.1);
  font-size: 13px;
}
.qcard .qitem:last-of-type { border: none; }
.qcard .more {
  display: inline-block; margin-top: auto;
  padding-top: 6px;
  font-family: 'Pixelify Sans', monospace;
  color: var(--lilac-deep); font-size: 13px; text-decoration: none;
}

.proj-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 700px) { .proj-row { grid-template-columns: 1fr; } }
.polaroid {
  background: var(--paper);
  border: 2px solid var(--pen);
  padding: 8px 8px 24px; position: relative;
  box-shadow: 3px 3px 0 var(--pen), 6px 6px 12px rgba(0,0,0,0.18);
}
.polaroid .thumb {
  height: 110px;
  display: flex; align-items: center; justify-content: center;
  font-size: 50px; border: 2px solid var(--pen);
  font-family: 'pf-pixelscript', cursive;
}
.polaroid .cap {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  text-align: center; margin-top: 6px; color: var(--ink);
}
.polaroid .cap b {
  display: block; font-family: 'pf-pixelscript', cursive;
  font-size: 18px; color: var(--ribbon);
  letter-spacing: 1px; font-weight: bold;
}
.polaroid .pin {
  position: absolute; top: -8px; left: 50%;
  transform: translateX(-50%);
  width: 14px; height: 14px;
  background: radial-gradient(circle at 30% 30%, var(--rose-deep), var(--ribbon) 70%, var(--gothic));
  border-radius: 50%; border: 2px solid var(--pen);
  box-shadow: 0 2px 3px rgba(0,0,0,0.3);
}

.newsletter { text-align: center; font-family: 'Pixelify Sans', monospace; }
.newsletter .pitch {
  font-family: 'Pixelify Sans', monospace;
  font-size: 16px;
  margin-bottom: 10px; color: var(--cream);
}
.newsletter input[type=email] {
  font-family: 'Pixelify Sans', monospace; font-size: 16px;
  padding: 5px 10px;
  border: 2px solid var(--pen);
  background: var(--paper); width: 65%; max-width: 260px;
  color: var(--pen);
}
.newsletter button {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px; padding: 6px 14px;
  background: var(--gothic); color: var(--cream);
  border: 2px solid var(--pen); cursor: pointer; letter-spacing: 1px;
}
.newsletter button:hover { background: var(--ribbon); }

.socials { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.socials a {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  text-decoration: none; background: var(--cream);
  color: var(--pen); border: 2px solid var(--pen);
  padding: 3px 10px; letter-spacing: 1px;
  border-radius: 4px;
}
.socials a:hover { background: var(--rose); }

footer {
  text-align: center; margin-top: 30px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px; color: var(--cream); opacity: 0.95;
}
footer .made-with {
  background: var(--paper);
  display: inline-block;
  padding: 6px 16px;
  border: 2px solid var(--pen);
  color: var(--pen); text-shadow: none;
  position: relative;
  border-radius: 14px;
}
footer .made-with::before, footer .made-with::after {
  content: "✦"; color: var(--pink-deep); margin: 0 8px;
}

.construction {
  position: fixed; bottom: 12px; right: 12px;
  background: var(--bg-mid);
  border: 2px solid var(--pink);
  padding: 6px 12px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px; color: var(--pink);
  z-index: 100; transform: rotate(-3deg); letter-spacing: 1px;
  border-radius: 6px;
}
.construction .gear {
  display: inline-block;
  animation: spin-slow 4s linear infinite;
  color: var(--cream);
}

.divider {
  text-align: center; font-family: 'pf-pixelscript', cursive;
  color: var(--pink); letter-spacing: 12px;
  font-size: 24px;
  margin: 4px 0; opacity: 0.85;
}

/* ============ DOODLE LAYER ============ */
.doodle {
  position: absolute;
  user-select: none;
  z-index: 4;
  cursor: grab;
  touch-action: none;
}
.doodle.dragging {
  cursor: grabbing;
  z-index: 100;
  /* slight visual feedback while dragging */
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}
.doodle.over { z-index: 50; }
.doodle.over.dragging { z-index: 100; }
.doodle svg { display: block; pointer-events: none; }

.sketch       { stroke: var(--pen); stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; opacity: 0.85; }
.sketch-pink  { stroke: var(--ribbon); stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sketch-fill-soft  { fill: rgba(255, 240, 245, 0.85); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }
.sketch-fill-rose  { fill: rgba(245, 202, 214, 0.92); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }
.sketch-fill-cream { fill: rgba(253, 250, 245, 0.95); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }
.sketch-fill-lilac { fill: rgba(216, 200, 232, 0.9); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }
.sketch-fill-mint  { fill: rgba(200, 230, 212, 0.9); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }
.sketch-fill-butter{ fill: rgba(245, 230, 179, 0.9); stroke: var(--pen); stroke-width: 1.6; stroke-linejoin: round; }

/* ============================================================
   SECTION PAGE STYLES (from wireframes)
   ============================================================ */

/* wireframe-specific extras */
.wf-page-label {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--pink-deep);
  color: var(--paper);
  padding: 12px 24px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 18px;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  margin: 80px 40px 0;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}
.wf-page-label .note {
  display: block;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 1px;
  font-style: italic;
  opacity: 0.95;
  margin-top: 2px;
}

.masthead-mini {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px;
  background: var(--paper);
  color: var(--pen);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  position: relative;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
  z-index: 10;
  margin-bottom: 14px;
}
.masthead-mini .left { display: flex; align-items: center; gap: 14px; }
.masthead-mini .portrait-sm {
  width: 60px; height: 60px;
  border: 2px solid var(--pen);
  background: linear-gradient(160deg, var(--rose), var(--lilac));
  border-radius: 50%;
  position: relative;
}
.masthead-mini .portrait-sm::after {
  content: "\u270f"; position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive;
  font-size: 36px;
  color: rgba(255,255,255,0.95);
}
.masthead-mini h1 {
  font-family: 'pf-pixelscript', cursive;
  margin: 0; font-size: 44px; line-height: 1.5;
  padding: 8px 18px;
  letter-spacing: 3px;
  background: linear-gradient(90deg, var(--pink-deep) 0%, var(--pen) 30%, var(--baby-blue-mid) 70%, var(--pink-deep) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-text 8s ease-in-out infinite;
}
.masthead-mini .crumbs {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  color: var(--pink-deep);
  font-style: italic;
}

.section-page {
  display: block;
  padding: 0 0 40px;
  position: relative;
}
.content-wrap {
  background: transparent;
  margin: 0;
}

/* a "page card" - the main content wrapper for section pages */
.page-card {
  background: var(--paper);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  padding: 32px 40px;
  margin-bottom: 14px;
  color: var(--pen);
}
.page-card h1.section-title {
  font-family: 'pf-pixelscript', cursive;
  font-size: 76px;
  margin: 0 0 4px;
  padding: 16px 30px;
  letter-spacing: 2px;
  background: linear-gradient(90deg, var(--pink-deep) 0%, var(--pen) 30%, var(--baby-blue-mid) 70%, var(--pink-deep) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-text 8s ease-in-out infinite;
  line-height: 1.5;
}
.page-card .section-intro {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  color: var(--ink);
  font-style: italic;
  margin: 0 0 24px;
  padding-bottom: 18px;
  border-bottom: 1.5px dashed var(--pen);
}

/* journal list */
/* journal list — grouped by month, date in top-right corner */
.journal-month-group { margin-bottom: 28px; }
.journal-month-group .month-label {
  font-family: 'pf-pixelscript', cursive;
  font-size: 36px;
  line-height: 1.15;
  padding: 6px 0 0;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin: 0 0 10px;
  border-bottom: 1.5px solid var(--pen);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.journal-month-group .month-label .yr {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  color: var(--ink-faded);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-style: normal;
}

.journal-list { list-style: none; padding: 0; margin: 0; }
.journal-list li {
  position: relative;
  padding: 16px 0 18px;
  border-bottom: 1.5px dashed var(--pen);
}
.journal-list li:last-child { border-bottom: none; }
.journal-list .date-corner {
  position: absolute;
  top: 16px;
  right: 0;
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  color: var(--ribbon);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.journal-list h3 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 30px;
  margin: 0 0 6px;
  padding-right: 70px; /* leaves room for date in corner */
  letter-spacing: 1px;
  line-height: 1.15;
}
.journal-list h3 a { color: var(--pen); text-decoration: none; }
.journal-list h3 a:hover { color: var(--ribbon); }
.journal-list .excerpt {
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 6px;
  color: var(--ink);
}
.journal-list .kind {
  display: inline-block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ink-faded);
  border: 1px solid var(--ink-faded);
  padding: 1px 6px;
}

/* gallery */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}
.gallery-card {
  background: var(--paper);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  text-decoration: none;
  color: var(--pen);
  display: block;
  transition: transform 0.15s;
}
.gallery-card:hover { transform: translateY(-3px); }
.gallery-card .thumb {
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--lilac), var(--rose));
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive;
  font-size: 48px;
  color: var(--cream);
  border-bottom: 2px solid var(--pen);
}
.gallery-card .info { padding: 8px 12px 12px; }
.gallery-card h4 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 22px;
  margin: 0 0 4px;
}
.gallery-card .gmeta {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  color: var(--ink-faded);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* songing list */
.song-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 18px;
}
.song-card {
  background: var(--paper);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0;
  color: var(--pen);
  text-decoration: none;
}
.song-card .albumart {
  aspect-ratio: 1 / 1;
  background:
    repeating-linear-gradient(45deg, var(--pen) 0 2px, var(--paper) 2px 6px);
  display: flex; align-items: center; justify-content: center;
  border-right: 2px solid var(--pen);
  position: relative;
}
.song-card .albumart::after {
  content: "\u266a";
  background: var(--paper);
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 2px solid var(--pen);
  font-family: 'pf-pixelscript', cursive;
  font-size: 26px;
}
.song-card .info { padding: 10px 14px; }
.song-card h4 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 22px;
  margin: 0 0 4px;
  line-height: 1.1;
}
.song-card .smeta {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  color: var(--ink-faded);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.song-card .play-btn {
  display: inline-block;
  background: var(--gothic);
  color: var(--rose);
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  padding: 3px 10px;
  border: 2px solid var(--pen);
  border-radius: 3px;
  margin-top: 4px;
}

/* games */
.game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
}
.game-card {
  background: var(--paper);
  border: 2.5px solid var(--pen);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  text-decoration: none;
  color: var(--pen);
}
.game-card .gthumb {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--mint), var(--sky));
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive;
  font-size: 64px;
  color: var(--cream);
  border-bottom: 2px solid var(--pen);
  position: relative;
}
.game-card .gthumb .play-tag {
  position: absolute;
  top: 8px; right: 8px;
  background: var(--gothic);
  color: var(--rose);
  font-family: 'Pixelify Sans', monospace;
  font-size: 10px;
  padding: 2px 6px;
  border: 1.5px solid var(--pen);
  letter-spacing: 1px;
}
.game-card .info { padding: 10px 14px 14px; }
.game-card h4 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 22px;
  margin: 0 0 4px;
}
.game-card .gmeta {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  color: var(--ink-faded);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.game-card .blurb {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
}

/* tending */
.tending-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 28px;
  padding: 14px 0;
}
.tending-wall .polaroid-lg {
  background: var(--paper);
  border: 2.5px solid var(--pen);
  padding: 12px 12px 22px;
  position: relative;
  box-shadow: 4px 4px 0 var(--pen), 6px 6px 12px rgba(0,0,0,0.4);
  text-decoration: none;
  color: var(--pen);
  transform: rotate(-1.5deg);
  transition: transform 0.18s;
}
.tending-wall .polaroid-lg:nth-child(even) { transform: rotate(1.5deg); }
.tending-wall .polaroid-lg:hover { transform: rotate(0); }
.tending-wall .pin-lg {
  position: absolute;
  top: -8px; left: 50%; transform: translateX(-50%);
  width: 14px; height: 14px;
  background: var(--ribbon);
  border-radius: 50%;
  border: 2px solid var(--pen);
}
.tending-wall .polaroid-lg .thumb-lg {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  border: 2px solid var(--pen);
  margin-bottom: 10px;
  background: linear-gradient(135deg, var(--lilac), var(--rose));
}
.tending-wall .polaroid-lg h4 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 28px;
  margin: 0 0 4px;
  text-align: center;
  letter-spacing: 1px;
}
.tending-wall .polaroid-lg .tagline {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  text-align: center;
  margin: 0 0 8px;
  color: var(--ink);
  line-height: 1.4;
}
.tending-wall .polaroid-lg .status-pill {
  display: block;
  font-family: 'Pixelify Sans', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--ink-faded);
  border: 1px solid var(--ink-faded);
  padding: 2px 8px;
  border-radius: 3px;
  width: max-content;
  margin: 0 auto;
}

.post-hero {
  font-family: 'pf-pixelscript', cursive;
  margin: 0 0 6px;
  padding: 12px 24px;
  font-size: 60px;
  letter-spacing: 1px;
  line-height: 1.5;
  background: linear-gradient(90deg, var(--pink-deep) 0%, var(--pen) 30%, var(--baby-blue-mid) 70%, var(--pink-deep) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-text 8s ease-in-out infinite;
}
.post-meta-row {
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-faded);
  margin-bottom: 18px;
}
.post-meta-row .star { color: var(--ribbon); }
.post-cover-strip {
  width: 100%;
  aspect-ratio: 16 / 7;
  background: linear-gradient(135deg, var(--lilac), var(--rose));
  border: 2px solid var(--pen);
  border-radius: 10px;
  margin-bottom: 22px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive;
  font-size: 80px;
  color: var(--cream);
}
.post-prose {
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink);
  max-width: 680px;
}
.post-prose p { margin: 0 0 14px; }
.post-prose h2 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 34px;
  line-height: 1.2;
  padding: 6px 0 2px;
  margin: 28px 0 8px;
  color: var(--pen);
}
.post-prose h3 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 26px;
  line-height: 1.2;
  padding: 4px 0 2px;
  margin: 22px 0 4px;
}
.post-prose img {
  display: block;
  max-width: 420px;
  width: 100%;
  height: auto;
  margin: 18px auto;
  border: 2px solid var(--pen);
  border-radius: 8px;
  background: var(--paper);
}
.post-prose figure {
  margin: 18px auto;
  text-align: center;
}
.post-prose figcaption {
  font-size: 12px;
  font-style: italic;
  color: var(--ink-faded);
  margin-top: 6px;
}
.post-prose code {
  background: var(--cream);
  border: 1px solid var(--ink-faded);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 13px;
}
.post-prose pre {
  background: var(--gothic);
  color: var(--cream);
  padding: 14px 18px;
  border-radius: 8px;
  overflow-x: auto;
  font-size: 13px;
  line-height: 1.5;
  margin: 16px 0;
}
.post-prose pre code {
  background: transparent;
  border: none;
  color: var(--cream);
  padding: 0;
}
.post-prose blockquote {
  border-left: 3px solid var(--pink-deep);
  margin: 16px 0;
  padding: 4px 0 4px 16px;
  font-style: italic;
  color: var(--ink);
}
.post-prose ul, .post-prose ol {
  margin: 0 0 32px;
  padding-left: 28px;
}
.post-prose ul li, .post-prose ol li {
  margin: 0;
  line-height: 32px;
}
.post-prose ul {
  list-style: none;
}
.post-prose ul li {
  position: relative;
}
.post-prose ul li::before {
  content: "✦";
  position: absolute;
  left: -22px;
  color: var(--pink-deep);
  font-size: 13px;
  top: 0;
}
.post-prose hr {
  border: none;
  border-top: 1.5px dashed var(--pen);
  margin: 32px 0;
  opacity: 0.4;
}
.post-prose a {
  color: var(--pink-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.post-prose a:hover {
  color: var(--ribbon);
}

/* ====== NO-LINES MODIFIER ======
   Apply to any themed .page-card to hide the paper lines but keep the
   theme's gradient/petals/stars. Used on looking/songing/playing detail
   pages where media is the focus and lines would compete visually.
   Note: setting the line CSS variables to transparent works because every
   theme draws its lines from these variables.
*/
.page-card.no-lines {
  --paper-line-color: transparent !important;
  --paper-margin-color: transparent !important;
}

/* ====== LINED PAPER MODIFIER — base for all journal/tending themes ======
   Themes layer on top via additional classes (.page-card.lined-paper.cherry-blossom etc).
   - blue horizontal lines at fixed intervals
   - pink left margin line
   - prose line-height matches the grid so text sits on lines

   CSS variables let themes override the line colors:
     --paper-line-color   horizontal lines (default: baby blue)
     --paper-margin-color vertical margin line (default: pink-soft)
*/
.page-card.lined-paper {
  --paper-line-color: var(--baby-blue);
  --paper-margin-color: var(--pink-soft);
  background-image:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px);
  background-size: 100% 100%, 100% 32px;
  background-position: 0 0, 0 0;
  background-repeat: no-repeat, repeat;
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
/* prose font-size 16px × line-height 2 = 32px line box, matches paper line spacing */
.page-card.lined-paper .post-prose {
  font-size: 16px;
  line-height: 32px;
}
.page-card.lined-paper .post-prose p {
  margin: 0 0 32px;
}
.page-card.lined-paper .post-prose h2,
.page-card.lined-paper .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.lined-paper .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.lined-paper .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.lined-paper .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.lined-paper .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
  line-height: 1.2;
}
.page-card.lined-paper .post-hero + p {
  margin-bottom: 32px;
}
.page-card.lined-paper .post-prose,
.page-card.lined-paper .post-hero,
.page-card.lined-paper .crossposts-strip,
.page-card.lined-paper .back-link {
  position: relative;
  z-index: 1;
}
.page-card.lined-paper .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}

/* ====== CHERRY BLOSSOM THEME ======
   Layered on TOP of .lined-paper. Adds petal scatter over the lined
   paper, switches line colors to a pinker palette, and warms the body text.
*/
.page-card.cherry-blossom {
  /* line color overrides — softer pink on pink */
  --paper-line-color: rgba(229, 130, 162, 0.28);
  --paper-margin-color: rgba(229, 130, 162, 0.7);

  background-image:
    /* paper lines (top layer) */
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px),
    /* petals — bigger, more opaque, more varied so they read as petals not haze */
    radial-gradient(ellipse 24px 16px at 12% 18%, rgba(229, 130, 162, 0.55) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 18px 26px at 85% 12%, rgba(229, 130, 162, 0.5) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 22px 14px at 68% 38%, rgba(229, 130, 162, 0.55) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 26px 16px at 22% 58%, rgba(229, 130, 162, 0.45) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 14px 24px at 92% 65%, rgba(229, 130, 162, 0.6) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 22px 14px at 48% 82%, rgba(229, 130, 162, 0.5) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 16px 22px at 10% 88%, rgba(229, 130, 162, 0.55) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 20px 16px at 60% 8%, rgba(229, 130, 162, 0.45) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 18px 14px at 35% 32%, rgba(229, 130, 162, 0.4) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 16px 22px at 78% 90%, rgba(229, 130, 162, 0.5) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 20px 14px at 45% 50%, rgba(229, 130, 162, 0.4) 0%, rgba(229, 130, 162, 0) 70%),
    radial-gradient(ellipse 14px 18px at 28% 74%, rgba(229, 130, 162, 0.45) 0%, rgba(229, 130, 162, 0) 70%),
    /* base pink-cream gradient — fills whole card */
    linear-gradient(135deg, #fff8fa 0%, #ffe8ee 40%, #fff2f5 70%, #fce8f0 100%);
  border-left: 4px solid rgba(229, 130, 162, 0.5);
  border-right: 4px solid rgba(229, 130, 162, 0.5);
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.cherry-blossom .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.cherry-blossom .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.cherry-blossom .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
/* cherry-blossom's prose snaps to the same 32px grid as lined paper */
.page-card.cherry-blossom .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #6b4d8a;
}
.page-card.cherry-blossom .post-prose p {
  margin: 0 0 32px;
}
.page-card.cherry-blossom .post-prose h2,
.page-card.cherry-blossom .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.cherry-blossom .post-prose strong {
  color: #b8336a;
}
.page-card.cherry-blossom .post-prose em {
  color: #c25a7e;
}
.page-card.cherry-blossom .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.cherry-blossom .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}

/* ====== SWEET MEMORY THEME ====== */
.page-card.sweet-memory {
  --paper-line-color: rgba(150, 190, 230, 0.45);
  --paper-margin-color: rgba(140, 175, 215, 0.7);
  background-image:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px),
    radial-gradient(circle, rgba(150, 190, 230, 0.3) 4px, transparent 4px),
    radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.85) 30%, transparent 70%),
    linear-gradient(180deg, #d8eaff 0%, #c0d8f8 40%, #d0e4ff 80%, #e0eeff 100%);
  background-size: 100% 100%, 100% 32px, 28px 28px, 100% 100%, 100% 100%;
  background-position: 0 0, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.sweet-memory .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.sweet-memory .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.sweet-memory .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.sweet-memory .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.sweet-memory .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #4a5e8a;
}
.page-card.sweet-memory .post-prose p {
  margin: 0 0 32px;
}
.page-card.sweet-memory .post-prose h2,
.page-card.sweet-memory .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.sweet-memory .post-prose strong {
  color: #3d4d7a;
}
.page-card.sweet-memory .post-prose em {
  color: #5a6d99;
}
.page-card.sweet-memory .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}


/* ====== CLOVER DREAM THEME ====== */
.page-card.clover-dream {
  --paper-line-color: rgba(140, 200, 160, 0.35);
  --paper-margin-color: rgba(229, 130, 162, 0.6);
  background-image:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px),
    radial-gradient(circle, rgba(140, 200, 160, 0.2) 5px, transparent 5px),
    radial-gradient(circle, rgba(160, 200, 230, 0.2) 4px, transparent 4px),
    radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.9) 35%, rgba(220, 240, 230, 0.6) 100%),
    linear-gradient(135deg, #e8f5ee 0%, #dceef8 50%, #e0f0e8 100%);
  background-size: 100% 100%, 100% 32px, 35px 35px, 23px 23px, 100% 100%, 100% 100%;
  background-position: 0 0, 0 0, 0 0, 12px 12px, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.clover-dream .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.clover-dream .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.clover-dream .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.clover-dream .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.clover-dream .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #6b4d8a;
}
.page-card.clover-dream .post-prose p {
  margin: 0 0 32px;
}
.page-card.clover-dream .post-prose h2,
.page-card.clover-dream .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.clover-dream .post-prose strong {
  color: #b8336a;
}
.page-card.clover-dream .post-prose em {
  color: #c25a7e;
}
.page-card.clover-dream .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}


/* ====== STARRY MILK THEME ====== */
.page-card.starry-milk {
  --paper-line-color: rgba(220, 180, 90, 0.32);
  --paper-margin-color: rgba(190, 140, 60, 0.6);
  background:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px) no-repeat 0 0 / 100% 100%,
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px) repeat 0 0 / 100% 32px,
    /* bigger, more visible gold stars — 4x larger and denser */
    radial-gradient(circle 4px at 8% 12%, rgba(230, 180, 80, 0.95) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 5px at 22% 28%, rgba(230, 180, 80, 0.85) 0%, rgba(230, 180, 80, 0.25) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 38% 8%, rgba(230, 180, 80, 0.9) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 6px at 52% 35%, rgba(230, 180, 80, 0.8) 0%, rgba(230, 180, 80, 0.2) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 68% 18%, rgba(230, 180, 80, 0.95) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 5px at 82% 42%, rgba(230, 180, 80, 0.85) 0%, rgba(230, 180, 80, 0.25) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 15% 55%, rgba(230, 180, 80, 0.9) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 6px at 35% 68%, rgba(230, 180, 80, 0.75) 0%, rgba(230, 180, 80, 0.2) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 58% 52%, rgba(230, 180, 80, 0.95) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 5px at 75% 75%, rgba(230, 180, 80, 0.8) 0%, rgba(230, 180, 80, 0.2) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 92% 60%, rgba(230, 180, 80, 0.9) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 45% 88%, rgba(230, 180, 80, 0.85) 0%, rgba(230, 180, 80, 0.25) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 6px at 88% 85%, rgba(230, 180, 80, 0.75) 0%, rgba(230, 180, 80, 0.2) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 28% 85%, rgba(230, 180, 80, 0.85) 0%, rgba(230, 180, 80, 0.25) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 5px at 62% 70%, rgba(230, 180, 80, 0.8) 0%, rgba(230, 180, 80, 0.2) 50%, transparent 100%) no-repeat,
    radial-gradient(circle 4px at 5% 78%, rgba(230, 180, 80, 0.9) 0%, rgba(230, 180, 80, 0.3) 50%, transparent 100%) no-repeat,
    /* off-white milk base — much whiter than original cream-yellow */
    radial-gradient(circle at 50% 50%, rgba(255, 253, 248, 0.6) 20%, transparent 70%) no-repeat,
    linear-gradient(180deg, #fefdfa 0%, #fdfbf3 30%, #fcf8ea 60%, #fdf6e4 100%);
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.starry-milk .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.starry-milk .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.starry-milk .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.starry-milk .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.starry-milk .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #6b4d8a;
}
.page-card.starry-milk .post-prose p {
  margin: 0 0 32px;
}
.page-card.starry-milk .post-prose h2,
.page-card.starry-milk .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.starry-milk .post-prose strong {
  color: #b8336a;
}
.page-card.starry-milk .post-prose em {
  color: #c25a7e;
}
.page-card.starry-milk .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}


/* ====== CHERRY FIZZ THEME ====== */
.page-card.cherry-fizz {
  --paper-line-color: rgba(140, 120, 100, 0.28);
  --paper-margin-color: rgba(180, 70, 80, 0.55);
  background:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px) no-repeat 0 0 / 100% 100%,
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px) repeat 0 0 / 100% 32px,
    /* === STARS — individually scattered, bottom half, beige/off-white, blurred edges === */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='75' height='75'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='37,8 45,27 66,27 50,39 57,59 37,47 17,59 24,39 8,27 29,27' fill='%23e8e2ce' opacity='0.75' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 8% 62%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='46,8 56,33 82,33 61,49 70,75 46,59 22,75 31,49 10,33 36,33' fill='%23e6e0ca' opacity='0.70' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 30% 78%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='32,6 39,22 56,22 43,32 48,50 32,40 16,50 21,32 8,22 25,22' fill='%23ede8d5' opacity='0.78' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 54% 58%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='86'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='43,7 53,31 78,31 58,46 66,71 43,56 20,71 28,46 8,31 33,31' fill='%23e4dfc8' opacity='0.70' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 74% 70%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='35,7 43,25 62,25 47,36 54,56 35,44 16,56 23,36 8,25 27,25' fill='%23eae5d2' opacity='0.74' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 90% 56%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.8'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='40,7 49,28 72,28 54,41 62,64 40,51 18,64 26,41 8,28 31,28' fill='%23e6e0cc' opacity='0.68' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 18% 90%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='29,5 36,20 52,20 40,29 45,46 29,36 13,46 18,29 6,20 22,20' fill='%23ece7d4' opacity='0.72' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 62% 88%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='78' height='78'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.8'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='39,7 48,28 70,28 52,41 60,63 39,50 18,63 26,41 8,28 30,28' fill='%23e8e3cf' opacity='0.69' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 44% 95%,
    /* === CHERRIES — scattered across top half === */
    /* cherry 1 */
    radial-gradient(circle 44px at 10% 8%, rgba(210, 55, 55, 0.78) 0%, rgba(210, 55, 55, 0.35) 45%, transparent 75%),
    radial-gradient(circle 10px at 8% 5.5%, rgba(255, 220, 220, 0.65) 0%, transparent 60%),
    /* cherry 2 */
    radial-gradient(circle 40px at 30% 22%, rgba(215, 50, 50, 0.72) 0%, rgba(215, 50, 50, 0.32) 45%, transparent 75%),
    radial-gradient(circle 9px at 28% 19%, rgba(255, 215, 215, 0.65) 0%, transparent 60%),
    /* cherry 3 */
    radial-gradient(circle 50px at 52% 10%, rgba(208, 58, 58, 0.80) 0%, rgba(208, 58, 58, 0.38) 45%, transparent 75%),
    radial-gradient(circle 12px at 50% 7%, rgba(255, 218, 218, 0.65) 0%, transparent 60%),
    /* cherry 4 */
    radial-gradient(circle 38px at 72% 28%, rgba(212, 52, 52, 0.70) 0%, rgba(212, 52, 52, 0.30) 45%, transparent 75%),
    radial-gradient(circle 9px at 70% 25%, rgba(255, 215, 215, 0.65) 0%, transparent 60%),
    /* cherry 5 */
    radial-gradient(circle 46px at 90% 14%, rgba(210, 55, 55, 0.75) 0%, rgba(210, 55, 55, 0.35) 45%, transparent 75%),
    radial-gradient(circle 11px at 88% 11%, rgba(255, 218, 218, 0.65) 0%, transparent 60%),
    /* cherry 6 */
    radial-gradient(circle 42px at 42% 40%, rgba(205, 60, 60, 0.68) 0%, rgba(205, 60, 60, 0.28) 45%, transparent 75%),
    radial-gradient(circle 10px at 40% 37%, rgba(255, 215, 215, 0.60) 0%, transparent 60%),
    /* cherry 7 */
    radial-gradient(circle 36px at 18% 46%, rgba(210, 55, 55, 0.65) 0%, rgba(210, 55, 55, 0.25) 45%, transparent 75%),
    radial-gradient(circle 8px at 16% 43%, rgba(255, 215, 215, 0.60) 0%, transparent 60%),
    /* cream to taupe gradient — cherry coke with cooler-toned base */
    linear-gradient(180deg,
      #faf5f0 0%,
      #ebdfd2 18%,
      #d4c0ad 35%,
      #b8a088 52%,
      #9a8470 68%,
      #7e6a58 82%,
      #645444 92%,
      #4e4234 100%);
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.cherry-fizz .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.cherry-fizz .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.cherry-fizz .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.cherry-fizz .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.cherry-fizz .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #3a1f15;
}
.page-card.cherry-fizz .post-prose p {
  margin: 0 0 32px;
}
.page-card.cherry-fizz .post-prose h2,
.page-card.cherry-fizz .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.cherry-fizz .post-prose strong {
  color: #b8336a;
}
.page-card.cherry-fizz .post-prose em {
  color: #6a5a48;
}
.page-card.cherry-fizz .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}


/* ====== JELLY SODA THEME ====== */
.page-card.jelly-soda {
  --paper-line-color: rgba(150, 190, 230, 0.35);
  --paper-margin-color: rgba(140, 175, 215, 0.7);
  background:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px) no-repeat 0 0 / 100% 100%,
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px) repeat 0 0 / 100% 32px,
    /* === STARS — individually scattered, bottom half, beige/off-white, blurred edges === */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='75' height='75'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='37,8 45,27 66,27 50,39 57,59 37,47 17,59 24,39 8,27 29,27' fill='%23dde4f0' opacity='0.75' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 8% 62%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='46,8 56,33 82,33 61,49 70,75 46,59 22,75 31,49 10,33 36,33' fill='%23d8e2f0' opacity='0.70' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 30% 78%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='32,6 39,22 56,22 43,32 48,50 32,40 16,50 21,32 8,22 25,22' fill='%23e0e8f5' opacity='0.78' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 54% 58%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='86'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='43,7 53,31 78,31 58,46 66,71 43,56 20,71 28,46 8,31 33,31' fill='%23d5dff0' opacity='0.70' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 74% 70%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='35,7 43,25 62,25 47,36 54,56 35,44 16,56 23,36 8,25 27,25' fill='%23dde6f2' opacity='0.74' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 90% 56%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.8'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='40,7 49,28 72,28 54,41 62,64 40,51 18,64 26,41 8,28 31,28' fill='%23d8e2f0' opacity='0.68' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 18% 90%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='29,5 36,20 52,20 40,29 45,46 29,36 13,46 18,29 6,20 22,20' fill='%23e0e8f5' opacity='0.72' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 62% 88%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='78' height='78'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.8'/%3E%3C/filter%3E%3C/defs%3E%3Cpolygon points='39,7 48,28 70,28 52,41 60,63 39,50 18,63 26,41 8,28 30,28' fill='%23dce5f2' opacity='0.69' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 44% 95%,
    /* === CHERRIES — yellow, scattered across top half === */
    /* cherry 1 */
    radial-gradient(circle 44px at 10% 8%, rgba(220, 185, 40, 0.78) 0%, rgba(220, 185, 40, 0.35) 45%, transparent 75%),
    radial-gradient(circle 10px at 8% 5.5%, rgba(255, 248, 200, 0.70) 0%, transparent 60%),
    /* cherry 2 */
    radial-gradient(circle 40px at 30% 22%, rgba(215, 180, 35, 0.72) 0%, rgba(215, 180, 35, 0.32) 45%, transparent 75%),
    radial-gradient(circle 9px at 28% 19%, rgba(255, 245, 195, 0.70) 0%, transparent 60%),
    /* cherry 3 */
    radial-gradient(circle 50px at 52% 10%, rgba(222, 190, 42, 0.80) 0%, rgba(222, 190, 42, 0.38) 45%, transparent 75%),
    radial-gradient(circle 12px at 50% 7%, rgba(255, 250, 205, 0.70) 0%, transparent 60%),
    /* cherry 4 */
    radial-gradient(circle 38px at 72% 28%, rgba(218, 183, 38, 0.70) 0%, rgba(218, 183, 38, 0.30) 45%, transparent 75%),
    radial-gradient(circle 9px at 70% 25%, rgba(255, 245, 195, 0.70) 0%, transparent 60%),
    /* cherry 5 */
    radial-gradient(circle 46px at 90% 14%, rgba(220, 185, 40, 0.75) 0%, rgba(220, 185, 40, 0.35) 45%, transparent 75%),
    radial-gradient(circle 11px at 88% 11%, rgba(255, 248, 200, 0.70) 0%, transparent 60%),
    /* cherry 6 */
    radial-gradient(circle 42px at 42% 40%, rgba(212, 178, 36, 0.68) 0%, rgba(212, 178, 36, 0.28) 45%, transparent 75%),
    radial-gradient(circle 10px at 40% 37%, rgba(255, 245, 195, 0.65) 0%, transparent 60%),
    /* cherry 7 */
    radial-gradient(circle 36px at 18% 46%, rgba(218, 183, 38, 0.65) 0%, rgba(218, 183, 38, 0.25) 45%, transparent 75%),
    radial-gradient(circle 8px at 16% 43%, rgba(255, 245, 195, 0.65) 0%, transparent 60%),
    /* cream to periwinkle blue gradient */
    linear-gradient(180deg,
      #faf8f2 0%,
      #f0f0f8 15%,
      #e0e4f5 30%,
      #ccd0f0 45%,
      #b4bcec 60%,
      #9aa8e8 75%,
      #8498e2 88%,
      #7088de 100%);
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.jelly-soda .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.jelly-soda .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.jelly-soda .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.jelly-soda .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.jelly-soda .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #4a5e8a;
}
.page-card.jelly-soda .post-prose p {
  margin: 0 0 32px;
}
.page-card.jelly-soda .post-prose h2,
.page-card.jelly-soda .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.jelly-soda .post-prose strong {
  color: #3d4d7a;
}
.page-card.jelly-soda .post-prose em {
  color: #5a6d99;
}
.page-card.jelly-soda .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}


/* ====== CREAM FIZZ THEME ====== */
.page-card.cream-fizz {
  --paper-line-color: rgba(229, 130, 162, 0.22);
  --paper-margin-color: rgba(229, 130, 162, 0.55);
  background:
    linear-gradient(to right, transparent 0, transparent 56px, var(--paper-margin-color) 56px, var(--paper-margin-color) 58px, transparent 58px) no-repeat 0 0 / 100% 100%,
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--paper-line-color) 31px, var(--paper-line-color) 32px) repeat 0 0 / 100% 32px,
    /* === ICE CUBES — rotated squares, blurred, scattered === */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3.5'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='20' y='20' width='40' height='40' rx='4' transform='rotate(45 40 40)' fill='%23f0ece0' opacity='0.60' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 12% 25%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.8'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='15' y='15' width='30' height='30' rx='3' transform='rotate(45 30 30)' fill='%23ede8da' opacity='0.55' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 68% 18%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='25' y='25' width='50' height='50' rx='5' transform='rotate(45 50 50)' fill='%23f2ede2' opacity='0.58' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 38% 50%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='18' y='18' width='34' height='34' rx='3' transform='rotate(45 35 35)' fill='%23eee9db' opacity='0.56' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 82% 60%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='55'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='2.5'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='13' y='13' width='29' height='29' rx='3' transform='rotate(45 27 27)' fill='%23f0eadc' opacity='0.58' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 22% 72%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='22' y='22' width='44' height='44' rx='5' transform='rotate(45 44 44)' fill='%23ece7d9' opacity='0.55' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 55% 82%,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65' height='65'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Crect x='16' y='16' width='33' height='33' rx='3' transform='rotate(45 32 32)' fill='%23f0ece0' opacity='0.57' filter='url(%23b)'/%3E%3C/svg%3E") no-repeat 88% 88%,
    /* === BUBBLES — soft cream circles, blurred, varying sizes === */
    radial-gradient(circle 55px at 6% 40%, rgba(245, 240, 228, 0.52) 0%, rgba(245, 240, 228, 0.18) 50%, transparent 80%),
    radial-gradient(circle 30px at 22% 12%, rgba(242, 237, 224, 0.58) 0%, rgba(242, 237, 224, 0.20) 50%, transparent 80%),
    radial-gradient(circle 70px at 48% 30%, rgba(248, 244, 232, 0.45) 0%, rgba(248, 244, 232, 0.15) 50%, transparent 80%),
    radial-gradient(circle 22px at 74% 8%, rgba(244, 239, 226, 0.60) 0%, rgba(244, 239, 226, 0.20) 50%, transparent 80%),
    radial-gradient(circle 45px at 92% 35%, rgba(246, 241, 229, 0.50) 0%, rgba(246, 241, 229, 0.16) 50%, transparent 80%),
    radial-gradient(circle 35px at 15% 58%, rgba(242, 237, 222, 0.55) 0%, rgba(242, 237, 222, 0.18) 50%, transparent 80%),
    radial-gradient(circle 60px at 62% 55%, rgba(248, 243, 230, 0.44) 0%, rgba(248, 243, 230, 0.14) 50%, transparent 80%),
    radial-gradient(circle 28px at 35% 78%, rgba(244, 238, 224, 0.58) 0%, rgba(244, 238, 224, 0.20) 50%, transparent 80%),
    radial-gradient(circle 48px at 80% 78%, rgba(246, 241, 228, 0.50) 0%, rgba(246, 241, 228, 0.16) 50%, transparent 80%),
    radial-gradient(circle 18px at 52% 92%, rgba(242, 237, 222, 0.62) 0%, rgba(242, 237, 222, 0.22) 50%, transparent 80%),
    radial-gradient(circle 38px at 8% 90%, rgba(245, 240, 226, 0.52) 0%, rgba(245, 240, 226, 0.18) 50%, transparent 80%),
    radial-gradient(circle 25px at 94% 65%, rgba(244, 238, 224, 0.56) 0%, rgba(244, 238, 224, 0.20) 50%, transparent 80%),
    /* cream to strawberry pink gradient — italian cream soda */
    linear-gradient(180deg,
      #faf8f2 0%,
      #fbeef1 15%,
      #f8dae0 30%,
      #f4c2cc 45%,
      #f0a8b9 60%,
      #ea90a6 75%,
      #e07a93 88%,
      #d56582 100%);
  padding: 64px 56px 64px 80px;
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.page-card.cream-fizz .post-meta-row {
  position: absolute;
  top: 18px;
  right: 28px;
  margin: 0;
  text-align: right;
  background: transparent;
  padding: 0;
  z-index: 2;
}
.page-card.cream-fizz .post-meta-row .post-date {
  display: block;
  font-family: 'pf-pixelscript', cursive;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: var(--pink-deep);
  margin-bottom: 2px;
  text-transform: lowercase;
}
.page-card.cream-fizz .post-meta-row .post-kind {
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--ink-faded);
  text-transform: uppercase;
}
.page-card.cream-fizz .post-hero {
  margin-top: 0;
  margin-bottom: 32px;
}
.page-card.cream-fizz .post-prose {
  font-size: 16px;
  line-height: 32px;
  color: #6b4d8a;
}
.page-card.cream-fizz .post-prose p {
  margin: 0 0 32px;
}
.page-card.cream-fizz .post-prose h2,
.page-card.cream-fizz .post-prose h3 {
  margin: 32px 0 0;
  padding: 0;
  line-height: 32px;
}
.page-card.cream-fizz .post-prose strong {
  color: #b8336a;
}
.page-card.cream-fizz .post-prose em {
  color: #c25a7e;
}
.page-card.cream-fizz .post-cover-strip {
  max-width: 480px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 32px;
  font-size: 52px;
}

.crossposts-strip {
  margin-top: 28px;
  padding-top: 14px;
  border-top: 1.5px dashed var(--pen);
  font-family: 'Pixelify Sans', monospace;
  font-size: 13px;
}
.crossposts-strip .lbl { color: var(--ink-faded); margin-right: 8px; }
.crossposts-strip a {
  margin-right: 10px;
  color: var(--ribbon);
  text-decoration: underline;
}
.back-link {
  margin-top: 26px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
}
.back-link a { color: var(--ribbon); }

.media-stack-lg img, .media-stack-lg video, .media-stack-lg .placeholder {
  width: 100%;
  border: 2px solid var(--pen);
  border-radius: 8px;
  margin-bottom: 14px;
  display: block;
}
.media-stack-lg .placeholder {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--lilac), var(--rose));
  display: flex; align-items: center; justify-content: center;
  font-family: 'pf-pixelscript', cursive;
  font-size: 60px;
  color: var(--cream);
}
.media-stack-lg .wide-strip {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--sky), var(--lilac));
}
.tools-strip {
  margin-top: 16px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
}
.tools-strip .lbl { color: var(--ink-faded); margin-right: 8px; }
.tools-strip .tool {
  display: inline-block;
  border: 1.5px solid var(--ink-faded);
  border-radius: 3px;
  padding: 1px 8px;
  margin: 0 4px 4px 0;
}

.song-player {
  aspect-ratio: 16 / 9;
  background: var(--gothic);
  border: 2px solid var(--pen);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.song-player .play-circle {
  width: 60px; height: 60px;
  border-radius: 50%;
  border: 2px solid var(--rose);
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
  color: var(--rose);
  margin-right: 12px;
}
.audio-strip {
  background: var(--cream);
  border: 1.5px solid var(--pen);
  border-radius: 6px;
  padding: 10px 14px;
  display: flex; align-items: center; gap: 10px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  margin-bottom: 14px;
}
.audio-strip .play-sm {
  background: var(--gothic);
  color: var(--paper);
  border: none;
  border-radius: 50%;
  width: 28px; height: 28px;
  font-size: 12px;
  cursor: pointer;
}
.audio-strip .seek {
  flex: 1;
  height: 4px;
  background: var(--paper-soft);
  border: 1px solid var(--pen);
  border-radius: 4px;
  position: relative;
}
.audio-strip .seek::after {
  content: ""; position: absolute; top: 0; left: 0;
  width: 38%; height: 100%; background: var(--ribbon);
  border-radius: 4px 0 0 4px;
}
.lyrics-details {
  background: var(--cream);
  border: 1.5px solid var(--pen);
  border-radius: 6px;
  padding: 12px 16px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 13px;
  white-space: pre-wrap;
  margin-top: 12px;
}
.lyrics-details summary {
  cursor: pointer;
  color: var(--ribbon);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 11px;
  margin-bottom: 8px;
}

.game-frame-lg {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--gothic);
  border: 3px solid var(--pen);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--paper);
  font-family: 'Pixelify Sans', monospace;
  letter-spacing: 2px;
  margin: 16px 0;
}
.controls-callout {
  background: var(--lilac);
  border: 1.5px dashed var(--pen);
  border-radius: 6px;
  padding: 12px 16px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 13px;
  color: var(--pen);
  margin: 12px 0 18px;
}
.controls-callout b { color: var(--ribbon); }

.project-links {
  margin: 24px 0;
  font-family: 'Pixelify Sans', monospace;
}
.project-links h3 {
  font-family: 'pf-pixelscript', cursive;
  font-size: 26px;
  margin: 0 0 8px;
}
.project-links ul { list-style: none; padding: 0; margin: 0; }
.project-links li { padding: 4px 0; }
.project-links li a { color: var(--ribbon); }
.status-line {
  display: inline-block;
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--paper);
  background: var(--ribbon);
  padding: 3px 12px;
  border-radius: 4px;
  border: 1.5px solid var(--pen);
  margin-right: 8px;
}



/* ============================================================
   GUESTBOOK / VISITORS PAGE
   ============================================================ */

/* ============ INDEX CARD FORM ============ */
.index-card-wrap {
  max-width: 600px;
  margin: 24px auto 0;
  /* slight rotation so it feels handled */
  perspective: 1000px;
}
.index-card {
  background: #fcfaf2;
  border: 2.5px solid var(--pen);
  border-radius: 4px;
  padding: 0;
  box-shadow:
    0 2px 0 var(--pen),
    4px 8px 18px rgba(0, 0, 0, 0.45),
    inset 0 0 0 1px rgba(140, 70, 80, 0.08);
  transform: rotate(-1.2deg);
  transition: transform 0.25s ease;
  position: relative;
  font-family: 'Pixelify Sans', monospace;
  overflow: hidden;
}
.index-card:hover {
  transform: rotate(0deg);
}
/* red header bar at top of an index card */
.index-card-header {
  background: linear-gradient(180deg, #d4546a 0%, #b8336a 100%);
  color: var(--paper);
  padding: 8px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border-bottom: 2px solid var(--pen);
}
.index-card-header .ic-label {
  font-weight: bold;
}
.index-card-header .ic-num {
  font-family: 'Pixelify Sans', monospace;
  letter-spacing: 1.5px;
  opacity: 0.95;
}
/* index card body: lined-paper style, blue rules */
.index-card-fields {
  padding: 22px 26px 18px;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 31px,
    rgba(150, 190, 230, 0.35) 31px,
    rgba(150, 190, 230, 0.35) 32px
  );
  background-size: 100% 32px;
  background-position: 0 0;
  background-repeat: repeat;
}
.ic-row {
  margin-bottom: 14px;
}
.ic-row label {
  display: block;
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 2px;
}
.ic-row label .optional {
  text-transform: none;
  letter-spacing: 1px;
  font-style: italic;
  opacity: 0.7;
}
.ic-row input[type="text"],
.ic-row textarea {
  width: 100%;
  padding: 4px 0 2px;
  border: none;
  border-bottom: 1.5px solid var(--pen);
  background: transparent;
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px;
  line-height: 28px;
  color: var(--pen);
  box-sizing: border-box;
  border-radius: 0;
}
.ic-row textarea {
  resize: vertical;
  min-height: 96px;
  line-height: 32px;
}
.ic-row input:focus,
.ic-row textarea:focus {
  outline: none;
  border-bottom-color: var(--pink-deep);
  background: rgba(255, 240, 245, 0.4);
}
.gb-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.index-card-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 26px 22px;
  background: #fcfaf2;
}
.index-card-actions button {
  background: var(--pink);
  color: var(--pen);
  border: 2px solid var(--pen);
  padding: 8px 18px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 14px;
  letter-spacing: 1.5px;
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 0 2px 0 var(--pen);
  transition: transform 0.1s, box-shadow 0.1s;
}
.index-card-actions button:hover {
  background: var(--pink-deep);
  color: var(--paper);
}
.index-card-actions button:active {
  transform: translateY(2px);
  box-shadow: 0 0 0 var(--pen);
}
.gb-status {
  font-family: 'Pixelify Sans', monospace;
  font-size: 13px;
  font-style: italic;
}
.gb-status.sending { color: var(--ink-faded); }
.gb-status.success { color: var(--leaf); }
.gb-status.error { color: var(--ribbon); }

/* ============ ENTRIES FEED ============ */
.gb-entry {
  padding: 16px 0 18px;
  border-bottom: 1.5px dashed rgba(0,0,0,0.25);
  position: relative;
  z-index: 1;
}
.gb-entry:last-child { border-bottom: none; }
.gb-entry header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
  font-family: 'Pixelify Sans', monospace;
  line-height: 1.5;
}
.gb-entry .gb-name {
  font-family: 'pf-pixelscript', cursive;
  font-size: 28px;
  line-height: 32px;
  padding: 0 4px;
  color: var(--pink-deep);
  letter-spacing: 1px;
}
.gb-entry .gb-loc {
  font-size: 12px;
  font-style: italic;
  color: var(--ink-faded);
}
.gb-entry .gb-url {
  font-size: 12px;
  color: var(--pink-deep);
  text-decoration: none;
  border-bottom: 1px dotted var(--pink-deep);
}
.gb-entry .gb-url:hover {
  color: var(--ribbon);
  border-bottom-color: var(--ribbon);
}
.gb-entry .gb-when {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--ink-faded);
  margin-left: auto;
}
.gb-entry .gb-message {
  font-family: 'Pixelify Sans', monospace;
  font-size: 15px;
  line-height: 32px;
  color: var(--ink);
  margin: 0;
  white-space: pre-wrap;
  padding: 0 4px;
}

/* admin variant */
.gb-admin-entry .gb-admin-controls {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.gb-admin-entry .gb-delete-btn {
  background: var(--coral);
  color: var(--paper);
  border: 1.5px solid var(--pen);
  padding: 3px 12px;
  border-radius: 3px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
}
.gb-admin-entry .gb-delete-btn:hover {
  background: var(--ribbon);
}
.gb-admin-entry .gb-id {
  font-family: 'Pixelify Sans', monospace;
  font-size: 10px;
  color: var(--ink-faded);
  opacity: 0.6;
}


/* ============================================================
   KEEPSAKES — link-to-me badge collection
   ============================================================ */
.keepsakes-body {
  font-family: 'Pixelify Sans', monospace;
  text-align: center;
}
.keepsakes-intro {
  font-size: 12px;
  font-style: italic;
  color: var(--ink-faded);
  margin: 0 0 10px;
  line-height: 1.4;
}
.badge-grid {
  display: grid;
  grid-template-columns: repeat(2, 88px);
  gap: 8px;
  justify-content: center;
  margin-bottom: 12px;
}
.badge-cell {
  display: block;
  line-height: 0;
  border: 1px solid transparent;
  transition: transform 0.15s;
}
.badge-cell:hover {
  transform: scale(1.05);
  border-color: var(--pink-deep);
}
.badge-cell img {
  display: block;
  width: 88px;
  height: 31px;
}
.badge-copy {
  background: var(--pink);
  color: var(--pen);
  border: 2px solid var(--pen);
  padding: 5px 12px;
  font-family: 'Pixelify Sans', monospace;
  font-size: 12px;
  letter-spacing: 1px;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: 0 2px 0 var(--pen);
}
.badge-copy:hover {
  background: var(--pink-deep);
  color: var(--paper);
}
.badge-copy:active {
  transform: translateY(2px);
  box-shadow: 0 0 0 var(--pen);
}
.badge-copy-status {
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  color: var(--leaf);
  font-style: italic;
}
