
:root {

    color-scheme: dark;

    --background: #000;

    --card: #0d0d0d;

    --field: #000;

    --border: #333;

    --text: #fff;

    --muted: rgba(255, 255, 255, .65);

    --accent: #6fafc7;

    --danger: #ef8d8d;

}



* {

    box-sizing: border-box;

}



html,

body {

    margin: 0;

    background: var(--background);

    color: var(--text);

}



body {

    min-height: 100vh;

    font-family: Arial, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

    font-size: 14px;

}



button,

textarea {

    font: inherit;

}



.wall-shell {

    width: 100%;

    margin: 0;

    padding: 0;

}



.posts {

    display: grid;

    gap: 20px;

}



.topic-card {
    overflow: hidden;
    border: 1px solid var(--border);

    border-radius: 22px;

    background: var(--card);

    box-shadow: 0 10px 32px rgba(0, 0, 0, .45);

}



.topic-heading {

    display: flex;

    justify-content: flex-end;

    padding: 18px 24px 0;

}



.pinned-badge {

    color: var(--accent);

    font-size: 11px;

    font-weight: 900;

    letter-spacing: .06em;

    text-transform: uppercase;

}



.topic-card h2 {

    margin: 25px 24px 7px;

    color: var(--text);

    font-size: 24px;

    font-weight: 900;

    line-height: 1.2;

    white-space: pre-wrap;

}



.topic-heading:not(.hidden) + .topic-body {

    margin-top: 8px;

}



.topic-date {

    margin: 0 24px 20px;

    color: var(--muted);

    font-size: 12px;

}



.comment-box {

    border-top: 1px solid var(--border);

    padding: 18px 24px 17px;

}



.listener-line {

    margin: 0 0 10px;

    color: var(--muted);

    font-size: 12px;

}



textarea {

    display: block;

    width: 100%;

    min-height: 68px;

    resize: vertical;

    border: 0;
    border-bottom: 1px solid var(--border);

    border-radius: 16px;

    outline: none;

    background: var(--field);

    color: var(--text);

    padding: 13px 15px;

    font-size: 15px;

    line-height: 1.4;

}



textarea::placeholder {

    color: rgba(255, 255, 255, .5);

}



textarea:focus {

    border-color: var(--accent);

}



textarea:disabled {

    opacity: .55;

}



.comment-actions {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    margin-top: 8px;

}



.character-count {

    display: none;

}



.comment-button {

    border: 0;

    border-radius: 0;

    padding: 4px 0;

    background: transparent;

    color: var(--accent);

    font-size: 13px;

    font-weight: 900;

    text-decoration: underline;

    text-decoration-color: var(--accent);

    text-underline-offset: 4px;

    cursor: pointer;

}



.comment-button:hover {

    opacity: .85;

}



.comment-button:disabled {

    cursor: not-allowed;

    opacity: .35;

}



.form-message {

    color: var(--muted);

    font-size: 11px;

}



.form-message:not(:empty) {

    margin-top: 7px;

}



.form-message.error {

    color: var(--danger);

}



.comments {

    padding: 0 24px 12px;

    overflow-x: hidden;

    overscroll-behavior: contain;

    scrollbar-width: none;

    -ms-overflow-style: none;

}



.comments.scrollable {

    overflow-y: auto;

    -webkit-overflow-scrolling: touch;

}



.comments::-webkit-scrollbar {

    display: none;

    width: 0;

    height: 0;

}



.comment {

    padding: 13px 0;

    border-top: 1px solid var(--border);

}



.comment:first-child {

    border-top: 0;

}



.comment-top {

    display: flex;

    align-items: baseline;

    justify-content: space-between;

    gap: 12px;

    margin-bottom: 5px;

}



.comment-name {

    font-size: 12px;

    font-weight: 900;

}



.comment-time {

    color: var(--muted);

    font-size: 10px;

    white-space: nowrap;

}



.comment-body {

    margin: 0;

    color: rgba(255, 255, 255, .92);

    font-size: 14px;

    line-height: 1.42;

    white-space: pre-wrap;

    overflow-wrap: anywhere;

}



.notice {

    border: 0;
    border-bottom: 1px solid var(--border);

    border-radius: 22px;

    padding: 18px 24px;

    background: var(--card);

    color: var(--muted);

}



.hidden {

    display: none !important;

}



.sr-only {

    position: absolute;

    width: 1px;

    height: 1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

}



@media (max-width: 560px) {

    .posts {

        gap: 14px;

    }



    .topic-card {

        border-radius: 18px;

    }



    .topic-card h2 {

        margin: 21px 20px 7px;

        font-size: 21px;

    }



    .topic-date {

        margin-right: 20px;

        margin-left: 20px;

        display: none !important;
    }



    .topic-heading,

    .comment-box,

    .comments {

        padding-right: 20px;

        padding-left: 20px;

    }

}






/*
 * Permanent subtle lower fade for scrollable comment lists.
 * This does not depend on JavaScript state.
 */
.comments.scrollable {
    -webkit-mask-image:
        linear-gradient(
            to bottom,
            #000 0,
            #000 calc(100% - 18px),
            rgba(0, 0, 0, .45) calc(100% - 7px),
            transparent 100%
        );

    mask-image:
        linear-gradient(
            to bottom,
            #000 0,
            #000 calc(100% - 18px),
            rgba(0, 0, 0, .45) calc(100% - 7px),
            transparent 100%
        );
}


/* Wall iframe natural content height */
html,
body {
    min-height: 0 !important;
    height: auto !important;
}
