/* Manga — Japanese comic: speed lines, bold ink, stark black-and-white with red accent */

@keyframes speed-rotate {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

body, input, button, textarea, select {
    background-color: #fff;
    color: #000;
    font-family: 'Impact', 'Arial Narrow', 'Arial Black', sans-serif;
    font-size: 10pt;
}

body {
    background-color: #fff;
}

/* Speed lines behind header using conic gradient */
header {
    background: #000;
    color: #fff;
    text-shadow: none;
    border-radius: 0;
    border-bottom: 5px solid #e00;
    position: relative;
    overflow: hidden;
    padding: 14px 3px;

    /* Speed lines as concentric rays */
    &::before {
        content: '';
        position: absolute;
        inset: 0;
        background: repeating-conic-gradient(
            from 0deg at 50% 200%,
            #111 0deg 0.8deg,
            #000 0.8deg 2.4deg
        );
        opacity: .6;
        pointer-events: none;
    }

    .navigation { position: relative; z-index: 1; font-size: 11pt; letter-spacing: 1px; }

    a { color: #fff; text-decoration: none; }
}

.boards h2, .recent-posts-header h2, .recent-attachments h2 {
    color: #000;
    font-size: 14pt;
    letter-spacing: -1px;
    text-transform: uppercase;
    border-bottom: 4px solid #000;
    margin-bottom: 0;
    padding-bottom: 6px;
}

/* Panel borders — thick ink outline */
.board, .post, .thread, .thread-warning, .flashed-message, .recent-post {
    background: #fff;
    border-top: 3px solid #000;
    border-bottom: 1px solid #000;
    color: #000;
    margin-bottom: 10px;
    padding: 10px 14px;
    position: relative;

    /* Left accent bar */
    &::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 5px;
        background: #000;
    }

    &:nth-child(4n+1)::before { background: #e00; }
    &:nth-child(4n+3)::before { background: #888; }
}

.board .name, .thread .name, .recent-post .name,
.recent-posts-header h2 a, .recent-attachments h2 a,
.subheader .title a {
    color: #000;
    font-size: 11pt;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    text-decoration: none;
}

.thread .name { font-size: 10.5pt; }

.board .description, .thread .author, .thread .time,
.thread .reply-count, .thread .view-count { color: #555; font-style: italic; font-family: 'Arial', sans-serif; }

.post .author {
    color: #e00;
    font-size: 10pt;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.post .time { color: #888; font-family: 'Arial', sans-serif; font-size: 9pt; }

/* Subheader: dramatic full-bleed black panel */
.subheader {
    background: #000;
    border-bottom: 4px solid #e00;
    margin-bottom: 4px;
    padding: 0;
    position: relative;
    overflow: hidden;

    /* Speed lines */
    &::before {
        content: '';
        position: absolute;
        inset: 0;
        background: repeating-conic-gradient(
            from 0deg at 50% 250%,
            #111 0deg 1deg,
            #000 1deg 3deg
        );
        opacity: .5;
        pointer-events: none;
    }

    .title {
        position: relative;
        z-index: 1;
        color: #fff;
        font-size: 16pt;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: -1px;
        text-shadow: 3px 3px 0 #e00;
        margin: 14px 16px;
        line-height: 32px;

        a { color: #fff; text-decoration: none; }
    }

    .right { position: relative; z-index: 1; }

    .thread-views { color: #ccc; font-size: 9pt; font-weight: normal; font-family: 'Arial', sans-serif; letter-spacing: 0; }
}

:is(.subheader .right .button, form input[type=submit]) {
    background: #e00;
    border: 2px solid #900;
    color: #fff;
    text-shadow: 1px 1px 0 rgba(0,0,0,.4);
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 900;
    font-family: 'Impact', sans-serif;

    &:hover { background: #000; border-color: #e00; }
}

a { color: #000; text-decoration: underline; }
a:visited { color: #555; }

.sort-bar { color: #888; font-family: 'Arial', sans-serif; a { color: #e00; } }

.pager {
    a, span, span.current {
        background: #fff;
        border: 2px solid #000;
        color: #000;
        border-radius: 0;
        font-weight: 900;
        text-transform: uppercase;
        font-size: 8pt;
        box-shadow: 2px 2px 0 #000;
    }
    span.current { background: #000; color: #fff; }
    a:hover { background: #e00; color: #fff; border-color: #e00; box-shadow: 2px 2px 0 #900; }
}

.posts .post-meta {
    background: #000;
    border-top: 2px solid #000;
    color: #fff;
    font-family: 'Arial', sans-serif;
    font-size: 8pt;

    a { color: #ff8080; text-decoration: none; }
}

.recent-attachments-gallery .recent-attachment {
    background: #fff;
    border: 3px solid #000;
    box-shadow: 3px 3px 0 #000;
}

.form, form { background: #f8f8f8; }

input[type=text], input[type=password], input[type=number], textarea, select {
    background: #fff;
    border: 2px solid #000;
    color: #000;
    font-family: 'Arial', sans-serif;
    font-size: 10pt;
    border-radius: 0;
}

.post .text {
    font-family: 'Arial', sans-serif;
    font-size: 10pt;
    font-weight: normal;
    line-height: 1.5;
    .greentext { color: #004400; }
    .title { color: #e00; font-family: 'Impact', sans-serif; text-transform: uppercase; }
}

mark { background: #e00; color: #fff; }
footer, footer a { color: #555; font-family: 'Arial', sans-serif; font-size: 9pt; }

.thread-warning {
    background: #fff;
    border: 3px solid #e00;
    color: #e00;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* contrast fixes */
.sort-bar { color: #666; }
