.tap-forum-wrap,
.tap-forum-wrap * {
    box-sizing: border-box;
}
.tap-forum-wrap {
    margin: 1rem 0 2rem;
    color: #283018;
}
.tap-forum-header {
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(68,79,47,.22);
    border-radius: 10px;
    background: #faf8f3;
}
.tap-forum-kicker {
    margin: 0 0 .25rem;
    color: #68733f;
    font-size: .88rem;
    font-weight: 800;
    text-transform: uppercase;
}
.tap-forum-header h2 {
    margin: 0;
    font-size: clamp(1.45rem,2.2vw,2rem);
    line-height: 1.16;
}
.tap-forum-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    gap: .75rem;
}
.tap-forum-card,
.tap-forum-topic-row,
.tap-forum-post,
.tap-forum-form,
.tap-forum-gate,
.tap-forum-guest-intro,
.tap-forum-slot,
.tap-forum-notice {
    border: 1px solid rgba(68,79,47,.22);
    border-radius: 8px;
    background: #fffaf0;
}
.tap-forum-card {
    padding: .9rem;
}
.tap-forum-card h3,
.tap-forum-topic-row h3 {
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    line-height: 1.2;
}
.tap-forum-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    color: #625c4d;
    font-size: .86rem;
}
.tap-forum-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .65rem;
    margin: 0 0 1rem;
}
.tap-forum-nav__group {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    min-width: 0;
}
.tap-forum-nav__group--adjacent {
    justify-content: flex-end;
}
.tap-forum-nav__link {
    display: grid;
    gap: .1rem;
    min-height: 42px;
    max-width: 260px;
    padding: .45rem .75rem;
    border: 1px solid rgba(79,95,53,.34);
    border-radius: 999px;
    background: #f6f4ec;
    color: #24311c !important;
    text-decoration: none;
}
.tap-forum-nav__link span {
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
}
.tap-forum-nav__link strong {
    overflow: hidden;
    font-size: .9rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tap-forum-nav__link:hover,
.tap-forum-nav__link:focus {
    border-color: #4f5f35;
    background: #fffaf0;
}
.tap-forum-topic-list {
    display: grid;
    gap: .55rem;
}
.tap-forum-topic-row {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding: .75rem .85rem;
}
.tap-forum-topic-row[data-tap-forum-row-url] {
    cursor: pointer;
}
.tap-forum-topic-row[data-tap-forum-row-url]:hover,
.tap-forum-topic-row[data-tap-forum-row-url]:focus {
    border-color: rgba(79,95,53,.48);
    background: #fff7e6;
}
.tap-forum-topic-row[data-tap-forum-row-url]:focus {
    outline: 2px solid rgba(79,95,53,.45);
    outline-offset: 2px;
}
.tap-forum-posts {
    display: grid;
    gap: .75rem;
}
.tap-forum-post {
    display: grid;
    grid-template-columns: minmax(120px,180px) minmax(0,1fr);
    gap: .85rem;
    padding: .85rem;
}
.tap-forum-post__author span {
    display: inline-block;
    margin-top: .35rem;
    padding: .18rem .45rem;
    border-radius: 999px;
    background: rgba(79,95,53,.12);
    font-size: .82rem;
    font-weight: 700;
}
.tap-forum-avatar {
    display: block;
    width: 76px;
    height: 76px;
    margin: 0 0 .55rem;
    border: 1px solid rgba(68,79,47,.22);
    border-radius: 50%;
    object-fit: cover;
    background: #f3f5ed;
}
.tap-forum-avatar--empty span {
    display: block;
    width: 100%;
    height: 100%;
}
.tap-forum-post__body {
    min-width: 0;
    overflow-wrap: anywhere;
}
.tap-forum-post__moved-note {
    grid-column: 1 / -1;
    margin: .25rem 0 0;
    padding-top: .5rem;
    border-top: 1px solid rgba(68,79,47,.16);
    color: #625c4d;
    font-size: .86rem;
    font-style: italic;
}
.tap-forum-post__body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
.tap-forum-post__actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    border-top: 1px solid rgba(68,79,47,.16);
    padding-top: .55rem;
    color: #5c5545;
    font-size: .9rem;
}
.tap-forum-post__actions form {
    margin: 0;
}
.tap-forum-report-layer {
    position: relative;
}
.tap-forum-report-layer summary {
    display: inline-block;
    min-height: 38px;
    padding: .52rem .8rem;
    border-radius: 999px;
    background: #4f5f35;
    color: #fff;
    font-weight: 800;
    list-style: none;
    cursor: pointer;
}
.tap-forum-report-layer summary::-webkit-details-marker {
    display: none;
}
.tap-forum-report-layer[open] form {
    position: absolute;
    right: 0;
    bottom: calc(100% + .6rem);
    z-index: 5;
    display: grid;
    gap: .55rem;
    width: min(420px, calc(100vw - 2rem));
    padding: .85rem;
    border: 1px solid rgba(68,79,47,.28);
    border-radius: 8px;
    background: #fffaf0;
    box-shadow: 0 14px 34px rgba(26,32,18,.18);
}
.tap-forum-report-layer h4 {
    margin: 0;
}
.tap-forum-report-layer label {
    display: grid;
    gap: .3rem;
    font-weight: 700;
}
.tap-forum-report-layer textarea {
    width: 100%;
    padding: .65rem;
    border: 1px solid rgba(68,79,47,.35);
    border-radius: 8px;
    background: #fff;
    font: inherit;
}
.tap-forum-post__actions button,
.tap-forum-button {
    display: inline-block;
    min-height: 38px;
    padding: .52rem .8rem;
    border: 0;
    border-radius: 999px;
    background: #4f5f35;
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
}
.tap-forum-post__actions button:disabled,
.tap-forum-button--disabled {
    border: 1px solid rgba(79,95,53,.28);
    background: #ece8dc;
    color: #635f52 !important;
    cursor: not-allowed;
    opacity: 1;
}
.tap-forum-button--secondary {
    border: 1px solid rgba(79,95,53,.45);
    background: #fff;
    color: #3f4d29 !important;
}
.tap-forum-button--danger {
    background: #8a2f24;
}
.tap-forum-admin-tools {
    grid-column: 1 / -1;
    padding: .75rem;
    border: 1px solid rgba(138,47,36,.32);
    border-radius: 8px;
    background: #fff;
}
.tap-forum-admin-tools summary {
    cursor: pointer;
    color: #6f271e;
    font-weight: 800;
}
.tap-forum-admin-tools form {
    display: grid;
    gap: .5rem;
    margin-top: .65rem;
}
.tap-forum-admin-tools label {
    display: grid;
    gap: .35rem;
    font-weight: 700;
}
.tap-forum-admin-tools input[type="text"],
.tap-forum-admin-tools select,
.tap-forum-admin-tools textarea {
    width: 100%;
    padding: .65rem;
    border: 1px solid rgba(68,79,47,.35);
    border-radius: 8px;
    background: #fff;
    font: inherit;
}
.tap-forum-admin-tools textarea[name="post_body"] {
    min-height: 260px;
    resize: vertical;
}
.tap-forum-admin-tools input[type="text"] {
    max-width: 520px;
}
.tap-forum-admin-tools select {
    max-width: 760px;
}
.tap-forum-admin-tools__empty {
    margin: 0;
    color: #625c4d;
    font-size: .9rem;
}
.tap-forum-admin-move-form {
    border-top: 1px solid rgba(68,79,47,.16);
    padding-top: .65rem;
}
.tap-forum-admin-delete-form {
    border-top: 1px solid rgba(138,47,36,.18);
    padding-top: .65rem;
}
.tap-forum-form {
    margin-top: 1rem;
    padding: .9rem;
}
.tap-forum-form label {
    display: grid;
    gap: .25rem;
    margin: .65rem 0;
    font-weight: 700;
}
.tap-forum-form input[type="text"],
.tap-forum-form textarea {
    width: 100%;
    max-width: 760px;
    padding: .65rem;
    border: 1px solid rgba(68,79,47,.35);
    border-radius: 8px;
    background: #fff;
}
.tap-forum-gate {
    max-width: 760px;
    padding: 1rem;
}
.tap-forum-guest-intro {
    max-width: 860px;
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    background: #f6f4ec;
}
.tap-forum-guest-intro p {
    margin: 0 0 .7rem;
    line-height: 1.55;
}
.tap-forum-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.tap-forum-display-slots {
    display: grid;
    gap: .65rem;
    margin: .75rem 0;
}
.tap-forum-slot {
    padding: .75rem .85rem;
    background: #f6f4ec;
}
.tap-forum-slot img {
    display: block;
    max-width: 100%;
    height: auto;
}
.tap-forum-copy-protected.tap-forum-copy-protected-active,
.tap-forum-copy-protected.tap-forum-copy-protected-active img {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}
@media (max-width: 680px) {
    .tap-forum-nav,
    .tap-forum-nav__group,
    .tap-forum-nav__group--adjacent {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
    .tap-forum-nav__link {
        max-width: none;
    }
    .tap-forum-post {
        grid-template-columns: 1fr;
    }
}
