/* Pink leads the page; white provides breathing room, blue marks small details. */
:root {
  --pink: #a62c62;
  --pink-dark: #8c2452;
  --blue: #35658b;
  --blue-light: #eaf3fa;
  --paper: #faf7f9;
}

body { background: var(--paper); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.brand { gap: 12px; }
.brand-avatar-wrap { position: relative; display: block; width: 45px; height: 45px; flex: 0 0 45px; margin-inline: 4px 2px; }
.brand .brand-avatar { position: relative; z-index: 1; width: 45px; height: 45px; max-width: none; border-radius: 50%; object-fit: cover; border: 1.5px solid #fff; box-shadow: 0 0 0 1px #dfbfd1; }
.brand .brand-avatar, .profile-widget .avatar, .about-avatar, .article-meta img { object-position: center top; }
.welcome-strip { background: #f5dfe9; color: #704257; }
.strip-heart { color: #ac416f; }
.strip-spark { color: #a75c7b; }
.main-nav>a.active, .main-nav>a:hover { color: #9d2c60; }
.main-nav { gap: 26px; }
.main-nav>a { white-space: nowrap; }
.main-nav>a:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  width: auto;
  border-radius: 0;
  background: #c55e8d;
  transform: scaleX(0);
  transition: transform .2s;
}
.main-nav>a.active:after, .main-nav>a:hover:after { left: 0; width: auto; bottom: -8px; height: 2px; border-radius: 0; background: #c55e8d; transform: scaleX(1); }
.chat-page { padding-top: 0; min-height: 55vh; }
.chat-page .comments-section { margin-top: 28px; }
@media (max-width: 900px) { .main-nav { gap: 18px; } }
@media (max-width: 800px) {
  .site-header { height: auto; padding-block: 22px 18px; align-items: flex-start; flex-direction: column; gap: 19px; }
  .main-nav { width: 100%; justify-content: flex-start; flex-wrap: wrap; row-gap: 18px; padding-bottom: 10px; }
}
@media (max-width: 580px) {
  .main-nav { gap: 18px 20px; padding-bottom: 12px; font-size: 11px; }
  .main-nav>a { flex-shrink: 0; }
  .main-nav>a.active:after, .main-nav>a:hover:after { bottom: -7px; }
  .nav-search { flex-shrink: 0; }
}
.nav-search { color: #35658b; }
.keyboard-hint { background: #fff; color: #675d67; border-color: #e2d6df; }
.eyebrow { color: #8b4c6c; }
.section-title>span, .section-heading h2>span { color: #b0688e; }

/* Pink marks the active category and article actions without tinting the content. */
.category-tab .icon { color: #906478; }
.category-tab.selected .icon { color: #a34f76; }
.category-tab.selected { background: #f6dce8; color: #8c315a; border-color: #deb3c8; }
.category-tab:hover { background: #f7eaf1; }
.card-category { background: #fae8f0; color: #8d3c60; }
.latest-badge { color: #a54978; }
.card-read { background: #f9eaf1; color: #945170; }
.post-card:hover .card-read { background: #f2d4e2; color: #8c315a; }

.profile-cover {
  background-color: #f4dce8;
  background-image: linear-gradient(90deg, #dbadbf66 1px, transparent 1px),
    linear-gradient(#dbadbf66 1px, transparent 1px);
  color: #8b536e;
}
.profile-cover>img { opacity: .9; }
.sidebar-profile-name { color: #30303a; }
.sidebar-stats strong { color: #965473; }
.profile-widget .profile-social a { background: #fff8fb; color: #8b526e; border-color: #e8d4df; }
.profile-widget .profile-social a:first-child { background: #f3f8fc; color: #486d8b; border-color: #d4e2ec; }
.profile-widget .profile-social a:hover { background: #f6e0eb; color: #8c315a; }
.widget-title>.icon { color: #a36182; }
.widget-title>span { color: #b46a90; }
.search-widget { border-top: 3px solid #dba3bd; }
.sidebar-search { border-color: #ded4dd; background: #fff; }
.sidebar-search:focus-within { border-color: #6a96b9; box-shadow: 0 0 0 3px #e4f0fa; }
.sidebar-search button { background: #e5f0f8; color: #426b8c; border-left-color: #ccdeeb; }
.sidebar-search button:hover { background: #d5e7f5; }
.sidebar-search input::placeholder { color: #78707b; }
.widget-hint kbd { border-color: #e0d6df; color: #766775; }
.tags-widget { border-top: 3px solid #e8bdcf; }
.sidebar-tags>a,
.sidebar-tags>a:nth-child(4n+2),
.sidebar-tags>a:nth-child(4n+3) { background: #fcf0f6; color: #82516b; border-color: #e8d3e0; }
.sidebar-tags>a:nth-child(6n+2) { background: #edf5fb; color: #426889; border-color: #d5e4ef; }
.sidebar-tags>a:nth-child(6n+3) { background: #fff; color: #69606c; border-color: #e2dce4; }
.sidebar-tags>a:hover { background: #f4dce8; border-color: #dab2c6; color: #8c315a; }
.friends-widget { border-top: 3px solid #cd8faa; }
.sidebar-friends-link { color: #8c4569; }
.sidebar-signoff { color: #88677d; }
.sidebar-signoff>span { color: #b46e91; }

/* Reading surfaces stay neutral; small hyperlinks retain a blue accent. */
.back-link { color: #8b4c6b; }
.article-meta { color: #69616c; }
.article-toc { background: #fcf4f8; border-color: #e5cedb; }
.article-toc summary { color: #80516c; }
.article-toc summary>span { color: #7b6b79; }
.article-toc nav { color: #6d5569; border-color: #eadce5; }
.article-content a { color: #2f6799; }
.article-content pre, .article-content .highlight { background: #f5f4f7; border-color: #e0dce5; color: #51495d; }
.article-content .highlight pre { background: transparent; }
.article-content th { background: #f8edf3; color: #714d63; }
.article-content td, .article-content th { border-color: #e3d7e0; }
.article-content tr:nth-child(even) { background: #fcf9fb; }
.post-navigation a:hover { background: #fcf2f7; border-color: #dab9cc; }
.post-navigation span { color: #8b5d79; }
.comments-unavailable { background: #fcf7fa; border-color: #e2cedc; color: #795b74; }
.comments-unavailable p span { color: #7f6c7b; }
.page-title>span { color: #b57398; }
.archive-year { color: #8c4b6b; }
.archive-row time { color: #786579; }
.archive-row>.icon { color: #ad7b96; }
.about-card .about-slogan { color: #8c4b70; }
.about-motto { color: #88677d; }

.site-footer { background: #f3e5ed; border-top-color: #e5cedb; }
.footer-top { border-bottom-color: #e2c9d7; }
.footer-brand { color: #7d4864; }
.footer-top>p, .footer-love, .footer-bottom { color: #755b6d; }
.filing a { color: #715065; }
.footer-signoff { color: #806b79; }
.footer-signoff>span { color: #b16a90; }
.back-top { border-color: #dfbfd1; background: #fff7fb; color: #955171; }

.dialog-search { background: #fff; border-color: #ded2dc; }
.dialog-search:focus-within { border-color: #7eabc9; box-shadow: 0 0 0 3px #e5f1fa; }
.dialog-search>.icon { color: #59819f; }
.search-result:hover { background: #fcf2f7; border-color: #deb9cd; }
.search-dialog-foot { background: #faf1f6; color: #79617a; }
