.revuebutton {
  font-family: helvetica;
  font-weight: bold;
  color: #D6FFF0 !important;
  font-size: 14px;
  text-shadow: 1px 1px 0px #3273A8;
  box-shadow: 2px 1px 1px #BEE2F9;
  padding: 10px 25px;
  border-radius: 15px;
  border: 1px solid #3866A3;
  background: #63B8EE;
  background: linear-gradient(to top, #63B8EE, #468CCF);
}
.revuebutton:hover {
  color: #14396A !important;
  background: #468CCF;
  background: linear-gradient(to top, #468CCF, #63B8EE);
}

.revue-form-field {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 10px 30px 10px 29px;
  display:inline-block;
   width: 60%;
  border: 1px solid #b7b7b7;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  font: normal 16px/normal Georgia, serif;
  color: rgb(50, 115, 168);
  text-align: left;
  -o-text-overflow: clip;
  text-overflow: clip;
  background: rgba(252,252,252,1);
  -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;
  box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.66) ;
  -webkit-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
}

/* === Readability refinements (2025-08-09) === */

/* Narrower, more comfortable measure; soft side padding */
.post, article.post {
  max-width: 62ch; /* was 68ch */
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 24px);
  hyphens: auto;
  overflow-wrap: anywhere;
}

/* Balance headings and avoid awkward line breaks */
.post h1, .post h2, .post h3, .post h4 {
  text-wrap: balance;
}

/* Paragraphs wrap more pleasantly; a touch more rhythm */
.post p {
  text-wrap: pretty;
}
.post p + p {
  margin-top: 0.9rem;
}

/* Lists breathe a bit more, improving scanability */
.post li + li {
  margin-top: 0.35rem;
}

/* Links with clearer but subtle underline */
.post a {
  text-underline-offset: 2px;
  text-decoration-thickness: 1.25px;
}

/* Code blocks stay within the column without overflow issues */
.post pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tables: horizontal scroll on small viewports */
.post table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

/* Keep images responsive */
.post img {
  max-width: 100%;
  height: auto;
}

/* Apply the same comfortable measure on the homepage */
.page.home {
  max-width: 62ch;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 24px);
}
.page.home h1, .page.home h2, .page.home h3, .page.home h4 { text-wrap: balance; }
.page.home p { text-wrap: pretty; }

/* TOC UI improvements */
.toc{ position: fixed; top: 100px; left: 20px; }
.toc h2{ font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #888; margin: 0 0 .5rem; }
.toc ul{ list-style: none; padding-left: 0; margin: 0; }
.toc li{ margin: .25rem 0; }
.toc a{ color: inherit; opacity: .85; text-decoration: none; }
.toc a.active{ color: #0a58ca; font-weight: 600; opacity: 1; }
.toc{ border-right: 1px solid #eee; padding-right: 12px; }
@media (max-width: 1280px){
  .toc{ display: none !important; }
}