/* Blog: Z pamiętnika Analitika */
.blog-page{background:var(--bg)}
.blog-page .header-top{padding-bottom:28px}.blog-shell{max-width:1440px;margin:36px auto 24px;padding:0 0 44px}.blog-board{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:24px;align-items:start;max-width:none;margin:0 auto}.blog-main{border:0;background:transparent;padding:36px 36px 30px;box-shadow:none}.blog-intro{text-align:center;max-width:720px;margin:0 auto 34px}.blog-kicker{margin:0 0 4px;font:12px/1.4 Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;color:#788565}.blog-intro h1{margin:0 0 28px;font:48px/1.15 'Oooh Baby',cursive;color:#2a2824}.blog-intro p{margin:0 auto 8px;max-width:650px;font-size:14px;line-height:1.65;color:#34342f}.blog-list{display:grid;gap:26px}.diary-card[hidden]{display:none}.diary-card{display:grid;grid-template-columns:238px minmax(0,1fr);gap:20px;align-items:center;padding:20px 20px 20px 18px;background:#f4eee8;border:1px solid #ddd4c2;border-radius:24px}.diary-image{display:block;background:#fffaf2;padding:10px;transform:rotate(-2.5deg);box-shadow:0 4px 15px rgba(68,61,51,.16);border:1px solid #ded7cc}.diary-image img{display:block;width:100%;aspect-ratio:1.08/.86;object-fit:cover}.diary-copy{display:flex;flex-direction:column;min-height:178px}.diary-copy h2{align-self:stretch;margin:0 0 7px;padding:12px 18px;border-radius:28px;background:#DAD0C5;color:#5c5a55;font:700 21px/1.12 Lato,Arial,sans-serif}.diary-copy h2 a{color:inherit;text-decoration:none}.diary-copy time{display:block;text-align:center;margin:0 0 10px;color:#8d877f;font:700 11px/1.4 Consolas,monospace;letter-spacing:.08em}.diary-copy p{margin:0 0 13px;color:#2f302c;font-size:14px;line-height:1.65}.read-more{align-self:flex-end;margin-top:auto;padding:8px 15px;border-radius:999px;background:#e3e8d8;color:#3a4a2f;text-decoration:none;font:700 12px/1 Lato,Arial,sans-serif;border:1px solid #56634b}.read-more:hover{background:#d3ddc2}.blog-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin:28px 0 0}.blog-pagination a,.blog-pagination span,.blog-pagination button{min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f4eee8;color:#555b4e;text-decoration:none;font:700 12px/1 Lato,Arial,sans-serif;border:1px solid #ddd4c2;padding:0 10px;cursor:pointer}.blog-pagination a:hover,.blog-pagination button:not(:disabled):hover{background:#efe6da}.blog-pagination a[aria-current=page],.blog-pagination button[aria-current=page]{background:#56634b;border-color:#56634b;color:#fff}.blog-pagination button:disabled{opacity:.45;cursor:default}.blog-pagination .next{padding:0 16px}.blog-sidebar{display:grid;gap:18px}.sidebar-card{position:relative;background:transparent;border:0;padding:16px 14px;text-align:center;color:#424039;box-shadow:none}.sidebar-card h2{margin:0 0 10px;color:#514c45;font:700 18px/1.15 Merriweather,Georgia,serif}.profile-card{padding:0;border:0;background:transparent;box-shadow:none}.profile-card img{display:block;width:100%;height:auto;border-radius:0}.warkan-card p,.archive-card a,.it-card a{font:700 13px/1.35 Consolas,monospace}.warkan-card p{margin:0 0 16px;color:#777267}.ask-warkan{display:inline-block;margin:6px 0 0;color:#81786b;text-decoration:none;font:32px/1 'Oooh Baby',cursive;transform:rotate(-8deg)}.warkan-card img{display:block;width:96px;margin:0 auto 4px;opacity:.72}.archive-card ul{list-style:none;margin:0;padding:0;text-align:left}.archive-card li{border-bottom:1px solid #e1ddd4;padding:8px 10px}.archive-card li:last-child{border-bottom:0}.archive-card a{color:#555047;text-decoration:none}.archive-card a:hover,.it-card a:hover{color:#53613d}.it-card a{display:block;margin:8px 0;padding:9px 11px;border-radius:999px;background:#eeede7;color:#555b4e;text-decoration:none;font-size:11px}.coffee-card{padding:20px 14px 16px;overflow:visible;display:flex;flex-direction:column;align-items:center;text-align:center}
.kds-coffee{position:relative;overflow:visible;display:flex;flex-direction:column;align-items:center;padding:0;margin:0;background:transparent;border:none}
.kds-coffee__btn{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;line-height:0;position:relative;z-index:30;opacity:1!important;filter:none!important;transition:transform .15s ease}
.kds-coffee__btn:hover{transform:translateY(-1px);opacity:1!important}
.kds-coffee__btn:active{transform:translateY(0);opacity:1!important}
.kds-coffee__btn:focus{outline:none}
.kds-coffee__btn:focus-visible{outline:2px solid rgba(0,0,0,.25);outline-offset:4px}
.kds-coffee__img{display:block;width:208px;max-width:100%;filter:drop-shadow(0 14px 22px rgba(0,0,0,.18));opacity:1!important}
.kds-coffee__note{font:26px/1.1 'Oooh Baby',cursive;margin:2px 0 0;transform:rotate(-10deg);text-align:center;color:#8a796a;position:relative;z-index:20}
.kds-coffee:not(.is-locked) .kds-coffee__note{display:block}
.kds-coffee.is-locked .kds-coffee__note{display:none}
.kds-coffee__content{text-align:center;max-width:100%;position:relative;z-index:10;margin-top:8px}
.kds-coffee__quote{font-size:13.5px;line-height:1.55;margin:0;color:#4a4238}
.kds-coffee__hint{margin-top:6px;font-size:12px;opacity:.65}
.kds-coffee.is-locked .kds-coffee__btn{cursor:default;opacity:1!important}
@media(max-width:520px){.kds-coffee__img{width:178px}.kds-coffee__note{font-size:21px}.kds-coffee__quote{font-size:13px}}
@media (max-width:1150px){.blog-shell{margin-left:24px;margin-right:24px}}@media (max-width:760px){.blog-shell{margin-left:16px;margin-right:16px}}@media (max-width:900px){.blog-shell{margin-top:24px;padding:0 0 34px}.blog-board{grid-template-columns:1fr;max-width:none}.blog-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.blog-main{padding:26px 16px 24px}.blog-intro h1{font-size:40px}.diary-card{grid-template-columns:1fr;padding:16px}.diary-image{transform:none}.diary-copy h2{font-size:19px}.blog-sidebar{grid-template-columns:1fr}}
/* Single diary posts */
.blog-post-page .post-shell {
  margin-top: 32px;
}

.blog-post-page .blog-board {
  grid-template-columns: minmax(0, 1fr) 228px;
  max-width: none;
}

.blog-post-page .post-main {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.blog-post-page article.post {
  max-width: none;
  margin: 0;
  padding: 38px 38px 42px;
  background: transparent;
  border:0;
  color: #24241f;
  box-shadow: none;
}

.blog-post-page article.post .date {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 688px;
  margin: 0 auto 24px;
  text-align: center;
  color: #777267;
  font: 700 12px/1.4 Consolas, monospace;
  letter-spacing: .02em;
}

.blog-post-page article.post .date::before,
.blog-post-page article.post .date::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #9a948c;
}

.blog-post-page article.post h1 {
  max-width: 680px;
  margin: 0 auto 18px;
  text-align: center;
  color: #181713;
  font: 400 clamp(2rem, 4vw, 2.7rem)/1.16 Merriweather, Georgia, serif;
}

.blog-post-page article.post p {
  font-size: 15px;
  line-height: 1.72;
  color: #252520;
}

.blog-post-page article.post > img {
  width: min(330px, 48%);
  margin: 22px 28px 22px 0;
  border-radius: 0;
  padding: 10px;
  background: #fffaf2;
  border: 1px solid #ded7cc;
  box-shadow: 0 4px 15px rgba(68, 61, 51, .16);
  transform: rotate(-2.5deg);
}

.blog-post-page article.post > img:nth-of-type(odd) {
  float: left;
}

.blog-post-page article.post > img:nth-of-type(even) {
  float: right;
  margin: 22px 0 22px 28px;
  transform: rotate(2deg);
}

.blog-post-page .signature-wrap {
  clear: both;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 180px;
  max-width: 100%;
  margin-left: auto;
  border-top: 0;
  margin-top: 46px;
  padding-top: 0;
}

.blog-post-page article.post .signature-img {
  align-self: flex-end;
  margin: 0;
}

.blog-post-page .signature-text {
  color: #252520;
  font: 400 15px/1.72 Lato, Arial, sans-serif;
  transform: none;
}

.blog-post-page .signature-img img {
  width: 150px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: none;
}

@media (max-width: 900px) {
  .blog-post-page .blog-board {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

@media (max-width: 680px) {
  .blog-post-page article.post .date {
    justify-content: center;
  }
  .blog-post-page article.post {
    padding: 26px 18px 32px;
  }

  .blog-post-page article.post .date::before,
  .blog-post-page article.post .date::after {
    display: none;
  }

  .blog-post-page article.post > img,
  .blog-post-page article.post > img:nth-of-type(even),
  .blog-post-page article.post > img:nth-of-type(odd) {
    float: none;
    width: 100%;
    margin: 22px 0;
    transform: none;
  }
}

/* Subtle divider in the gap between the diary and its sidebar. */
.blog-sidebar {
  position: relative;
  align-self: stretch;
  align-content: start;
}
.blog-sidebar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -12px;
  width: 1px;
  background: #c5cdb8;
  pointer-events: none;
}
@media (max-width: 900px) {
  .blog-sidebar::before {
    top: -12px;
    bottom: auto;
    left: 0;
    right: 0;
    width: auto;
    height: 1px;
  }
}
.warkan-card img { width:180px; max-width:100%; height:auto; margin:12px auto 0; opacity:1; border:0; background:transparent; box-shadow:none; }

/* Blog comments */
.post-comments { margin-top:40px; padding-top:32px; border-top:1px solid #e1ddd4; }
.comments-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.comments-head h2 { margin:0; display:flex; align-items:center; gap:8px; font:700 22px/1.2 Merriweather,Georgia,serif; color:#2a2824; }
.comments-head-leaf { font-size:18px; }
.comments-sort { border:1px solid #ddd4c2; border-radius:999px; background:#fff; color:#555b4e; font:600 13px/1.3 Lato,Arial,sans-serif; padding:8px 30px 8px 14px; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23555b4e'><path d='M5.5 8l4.5 4.5L14.5 8z'/></svg>"); background-repeat:no-repeat; background-position:right 10px center; background-size:13px; }
.comments-list { display:flex; flex-direction:column; gap:16px; margin-bottom:30px; }
.comments-empty, .comments-loading { margin:0; color:#79816f; font-size:14px; }

.comment-root { background:#f7f4ee; border:1px solid #e6ded0; border-radius:16px; padding:16px 18px; }
.comment { display:flex; gap:12px; align-items:flex-start; }
.comment-avatar { flex-shrink:0; width:76px; height:76px; border-radius:50%; display:grid; place-items:center; font-size:17px; background:#eef0e8; }
.comment-avatar--author { background:#e3e8d8; }
.comment__body { min-width:0; flex:1; }
.comment__head { display:flex; align-items:center; gap:8px; }
.comment__name { font:700 14px/1.3 Lato,Arial,sans-serif; color:#2a2824; }
.comment__badge { padding:2px 9px; border-radius:999px; background:#56634b; color:#fff; font:700 10px/1.5 Lato,Arial,sans-serif; letter-spacing:.02em; }
.comment__more { margin-left:auto; border:0; background:none; color:#a29c8f; font-size:16px; line-height:1; cursor:pointer; padding:2px 4px; }
.comment__meta { margin:2px 0 8px; font-size:12px; color:#948d80; }
.comment__reply-to { color:#7d8a68; }
.comment__text { margin:0 0 10px; font-size:14px; line-height:1.6; color:#2f302c; }
.comment__text p { margin:0 0 8px; }
.comment__text p:last-child { margin-bottom:0; }
.comment__actions { display:flex; align-items:center; gap:16px; }
.comment-like { display:inline-flex; align-items:center; gap:6px; border:0; background:none; color:#8d877f; font:600 13px/1.3 Lato,Arial,sans-serif; cursor:pointer; padding:0; }
.comment-like.is-liked { color:#3f6b2e; }
.comment-like:disabled { cursor:default; }
.comment__reply-btn { border:0; background:none; color:#8d877f; font:600 13px/1.3 Lato,Arial,sans-serif; cursor:pointer; padding:0; }
.comment__reply-btn:hover, .comment-like:not(:disabled):hover { color:#56634b; }

.comment-thread { margin-top:14px; }
.thread-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding:10px 14px; border:1px solid #e6ded0; border-radius:12px; background:#efeadf; color:#5c5648; font:600 13px/1.3 Lato,Arial,sans-serif; cursor:pointer; }
.thread-toggle:hover { background:#e9e3d5; }
.thread-toggle__chevron { color:#8d877f; }
.thread-body { margin-top:12px; }
.thread-rail { position:relative; display:flex; flex-direction:column; gap:14px; padding-left:22px; }
.thread-rail::before { content:""; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background:#dcd6c8; }
.reply-item { position:relative; }
.reply-item::before { content:""; position:absolute; left:-22px; top:19px; width:7px; height:7px; border-radius:50%; background:#56634b; border:2px solid #f7f4ee; }
.reply-item .comment-avatar { width:70px; height:70px; font-size:14px; }
.thread-more { align-self:flex-start; margin-top:2px; border:0; background:none; color:#56634b; font:700 12.5px/1.3 Lato,Arial,sans-serif; cursor:pointer; padding:0; }
.thread-more:hover { text-decoration:underline; }

.reply-form-slot:not(:empty) { margin-top:12px; }
.reply-form { display:flex; flex-direction:column; gap:8px; max-width:460px; }
.reply-form input, .reply-form textarea { width:100%; font:14px/1.5 Lato,Arial,sans-serif; padding:8px 10px; border:1px solid #ddd4c2; border-radius:8px; background:#fff; color:#2f302c; }
.reply-form textarea { min-height:70px; resize:vertical; }
.reply-form__actions { display:flex; gap:10px; }
.reply-form .btn { padding:7px 14px; min-height:0; font-size:13px; }

.comment-compose { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:start; padding:20px; background:#f7f4ee; border:1px solid #e6ded0; border-radius:18px; }
.comment-compose__avatar { width:44px; height:44px; border-radius:50%; background:#e3e8d8; display:grid; place-items:center; font-size:20px; overflow:hidden; }
.comment-compose__avatar img { width:100%; height:100%; object-fit:contain; background:#fff; padding:4px; box-sizing:border-box; }
.comment-compose__body h3 { margin:0 0 4px; font:700 17px/1.3 Merriweather,Georgia,serif; color:#2a2824; }
.comment-compose__hint { margin:0 0 14px; font-size:13px; color:#79816f; }
.comment-compose__signup { margin:0 0 14px; padding:10px 14px; background:#eef0e8; border:1px solid #dbe2d2; border-radius:10px; font-size:13px; line-height:1.5; color:#4b5342; }
.comment-compose__signup-btn { background:none; border:0; padding:0; margin:0; font:700 13px/1.5 Lato,Arial,sans-serif; color:#3f6b2e; text-decoration:underline; cursor:pointer; }
.comment-compose__signup-btn:hover { color:#2f5122; }
.comment-compose__signup-hint { color:#79816f; }
.comment-form { display:flex; flex-direction:column; gap:10px; }
.comment-form__name { width:100%; max-width:280px; font:14px/1.5 Lato,Arial,sans-serif; padding:9px 12px; border:1px solid #ddd4c2; border-radius:8px; background:#fff; color:#2f302c; }
.comment-form__editor { border:1px solid #ddd4c2; border-radius:12px; background:#fff; overflow:hidden; }
.comment-form__editor textarea { display:block; width:100%; min-height:90px; border:0; padding:12px 14px; font:15px/1.5 Lato,Arial,sans-serif; color:#2f302c; resize:vertical; }
.comment-form__editor textarea:focus { outline:none; }
.comment-form__toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border-top:1px solid #eee7d9; background:#faf8f2; }
.comment-form__tools { display:flex; gap:4px; }
.comment-form__tools button { width:30px; height:30px; border:0; border-radius:8px; background:none; color:#6a6c64; cursor:pointer; font-size:14px; }
.comment-form__tools button:hover { background:#eee7d9; }
.comment-form__submit { padding:9px 16px; min-height:0; font-size:13.5px; }
.comment-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.comment-status { margin:0; font-size:13px; min-height:18px; }
.comment-status.is-success { color:#3f6b2e; }
.comment-status.is-error { color:#a13b2f; }

.comment-avatar--fp { object-fit:contain; background:#fff; padding:5px; border:1px solid #e6ded0; }
.comment-avatar--fp.is-anon { opacity:.55; filter:blur(.4px) saturate(.6); }
.comment-form__name[hidden] { display:none; }

.reply-form__as { margin:0; font-size:13px; color:#79816f; }

@media(max-width:640px) {
  .comments-head { flex-direction:column; align-items:flex-start; gap:10px; }
  .comment-compose { grid-template-columns:1fr; }
  .comment-compose__avatar { display:none; }
  .thread-rail { padding-left:16px; }
  .reply-item::before { left:-16px; }
}

/* Diary cards share the certificate card styling, without a timeline. */
.blog-list { gap:18px; }
.blog-list .diary-card {
  display:grid;
  grid-template-columns:minmax(180px, 34%) minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:16px;
  min-height:0;
  background:#f4eee8;
  border:1px solid #ddd4c2;
  border-radius:14px;
  box-shadow:none;
}
.blog-list .diary-image {
  display:block;
  width:100%;
  padding:0;
  transform:none;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.blog-list .diary-image img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:0; }
.blog-list .diary-copy { min-height:0; min-width:0; }
.blog-list .diary-copy h2 { margin:8px 0 6px; padding:0; border:0; border-radius:0; background:none; color:#272a24; font:600 16px/1.35 Lato,Arial,sans-serif; }
.blog-list .diary-copy time { order:-1; align-self:flex-start; margin:0; text-align:left; color:#6a6c64; font:400 12px/1.4 Lato,Arial,sans-serif; letter-spacing:0; }
.blog-list .diary-copy p { margin:0 0 14px; color:#4a4d45; font-size:13.5px; line-height:1.65; }
.blog-list .read-more { align-self:flex-start; margin-top:0; padding:0; border:0; border-radius:0; background:none; color:#51613b; font:600 13px/1.5 Lato,Arial,sans-serif; }
.blog-list .read-more::after { content:""; display:inline-block; width:16px; height:16px; margin-left:10px; vertical-align:middle; background:url("../assets/project-arrow-right.svg") center/contain no-repeat; }
.blog-list .read-more:hover { background:none; text-decoration:underline; text-underline-offset:4px; }
.blog-list .diary-card[hidden] { display:none; }
@media(max-width:640px) {
  .blog-list .diary-card { grid-template-columns:1fr; gap:16px; }
}

.blog-post-page .cv-downloads { clear:both; margin-top:40px; padding-top:24px; border-top:1px solid #d4cdc4; }
.blog-post-page .cv-downloads h2 { font:400 20px/1.4 Merriweather,Georgia,serif; margin:0 0 20px; }
.blog-post-page .cv-advice { margin-top:32px; }
.blog-post-page .cv-advice h2 { font:400 20px/1.4 Merriweather,Georgia,serif; margin:0 0 16px; }
.blog-post-page .cv-advice ul { padding-left:22px; font:400 15px/1.72 Lato,Arial,sans-serif; color:#252520; }
.blog-post-page .cv-advice li { margin-bottom:8px; }
.cv-download-grid { display:grid; grid-template-columns:repeat(3,minmax(0,220px)); justify-content:center; gap:24px; }
.cv-download-card { position:relative; }
.cv-download-grid a { display:block; color:#fff; font:14px/1.5 Lato,Arial,sans-serif; text-align:center; text-decoration:none; }
.cv-download-grid .cv-download-button { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); padding:10px 18px; border-radius:6px; background:#485d40; color:#fff; white-space:nowrap; box-shadow:0 2px 8px #0003; }
.cv-download-grid .cv-download-button:hover, .cv-download-grid .cv-download-button:focus-visible { background:#33452d; }
.cv-download-grid a:focus-visible { outline:2px solid #485d40; outline-offset:4px; }
article.post .cv-download-grid img { display:block; width:100%; height:auto; margin:0; border-radius:0; border:1px solid #e2ded2; box-sizing:border-box; }
@media(max-width:600px) { .cv-download-grid { grid-template-columns:minmax(0,220px); margin:auto; gap:24px; } }

/* Inline photographs in the diary entry. */
article.post figure.post-photo { box-sizing:border-box; width:40%; max-width:500px; padding:10px 10px 22px; background:#fffcf5; border:1px solid #ded9cf; box-shadow:1px 3px 6px #51493820; }
article.post figure.post-photo-right { float:right; margin:10px 8px 24px 28px; transform:rotate(3deg); }
article.post figure.post-photo-left { float:left; margin:10px 28px 24px 8px; transform:rotate(-3deg); }
article.post .post-photo img { margin:0; border-radius:0; width:100%; height:auto; }
article.post .post-photo figcaption { margin:12px 0 0; color:#756858; font:400 20px/1.4 'Oooh Baby',cursive; }
article.post:has(.post-photo) .signature-wrap { clear:both; }
@media(max-width:600px) {
 article.post figure.post-photo { float:none; width:90%; margin:24px auto; }
}

/* Journal layout: paper feature, alternating polaroids and a quiet reading column. */
.diary-journal-page .blog-main { padding:24px 26px 30px; }
.diary-journal-page .blog-intro { margin-bottom:28px; }
.diary-journal-page .blog-intro h1 { margin-bottom:16px; }
.diary-feature-slot .diary-featured { position:relative; display:grid; grid-template-columns:36% minmax(0,1fr); gap:32px; align-items:center; padding:26px 40px 26px 22px; margin:0 0 28px; background:radial-gradient(ellipse at 15% 10%,#fffdf7aa,transparent 65%),repeating-linear-gradient(4deg,#eee8db22 0 1px,transparent 1px 4px),#f2ecdf; border:1px solid #e5ddcf; border-radius:3px 7px 4px 9px; box-shadow:0 5px 16px #524c3210; }
.diary-featured::after { content:""; position:absolute; width:50px; height:100px; right:4px; top:12px; background:url("../assets/footer-leaves-left-drawn.webp") center/contain no-repeat; opacity:.4; pointer-events:none; }
.diary-journal-page .diary-image { display:block; width:100%; box-sizing:border-box; padding:10px 10px 8px; border:1px solid #e0dbd1; background:#fffcf5; transform:rotate(-3deg); box-shadow:1px 3px 6px #51493820; overflow:visible; text-decoration:none; }
.diary-journal-page .diary-image img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.diary-journal-page .diary-caption { display:block; padding:10px 2px 3px; text-align:center; font:400 20px/1.4 'Oooh Baby',cursive; color:#8a7564; }
.diary-journal-page .diary-copy { min-height:0; }
.diary-journal-page .diary-copy h2 { border:0; background:none; padding:0; margin:5px 0 10px; color:#292d25; font:400 clamp(17px,1.5vw,21px)/1.4 Merriweather,Georgia,serif; }
.diary-journal-page .diary-copy time { order:-1; text-align:left; margin:0 0 3px; font:11px/1.5 Lato,Arial,sans-serif; color:#85877a; letter-spacing:.04em; }
.diary-journal-page .diary-copy p { margin:0 0 12px; font:14px/1.65 Lato,Arial,sans-serif; color:#606254; }
.diary-journal-page .read-more { align-self:flex-start; border:0; background:none; padding:0; color:#4b6043; font:600 13px/1.5 Lato,Arial,sans-serif; }
.diary-featured .read-more { padding:10px 16px; border-radius:3px; background:#526848; color:white; }
.diary-featured .diary-ribbon { order:-2; align-self:flex-start; padding:5px 14px; margin-bottom:12px; background:#8c977b; color:white; text-transform:uppercase; letter-spacing:.12em; font:10px/1.5 Lato,Arial,sans-serif; transform:rotate(-2deg); }
.diary-journal { gap:0; }
.diary-journal-page .diary-journal .diary-card { grid-template-columns:minmax(160px,29%) minmax(0,1fr); gap:32px; padding:24px 8px; border:0; border-bottom:1px solid #e2ded2; border-radius:0; background:none; box-shadow:none; }
.diary-journal-page .diary-journal .diary-card.is-right { grid-template-columns:minmax(0,1fr) minmax(160px,29%); }
.diary-journal .is-right .diary-image { grid-column:2; grid-row:1; transform:rotate(3deg); }
.diary-journal .is-right .diary-copy { grid-column:1; grid-row:1; }
.diary-toolbar { display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; padding:10px 0 16px; border-bottom:1px solid #e2ded2; }
.diary-filters { display:flex; flex-wrap:wrap; gap:6px; }
.diary-filters button { padding:8px 12px; border:1px solid #e2ded2; border-radius:24px; background:transparent; color:#444e3d; font:12px/1.3 Lato,Arial,sans-serif; cursor:pointer; }
.diary-filters button[aria-pressed="true"] { background:#485d40; color:#fff; border-color:#485d40; }
.diary-results { color:#79816f; font-size:12px; margin:8px 0 0; }
.diary-results:empty { display:none; }
.diary-empty { padding:30px 0; color:#79816f; }
.diary-journal-page .diary-card[hidden] { display:none; }
.diary-journal-page .blog-pagination { flex-wrap:wrap; }
@media(max-width:700px) {
 .diary-journal-page .blog-main { padding:20px 16px; }
 .diary-feature-slot .diary-featured { grid-template-columns:1fr; padding:24px; gap:24px; }
 .diary-journal-page .diary-journal .diary-card,
 .diary-journal-page .diary-journal .diary-card.is-right { grid-template-columns:1fr; gap:24px; padding:24px 6px; }
 .diary-journal .is-right .diary-image, .diary-journal .is-right .diary-copy { grid-column:auto; grid-row:auto; }
 .diary-journal-page .diary-image { max-width:320px; justify-self:center; }
}

/* Archive replaces the diary listing while preserving its filters and page. */
.blog-main.show-archive > :not(.diary-archive) { display:none !important; }
.diary-archive[hidden] { display:none; }
.diary-archive { padding:0 0 30px; scroll-margin-top:30px; }
.archive-back { color:#56634b; text-underline-offset:4px; font-size:14px; }
.diary-archive h1 { margin:30px 0 14px; font:36px/1.25 Merriweather,Georgia,serif; }
.archive-intro { color:#777267; line-height:1.7; }
.archive-year { padding:22px 0 12px; border-bottom:1px solid #c5cdb8; font:30px/1.3 Merriweather,Georgia,serif; }
.archive-month { margin:18px 0; border:1px solid #e1ddd4; border-radius:6px; background:#fffaf240; box-shadow:0 2px 7px #443d330b; }
.archive-month summary { display:flex; align-items:center; gap:18px; padding:22px; cursor:pointer; list-style:none; }
.archive-month summary::-webkit-details-marker { display:none; }
.archive-month summary::after { content:'＋'; color:#67715c; }
.archive-month[open] summary::after { content:'−'; }
.archive-number { padding:7px; border-radius:50%; background:#eeede7; color:#777267; font:22px Georgia,serif; }
.archive-month-name { font:25px Merriweather,Georgia,serif; }
.archive-count { margin-left:auto; color:#777267; white-space:nowrap; font-size:14px; }
.archive-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:0 22px 26px; }
.archive-post { text-decoration:none; color:#302e29; }
.archive-post img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.archive-post h3 { margin:12px 0 8px; font:16px/1.5 Merriweather,Georgia,serif; }
.archive-post time { color:#777267; font:12px Consolas,monospace; }
.archive-card a { display:block; padding:5px 0; }
.archive-card a[aria-current] { color:#3a4a2f; font-weight:bold; background:#e9e4da; }
.archive-month summary:focus-visible,.archive-post:focus-visible { outline:2px solid #56634b; outline-offset:4px; }
@media(max-width:680px) {
  .archive-posts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0 16px 20px; }
  .archive-month summary { padding:16px; gap:10px; }
  .archive-month-name { font-size:21px; }
  .diary-archive h1 { font-size:28px; }
}
@media(max-width:420px) { .archive-posts { grid-template-columns:1fr; } }
/* Compact month rows with a continuous archive timeline. */
.diary-archive h1 { margin:24px 0 12px; font-size:32px; }
.archive-intro { max-width:560px; font:15px/1.65 Lato,Arial,sans-serif; margin:0 0 22px; }
.archive-year { margin:0 0 18px; padding:8px 0; font-size:27px; }
.archive-month { position:relative; margin:8px 0 8px 14px; border-color:#e8e2d8; border-radius:3px; box-shadow:0 1px 5px #443d3309; }
.archive-month::before { content:''; position:absolute; left:-15px; top:-9px; bottom:-9px; width:1px; background:#89977e; }
.archive-month::after { content:''; position:absolute; left:-19px; top:27px; width:7px; height:7px; border:2px solid #607153; border-radius:50%; background:#faf8f3; box-sizing:border-box; }
.archive-month summary { display:grid; grid-template-columns:180px minmax(0,1fr) 72px 18px; gap:16px; padding:14px 16px; min-height:150px; box-sizing:border-box; }
.archive-month summary::after { content:'→'; font:20px Georgia,serif; }
.archive-month[open] summary::after { content:'↓'; }
.archive-label { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:10px; }
.archive-number { padding:6px 3px; text-align:center; font-size:20px; }
.archive-month-name { font-size:21px; }
.archive-count { margin:0; text-align:right; font:14px Georgia,serif; }
.archive-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.archive-previews img { display:block; width:100%; height:130px; object-fit:cover; border:1px solid #e4dccc; border-radius:2px; box-sizing:border-box; }
.archive-month[open] .archive-posts { padding-top:18px; border-top:1px solid #e8e2d8; margin:0 16px; padding-left:0; padding-right:0; }
@media(max-width:1100px) {
 .archive-month summary { grid-template-columns:140px minmax(0,1fr) 58px 14px; gap:10px; }
 .archive-month-name { font-size:18px; }
 .archive-previews img { height:110px; }
}
@media(max-width:600px) {
 .archive-month summary { grid-template-columns:minmax(0,1fr) auto 18px; padding:12px; }
 .archive-label { grid-column:1; }
 .archive-count { grid-column:2; grid-row:1; }
 .archive-month summary::after { grid-column:3; grid-row:1; }
 .archive-previews { grid-column:1/-1; grid-row:2; }
 .archive-previews img { height:auto; aspect-ratio:4/3; }
 .diary-archive h1 { font-size:27px; }
}
.archive-card a {
  text-align:center;
  font:normal 20px/1.4 Georgia,serif;
  padding:14px 20px;
  margin:0 -12px;
}
.archive-card a[aria-current="date"] {
  background:transparent url('../assets/archive-year-paper.webp') center/100% 100% no-repeat;
  padding:14px 20px;
  margin:0 -12px;
  color:#29251e;
  font:normal 20px/1.4 Georgia,serif;
}
/* Gentle separators and Warkan beside his invitation. */
.blog-sidebar > .sidebar-card + .sidebar-card {
  border-top:1px solid #dddcd2;
  padding-top:24px;
}
.warkan-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  column-gap:4px;
}
.warkan-card h2,.warkan-card p { grid-column:1 / -1; }
.warkan-card .ask-warkan {
  grid-column:1;
  grid-row:3;
  margin:20px 0 0;
  font-size:29px;
  position:relative;
  z-index:1;
}
.warkan-card img {
  grid-column:2;
  grid-row:3;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0;
}
.warkan-card img { width:calc(100% + 0.5cm); max-width:none; justify-self:end; }

/* Four paper cards for the Hello World series. */
.it-card { text-align:left; }
.it-card h2 { padding-bottom:14px; border-bottom:1px solid #e1ddd4; }
.it-series-intro { margin:0 0 24px; color:#777267; font:12px/1.6 Consolas,monospace; }
.it-card .it-story {
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  position:relative;
  margin:18px 0;
  padding:26px 12px 12px;
  border:1px solid #e7dece;
  border-radius:3px;
  background:linear-gradient(115deg,#f7f0e3,#fffaf0 55%,#eee4d2);
  box-shadow:0 3px 8px #443d331a;
  color:#57584e;
  text-decoration:none;
  transform:rotate(-1deg);
  transition:transform .18s,box-shadow .18s;
}
.it-card .it-story:nth-of-type(even) { transform:rotate(1deg); }
.it-story-part {
  position:absolute;
  top:0;
  left:10px;
  padding:1px 7px;
  background:#fbf6ec;
  transform:rotate(-12deg);
  font:24px/1.25 'Oooh Baby',cursive;
  color:#514c45;
}
.it-story img { display:block; grid-column:1/-1; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; margin-bottom:10px; border-radius:1px; }
.it-story-caption { font:11px/1.5 Consolas,monospace; }
.it-card .it-story:hover { transform:rotate(0); box-shadow:0 5px 12px #443d3326; color:#3a4a2f; }
.it-card .it-story:focus-visible { outline:2px solid #607153; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .it-card .it-story { transition:none; } }
.it-card .it-story img { margin-bottom:0; }

.it-card .it-story-caption { grid-column:1/-1; margin-top:10px; }

.it-card h2 { text-align:center; }

/* Individual botanical ornaments and a fine rule below sidebar headings. */
.blog-sidebar .sidebar-card h2 {
  position:relative;
  box-sizing:border-box;
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 0 14px 34px;
  margin:0 0 14px;
  border-bottom:1px solid #e1ddd4;
  text-align:center;
}
.blog-sidebar .sidebar-card h2::before {
  content:'';
  position:absolute;
  left:-5px;
  top:0;
  width:44px;
  height:44px;
  background-image:url('../assets/sidebar-heading-leaves.webp');
  background-size:300% 100%;
  background-position:left center;
  background-repeat:no-repeat;
  pointer-events:none;
}
.blog-sidebar .it-card h2::before { background-position:center center; }
.blog-sidebar .archive-card h2::before { background-position:right center; }
/* Keep headings centered independently of the botanical ornament. */
.blog-sidebar .sidebar-card h2 {
  display:block;
  min-height:64px;
  padding:5px 26px 16px;
  font-size:17px;
  line-height:1.25;
}
.blog-sidebar .sidebar-card h2::before {
  left:-18px;
  top:-5px;
  width:64px;
  height:64px;
  opacity:1;
  filter:contrast(1.5);
}
/* Crisp botanical line drawings without raster texture. */
.blog-sidebar .sidebar-card h2::before {
  background-image:url('../assets/sidebar-leaf-1.svg');
  background-size:contain;
  background-position:center;
  filter:none;
}
.blog-sidebar .it-card h2::before {
  background-image:url('../assets/sidebar-leaf-2.svg');
  background-position:center;
}
.blog-sidebar .archive-card h2::before {
  background-image:url('../assets/sidebar-leaf-3.svg');
  background-position:center;
}
.blog-sidebar .sidebar-card h2::before { content:none; background-image:none; }

.blog-sidebar .sidebar-card h2 { min-height:0; padding-bottom:4px; }

/* Latest entry on layered deckled paper. */
.diary-feature-slot .diary-featured {
  grid-template-columns:32% minmax(0,1fr);
  gap:34px;
  padding:34px 55px 34px 32px;
  min-height:330px;
  isolation:isolate;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.diary-feature-slot .diary-featured::before {
  content:'';
  position:absolute;
  inset:0 -8px;
  z-index:-1;
  background:url('../assets/diary-feature-paper.webp') center/100% 100% no-repeat;
  pointer-events:none;
}
.diary-feature-slot .diary-featured::after { content:none; }
.diary-feature-slot .diary-image {
  position:relative;
  padding:12px 12px 28px;
  background:#fffefa;
  transform:rotate(-4deg);
  box-shadow:2px 5px 7px #443d3326;
}
.diary-feature-slot .diary-image::before {
  content:'';
  position:absolute;
  top:-12px;
  left:15px;
  width:12px;
  height:43px;
  border:2px solid #a4947c;
  border-radius:9px;
  transform:rotate(-9deg);
  box-shadow:inset 2px 0 #fff9;
  z-index:1;
}
.diary-feature-slot .diary-image img { aspect-ratio:1.08; object-fit:cover; }
.diary-feature-slot .diary-caption { display:none; }
.diary-feature-slot .diary-ribbon {
  padding:7px 23px;
  margin:0 0 16px -8px;
  background:#899578;
  clip-path:polygon(3% 0,98% 5%,95% 18%,100% 30%,96% 45%,99% 65%,94% 75%,97% 96%,0 100%,4% 83%,1% 66%,5% 48%,1% 28%,4% 17%);
  font:12px/1.4 Lato,Arial,sans-serif;
  letter-spacing:.12em;
}
.diary-feature-slot .diary-copy h2 { font:400 clamp(23px,2.1vw,30px)/1.25 'Playfair Display',Georgia,serif; margin:8px 0 12px; color:#292a24; }
.diary-feature-slot .diary-copy time { font:13px/1.5 Georgia,serif; color:#66685c; }
.diary-feature-slot .diary-copy p {
  font:15px/1.6 Georgia,serif;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-bottom:18px;
}
.diary-feature-slot .read-more { align-self:flex-start; margin-top:0; padding:12px 19px; background:#4e6344; border:1px solid #647459; border-radius:3px; box-shadow:0 2px 4px #38442e20; font:15px/1.2 Georgia,serif; }
.diary-feature-slot .read-more::after { content:' →'; margin-left:12px; }
.diary-feature-slot .read-more:hover { background:#3e5236; }
@media(max-width:700px) {
 .diary-feature-slot .diary-featured { grid-template-columns:1fr; gap:26px; padding:30px 24px; }
 .diary-feature-slot .diary-image { max-width:270px; }
 .diary-feature-slot .diary-copy h2 { font-size:25px; }
}
.diary-feature-slot .diary-ribbon { background:transparent url('../assets/latest-entry-tape.webp') center/100% 320% no-repeat; clip-path:none; padding:9px 24px; }

.comment-avatar, .comment-avatar--fp, .comment-avatar--author, .comment-compose__avatar, .comment-compose__avatar img { border:0; border-radius:0; background:transparent; padding:0; box-shadow:none; object-fit:contain; }

/* Crop square comment artwork to a circle without a badge. */
.comment-avatar, .comment-avatar--fp, .comment-avatar--author, .comment-compose__avatar, .comment-compose__avatar img { border-radius:50%; object-fit:cover; overflow:hidden; border:0; background:transparent; padding:0; }

/* Fill the circular avatar and trim the artwork safety margin. */
.comment-avatar, .comment-compose__avatar img { object-fit:cover; object-position:center; object-view-box:inset(0%); border:0; padding:0; border-radius:50%; background:transparent; }
