
  * { box-sizing: border-box; }
  html, body {
    margin: 0; padding: 0;
    background: #e9e0e2;
    color: #1c1516;
    font-family: "Tahoma", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.47;
    letter-spacing: -0.2px;
    font-weight: 400;
  }
  h1, h2, h3 {
    font-family: "Arvo", Georgia, serif;
    font-weight: 800;
    letter-spacing: -0.2px;
    text-transform: none;
    margin: 0;
  }
  a { color: #42b227; text-decoration: underline; }
  a:hover { color: #2b8747; }
  img { max-width: 100%; display: block; }

  .wrap { max-width: 1120px; margin: 0 auto; padding: 0 8px; }

  /* HEADER */
  header.site-header {
    position: sticky; top: 0; z-index: 50;
    background: #ffffff;
    border-bottom: 1px solid #c6aaaf;
  }
  .header-inner {
    max-width: 1120px; margin: 0 auto; padding: 6px 8px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
  }
  .site-logo { height: 34px; width: auto; }
  nav.main-nav {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    font-size: 12px;
  }
  nav.main-nav a { text-decoration: underline; color: #1c1516; }
  nav.main-nav a:hover { color: #2b8747; }
  .nav-search {
    display: flex; align-items: center; gap: 4px;
  }
  .nav-search input[type="text"] {
    border: 1px solid #c6aaaf;
    padding: 3px 5px;
    font-size: 12px;
    width: 110px;
    background: #ffffff;
    color: #1c1516;
  }
  .nav-search i { color: #4c1822; }

  /* SECTION STRIP */
  .section-strip {
    background: #4c1822;
    color: #ffffff;
    padding: 6px 8px;
  }
  .section-strip .wrap {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 6px;
  }
  .section-strip span.label {
    font-family: "Arvo", Georgia, serif;
    font-weight: 800;
    font-size: 13px;
  }
  .section-strip .sub {
    font-size: 11px;
    color: #f0dde1;
  }

  /* TITLE BLOCK */
  .title-block {
    background: #ffffff;
    border: 1px solid #c6aaaf;
    border-top: none;
    padding: 8px 10px;
  }
  .breadcrumb {
    font-size: 11px;
    color: #655d5e;
    margin-bottom: 4px;
  }
  .breadcrumb a { color: #655d5e; text-decoration: underline; }
  h1.thread-title {
    font-size: 18px;
    line-height: 1.3;
    color: #1c1516;
    display: inline;
  }
  .meta-row {
    margin-top: 6px;
    font-size: 11px;
    color: #655d5e;
    display: flex; flex-wrap: wrap; gap: 10px;
  }
  .meta-row b { color: #1c1516; }

  /* BUTTON BAR */
  .button-bar {
    background: #f5f2f2;
    border: 1px solid #c6aaaf;
    border-top: none;
    padding: 6px 10px;
    display: flex; justify-content: flex-end;
  }
  .btn-reply {
    background: #4c1822;
    color: #ffffff;
    border: 1px solid #4c1822;
    padding: 5px 14px;
    font-size: 12px;
    font-family: "Tahoma", Arial, sans-serif;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
  }
  .btn-reply:hover { background: #2b8747; border-color: #2b8747; }

  /* POST TABLE */
  .post-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #c6aaaf;
    border-top: none;
    table-layout: fixed;
  }
  .post-table tr.post-row:nth-child(odd) td { background: #ffffff; }
  .post-table tr.post-row:nth-child(even) td { background: #f5f2f2; }
  .post-table td {
    border-bottom: 1px solid #c6aaaf;
    vertical-align: top;
    padding: 8px 10px;
  }
  .post-table tr.post-row:last-child td {
    border-bottom: 3px double #c6aaaf;
  }
  td.user-cell {
    width: 150px;
    border-right: 1px solid #c6aaaf;
    text-align: center;
  }
  @media (max-width: 620px) {
    td.user-cell { width: 100px; padding: 6px 4px; }
  }

  .avatar-wrap {
    width: 32px; height: 32px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 6px auto;
    background: #4c1822;
    display: flex; align-items: center; justify-content: center;
    color: #ffffff;
    font-weight: 800;
    font-family: "Arvo", Georgia, serif;
    font-size: 14px;
  }
  .avatar-wrap img { width: 100%; height: 100%; object-fit: cover; }

  .username {
    font-weight: 800;
    font-size: 12px;
    color: #1c1516;
    margin-bottom: 2px;
    word-break: break-word;
  }
  .user-sub {
    font-size: 10.5px;
    color: #655d5e;
    line-height: 1.3;
  }

  .post-head {
    display: flex; justify-content: space-between; align-items: baseline;
    font-size: 11px; color: #655d5e;
    margin-bottom: 6px;
    border-bottom: 1px dashed #c6aaaf;
    padding-bottom: 4px;
  }
  .post-num { font-weight: 800; color: #4c1822; }
  .post-body { font-size: 13px; color: #1c1516; }
  .post-body p { margin: 0 0 8px 0; }
  .post-body p:last-child { margin-bottom: 0; }

  blockquote {
    background: #e9e0e2;
    border-left: 3px solid #2b8747;
    margin: 0 0 8px 0;
    padding: 6px 8px;
    font-size: 12px;
    color: #655d5e;
  }
  blockquote cite {
    display: block;
    font-size: 10.5px;
    color: #4c1822;
    margin-bottom: 3px;
    font-style: normal;
    font-weight: 800;
  }

  .best-flag {
    background: #2b8747;
    color: #ffffff;
    font-size: 10.5px;
    padding: 2px 6px;
    display: inline-block;
    margin-bottom: 6px;
    font-weight: 800;
  }

  .post-actions {
    margin-top: 6px;
    font-size: 11px;
  }
  .post-actions a { margin-right: 10px; color: #655d5e; text-decoration: underline; }

  /* FOOTER */
  footer.site-footer {
    background: #4c1822;
    color: #f0dde1;
    margin-top: 10px;
    font-size: 11.5px;
  }
  .footer-row {
    max-width: 1120px; margin: 0 auto;
    padding: 8px 10px;
    border-bottom: 1px solid #6a2c37;
    display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
  }
  .footer-row:last-child { border-bottom: none; }
  .footer-links a { color: #f0dde1; text-decoration: underline; margin-right: 12px; }
  .newsletter-box input[type="email"] {
    border: 1px solid #6a2c37;
    padding: 3px 6px;
    font-size: 11.5px;
    background: #5a2029;
    color: #f0dde1;
    margin-right: 6px;
  }
  .newsletter-box input[disabled], .newsletter-box button[disabled] {
    opacity: 0.6; cursor: not-allowed;
  }
  .newsletter-box button {
    border: 1px solid #6a2c37;
    background: #2b8747;
    color: #ffffff;
    padding: 3px 8px;
    font-size: 11.5px;
  }
  .gmt-note { font-size: 10.5px; color: #d9c3c8; }

  @media (max-width: 480px) {
    .header-inner { flex-direction: column; align-items: flex-start; }
    nav.main-nav { font-size: 11px; gap: 8px; }
  }
