@keyframes mocha-skeleton {
    0% {
        background-position: 200%0
    }

    to {
        background-position: -200%0
    }
}

@keyframes mocha-flash-blink {
    0%,to {
        background: 0 0;
        border-color: var(--mocha-border)
    }

    25%,75% {
        background: var(--mocha-surface-highlight);
        border-color: var(--mocha-link)
    }
}

@keyframes mocha-mv-spin {
    to {
        transform: rotate(360deg)
    }
}

:root {
    --mocha-text: #d5dbe3;
    --mocha-muted: #8290a0;
    --mocha-link: #f07232;
    --mocha-link-hover: #ed814c;
    --mocha-bg: #1f1f25;
    --mocha-surface: #2b2b36;
    --mocha-surface-highlight: #191920;
    --mocha-surface-2: #2a2a34;
    --mocha-border: rgba(56, 68, 77, 0.4);
    --mocha-border-solid: #42424d;
    --mocha-input: #1f1f25;
    --mocha-logo: #f99b06;
    --mocha-title: #e04001;
    --mocha-postnum: #789922;
    --mocha-icon: #565656;
    --mocha-drag: #646472;
    --mocha-panel: #343442;
    --mocha-toolbar-button: #3a4450;
    --mocha-toolbar-button-hover: #465462;
    --mocha-spoiler-bg: #050607;
    --mocha-spoiler-border: #3f4852;
    --mocha-cap-checkbox: #414150;
    --mocha-cap-spinner-bg: #2b3a4a;
    --mocha-quick-header: #18181e;
    --mocha-quick-panel: #15151c;
    --mocha-shadow: rgba(0, 0, 0, 0.42);
    --mocha-toggle-fg: #d97922;
    --mocha-toggle-track: #d97922;
    --mocha-toggle-bullet: #152332
}

html[data-mocha-theme=light] {
    --mocha-text: #2b2b2b;
    --mocha-muted: #6a6a6a;
    --mocha-link: #ff6600;
    --mocha-link-hover: #da600e;
    --mocha-bg: #eeeeee;
    --mocha-surface: #dddddd;
    --mocha-surface-highlight: #cdcbc9;
    --mocha-surface-2: #ededed;
    --mocha-border: #c9c9c9;
    --mocha-border-solid: #a8a8a8;
    --mocha-input: #f2f2f2;
    --mocha-logo: #ff6600;
    --mocha-title: #004a99;
    --mocha-postnum: #789922;
    --mocha-icon: #8a8a8a;
    --mocha-drag: #bdbdbd;
    --mocha-panel: #ffffff;
    --mocha-toolbar-button: #d8d8d8;
    --mocha-toolbar-button-hover: #c0c0c0;
    --mocha-spoiler-bg: #a8a8a8;
    --mocha-spoiler-border: #8a8a8a;
    --mocha-cap-checkbox: #f6f6f6;
    --mocha-cap-spinner-bg: #d8d8d8;
    --mocha-quick-header: #d0d0d0;
    --mocha-quick-panel: #e5e5e5;
    --mocha-shadow: rgba(0, 0, 0, 0.15);
    --mocha-toggle-fg: #2b2b2b;
    --mocha-toggle-track: #dddddd;
    --mocha-toggle-bullet: #ff6600;
    --mocha-watcher-bg: var(--mocha-panel, var(--dvach-mpborder, var(--dvach-post, #f5f5f5)));
    --mocha-watcher-text: var(--mocha-text, var(--dvach-text, #222));
    --mocha-watcher-muted: var(--mocha-muted, var(--dvach-muted, #6c757d));
    --mocha-watcher-link: var(--mocha-link, var(--dvach-link, #d0440a));
    --mocha-watcher-link-hover: var(--mocha-link-hover, var(--dvach-link-hover, #b33700));
    --mocha-watcher-border: var(--mocha-border-solid, var(--dvach-border, #d8d8d8));
    --mocha-watcher-counter: var(--mocha-postnum, var(--dvach-postnum, #4a7a18))
}

body,html {
    font-size: 15px;
    line-height: 1.3
}

html,html[data-mocha-theme=light] {
    --mocha-watcher-row-hover: rgba(127, 127, 127, 0.14)
}

html {
    --mocha-board-sidebar-top: 32px;
    --mocha-watcher-bg: var(--mocha-panel, var(--dvach-mpborder, var(--dvach-post, #2a2a34)));
    --mocha-watcher-text: var(--mocha-text, var(--dvach-text, #d5dbe3));
    --mocha-watcher-muted: var(--mocha-muted, var(--dvach-muted, #8290a0));
    --mocha-watcher-link: var(--mocha-link, var(--dvach-link, #f07232));
    --mocha-watcher-link-hover: var(--mocha-link-hover, var(--dvach-link-hover, #ed814c));
    --mocha-watcher-border: var(--mocha-border-solid, var(--dvach-border, #292931));
    --mocha-watcher-counter: var(--mocha-postnum, var(--dvach-postnum, #789922))
}

body {
    background: var(--mocha-bg);
    color: var(--mocha-text);
    font-family: "Trebuchet MS",Arial,Helvetica,sans-serif;
    margin: 0
}

.intro a.email span.name,a,a.post_no,a:visited,div.post.reply div.body a {
    color: var(--mocha-link);
    text-decoration: none
}

.intro a.post_no:hover,.mocha-post-toggle>summary:hover,a:hover,a:link:hover {
    color: var(--mocha-link-hover)
}

hr {
    border: 0;
    border-top: 1px solid var(--mocha-border);
    clear: both;
    height: 0
}

header {
    margin: 0;
    text-align: center
}

h1 {
    color: var(--mocha-link);
    font-size: 36px;
    letter-spacing: 0;
    margin: 0
}

.mocha-board-title-link,.mocha-board-title-link:hover {
    color: inherit;
    text-decoration: none
}

div.boardlist,header div.subtitle {
    color: var(--mocha-muted)
}

div.boardlist {
    background: var(--mocha-surface);
    border-bottom: 1px solid var(--mocha-border)
}

.desktop-style div.boardlist:nth-child(1) {
    background: var(--mocha-surface)
}

.mocha-header {
    background: var(--mocha-bg);
    border-bottom: 1px solid var(--mocha-surface);
    font-size: .86em;
    position: sticky;
    top: 0;
    z-index: 900
}

.mocha-header__action {
    color: var(--mocha-link)
}

.mocha-style-select {
    color: var(--mocha-muted)
}

.mocha-style-select select {
    background: var(--mocha-input);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 3px;
    color: var(--mocha-text)
}

.mocha-header__brand {
    color: var(--mocha-link)
}

.mocha-header__brand:hover {
    color: var(--mocha-link-hover);
    opacity: .9
}

.mocha-board-sidebar {
    background: var(--mocha-bg);
    border-right: 1px solid var(--mocha-border);
    color: var(--mocha-text);
    scrollbar-width: none;
    -ms-overflow-style: none
}

.mocha-board-sidebar::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0
}

.mocha-board-sidebar__heading {
    color: var(--mocha-muted)
}

.mocha-board-sidebar-toggle,.mocha-board-sidebar__section-title {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 4px;
    color: var(--mocha-link)
}

.mocha-board-sidebar-toggle:hover,.mocha-board-sidebar__section-title:hover {
    background: var(--mocha-panel);
    color: var(--mocha-link-hover)
}

.mocha-board-sidebar__link {
    border-radius: 4px;
    color: var(--mocha-text)
}

.mocha-board-sidebar__link:visited {
    color: var(--mocha-text)
}

.mocha-board-sidebar__link--active,.mocha-board-sidebar__link:hover {
    background: var(--mocha-surface);
    color: var(--mocha-link-hover)
}

.mocha-board-sidebar__uri {
    color: var(--mocha-link)
}

.intro a.post_no,.intro time,.mocha-board-sidebar__title,.mocha-scroll-nav,p.intro a.ip-link {
    color: var(--mocha-muted)
}

.mocha-scroll-nav {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border)
}

.mocha-scroll-nav:hover {
    background: var(--mocha-panel);
    color: var(--mocha-link-hover)
}

.mocha-banner-slot--loading {
    background: linear-gradient(90deg,var(--mocha-surface) 25%,var(--mocha-border) 50%,var(--mocha-surface) 75%);
    background-size: 200% 100%;
    animation: mocha-skeleton 1.4s ease infinite;
    border-radius: 2px;
    display: block;
    height: 90px;
    margin: 8px auto 2px;
    width: 250px;
    max-width: 100%
}

img.banner,img.board_image {
    background: var(--mocha-surface);
    border: 0;
    border-radius: 0;
    display: block;
    margin: 8px auto 2px;
    max-width: 100%
}

form {
    margin: 0 8px 18px
}

.mocha-post-toggle>summary {
    color: var(--mocha-link);
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 2;
    list-style: none;
    margin-bottom: 8px;
    padding: 4px 12px;
    user-select: none
}

.mocha-post-toggle>summary::-webkit-details-marker {
    display: none
}

.mocha-post-toggle[open]>summary {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    line-height: 1.6
}

.mocha-post-toggle form {
    margin-bottom: 0
}

form table {
    background: 0 0;
    border-collapse: separate;
    border-spacing: 0 3px;
    margin: auto;
    max-width: calc(100vw - 16px);
    width: 450px
}

form table tr th {
    background: 0 0;
    border: 0;
    color: var(--mocha-text);
    font-size: 13px;
    font-weight: 400;
    padding: 4px 8px 4px 0;
    text-align: left;
    white-space: nowrap;
    width: 58px
}

form table tr td {
    padding: 0
}

input[type=password],input[type=text],select,textarea {
    background: var(--mocha-input);
    border: 1px solid var(--mocha-border-solid);
    color: var(--mocha-text)
}

input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus {
    background: var(--mocha-surface);
    outline: 0
}

.button,button,input[type=submit] {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border-solid);
    color: var(--mocha-text)
}

.button:hover,button:hover,input[type=submit]:hover {
    filter: brightness(1.15)
}

.mocha-format-button {
    background: var(--mocha-toolbar-button);
    border: 0;
    color: var(--mocha-text)
}

.mocha-format-button:hover {
    background: var(--mocha-toolbar-button-hover)
}

.mocha-format-button--spoiler {
    background: var(--mocha-spoiler-bg);
    border: 1px solid var(--mocha-spoiler-border)
}

.mocha-check {
    color: var(--mocha-text)
}

.mocha-submit-row input[type=submit]:disabled {
    filter: grayscale(.35);
    opacity: .52
}

.mocha-file-picker {
    border: 2px dashed var(--mocha-border);
    width: min(320px,100%)
}

.mocha-file-name,.mocha-file-picker {
    color: var(--mocha-muted)
}

.mocha-cap-row cap-widget {
    --cap-background: var(--mocha-surface);
    --cap-border-color: var(--mocha-border-solid);
    --cap-checkbox-background: var(--mocha-cap-checkbox);
    --cap-checkbox-border: 1px solid var(--mocha-border-solid);
    --cap-checkbox-border-radius: 3px;
    --cap-color: var(--mocha-text);
    --cap-font: "Trebuchet MS", Arial, Helvetica, sans-serif;
    --cap-spinner-background-color: var(--mocha-cap-spinner-bg);
    --cap-spinner-color: var(--mocha-link);
    --cap-credits-display: none;
    --cap-border-radius: 3px;
    --cap-gap: 10px;
    --cap-widget-height: 44px;
    --cap-widget-padding: 9px 10px;
    --cap-widget-width: 220px;
    display: block;
    height: 44px!important;
    min-height: 44px!important;
    max-height: 44px!important
}

.mocha-cap-row cap-widget::part(attribution),cap-widget::part(attribution) {
    display: none!important;
    visibility: hidden!important;
    opacity: 0!important;
    pointer-events: none!important
}

.intro span.subject {
	margin-right: 6px;
    color: var(--mocha-title)
}

.intro span.name,span.trip {
    color: var(--mocha-muted)
}

span.quote {
    color: var(--mocha-postnum)
}

div.thread:after {
    border-top: 1px solid var(--mocha-border)
}

div.post.op {
    background: 0 0;
    border: 1px solid transparent;
    border-radius: 6px
}

div.post.reply {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 6px;
    color: var(--mocha-text)
}

div.post.reply:before {
    color: var(--mocha-icon)
}

.reply-tooltip {
    background: 0 0;
    color: var(--mocha-text);
    filter: drop-shadow(0 8px 12px rgba(0,0,0,.10))
}

.reply-tooltip .reply-tooltip__post {
    background: var(--mocha-surface)!important;
    border-color: var(--mocha-border)!important;
    color: var(--mocha-text)!important;
    box-sizing: border-box;
    display: block!important;
    margin: 0!important;
    max-width: 100%!important;
    width: 100%!important
}

.reply-tooltip .reply-tooltip__post .intro,.reply-tooltip .reply-tooltip__post .intro label {
    flex-wrap: nowrap!important;
    white-space: nowrap
}

div.post.reply.highlighted {
    background: var(--mocha-surface-highlight);
    border-color: var(--mocha-link)
}

div.post.mocha-flash {
    animation: mocha-flash-blink 1.2s ease-in-out 2
}


#quick-reply {
    background: var(--mocha-surface-highlight)!important;
    border: 1px solid rgba(76,96,116,.55)!important;
    box-shadow: 0 14px 32px var(--mocha-shadow)!important
}

#quick-reply table {
    background: 0 0!important;
    border: 0!important;
    border-collapse: collapse!important;
    box-sizing: border-box!important;
    max-width: none!important;
    overflow: hidden!important;
    width: 100%!important
}

#quick-reply th {
    background: var(--mocha-quick-header)!important;
    border: 0!important;
    border-bottom: 1px solid var(--mocha-border-solid)!important;
    font-size: 13px!important;
    font-weight: 700!important;
    letter-spacing: 0!important;
    line-height: 1.2!important;
    padding: 7px 10px!important;
    text-align: left!important
}

#quick-reply,#quick-reply th,#quick-reply th .close-btn {
    color: var(--mocha-text)!important
}

#quick-reply td {
    padding: 0!important
}

#quick-reply tr:not(:first-child) th {
    display: none!important
}

#quick-reply tr:not(:first-child) td {
    box-sizing: border-box!important;
    display: block!important;
    width: 100%!important
}

#quick-reply input[type=text],#quick-reply select,#quick-reply textarea {
    background: var(--mocha-input)!important;
    border: 0!important;
    border-top: 1px solid var(--mocha-border-solid)!important;
    color: var(--mocha-text)!important
}

#quick-reply .mocha-form-tools,#quick-reply .mocha-submit-row td {
    background: var(--mocha-quick-panel)!important;
    border-top: 1px solid var(--mocha-border-solid)!important
}

#quick-reply input[type=submit] {
    background: var(--mocha-surface)!important;
    border: 1px solid var(--mocha-border-solid)!important;
    color: var(--mocha-text)!important
}

#quick-reply input[type=submit]:hover {
    background: var(--mocha-panel)!important
}

#quick-reply .mocha-upload-row td {
    border-top: 1px solid var(--mocha-border-solid)!important
}

#quick-reply .mocha-cap-row cap-widget {
    --cap-widget-height: 38px;
    --cap-widget-padding: 7px 8px;
    --cap-widget-width: 210px;
    height: 38px!important;
    min-height: 38px!important;
    max-height: 38px!important
}

.intro {
    color: var(--mocha-muted);
    column-gap: 6px;
    line-height: 1;
    row-gap: 4px
}

.intro label>*,.intro>* {
    align-self: center;
    line-height: 1
}

.intro label {
    line-height: 1;
    margin: 0;
    padding: 0;
    align-items: center;
    display: inline-flex;
    flex-flow: row wrap;
    gap: 3px
}

.intro .mocha-watcher-star,.intro .thread-media-feed-link,.intro .thread-post-number {
    margin-left: 0;
    margin-right: 0
}

.intro .mocha-watcher-star,.intro .post-action-menu-button,.intro .thread-post-number {
    align-items: center;
    display: inline-flex;
    height: 20px;
    justify-content: center;
    line-height: 1;
    padding: 0 2px
}

.intro .thread-post-number {
    min-width: 14px
}

.intro a.post_no+a.post_no {
    margin-left: -6px
}

.intro a.capcode,.intro span.capcode {
    color: #d61b1b;
    font-weight: 700
}

.body span.spoiler,span.spoiler {
    background: var(--mocha-text, #111);
    border-radius: 2px;
    color: var(--mocha-text, #111);
    cursor: pointer;
    padding: 0 2px;
    transition: color .12s ease
}

.body span.spoiler.is-revealed,body.mocha-spoiler-hover .body span.spoiler:hover,body.mocha-spoiler-hover span.spoiler:hover,span.spoiler.is-revealed {
    color: var(--mocha-surface, #fff);
    cursor: text
}

.body span.spoiler a,span.spoiler a {
    color: inherit!important;
    pointer-events: none
}

.body span.spoiler.is-revealed a,body.mocha-spoiler-hover .body span.spoiler:hover a,body.mocha-spoiler-hover span.spoiler:hover a,span.spoiler.is-revealed a {
    color: var(--mocha-link, #d97922)!important;
    pointer-events: auto
}

div.post.reply div.body {
    overflow-wrap: anywhere
}

div.post div.body span.heading {
    color: inherit;
    font-size: 1.06em;
    font-weight: 700
}

div.post div.body code.code-inline,div.post div.body pre.code {
    background: var(--mocha-input);
    border: 1px solid var(--mocha-border);
    border-radius: 4px;
    color: var(--mocha-text);
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
    font-size: 13px;
    line-height: 1.45;
    tab-size: 4
}

div.post div.body code.code-inline {
    display: inline;
    padding: 1px 6px
}

.mocha-preview-btn {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 3px;
    color: var(--mocha-text);
    cursor: pointer;
    display: none;
    font: inherit;
    height: 44px;
    min-height: 44px;
    padding: 0 14px
}

.mocha-preview-btn:hover {
    filter: brightness(1.15);
    background: var(--mocha-panel);
    color: var(--mocha-link)
}

body.mocha-preview-enabled .mocha-preview-btn {
    display: inline-block
}

.mocha-settings-note {
    color: var(--mocha-muted);
    display: block;
    font-size: 11px;
    font-weight: 400;
    margin-top: 2px
}

#quick-reply .mocha-preview-btn,#quick-reply .mocha-preview-slot,.mocha-preview-slot__post::before {
    display: none!important
}

.mocha-preview-slot {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 3px;
    margin: 12px 0 0;
    overflow: hidden;
    text-align: left
}

.mocha-preview-slot__head {
    align-items: center;
    background: var(--mocha-panel);
    border-bottom: 1px solid var(--mocha-border);
    color: var(--mocha-muted);
    display: flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: space-between;
    padding: 6px 12px;
    text-transform: uppercase
}

.mocha-preview-slot__close {
    background: 0 0;
    border: 0;
    color: var(--mocha-muted);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0 4px
}

.mocha-preview-slot__post {
    background: 0 0!important;
    border: 0!important;
    box-shadow: none!important;
    margin: 0!important;
    padding: 6px 12px !important;
}

.mocha-preview-slot div.post.reply div.body {
    max-width: none
}

div.post div.body pre.code.hljs {
    padding: 12px 14px
}

html[data-mocha-theme=dark] div.post div.body pre.code.hljs {
    border-color: #30363d
}

html[data-mocha-theme=light] div.post div.body pre.code.hljs {
    border-color: #d0d7de
}

div.post p.fileinfo,p.fileinfo {
    color: var(--mocha-muted);
    width: max-content;
    max-width: 100%;
    font-size: .8em;
    line-height: 1.15;
    margin: 4px 0 0;
    padding: 0
}

.fileinfo-name a,.home-top__nav a:hover,.mocha-preview-slot__close:hover,.thread-expand-button:hover {
    color: var(--mocha-link)
}

span.omitted {
    color: var(--mocha-muted)
}

div.ban,div.pages {
    background: var(--mocha-surface);
    color: var(--mocha-text)
}

div.ban {
    border-color: var(--mocha-border)
}

div.pages {
    border: 1px solid var(--mocha-border)
}

div.pages a.selected {
    color: var(--mocha-text)
}

div.blotter {
    color: var(--mocha-muted)
}

div.blotter:empty {
    background: linear-gradient(90deg,var(--mocha-surface) 25%,var(--mocha-border) 50%,var(--mocha-surface) 75%);
    background-size: 200% 100%;
    animation: mocha-skeleton 1.4s ease infinite;
    border-radius: 2px;
    display: block;
    height: 14px;
    width: 160px;
    max-width: 60%;
    margin: 4px auto
}

#post-moderation-fields {
    font-size: .9em;
    margin: 0 8px
}

.unimportant,.unimportant * {
    color: var(--mocha-muted)
}

.home-top__nav a,footer p.unimportant {
    color: var(--mocha-muted);
    font-size: 11px
}

.theme-catalog header {
    margin-bottom: 12px
}

.theme-catalog div.thread,.theme-catalog div.thread.grid-li {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    color: var(--mocha-text)
}

.theme-catalog div.thread:hover {
    background: var(--mocha-surface-2);
    border-color: rgba(240,114,50,.45)
}

.theme-catalog div.thread strong {
    color: var(--mocha-muted);
    font-size: .9em;
    margin-bottom: 4px
}

.theme-catalog div.thread p.intro {
    font-size: .98em;
    margin-bottom: 3px
}

html[data-mocha-style=darkchan][data-mocha-theme=dark] {
    --mocha-text: #b9bec3;
    --mocha-muted: #5a6066;
    --mocha-link: #cdd1d5;
    --mocha-link-hover: #e6e9ec;
    --mocha-bg: #050608;
    --mocha-surface: #0d1013;
    --mocha-surface-highlight: #090b0e;
    --mocha-surface-2: #14181c;
    --mocha-border: rgba(255, 255, 255, 0.08);
    --mocha-border-solid: #1c2127;
    --mocha-input: #0a0d10;
    --mocha-logo: #b9bec3;
    --mocha-title: #d4d8dc;
    --mocha-postnum: #9aa0a6;
    --mocha-icon: #4a5159;
    --mocha-drag: #2b313a;
    --mocha-panel: #0d1013;
    --mocha-toolbar-button: #131820;
    --mocha-toolbar-button-hover: #1c2127;
    --mocha-spoiler-bg: #050608;
    --mocha-spoiler-border: #1c2127;
    --mocha-cap-checkbox: #131820;
    --mocha-cap-spinner-bg: #0d1013;
    --mocha-quick-header: #02040666;
    --mocha-quick-panel: #07090c;
    --mocha-shadow: rgba(0, 0, 0, 0.72);
    --mocha-toggle-fg: #b9bec3;
    --mocha-toggle-track: #1c2127;
    --mocha-toggle-bullet: #b9bec3
}

html[data-mocha-style=darkchan][data-mocha-theme=dark] body {
    font-family: ui-monospace,SFMono-Regular,"JetBrains Mono","Fira Code",Menlo,Consolas,"Liberation Mono",monospace;
    font-size: 14px;
    line-height: 1.35
}

html[data-mocha-style=darkchan][data-mocha-theme=dark] div.post.reply {
    margin: 0 0 4px 30px
}

html[data-mocha-style=darkchan][data-mocha-theme=dark] div.post.reply:before {
    left: -30px
}

html[data-mocha-style=pinkchan][data-mocha-theme=light] {
    --mocha-text: #4a1d2e;
    --mocha-muted: #8a5a72;
    --mocha-link: #c2185b;
    --mocha-link-hover: #8a0e3e;
    --mocha-bg: #fff0f5;
    --mocha-surface: #ffdce8;
    --mocha-surface-highlight: #ffe9f0;
    --mocha-surface-2: #fff5f8;
    --mocha-border: #f5c0d2;
    --mocha-border-solid: #f0aec4;
    --mocha-input: #fff5f8;
    --mocha-logo: #c2185b;
    --mocha-title: #8a0e3e;
    --mocha-postnum: #789922;
    --mocha-icon: #b08294;
    --mocha-drag: #f0aec4;
    --mocha-panel: #ffffff;
    --mocha-toolbar-button: #ffdce8;
    --mocha-toolbar-button-hover: #f5c0d2;
    --mocha-spoiler-bg: #d99bb3;
    --mocha-spoiler-border: #c98aa3;
    --mocha-cap-checkbox: #fff5f8;
    --mocha-cap-spinner-bg: #ffdce8;
    --mocha-quick-header: #ffdce8;
    --mocha-quick-panel: #fff5f8;
    --mocha-shadow: rgba(160, 50, 100, 0.18);
    --mocha-toggle-fg: #4a1d2e;
    --mocha-toggle-track: #f5c0d2;
    --mocha-toggle-bullet: #c2185b
}

html[data-mocha-style=burichan][data-mocha-theme=light] {
    --mocha-text: #000000;
    --mocha-muted: #707070;
    --mocha-link: #34345c;
    --mocha-link-hover: #d00;
    --mocha-bg: #eef2ff;
    --mocha-surface: #d6daf0;
    --mocha-surface-highlight: #e6ebff;
    --mocha-surface-2: #f0f3ff;
    --mocha-border: #b7c5d9;
    --mocha-border-solid: #a8b8d0;
    --mocha-input: #f0f3ff;
    --mocha-logo: #af0a0f;
    --mocha-title: #af0a0f;
    --mocha-postnum: #789922;
    --mocha-icon: #98a3bc;
    --mocha-drag: #b7c5d9;
    --mocha-panel: #ffffff;
    --mocha-toolbar-button: #d6daf0;
    --mocha-toolbar-button-hover: #b7c5d9;
    --mocha-spoiler-bg: #b7c5d9;
    --mocha-spoiler-border: #a8b8d0;
    --mocha-cap-checkbox: #f0f3ff;
    --mocha-cap-spinner-bg: #d6daf0;
    --mocha-quick-header: #98a3bc;
    --mocha-quick-panel: #d6daf0;
    --mocha-shadow: rgba(52, 52, 92, 0.18);
    --mocha-toggle-fg: #34345c;
    --mocha-toggle-track: #b7c5d9;
    --mocha-toggle-bullet: #af0a0f
}

html[data-mocha-style=tomorrow][data-mocha-theme=dark] {
    --mocha-text: #c5c8c6;
    --mocha-muted: #767977;
    --mocha-link: #b294bb;
    --mocha-link-hover: #d4b3dd;
    --mocha-bg: #1d1f21;
    --mocha-surface: #282a2e;
    --mocha-surface-highlight: #232527;
    --mocha-surface-2: #2d2f33;
    --mocha-border: rgba(197, 200, 198, 0.12);
    --mocha-border-solid: #373b41;
    --mocha-input: #282a2e;
    --mocha-logo: #81a2be;
    --mocha-title: #81a2be;
    --mocha-postnum: #b5bd68;
    --mocha-icon: #5f6364;
    --mocha-drag: #3c3f43;
    --mocha-panel: #282a2e;
    --mocha-toolbar-button: #373b41;
    --mocha-toolbar-button-hover: #4b5159;
    --mocha-spoiler-bg: #1d1f21;
    --mocha-spoiler-border: #373b41;
    --mocha-cap-checkbox: #373b41;
    --mocha-cap-spinner-bg: #282a2e;
    --mocha-quick-header: #1d1f21;
    --mocha-quick-panel: #282a2e;
    --mocha-shadow: rgba(0, 0, 0, 0.45);
    --mocha-toggle-fg: #b294bb;
    --mocha-toggle-track: #373b41;
    --mocha-toggle-bullet: #b294bb
}

html[data-mocha-style=gurochan][data-mocha-theme=dark] {
    --mocha-text: #d4c4c4;
    --mocha-muted: #806060;
    --mocha-link: #c83232;
    --mocha-link-hover: #e44a4a;
    --mocha-bg: #1a0808;
    --mocha-surface: #2a0e0e;
    --mocha-surface-highlight: #1f0b0b;
    --mocha-surface-2: #2f1212;
    --mocha-border: rgba(212, 196, 196, 0.12);
    --mocha-border-solid: #401818;
    --mocha-input: #1f0b0b;
    --mocha-logo: #c83232;
    --mocha-title: #8a2020;
    --mocha-postnum: #789922;
    --mocha-icon: #5a3838;
    --mocha-drag: #401818;
    --mocha-panel: #2a0e0e;
    --mocha-toolbar-button: #401818;
    --mocha-toolbar-button-hover: #5a2020;
    --mocha-spoiler-bg: #100404;
    --mocha-spoiler-border: #401818;
    --mocha-cap-checkbox: #401818;
    --mocha-cap-spinner-bg: #2a0e0e;
    --mocha-quick-header: #100404;
    --mocha-quick-panel: #1f0b0b;
    --mocha-shadow: rgba(0, 0, 0, 0.65);
    --mocha-toggle-fg: #c83232;
    --mocha-toggle-track: #401818;
    --mocha-toggle-bullet: #c83232
}

html[data-mocha-style=sepia][data-mocha-theme=light] {
    --mocha-text: #3c2e21;
    --mocha-muted: #7d6a55;
    --mocha-link: #8b4513;
    --mocha-link-hover: #5a2d0a;
    --mocha-bg: #f4ecd8;
    --mocha-surface: #e8dcc0;
    --mocha-surface-highlight: #efe5cc;
    --mocha-surface-2: #f0e6cf;
    --mocha-border: #d4c4a8;
    --mocha-border-solid: #c4b298;
    --mocha-input: #faf3e3;
    --mocha-logo: #8b4513;
    --mocha-title: #6b3410;
    --mocha-postnum: #6b8e23;
    --mocha-icon: #a89880;
    --mocha-drag: #c4b298;
    --mocha-panel: #faf3e3;
    --mocha-toolbar-button: #e8dcc0;
    --mocha-toolbar-button-hover: #d4c4a8;
    --mocha-spoiler-bg: #c4b298;
    --mocha-spoiler-border: #a89880;
    --mocha-cap-checkbox: #faf3e3;
    --mocha-cap-spinner-bg: #e8dcc0;
    --mocha-quick-header: #d4c4a8;
    --mocha-quick-panel: #e8dcc0;
    --mocha-shadow: rgba(60, 46, 33, 0.15);
    --mocha-toggle-fg: #3c2e21;
    --mocha-toggle-track: #d4c4a8;
    --mocha-toggle-bullet: #8b4513
}

html[data-mocha-style=skylight][data-mocha-theme=light] {
    --mocha-text: #1a1a1a;
    --mocha-muted: #6b6b6b;
    --mocha-link: #1a73e8;
    --mocha-link-hover: #0d47a1;
    --mocha-bg: #ffffff;
    --mocha-surface: #f5f5f5;
    --mocha-surface-highlight: #fafafa;
    --mocha-surface-2: #fbfbfb;
    --mocha-border: #e5e5e5;
    --mocha-border-solid: #d4d4d4;
    --mocha-input: #ffffff;
    --mocha-logo: #1a73e8;
    --mocha-title: #0d47a1;
    --mocha-postnum: #6b8e23;
    --mocha-icon: #999999;
    --mocha-drag: #d4d4d4;
    --mocha-panel: #ffffff;
    --mocha-toolbar-button: #f0f0f0;
    --mocha-toolbar-button-hover: #e0e0e0;
    --mocha-spoiler-bg: #1a1a1a;
    --mocha-spoiler-border: #2a2a2a;
    --mocha-cap-checkbox: #ffffff;
    --mocha-cap-spinner-bg: #f5f5f5;
    --mocha-quick-header: #f0f0f0;
    --mocha-quick-panel: #fafafa;
    --mocha-shadow: rgba(0, 0, 0, 0.08);
    --mocha-toggle-fg: #1a1a1a;
    --mocha-toggle-track: #ddd;
    --mocha-toggle-bullet: #1a73e8
}

.poster_id {
    font-weight: 600
}

body.mocha-home {
    background: var(--mocha-bg);
    color: var(--mocha-text);
    margin: 0
}

.home-top {
    align-items: center;
    border-bottom: 1px solid var(--mocha-border);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 14px 24px
}

.home-brand {
    align-items: center;
    color: var(--mocha-link);
    display: inline-flex;
    font-size: 22px;
    font-weight: 700;
    gap: 10px;
    text-decoration: none
}

.home-brand__logo {
    height: 28px;
    width: 28px
}

.home-top__nav {
    display: inline-flex;
    gap: 18px
}

.home-top__nav a {
    font-size: 14px;
    text-decoration: none
}

.home-main {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1080px
}

.home-hero {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0,1.6fr) minmax(0,1fr);
    margin: 32px 0 36px;
    width: 100%
}

.home-hero__title {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px
}

.home-hero__lead {
    color: var(--mocha-muted);
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 24px;
    max-width: 56ch
}

.home-hero__actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px
}

.home-cta {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 4px;
    color: var(--mocha-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 600;
    padding: 12px 22px;
    text-decoration: none;
    transition: background .15s,color .15s,border-color .15s
}

.home-cta:hover {
    background: var(--mocha-panel);
    color: var(--mocha-link)
}

.home-cta--primary {
    background: var(--mocha-link);
    border-color: var(--mocha-link);
    color: #fff
}

.home-cta--primary:focus,.home-cta--primary:hover {
    background: var(--mocha-link-hover);
    border-color: var(--mocha-link-hover);
    color: #fff
}

.home-hero__stats {
    align-content: start;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(2,1fr)
}

.home-stat {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 4px;
    padding: 8px 10px
}

.home-stat__num {
    color: var(--mocha-link);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1
}

.home-stat__label {
    color: var(--mocha-muted);
    font-size: 11px;
    margin-top: 2px;
    text-transform: uppercase;
    letter-spacing: .03em
}

.home-block {
    margin-bottom: 36px;
    width: 100%
}

.home-block__head {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px
}

.home-block__title {
    font-size: 22px;
    font-weight: 700;
    margin: 0
}

.home-block__more {
    color: var(--mocha-muted);
    font-size: 13px;
    text-decoration: none
}

.home-block__more:hover,.home-footer a:hover {
    color: var(--mocha-link)
}

.home-active {
    border: 1px solid var(--mocha-border);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0
}

.home-active__row+.home-active__row {
    border-top: 1px solid var(--mocha-border)
}

.home-active__link {
    align-items: center;
    color: inherit;
    display: flex;
    gap: 14px;
    padding: 12px 14px;
    text-decoration: none;
    transition: background .12s
}

.home-active__link:hover {
    background: var(--mocha-surface)
}

.home-active__thumb {
    background: var(--mocha-surface-2);
    border-radius: 4px;
    flex: 0 0 auto;
    height: 56px;
    object-fit: cover;
    width: 56px
}

.home-active__thumb--empty {
    align-items: center;
    color: var(--mocha-muted);
    display: inline-flex;
    font-size: 18px;
    justify-content: center
}

.home-active__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0
}

.home-active__meta {
    align-items: center;
    color: var(--mocha-muted);
    display: inline-flex;
    font-size: 12px;
    gap: 8px
}

.home-active__board {
    color: var(--mocha-link);
    font-weight: 700
}

.home-active__title {
    color: var(--mocha-link)!important;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.home-active__text {
    color: var(--mocha-muted)!important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px
}

.home-active__replies {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 999px;
    color: var(--mocha-muted);
    flex: 0 0 auto;
    font-size: 12px;
    min-width: 28px;
    padding: 4px 10px;
    text-align: center
}

.home-boards {
    display: flex;
    flex-direction: column;
    gap: 18px
}

.home-board-group__title {
    color: var(--mocha-muted);
    font-size: 12px;
    letter-spacing: .06em;
    margin: 0 0 6px;
    text-transform: uppercase
}

.home-board-group__items {
    border: 1px solid var(--mocha-border);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.home-board {
    align-items: baseline;
    background: 0 0;
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 70px minmax(0,1fr) auto;
    padding: 8px 14px;
    text-decoration: none;
    transition: background .12s
}

.home-board+.home-board {
    border-top: 1px solid var(--mocha-border)
}

.home-board:hover {
    background: var(--mocha-surface)
}

.home-board__head {
    align-items: baseline;
    display: inline-flex;
    gap: 6px
}

.home-board__uri {
    color: var(--mocha-link);
    font-weight: 700
}

.home-board__title {
    font-weight: 600
}

.home-board__sub {
    color: var(--mocha-muted);
    font-size: 13px;
    line-height: 1.3;
    margin-left: 8px
}

.home-board__count {
    color: var(--mocha-muted);
    font-size: 12px;
    white-space: nowrap
}

@media (max-width:540px) {
    .home-board {
        grid-template-columns: 60px minmax(0,1fr);
        row-gap: 2px
    }

    .home-board__count {
        grid-column: 2
    }

    .home-board__sub {
        grid-column: 1/-1;
        margin-left: 0
    }
}

.home-nsfw {
    color: #c44;
    font-size: 11px;
    font-weight: 700;
    margin-left: 4px;
    vertical-align: middle;
    white-space: nowrap
}

.home-news {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr))
}

.home-news__item {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 6px;
    color: var(--mocha-text);
    padding: 10px 14px;
    text-decoration: none
}

.home-news__item:hover,.mocha-attach-edit__actions button:hover,.mocha-attach-edit__exif button:hover,.mocha-attach-edit__foot button:hover {
    background: var(--mocha-panel);
    color: var(--mocha-link)
}

.home-footer {
    box-sizing: border-box;
    color: var(--mocha-muted);
    font-size: 13px;
    margin: 0 auto;
    max-width: 1080px
}

.home-footer__inner {
    align-items: center;
    border-top: 1px solid var(--mocha-border);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    padding: 18px 0 34px
}

.home-footer a {
    color: var(--mocha-muted);
    text-decoration: none
}

.home-footer__sep {
    opacity: .5
}

.home-footer__muted {
    text-align: center;
    opacity: .7
}

@media (max-width:760px) {
    .home-top {
        padding: 12px 16px
    }

    .home-hero__title {
        font-size: 28px
    }

    .home-hero__stats {
        grid-template-columns: repeat(1,1fr);
        max-width: 160px;
        width: 100%;
        margin-left: auto
    }
}

@media (max-width:520px) {
    .home-hero {
        grid-template-columns: 1fr
    }

    .home-hero__stats {
        grid-template-columns: repeat(2,1fr);
        max-width: 100%;
        margin-left: 0
    }
}

html.mocha-no-transition *,html.mocha-no-transition ::after,html.mocha-no-transition ::before {
    transition: none!important
}

.intro .op-marker,.mocha-op-tag {
    font-weight: 700;
    margin-left: 6px
}

.intro .op-marker,.mocha-op-tag,.op-marker {
    background: var(--mocha-link, #d97922)!important;
    border-radius: 3px;
    color: #fff!important;
    font-size: 10px;
    letter-spacing: .05em;
    padding: 1px 5px;
    text-transform: uppercase;
    vertical-align: middle
}

.mocha-backlinks,div.post .body,div.post .intro {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word
}

header div.subtitle {
    font-size: 13px
}

.mocha-header__menu,div.boardlist {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

div.boardlist {
    font-size: 13px;
    height: 30px;
    padding: 5px
}

body.mocha-dollchan-compat .mocha-header {
    z-index: 10
}

body.mocha-dollchan-compat .mocha-watcher,body.mocha-dollchan-compat .mocha-watcher-fab,body.mocha-dollchan-compat .mocha-watcher-star {
    display: none!important
}

body.mocha-dollchan-compat {
    overflow-x: hidden
}

.mocha-header__menu {
    align-items: center;
    display: flex;
    gap: 10px;
    height: 24px;
    justify-content: space-between;
    padding: 3px 6px
}

.mocha-header__action {
    flex: 0 0 auto;
    font-weight: 700
}

.mocha-header__actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 12px
}

.mocha-header__settings {
    font-weight: 700
}

.mocha-style-select,.mocha-theme-toggle {
    background: 0 0;
    box-sizing: border-box;
    cursor: pointer;
    vertical-align: middle
}

.mocha-style-select {
    border: 1px solid var(--mocha-border, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    color: inherit;
    font: inherit;
    font-size: 13px;
    height: 22px;
    max-width: 140px;
    padding: 1px 22px 1px 6px
}

.mocha-style-select[hidden] {
    display: none
}

.mocha-theme-toggle {
    align-items: center;
    border: 0;
    color: var(--mocha-toggle-fg);
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    height: 20px;
    margin: 0;
    padding: 0
}

.mocha-theme-toggle:active,.mocha-theme-toggle:focus,.mocha-theme-toggle:hover {
    background: 0 0;
    filter: none
}

.mocha-theme-toggle__icon {
    color: currentColor;
    display: block;
    height: 18px;
    pointer-events: none;
    width: 18px
}

.mocha-theme-toggle__switch {
    background: var(--mocha-toggle-track);
    border-radius: 999px;
    box-sizing: border-box;
    display: inline-block;
    height: 18px;
    padding: 3px;
    position: relative;
    width: 42px
}

.mocha-theme-toggle__bullet {
    background: var(--mocha-toggle-bullet);
    border-radius: 50%;
    display: block;
    height: 12px;
    transform: translateX(24px);
    transition: transform .18s ease;
    width: 12px
}

html[data-mocha-theme=light] .mocha-theme-toggle__bullet {
    transform: translateX(0)
}

.mocha-header__brand {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 8px 0 6px;
    text-align: center
}

.mocha-header__brand-image {
    display: block;
    height: 52px;
    width: auto
}

.mocha-board-sidebar,.mocha-board-sidebar-wrap {
    left: 0;
    position: fixed;
    z-index: 810
}

.mocha-board-sidebar {
    box-sizing: border-box;
    height: calc(100vh - var(--mocha-board-sidebar-top));
    overflow-y: auto;
    width: 244px;
    z-index: 800
}

.mocha-board-sidebar__inner {
    box-sizing: border-box;
    min-height: 100%;
    padding: 12px 12px 18px
}

.mocha-board-sidebar__header {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: space-between;
    margin: 0 0 10px
}

.mocha-board-sidebar__heading-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1
}

.mocha-board-sidebar__chevron {
    align-items: center;
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 4px;
    box-sizing: border-box;
    color: var(--mocha-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 26px;
    justify-content: center;
    padding: 0;
    transition: background .12s,color .12s;
    width: 28px
}

.mocha-board-sidebar__chevron:hover {
    background: var(--mocha-panel);
    color: var(--mocha-text)
}

.mocha-board-sidebar__chevron-icon {
    display: block;
    height: 12px;
    pointer-events: none;
    transition: transform .15s ease;
    width: 12px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__chevron-icon {
    transform: rotate(180deg)
}

.mocha-board-sidebar__heading {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 8px
}

.mocha-board-sidebar__section {
    margin: 0 0 8px
}

.mocha-board-sidebar__section-head {
    align-items: stretch;
    display: flex;
    gap: 6px
}

.mocha-board-sidebar__section-head .mocha-board-sidebar__section-title {
    flex: 1 1 auto;
    min-width: 0
}

.mocha-board-sidebar__section--first .mocha-board-sidebar-toggle {
    flex: 0 0 auto;
    height: auto;
    left: auto;
    position: static;
    top: auto;
    z-index: auto
}

.mocha-board-sidebar__section-title {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.2;
    margin: 0;
    padding: 3px 6px;
    text-align: left;
    text-transform: uppercase;
    width: 100%
}

.mocha-board-sidebar__section-title::before {
    background: currentColor;
    content: "";
    display: inline-block;
    height: 8px;
    margin-right: 6px;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>")no-repeat center/contain;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>")no-repeat center/contain;
    transition: transform .15s ease;
    vertical-align: middle;
    width: 8px
}

.mocha-board-sidebar__section-title[aria-expanded=false]::before {
    transform: rotate(-90deg)
}

.mocha-board-sidebar__list {
    list-style: none;
    margin: 8px 0 0;
    padding: 0
}

.home-board-group li,.mocha-board-sidebar__item {
    margin: 0
}

.mocha-board-sidebar__link {
    align-items: baseline;
    box-sizing: border-box;
    display: flex;
    font-size: 12px;
    gap: 5px;
    min-height: 19px;
    overflow: hidden;
    padding: 3px 6px;
    text-decoration: none
}

.mocha-board-sidebar__uri {
    flex: 0 0 auto;
    font-weight: 700
}

.mocha-board-sidebar__title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.mocha-board-sidebar-toggle {
    display: none
}

.mocha-board-content {
    box-sizing: border-box;
    max-width: 100%;
    transition: margin-left .16s ease
}

html:not(.mocha-board-sidebar-collapsed) body.active-catalog,html:not(.mocha-board-sidebar-collapsed) body.active-index,html:not(.mocha-board-sidebar-collapsed) body.active-thread,html:not(.mocha-board-sidebar-collapsed) body.active-ukko {
    padding-left: 0
}

html:not(.mocha-board-sidebar-collapsed) body.active-catalog .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-index .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-thread .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-ukko .mocha-board-content {
    margin-left: var(--mocha-sidebar-width, 244px)
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar,html.mocha-board-sidebar-collapsed .mocha-board-sidebar-wrap {
    width: 64px
}

html.mocha-board-sidebar-collapsed .mocha-board-content {
    margin-left: var(--mocha-sidebar-width, 64px)
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__inner {
    padding: 8px 4px 14px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__heading-text,html.mocha-board-sidebar-collapsed .mocha-board-sidebar__section-title,html.mocha-board-sidebar-collapsed .mocha-board-sidebar__title {
    display: none
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__header {
    justify-content: center;
    margin-bottom: 8px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__chevron {
    width: 100%
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__section+.mocha-board-sidebar__section {
    border-top: 1px solid var(--mocha-border);
    margin-top: 8px;
    padding-top: 8px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__link {
    align-items: center;
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border);
    border-radius: 4px;
    justify-content: center;
    line-height: 1;
    min-height: 26px;
    padding: 0 4px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__uri {
    flex: 0 0 auto;
    font-size: 0
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__uri::before {
    content: attr(data-uri);
    font-size: 13px;
    font-weight: 700
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__link--active {
    background: var(--mocha-surface-highlight);
    border-color: var(--mocha-link)
}

.ukko-board-header {
    display: block;
    margin-bottom: 8px
}

.ukko-board-header .ukkohide {
    display: inline;
    margin-left: 6px
}

.ukko-intro {
    margin: 0 0 16px;
    text-align: center
}

#quick-reply .mocha-subject-row,body.active-ukko .post-reply-link {
    display: none!important
}

.mocha-board-sidebar__list--pinned {
    list-style: none;
    margin: 0 0 10px;
    padding: 0
}

.mocha-board-sidebar__list--pinned .mocha-board-sidebar__link {
    padding-top: 3px;
    padding-bottom: 3px
}

html.mocha-board-sidebar-collapsed .mocha-board-sidebar__list--pinned {
    border-bottom: 1px solid var(--mocha-border);
    margin-bottom: 8px;
    padding-bottom: 8px
}

.mocha-scroll-nav {
    align-items: center;
    border-radius: 3px;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    height: 40px;
    justify-content: center;
    padding: 0;
    position: fixed;
    right: 20px;
    width: 40px;
    z-index: 999
}

.mocha-scroll-nav[hidden] {
    display: none
}

.mocha-scroll-nav--up {
    top: 40px
}

.mocha-scroll-nav--down {
    bottom: 20px
}

.mocha-scroll-nav__icon {
    border-left: 4px solid currentColor;
    border-top: 4px solid currentColor;
    display: block;
    height: 14px;
    width: 14px
}

.mocha-scroll-nav--up .mocha-scroll-nav__icon {
    transform: translateY(4px) rotate(45deg)
}

.mocha-scroll-nav--down .mocha-scroll-nav__icon {
    transform: translateY(-4px) rotate(225deg)
}

.mocha-post-toggle {
    margin: 0 auto 16px;
    text-align: center
}

.mocha-post-message {
    border-radius: 3px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 700;
    margin: 8px auto 0;
    max-width: calc(100vw - 16px);
    padding: 10px 12px;
    text-align: left;
    width: 450px
}

.mocha-post-form[data-post-kind=op] .mocha-op-option,.mocha-post-message[hidden] {
    display: none
}

.mocha-post-message--error {
    background: rgba(190,48,48,.14);
    border: 1px solid rgba(220,72,72,.7);
    color: #f08a8a
}

.mocha-post-message--success {
    background: rgba(72,150,92,.14);
    border: 1px solid rgba(72,150,92,.7);
    color: #8fd59d
}

.mocha-post-form--posting {
    cursor: progress
}

input[type=password],input[type=text],select,textarea {
    border-radius: 3px;
    padding: 4px
}

textarea {
    min-height: 112px
}

.button,button,input[type=submit] {
    border-radius: 3px;
    cursor: pointer;
    padding: 4px 8px
}

.mocha-post-form table {
    width: min(740px,calc(100vw - 16px))
}

.mocha-post-form .mocha-subject-row input[name=subject],.mocha-post-form textarea {
    box-sizing: border-box;
    width: 100%
}

.mocha-post-form .mocha-flag-row td,.mocha-upload-row td {
    text-align: left
}

.mocha-post-form .mocha-flag-row select {
    max-width: 100%;
    width: auto
}

.mocha-form-tools {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: space-between;
    padding: 4px 0 0
}

.mocha-form-options,.mocha-format-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px
}

.mocha-format-button {
    align-items: center;
    border-radius: 3px;
    box-sizing: border-box;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    height: 24px;
    justify-content: center;
    line-height: 1;
    min-width: 24px;
    padding: 0 6px;
    position: relative;
    z-index: 1
}

.mocha-format-button>* {
    pointer-events: none
}

.mocha-check {
    align-items: center;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 4px;
    white-space: nowrap
}

.mocha-submit-panel {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    padding-top: 0
}

.mocha-submit-captcha {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    min-width: 0
}

.mocha-submit-captcha:empty {
    display: none
}

.mocha-submit-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto
}

.mocha-submit-row input[type=submit] {
    height: 44px;
    min-height: 44px;
    padding: 0 14px
}

.mocha-submit-row input[type=submit]:disabled {
    cursor: not-allowed
}

.mocha-file-picker {
    align-items: center;
    border-radius: 3px;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: center;
    min-height: 38px;
    overflow: hidden;
    padding: 6px 14px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    width: auto
}

.mocha-file-picker input[type=file] {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.mocha-file-name {
    display: inline-block;
    font-size: 13px;
    margin-left: 8px;
    max-width: calc(100% - 220px);
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap
}

.mocha-file-picker--dragover {
    box-shadow: 0 0 0 2px var(--mocha-link, #d97922) inset
}

.mocha-attach-list {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    list-style: none;
    margin: 8px 0 0;
    padding: 0
}

.mocha-attach-list--empty {
    display: none
}

.mocha-attach-error {
    background: color-mix(in srgb, #d96b6b 18%, transparent);
    border: 1px solid color-mix(in srgb, #d96b6b 50%, transparent);
    border-radius: 4px;
    color: #e88a8a;
    font-size: 12px;
    margin: 8px 0 0;
    padding: 6px 10px;
    word-break: break-word
}

.mocha-attach-item {
    align-items: center;
    background: var(--mocha-surface, rgba(120, 136, 152, 0.12));
    border: 1px solid var(--mocha-border, rgba(120, 136, 152, 0.28));
    border-radius: 4px;
    display: flex;
    gap: 8px;
    max-width: 320px;
    padding: 4px 6px 4px 4px;
    position: relative
}

.mocha-attach-edit-btn {
    align-items: center;
    background: linear-gradient(to right,var(--mocha-surface) 0%,color-mix(in srgb,var(--mocha-surface) 90%,transparent) 70%,transparent 100%);
    border: 0;
    color: var(--mocha-text);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 600;
    gap: 6px;
    inset: 0 30px 0 0;
    justify-content: flex-start;
    opacity: 0;
    padding: 0 12px;
    pointer-events: none;
    position: absolute;
    transition: opacity .12s ease;
    z-index: 2
}

.mocha-attach-edit-btn__icon,.mocha-attach-edit-btn__label {
    pointer-events: none
}

.mocha-attach-edit-btn__icon {
    font-size: 16px;
    line-height: 1
}

.mocha-attach-edit-btn__label {
    font-size: 13px
}

.mocha-attach-edit-btn:focus-visible,.mocha-attach-item:hover .mocha-attach-edit-btn {
    opacity: 1;
    pointer-events: auto
}

.mocha-attach-edit-btn--mobile {
    display: none
}

@media (hover:none) {
    .mocha-attach-edit-btn:not(.mocha-attach-edit-btn--mobile) {
        display: none
    }

    .mocha-attach-edit-btn--mobile {
        align-items: center;
        background: var(--mocha-surface, rgba(120, 136, 152, 0.12));
        border: 1px solid var(--mocha-border-solid);
        border-radius: 4px;
        color: var(--mocha-text);
        cursor: pointer;
        display: flex;
        flex-basis: 100%;
        font: inherit;
        font-size: 13px;
        font-weight: 600;
        gap: 6px;
        justify-content: center;
        margin-top: 6px;
        opacity: 1;
        order: 99;
        padding: 6px 10px;
        pointer-events: auto;
        position: static;
        width: 100%
    }

    .mocha-attach-item {
        flex-wrap: wrap
    }

    .mocha-attach-remove {
        order: 1
    }
}

.mocha-attach-edit-btn:hover {
    color: var(--mocha-link);
    filter: none
}

.mocha-attach-edit {
    max-width: 560px
}

.mocha-attach-edit .mocha-attach-edit__body {
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-height: 70vh;
    overflow-y: auto
}

.mocha-attach-edit__actions {
    margin-top: -14px
}

.mocha-attach-edit__exif {
    border-top: 1px solid var(--mocha-border);
    padding-top: 14px
}

.mocha-attach-edit__field {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.mocha-attach-edit__field span {
    color: var(--mocha-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em
}

.mocha-attach-edit__field input {
    background: var(--mocha-input);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 4px;
    color: var(--mocha-text);
    font: inherit;
    padding: 8px 10px
}

.mocha-attach-edit__actions button,.mocha-attach-edit__exif button,.mocha-attach-edit__foot button {
    background: var(--mocha-surface);
    border: 1px solid var(--mocha-border-solid);
    border-radius: 4px;
    color: var(--mocha-text);
    cursor: pointer;
    font: inherit;
    padding: 6px 12px
}

.mocha-attach-edit__exif-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px
}

.mocha-attach-edit__exif-list {
    background: var(--mocha-input);
    border: 1px solid var(--mocha-border);
    border-radius: 4px;
    font-size: 12px;
    max-height: 280px;
    overflow-y: auto;
    padding: 10px 12px
}

.mocha-attach-edit__exif-list dl {
    display: grid;
    gap: 4px 12px;
    grid-template-columns: minmax(120px,auto) 1fr;
    margin: 0
}

.mocha-attach-edit__exif-list dt {
    color: var(--mocha-muted);
    font-weight: 600
}

.mocha-attach-edit__exif-list dd {
    margin: 0;
    overflow-wrap: anywhere
}

.mocha-attach-edit__foot {
    border-top: 1px solid var(--mocha-border);
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin: 8px -16px -16px;
    padding: 12px 16px
}

.mocha-attach-edit__save {
    background: var(--mocha-link)!important;
    border-color: var(--mocha-link)!important;
    color: #fff!important
}

.mocha-attach-edit__save:hover {
    background: var(--mocha-link-hover)!important;
    border-color: var(--mocha-link-hover)!important
}

.mocha-attach-thumb {
    align-items: center;
    background-color: var(--mocha-bg, rgba(0, 0, 0, 0.15));
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 3px;
    color: var(--mocha-muted);
    display: flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    height: 44px;
    justify-content: center;
    overflow: hidden;
    width: 44px
}

.mocha-attach-thumb--video video {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.mocha-attach-thumb--audio {
    font-size: 22px
}

.mocha-attach-meta {
    display: flex;
    flex-direction: column;
    min-width: 0
}

.mocha-attach-name {
    font-size: 12px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.mocha-attach-remove,.mocha-attach-size {
    color: var(--mocha-muted);
    font-size: 11px
}

.mocha-attach-remove {
    background: 0 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    height: 22px;
    line-height: 1;
    margin-left: auto;
    padding: 0;
    width: 22px
}

.mocha-attach-remove:hover {
    background: rgba(216,70,70,.15);
    color: #d84646
}

.mocha-settings-window {
    background: var(--mocha-surface, #282832);
    border: 1px solid var(--mocha-border, rgba(120, 136, 152, 0.28));
    border-radius: 6px;
    box-shadow: 0 12px 12px rgba(0,0,0,.05);
    box-sizing: border-box;
    color: var(--mocha-text, inherit);
    display: flex;
    flex-direction: column;
    left: auto;
    max-width: calc(100vw - 24px);
    min-width: 280px;
    overflow: hidden;
    position: fixed;
    right: 24px;
    top: 84px;
    width: 340px;
    z-index: 1200
}

.mocha-settings-window__head {
    align-items: center;
    background: var(--mocha-quick-header, rgba(0, 0, 0, 0.45));
    border-bottom: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    box-sizing: border-box;
    cursor: move;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    justify-content: space-between;
    letter-spacing: 0;
    line-height: 1.2;
    min-height: 18px;
    padding: 7px 10px;
    user-select: none
}

.mocha-settings-window[hidden],.mocha-settings-window__drag {
    display: none
}

.mocha-settings-window__head strong {
    flex: 1 1 auto;
    font-weight: 700
}

.mocha-settings-window__close {
    align-items: center;
    background: 0 0;
    border: 0;
    color: var(--mocha-text);
    display: inline-flex;
    font-size: 18px;
    font-weight: 800;
    height: 18px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 2px 0;
    width: 18px
}

.mocha-settings-window__body {
    display: grid;
    gap: 10px;
    padding: 12px
}

.mocha-settings-row {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px
}

.mocha-settings-row input[type=checkbox] {
    flex: 0 0 auto
}

.mocha-settings-row--range {
    align-items: flex-start;
    flex-direction: column
}

.mocha-settings-row input[type=range] {
    width: 100%
}

div.thread {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex-flow: column wrap;
    margin: 0;
    max-width: 100%
}

div.thread:after {
    clear: both;
    content: "";
    display: block;
    margin: 8px 0;
    width: 100%
}

div.post {
    max-width: 1160px;
    word-break: break-word;
    word-wrap: break-word
}

div.post.op,div.post.reply {
    margin: 0 20px 6px 4px;
    padding: 6px 12px 12px;
}

div.post.op {
	padding: 0 12px;
}

div.post.reply {
    box-shadow: none;
    box-sizing: border-box;
    display: block;
    margin: 0 0 4px 20px;
    overflow: visible;
    position: relative;
    width: fit-content;

}

div.post.op.mocha-own-post,div.post.reply.mocha-own-post {
    border-left: 1.5px dashed var(--mocha-link, #5f8d60)
}

div.post.op.post-single-file {
    box-sizing: border-box;
    column-gap: 12px;
    display: grid;
    grid-template-columns: minmax(0,max-content) minmax(0,1fr);
    min-width: 0
}

div.post.op.post-multiple-files>.files,div.post.op>.files.multifile,div.post.reply.post-multiple-files>.files,div.post.reply>.files.multifile {
    display: flex;
    flex-flow: row wrap;
    float: none;
    gap: 16px;
    max-width: 100%
}

div.post.op.post-multiple-files .file,div.post.op>.files.multifile .file,div.post.reply.post-multiple-files .file,div.post.reply>.files.multifile .file {
    float: none;
    flex: 0 0 auto;
    margin: 0;
    width: max-content !important
}

div.post.op.post-multiple-files .fileinfo,div.post.reply.post-multiple-files .fileinfo {
    font-size: .8em;
    max-width: 220px;
    overflow: hidden;
    width: 100%
}

div.post.reply.post-single-file {
    box-sizing: border-box;
    column-gap: 10px;
    display: inline-grid;
    grid-template-columns: max-content minmax(16ch,max-content);
    min-width: 0;
    width: fit-content
}

div.post.post-single-file>.intro {
    grid-column: 1/-1;
    min-width: 0;
    max-width: 100%
}

div.post.post-single-file>.files.single-file {
    display: contents;
    grid-column: 1;
    grid-row: 2;
    min-width: 0
}

div.post.post-single-file>.files.single-file>.file.single-file {
    display: contents
}

div.post.post-single-file>.files.single-file>.file.single-file>p.fileinfo {
    grid-column: 1;
    grid-row: 2;
    max-width: 255px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

div.post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap,div.post.post-single-file>.files.single-file>.file.single-file>a {
    grid-column: 1;
    grid-row: 3;
    height: fit-content;
    width: fit-content
}

div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover)) {
    display: flex;
    flex-direction: column
}

div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover))>.files.single-file,div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover))>.files.single-file>.file.single-file {
    display: block
}

div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover))>div.body.has-single-file {
    max-width: 100%;
    padding: 8px 6px 4px
}

div.post.post-single-file>div.body.has-single-file {
    align-self: start;
    grid-column: 2;
    grid-row: 3
}

div.post.post-single-file>span.omitted {
    grid-column: 1/-1;
    grid-row: 4;
    min-width: 0;
    max-width: 100%;
    overflow: hidden
}

div.post.reply:before {
    content: "...";
    left: -21px;
    position: absolute;
    top: -6px
}

.intro {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    font-size: .9em;
	margin: 0 0 8px;
    padding: 0
}

.intro span.subject {
    font-size: 1.1em;
    font-weight: 700
}

.intro span.name,span.trip {
    font-weight: 700
}

.op-marker {
    color: var(--mocha-link, inherit);
    font-weight: 800;
    margin-left: 3px;
    white-space: nowrap
}

.thread-post-number {
    color: #5f8d60;
    font-weight: 700;
    margin-left: 6px;
    white-space: nowrap
}

.post-action-wrap {
    display: inline-flex;
    margin-left: auto;
    position: relative;
    vertical-align: middle
}

div.post.op .post-action-wrap {
    margin-left: 4px
}

.post-action-menu button,.post-action-menu-button {
    background: 0 0;
    border: 0;
    border-radius: 3px;
    font: inherit;
    margin: 0
}

.post-action-menu-button {
    align-items: center;
    color: var(--mocha-muted, inherit);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    height: 20px;
    justify-content: center;
    line-height: 1;
    min-width: 20px;
    padding: 0 4px
}

.post-action-menu-button:hover,.post-action-menu-button[aria-expanded=true] {
    background: var(--mocha-surface, rgba(127, 127, 127, 0.12));
    color: var(--mocha-link, inherit)
}

.post-action-menu {
    background: var(--mocha-surface, #f0f0f0);
    border: 1px solid var(--mocha-border, #999);
    border-radius: 3px;
    box-shadow: 0 8px 18px rgba(0,0,0,.22);
    box-sizing: border-box;
    display: grid;
    min-width: 130px;
    padding: 4px;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1100
}

.reply-tooltip .post-action-menu {
    left: auto;
    right: 0;
    transform: translateX(0)
}

.reply-tooltip .post-action-wrap {
    position: relative
}

.reply-tooltip .omitted,.reply-tooltip .thread-expand-button,body.is-not-moderator input.delete {
    display: none
}

.post-action-menu button {
    color: inherit;
    font-weight: 700;
    line-height: 1.2;
    padding: 7px 9px;
    text-align: left;
    white-space: nowrap
}

.post-action-menu button:hover {
    background: var(--mocha-surface-highlight, rgba(127, 127, 127, 0.16));
    color: var(--mocha-link, inherit)
}

input.delete {
    margin: 1px 6px 0 0
}

div.post div.body {
    box-sizing: border-box;
    max-height: 600px;
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word
}

body.active-thread div.post div.body,div.post div.body.body--expanded {
    max-height: none;
    overflow: visible
}

.mocha-backlinks {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    font-size: .85em;
    gap: 4px 6px;
    opacity: .9;
    padding: 0 16px 8px
}

div.body>.mocha-backlinks {
    margin-top: 6px;
    padding: 0
}

.mocha-backlinks a {
    color: var(--mocha-link, #d97922);
    text-decoration: none
}

.mocha-board-sidebar__nsfw {
    color: #c44;
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-left: 4px;
    vertical-align: middle
}

html.mocha-age-blocked,html.mocha-age-blocked body {
    overflow: hidden
}

.mocha-age-overlay {
    align-items: center;
    background: rgba(0,0,0,.82);
    display: flex;
    inset: 0;
    justify-content: center;
    position: fixed;
    z-index: 9999
}

.mocha-age-modal {
    background: var(--mocha-surface, #1f1f26);
    border: 1px solid var(--mocha-border, #333);
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.5);
    box-sizing: border-box;
    color: var(--mocha-text, #e7e7e7);
    max-width: 480px;
    padding: 24px;
    width: calc(100% - 24px)
}

.mocha-age-modal__title {
    color: var(--mocha-link, #d97922);
    font-size: 1.4em;
    font-weight: 700;
    margin-bottom: 12px;
    text-align: center
}

.mocha-age-modal__text {
    font-size: .95em;
    line-height: 1.45;
    margin: 0 0 18px;
    text-align: center
}

.mocha-age-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center
}

.mocha-age-modal__btn {
    background: var(--mocha-bg, #14141a);
    border: 1px solid var(--mocha-border, #333);
    border-radius: 4px;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 8px 18px
}

.mocha-age-modal__btn--ok {
    background: var(--mocha-link, #d97922);
    border-color: var(--mocha-link, #d97922);
    color: #fff
}

.mocha-age-modal__btn--ok:hover {
    background: var(--mocha-link-hover, #c46a1a)
}

.mocha-404 {
    align-items: center;
    background: var(--mocha-bg, #14141a);
    color: var(--mocha-text, #e7e7e7);
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 24px;
    text-align: center
}

.mocha-404__inner {
    max-width: 420px
}

.mocha-404__code {
    color: var(--mocha-link, #d97922);
    font-size: 5rem;
    font-weight: 800;
    line-height: 1
}

.mocha-404__msg {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 8px 0 16px
}

.mocha-404__hint {
    color: var(--mocha-muted, #888);
    font-size: .95em;
    margin: 0 0 18px
}

.mocha-404__home {
    color: var(--mocha-link, #d97922);
    font-weight: 700;
    text-decoration: none
}

.mocha-404__home:hover {
    text-decoration: underline
}

.mocha-banner-slot {
    display: flex;
    justify-content: center;
    margin: 12px 0;
    min-height: 0
}

.mocha-banner-slot:empty {
    display: none
}

.mocha-banner {
    display: inline-block;
    line-height: 0
}

.mocha-banner__img {
    border-radius: 3px;
    display: block;
    max-height: 90px;
    max-width: 250px
}

.mocha-infinite-indicator {
    color: var(--mocha-muted, #999);
    font-size: .9em;
    padding: 12px;
    text-align: center
}

.thread-interactions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px;
    padding: 0
}

.thread-interactions__btn {
    background: var(--mocha-surface, #2a2a34);
    border: 1px solid var(--mocha-border, transparent);
    border-radius: 4px;
    color: var(--mocha-link, #d97922);
    cursor: pointer;
    display: inline-flex;
    font-size: .9em;
    font-weight: 600;
    padding: 6px 14px;
    text-decoration: none;
    transition: background .12s ease
}

.thread-interactions__btn:hover {
    background: var(--mocha-surface-hover, var(--mocha-border, #3a3a44));
    color: var(--mocha-link-hover, var(--mocha-link, #d97922));
    text-decoration: none
}

.thread-interactions__btn--primary {
    background: var(--mocha-link, #d97922);
    color: #fff
}

.thread-interactions__btn--primary:hover {
    background: var(--mocha-link-hover, #c46a1a);
    color: #fff
}

.thread-interactions__report {
    margin-left: auto
}

.thread-interactions__report form {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    margin: 0
}

.thread-interactions__report input[type=submit],.thread-interactions__report input[type=text] {
    background: var(--mocha-surface, #2a2a34);
    border: 1px solid var(--mocha-border, #3a3a44);
    border-radius: 3px;
    color: var(--mocha-text, inherit);
    padding: 5px 8px
}

.thread-interactions__report input[type=submit] {
    cursor: pointer;
    font-size: .85em;
    padding: 5px 10px
}

.thread-interactions__report input[type=submit]:hover {
    background: var(--mocha-surface-hover, var(--mocha-border, #3a3a44))
}

.mocha-backlinks a:hover {
    color: var(--mocha-link-hover, var(--mocha-link, #d97922));
    text-decoration: underline
}

div.post.op div.body {
    max-height: none;
    padding: 16px 36px
}

div.post.reply div.body {
    margin: 0;
}

div.post div.body.has-single-file {
    min-width: 0;
    overflow: visible;
    padding: 0 12px 12px 0!important
}

div.post.reply div.body.has-single-file {
    min-width: 16ch
}

div.post div.body.has-multiple-files {
    clear: both
}

div.post div.body span.aa {
    display: block;
    font-family: "Courier New",Courier,"Liberation Mono",monospace;
    font-feature-settings: "liga"0,"calt"0;
    font-size: 13px;
    font-variant-ligatures: none;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.05;
    white-space: pre
}

div.post div.body pre.code {
    box-sizing: border-box;
    margin: 4px 0;
    max-width: 100%;
    overflow: auto;
    padding: 8px;
    white-space: pre
}

.reply-tooltip {
    box-sizing: border-box;
    display: inline-block;
    max-width: min(640px,calc(100vw - 16px));
    opacity: 0;
    overflow: visible;
    padding: 0;
    position: fixed;
    transform: translateY(-2px);
    transition: opacity .12s ease-out,transform .12s ease-out;
    width: max-content;
    z-index: 1200
}

.reply-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.reply-tooltip.is-leaving {
    opacity: 0;
    transform: translateY(-2px);
    pointer-events: none
}

.reply-tooltip__post .files.multifile,.reply-tooltip__post.post-multiple-files>.files {
    display: flex!important;
    flex-flow: row wrap!important;
    float: none!important;
    gap: 8px!important;
    max-width: 100%!important;
    padding: 4px 0!important
}

.reply-tooltip__post .file.multifile,.reply-tooltip__post.post-multiple-files .file {
    float: none!important;
    margin: 0!important;
    max-width: none!important;
    padding: 0!important;
    width: auto!important
}

.mocha-spell-highlight {
    background: var(--mocha-surface-highlight)!important;
    border-color: var(--mocha-link)!important
}

.mocha-autorefresh {
    align-items: center;
    color: color-mix(in srgb,var(--mocha-text, #ccc) 75%,transparent);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 10px;
    margin: 12px 12px 0
}

.mocha-autorefresh__toggle {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-weight: 600;
    gap: 6px
}

.mocha-autorefresh__status {
    color: color-mix(in srgb,var(--mocha-text, #ccc) 55%,transparent);
    font-variant-numeric: tabular-nums
}

button.thread-interactions__btn.mocha-autorefresh__refresh {
    color: var(--mocha-link, #d97922);
    font: inherit;
    font-size: .9em;
    font-weight: 600;
    padding: 6px 14px
}

button.thread-interactions__btn.mocha-autorefresh__refresh:hover {
    color: var(--mocha-link-hover, var(--mocha-link, #d97922));
    filter: none
}

.reply-tooltip__img-wrap {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.2)) 80%,transparent);
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    vertical-align: top
}

.reply-tooltip__img-wrap>.post-image {
    display: block;
    height: 100%!important;
    max-height: 100%!important;
    max-width: 100%!important;
    width: 100%!important
}

.reply-tooltip__spinner {
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%)
}

.reply-tooltip__spinner-ring {
    animation: mocha-mv-spin .8s linear infinite;
    border: 3px solid rgba(255,255,255,.18);
    border-radius: 50%;
    border-top-color: var(--mocha-link, #d97922);
    display: block;
    height: 28px;
    width: 28px
}

.reply-tooltip--note .reply-tooltip__note {
    background: color-mix(in srgb,var(--mocha-surface, rgba(40, 40, 50, 0.9)) 95%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.35));
    border-radius: 4px;
    color: var(--mocha-text);
    font-size: 12px;
    padding: 8px 12px;
    white-space: nowrap
}

.reply-tooltip__post .post-image,.reply-tooltip__post img.post-image,.reply-tooltip__post video.post-image {
    max-height: 140px!important;
    max-width: 140px!important;
    height: auto!important;
    object-fit: contain;
    width: auto!important
}

.reply-tooltip__post.post-single-file {
    grid-template-columns: max-content minmax(0,1fr)!important;
    display: grid!important;
    width: max-content!important
}

.reply-tooltip__post.post-single-file>.files.single-file>.file.single-file>a {
    max-width: 140px!important;
    width: fit-content!important
}

.reply-tooltip__post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap--with-cover {
    grid-column: 1!important;
    grid-row: 3!important;
    margin-top: 6px
}

.reply-tooltip__post.post-single-file:has(>.files.single-file>.file.single-file>.post-audio-wrap--with-cover)>.body {
    grid-column: 2!important;
    grid-row: 3!important;
    align-self: start
}

.reply-tooltip__post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap:not(.post-audio-wrap--with-cover) {
    grid-column: 1/-1!important;
    grid-row: 3!important;
    margin-top: 6px
}

.reply-tooltip__post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap:not(.post-audio-wrap--with-cover) {
    max-width: 100%!important
}

.reply-tooltip__post.post-single-file:has(>.files.single-file>.file.single-file>.post-audio-wrap:not(.post-audio-wrap--with-cover))>.body {
    grid-column: 1/-1!important
}

.reply-tooltip__post.post-multiple-files .fileinfo {
    max-width: 140px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.reply-tooltip__post.post-single-file>.files.single-file>.file.single-file>p.fileinfo {
    grid-column: 1/-1!important;
    max-width: 100%!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.reply-tooltip__post {
    background: color-mix(in srgb,var(--mocha-panel, var(--mocha-surface, #2a2a34)) 95%,transparent)!important;
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.35))!important;
    border-radius: 6px!important;
    box-shadow: 0 4px 12px rgba(0,0,0,.10);
    box-sizing: border-box;
    display: block!important;
    margin: 0!important;
    min-width: 0!important;
    overflow: visible!important;
    padding: 6px 10px!important;
    width: max-content!important
}

.reply-tooltip__post>.intro {
    box-sizing: border-box;
    flex-wrap: wrap;
    max-width: 100%;
    width: 100%
}

.home-news__item small,.mocha-spells__toggle input[type=checkbox],.reply-tooltip__post>.intro .post-action-wrap {
    flex: 0 0 auto
}

.reply-tooltip__post div.body {
    max-height: 360px;
    overflow: auto!important;
    padding: 4px 0!important
}

.reply-tooltip .reply-tooltip__post.reply:before,.reply-tooltip .reply-tooltip__post:before,.reply-tooltip__post.reply:before {
    content: none!important;
    display: none!important
}

.file:not(.multifile) {
    float: left;
    margin: 0;
}

div.post.post-single-file .file:not(.multifile) {
    float: none;
    padding: 0
}

.file:not(.multifile) .post-image,.post-image {
    border: 0;
    float: none;
    margin: 0;
    padding: 0
}

.post-image--video {
    border: 1px dashed #8f949b!important;
    box-sizing: border-box
}

.fileinfo-details,.fileinfo-name {
    display: block;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    text-overflow: ellipsis;
    white-space: nowrap
}

.fileinfo-name a,div.pages a.selected {
    font-weight: 700
}

.post-audio-wrap {
    display: block
}

.post-audio,.post-audio-download {
    display: none
}

.post-audio.post-audio--nojs {
    display: block;
    height: 36px;
    max-width: 100%;
    width: min(420px,calc(100vw - 32px))
}

.post-audio-wrap {
    --plyr-color-main: var(--mocha-link, #d97922);
    --plyr-audio-control-color: var(--mocha-text, #ddd);
    --plyr-audio-control-color-hover: #fff;
    --plyr-audio-control-background-hover: var(--mocha-link, #d97922);
    --plyr-audio-controls-background: transparent;
    --plyr-audio-progress-buffered-background: color-mix(
    in srgb,
    var(--mocha-text, #ddd) 18%,
    transparent
  );
    --plyr-range-fill-background: var(--mocha-link, #d97922);
    --plyr-range-track-height: 3px;
    --plyr-range-thumb-background: var(--mocha-link, #d97922);
    --plyr-range-thumb-height: 10px;
    --plyr-control-icon-size: 14px;
    --plyr-control-spacing: 10px;
    --plyr-font-size-base: 12px;
    --plyr-font-size-small: 11px;
    --plyr-tab-focus-color: var(--mocha-link, #d97922);
    background: 0 0;
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 10px;
    box-sizing: border-box;
    max-width: min(360px,100%);
    padding: 4px;
    margin: 0 0 4px;
}

div.post.post-multiple-files .post-audio-wrap:not(.post-audio-wrap--with-cover),div.post>.files.multifile .post-audio-wrap:not(.post-audio-wrap--with-cover) {
    max-width: 100%;
    width: 100%
}

div.post.post-multiple-files .post-audio-wrap--with-cover,div.post>.files.multifile .post-audio-wrap--with-cover {
    max-width: 240px;
    width: 240px
}

.post-audio-wrap:not(.post-audio-wrap--with-cover) .plyr {
    margin: 0
}

.post-audio-body .plyr {
    min-width: 0 !important;
}

.post-audio-wrap .plyr {
    border-radius: 6px;
    margin: 4px 0
}

.post-audio-wrap .plyr--audio .plyr__controls {
    padding: 4px 8px
}

.post-audio-cover {
    border-radius: 6px;
    display: block;
    flex: 0 0 auto;
    height: 96px;
    object-fit: cover;
    width: 96px
}

.post-audio-wrap--with-cover {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: min(240px,calc(100vw - 32px));
    padding: 8px
}

.post-audio-wrap--with-cover .post-audio-cover {
    aspect-ratio: 1/1;
    border-radius: 4px;
    height: auto;
    max-width: 100%;
    width: 100%
}

.post-audio-wrap--with-cover .post-audio-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0
}

.post-audio-wrap--with-cover .post-audio-download {
    font-size: 13px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.post-audio-wrap--with-cover .plyr {
    background: 0 0;
    border-radius: 6px;
    margin: 0
}

.post-audio-wrap--with-cover .plyr--audio .plyr__controls {
    background: 0 0;
    padding: 2px 0 0
}

.mocha-volume-popover {
    display: inline-flex;
    position: relative;
    z-index: 10
}

.mocha-volume-popover::before {
    bottom: 100%;
    content: "";
    height: 16px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 60px;
    z-index: 11
}

.mocha-volume-popover__panel {
    background: color-mix(in srgb,var(--mocha-surface, #2a2a34) 95%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.35));
    border-radius: 8px;
    bottom: calc(100% + 6px);
    box-shadow: 0 6px 16px rgba(0,0,0,.35);
    display: flex;
    justify-content: center;
    left: 50%;
    opacity: 0;
    padding: 8px 3px;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    transition: opacity .12s ease;
    z-index: 12
}

.mocha-volume-popover__panel::after {
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    right: 0;
    top: 100%
}

.mocha-volume-popover:hover .mocha-volume-popover__panel,.mocha-volume-popover__panel:focus-within {
    opacity: 1;
    pointer-events: auto
}

.mocha-volume-popover__slider {
    -webkit-appearance: none;
    appearance: none;
    background: 0 0;
    cursor: pointer;
    direction: rtl;
    height: 110px!important;
    margin: 0!important;
    max-width: 22px!important;
    min-width: 0!important;
    width: 22px!important;
    writing-mode: vertical-lr
}

.mocha-volume-popover__slider {
    --mocha-volume-fill: 100%
}

.mocha-volume-popover__panel {
    position: absolute
}

.mocha-volume-popover__track {
    background: color-mix(in srgb, var(--mocha-text, #ddd) 22%, transparent);
    border-radius: 999px;
    bottom: 8px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 8px;
    transform: translateX(-50%);
    width: 4px;
    z-index: 0
}

.mocha-volume-popover__track-fill {
    background: var(--mocha-link, #d97922);
    border-radius: 999px;
    bottom: 0;
    height: var(--mocha-volume-fill);
    left: 0;
    position: absolute;
    right: 0
}

.mocha-volume-popover__slider {
    position: relative;
    z-index: 1
}

.mocha-volume-popover__slider::-webkit-slider-runnable-track {
    background: transparent;
    border-radius: 999px;
    height: 100%;
    width: 4px
}

.mocha-volume-popover__slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background: var(--mocha-link, #d97922);
    border: 0;
    border-radius: 50%;
    height: 14px;
    margin-left: -5px;
    width: 14px
}

.mocha-volume-popover__slider::-moz-range-track {
    background: transparent;
    border-radius: 999px;
    height: 100%;
    width: 4px
}

.mocha-volume-popover__slider::-moz-range-thumb {
    background: var(--mocha-link, #d97922);
    border: 0;
    border-radius: 50%;
    height: 14px;
    width: 14px
}

.post-audio-wrap .plyr__progress input[type=range],.post-audio-wrap .plyr__volume input[type=range] {
    --plyr-range-thumb-height: 14px
}

span.omitted,span.toolong {
    display: block;
    font-size: .9em
}

span.omitted {
    clear: both;
    margin: 8px 0 0 32px
}

.thread-omitted {
    align-items: center;
    display: flex;
    gap: 5px
}

.thread-expand-button {
    align-items: center;
    background: 0 0;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    gap: 6px;
    height: auto;
    justify-content: center;
    line-height: 1;
    margin: 0;
    min-width: 18px;
    padding: 0;
    vertical-align: middle
}

.thread-expand-button:hover .thread-expand-button__text {
    text-decoration: underline
}

.thread-expand-button .fa {
    pointer-events: none
}

.thread-expand-button[disabled] {
    cursor: progress;
    opacity: .65
}

span.toolong {
    margin-top: 12px
}

.toolong-expand {
    cursor: pointer;
    font-weight: 700
}

div.pages {
    border-radius: 3px;
    display: inline-block;
    font-size: .9em;
    margin: 0 0 10px 8px;
    padding: 8px
}

div.blotter {
    text-align: center
}

#quick-reply,#quick-reply th .handle {
    box-sizing: border-box!important;
    display: flex!important
}

#quick-reply {
    border-radius: 3px!important;
    flex-direction: column!important;
    left: auto;
    max-width: calc(100vw - 24px)!important;
    min-width: 0!important;
    overflow: hidden!important;
    right: 24px;
    top: 84px;
    width: 540px!important;
    z-index: 1000!important
}

#quick-reply th .handle {
    align-items: center!important;
    cursor: move!important;
    gap: 7px!important;
    justify-content: flex-start!important;
    min-height: 18px!important;
    padding-right: 28px!important;
    position: relative!important;
    width: 100%!important
}

#quick-reply th .close-btn {
    font-size: 18px!important;
    line-height: 1!important;
    padding: 2px 0!important;
    position: absolute!important;
    right: 0!important;
    top: 50%!important;
    transform: translateY(-50%)!important
}

#quick-reply tr:not(:first-child) {
    display: block!important
}

#quick-reply tr.quick-reply-hidden-row {
    display: none!important
}

#quick-reply input[type=text],#quick-reply select,#quick-reply textarea {
    border-radius: 0!important;
    box-sizing: border-box!important;
    font-size: 14px!important;
    line-height: 1.35!important;
    margin: 0!important;
    padding: 8px 10px!important;
    width: 100%!important
}

#quick-reply textarea {
    min-height: 170px!important;
    resize: both!important
}

#quick-reply .mocha-form-tools {
    box-sizing: border-box!important;
    padding: 5px 6px!important
}

#quick-reply .mocha-format-button {
    font-size: 12px!important;
    height: 24px!important;
    min-width: 24px!important;
    padding: 0 6px!important
}

#quick-reply .mocha-submit-row td {
    padding: 8px 12px!important
}

#quick-reply .mocha-post-message {
    margin: 8px 12px 12px!important;
    max-width: none!important;
    width: calc(100% - 24px)!important
}

#quick-reply .mocha-submit-panel {
    align-items: center!important;
    box-sizing: border-box!important;
    flex-wrap: wrap!important;
    gap: 10px!important;
    justify-content: flex-end!important;
    padding-top: 0!important;
    width: 100%!important
}

#quick-reply .mocha-submit-captcha {
    flex: 0 1 auto!important
}

#quick-reply .mocha-form-options {
    gap: 6px!important;
    margin-left: auto!important
}

#quick-reply input[type=submit] {
    border-radius: 3px!important;
    font-size: 14px!important;
    font-weight: 700!important;
    height: 38px!important;
    margin: 0!important;
    min-height: 38px!important;
    padding: 0 14px!important;
    width: auto!important
}

#quick-reply .mocha-upload-row td {
    box-sizing: border-box!important;
    padding: 8px 12px!important
}

#quick-reply .mocha-file-picker {
    min-height: 34px!important;
    width: min(100%,100%)!important
}

#quick-reply .mocha-file-picker__text {
    font-size: 14px!important
}

#quick-reply .mocha-file-name {
    display: inline-block!important;
    margin-left: 12px!important;
    max-width: 210px!important
}

body.theme-catalog {
    font-size: 16px
}

.theme-catalog .threads {
    margin-left: 0;
    padding: 8px 10px 18px;
    text-align: left
}

.theme-catalog .catalog-controls {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px
}

.theme-catalog #Grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start
}

.theme-catalog .mix {
    box-sizing: border-box;
    display: block;
    flex: 0 0 260px;
    width: 260px
}

.theme-catalog .mix .thread {
    box-sizing: border-box;
    display: block;
    flex-flow: row nowrap;
    max-width: 260px!important;
    width: 260px!important
}

.theme-catalog .mix .thread .thread-image,.theme-catalog .mix .thread img {
    max-height: 210px;
    max-width: 100%
}

.theme-catalog .mix .replies {
    max-width: 100%;
    overflow: hidden
}

.theme-catalog div.thread,.theme-catalog div.thread.grid-li {
    border-radius: 3px;
    box-sizing: border-box;
    font-size: .92rem;
    height: 360px;
    line-height: 1.24;
    margin: 0;
    max-height: 360px;
    overflow: hidden;
    padding: 8px;
    text-align: left;
    width: 260px
}

.theme-catalog div.thread a {
    display: block;
    text-align: center
}

.theme-catalog div.thread img,.theme-catalog img.thread-image {
    border: 0;
    box-shadow: none;
    display: block;
    float: none!important;
    height: auto;
    margin: 0 auto 8px;
    max-height: 210px;
    max-width: 100%;
    object-fit: contain
}

.theme-catalog div.grid-size-vsmall,.theme-catalog div.thread.grid-size-vsmall {
    height: 230px;
    max-height: 230px;
    min-width: 160px;
    width: 160px
}

.theme-catalog div.grid-size-vsmall img {
    max-height: 120px
}

.theme-catalog div.grid-size-small,.theme-catalog div.thread.grid-size-small {
    height: 360px;
    max-height: 360px;
    min-width: 260px;
    width: 260px
}

.theme-catalog div.grid-size-small img {
    max-height: 210px
}

.theme-catalog div.grid-size-large,.theme-catalog div.thread.grid-size-large {
    height: 480px;
    max-height: 480px;
    min-width: 340px;
    width: 340px
}

.theme-catalog div.grid-size-large img {
    max-height: 300px
}

body.mocha-home {
    min-height: 100vh
}

.home-header {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 26px 16px 46px
}

.home-logo {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    text-decoration: none
}

.home-logo__image {
    display: block;
    height: 72px;
    width: 41px
}

.home-logo__text {
    font-size: 54px;
    font-weight: 800;
    line-height: 1
}

.home-header__sub {
    font-size: 16px;
    margin-top: 10px
}

.home-main {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 0 16px 18px
}

.home-section {
    margin: 0 0 22px;
    max-width: 940px;
    width: 100%
}

.home-meta {
    text-align: justify
}

.home-meta p {
    margin: 0 0 12px
}

.home-title {
    display: flex;
    font-size: 22px;
    font-weight: 700;
    gap: 8px;
    margin: 0 0 10px
}

.home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 12px 0 2px
}

.home-button {
    border-radius: 3px;
    display: inline-block;
    font-weight: 700;
    padding: 9px 12px
}

.home-boards__grid,.home-news__grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.home-board-group h2 {
    font-size: 18px;
    margin: 0 0 7px
}

.home-board-group ul {
    line-height: 1.55;
    list-style: none;
    margin: 0;
    padding: 0
}

.home-news__item {
    align-items: baseline;
    display: flex;
    gap: 8px;
    justify-content: space-between
}

.home-summary__table {
    display: grid;
    font-size: 14px;
    grid-template-columns: minmax(90px,.6fr) minmax(130px,.9fr) minmax(160px,1.5fr)
}

.home-summary__table>div {
    padding: 7px 8px
}

.home-footer {
    display: flex;
    gap: 16px;
    justify-content: center;
    padding: 20px 16px 34px
}

.thread-media-feed-link {
    align-items: center;
    display: inline-flex;
    font-size: .95em;
    justify-content: center;
    margin: 0 6px;
    text-decoration: none;
    vertical-align: middle
}

.thread-media-feed-link .fa {
    pointer-events: none
}

.thread-media-page__main {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 14px 36px
}

.thread-media-page__header {
    margin: 10px 0 18px;
    text-align: left
}

.thread-media-page__header h1 {
    font-size: 30px
}

.thread-media-page__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 10px
}

.thread-media-page__back {
    display: inline-flex;
    font-weight: 700;
    line-height: 1.2;
    padding: 7px 10px
}

.thread-media-page__grid {
    column-gap: 6px;
    column-count: 5
}

@media (max-width: 1400px) {
    .thread-media-page__grid { column-count: 4 }
}

@media (max-width: 1100px) {
    .thread-media-page__grid { column-count: 3 }
}

@media (max-width: 720px) {
    .thread-media-page__grid { column-count: 2 }
}

@media (max-width: 319px) {
    .thread-media-page__grid { column-count: 1 }
}

.thread-media-empty {
    color: var(--mocha-muted, #666);
    font-size: 18px;
    padding: 24px 0
}

.thread-media-card {
    background: rgba(0,0,0,.12);
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    margin: 0 0 6px;
    overflow: hidden;
    position: relative;
    width: 100%;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid
}

.thread-media-card:focus {
    outline: 2px solid var(--mocha-link, #d45b24);
    outline-offset: 2px
}

.thread-media-card__link {
    display: block;
    text-decoration: none;
    width: 100%
}

.thread-media-card__link:focus {
    outline: 0
}

.thread-media-card__media {
    border-radius: 4px;
    display: block;
    height: auto;
    width: 100%;
    pointer-events: none
}

.thread-media-card--video .thread-media-card__media {
    border: 1px dashed #8f949b;
    box-sizing: border-box
}

.thread-media-card__audio {
    align-items: center;
    aspect-ratio: 1/1;
    box-sizing: border-box;
    color: var(--mocha-muted, #666);
    display: flex;
    font-size: 18px;
    font-weight: 700;
    justify-content: center;
    padding: 12px;
    width: 100%
}

body.thread-media-lightbox-open {
    overflow: hidden
}

.thread-media-lightbox[hidden] {
    display: none
}

.thread-media-lightbox {
    inset: 0;
    position: fixed;
    z-index: 4000
}

.thread-media-lightbox__backdrop {
    background: rgba(7,9,12,.9);
    border: 0;
    cursor: default;
    inset: 0;
    padding: 0;
    position: absolute
}

.thread-media-lightbox__panel {
    align-items: center;
    display: grid;
    grid-template-columns: 64px minmax(0,1fr) 64px;
    grid-template-rows: minmax(0,1fr) auto;
    inset: 0;
    padding: 18px;
    position: absolute
}

.thread-media-lightbox__stage {
    align-items: center;
    display: flex;
    grid-column: 2;
    grid-row: 1;
    height: 100%;
    justify-content: center;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    padding: 12px
}

.thread-media-lightbox__media {
    --lightbox-zoom: 1;
    --lightbox-pan-x: 0px;
    --lightbox-pan-y: 0px;
    border-radius: 3px;
    box-shadow: 0 20px 70px rgba(0,0,0,.55);
    cursor: zoom-in;
    display: block;
    max-height: calc(100vh - 104px);
    max-width: 100%;
    object-fit: contain;
    transform: translate(var(--lightbox-pan-x),var(--lightbox-pan-y)) scale(var(--lightbox-zoom));
    transform-origin: center center;
    transition: transform .12s ease;
    user-select: none;
    will-change: transform
}

.thread-media-lightbox__media--zoomed {
    cursor: grab
}

.thread-media-lightbox__media--dragging {
    cursor: grabbing;
    transition: none
}

.thread-media-lightbox--audio .thread-media-lightbox__media,.thread-media-lightbox--video .thread-media-lightbox__media {
    cursor: default;
    transform: none
}

.thread-media-lightbox--audio .thread-media-lightbox__tools,.thread-media-lightbox--video .thread-media-lightbox__tools {
    display: none
}

audio.thread-media-lightbox__media {
    background: rgba(21,28,36,.34);
    box-sizing: border-box;
    max-width: min(720px,calc(100vw - 120px));
    padding: 14px;
    width: 100%
}

.thread-media-lightbox__close,.thread-media-lightbox__nav {
    padding-top: 2px
}

.thread-media-lightbox__close,.thread-media-lightbox__nav,.thread-media-lightbox__tool {
    align-items: center;
    background: rgba(22,28,36,.24);
    border: 1px solid rgba(150,172,192,.18);
    border-radius: 3px;
    color: #dce5ed;
    cursor: pointer;
    display: flex;
    font-weight: 700;
    justify-content: center
}

.thread-media-lightbox__close:hover,.thread-media-lightbox__nav:hover,.thread-media-lightbox__tool:hover {
    background: rgba(34,44,55,.48);
    border-color: rgba(180,198,216,.45);
    color: #fff
}

.thread-media-lightbox__nav {
    font-size: 38px;
    height: 68px;
    line-height: 0;
    position: fixed;
    top: 50%;
    transform: translateY(calc(-50% + 34px));
    width: 46px;
    z-index: 1
}

.thread-media-lightbox__nav--prev {
    left: 24px
}

.thread-media-lightbox__nav--next {
    right: 24px
}

.thread-media-lightbox__close {
    font-size: 24px;
    height: 40px;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 40px;
    z-index: 1
}

.thread-media-lightbox__footer {
    align-items: center;
    background: rgba(18,23,30,.2);
    border: 1px solid rgba(150,172,192,.14);
    border-radius: 3px;
    box-sizing: border-box;
    color: #dce5ed;
    display: flex;
    gap: 14px;
    grid-column: 2;
    grid-row: 2;
    justify-content: space-between;
    margin-top: 12px;
    min-width: 0;
    padding: 8px 10px
}

.mv__main::after,.thread-media-lightbox__counter {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.thread-media-lightbox__counter {
    font-size: 14px;
    font-weight: 700
}

.thread-media-lightbox__post-link {
    color: #dce5ed;
    font-weight: 800;
    text-decoration: none
}

.thread-media-lightbox__post-link:hover {
    color: #fff;
    text-decoration: underline
}

.thread-media-lightbox__tools {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 5px;
    justify-content: center
}

.thread-media-lightbox__tool {
    font-size: 14px;
    height: 30px;
    line-height: 1;
    min-width: 32px;
    padding: 0 9px
}

@media (max-width:760px) {
    h1 {
        font-size: 30px
    }

    .mocha-watcher,.mocha-watcher-fab,.mocha-watcher-star {
        display: none!important
    }

    div.post.reply.post-single-file>.file,div.post.reply>.files {
        float: none!important;
        max-width: 100%!important
    }


    div.post.post-multiple-files .file,div.post>.files.multifile .file {
        width: auto!important;
        max-width: 100%!important;
        min-width: 0!important
    }

    div.post.post-multiple-files .file img.post-image,div.post>.files.multifile .file img.post-image {
        height: auto!important;
        max-width: 100%!important;
        width: 100%!important
    }

    .intro {
        font-size: .85em
    }

    .intro .thread-media-feed-link {
        display: none
    }

    div.post.op div.body,div.post.reply div.body {
        max-height: none;
        min-width: 0;
        padding: 8px 0;
    }

    html:not(.mocha-board-sidebar-collapsed) body.active-catalog,html:not(.mocha-board-sidebar-collapsed) body.active-index,html:not(.mocha-board-sidebar-collapsed) body.active-thread,html:not(.mocha-board-sidebar-collapsed) body.active-ukko {
        padding-left: 0
    }

    html:not(.mocha-board-sidebar-collapsed) body.active-catalog .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-index .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-thread .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-ukko .mocha-board-content {
        margin-left: 0;
        width: 100%
    }

    form table {
        width: calc(100vw - 16px)
    }

    div.post.op,div.post.reply {
        max-width: calc(100vw - 18px)!important
    }

    div.post.op.post-single-file,div.post.reply.post-single-file {
        display: grid;
        grid-template-columns: max-content minmax(0,1fr);
        column-gap: 8px;
        min-width: 0;
        width: auto
    }

    div.post.post-single-file>.intro {
        grid-column: 1/-1;
        grid-row: 1
    }

    div.post.post-single-file>.files.single-file,div.post.post-single-file>.files.single-file>.file.single-file {
        display: contents
    }

    div.post.post-single-file>.files.single-file>.file.single-file>p.fileinfo {
        grid-column: 1;
        grid-row: 2
    }

    div.post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap,div.post.post-single-file>.files.single-file>.file.single-file>a {
        grid-column: 1;
        grid-row: 3
    }

    div.post.post-single-file>div.body.has-single-file {
        grid-column: 2;
        grid-row: 3;
        align-self: start;
        min-width: 0
    }

    div.post.post-single-file>span.omitted {
        grid-column: 1/-1;
        grid-row: auto
    }

    div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover)) {
        grid-template-columns: 1fr
    }

    div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover))>.files.single-file>.file.single-file>.post-audio-wrap,div.post.post-single-file:has(.post-audio-wrap:not(.post-audio-wrap--with-cover))>div.body.has-single-file {
        grid-column: 1
    }

    div.post.op {
        margin-right: 8px
    }

    div.post.reply {
        margin-left: 14px
    }

    div.post.reply:before {
        left: -16px
    }

    div.post.reply div.body.has-single-file {
        max-width: none;
        min-width: 0
    }

    .file:not(.multifile) {
        padding: 0 10px 8px 0
    }

    .home-header {
        padding: 22px 10px 32px
    }

    .home-logo__image {
        height: 56px;
        width: 32px
    }

    .home-logo__text {
        font-size: 42px
    }

    .home-main {
        padding: 0 16px 12px
    }

    .home-boards__grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .home-news__grid {
        grid-template-columns: 1fr
    }

    .home-summary__table {
        grid-template-columns: 76px minmax(90px,.9fr) minmax(130px,1.3fr)
    }

    .thread-media-card__link {
        width: 100%
    }

    .thread-media-lightbox__panel {
        gap: 8px;
        grid-template-columns: 1fr 52px 52px 1fr;
        grid-template-rows: minmax(0,1fr) auto auto;
        padding: 10px
    }

    .thread-media-lightbox__stage {
        grid-column: 1/-1;
        grid-row: 1;
        padding: 8px
    }

    .thread-media-lightbox__close {
        right: 10px;
        top: 10px
    }

    .thread-media-lightbox__nav {
        font-size: 34px;
        height: 44px;
        position: static;
        transform: none;
        width: 52px
    }

    .thread-media-lightbox__nav--prev {
        grid-column: 2;
        grid-row: 2;
        justify-self: end
    }

    .thread-media-lightbox__nav--next {
        grid-column: 3;
        grid-row: 2;
        justify-self: start
    }

    .thread-media-lightbox__footer {
        flex-wrap: wrap;
        grid-column: 1/-1;
        grid-row: 3;
        justify-content: center;
        margin-top: 0
    }

    .thread-media-lightbox__tools {
        order: 3
    }

    .mocha-header__menu {
        align-items: stretch;
        flex-wrap: wrap;
        height: auto;
        overflow: visible;
        padding: 6px 8px;
        row-gap: 4px;
        white-space: normal;
    }

    .mocha-header__menu>span:first-child {
        flex: 1 1 100%
    }

    .mocha-header__actions {
        flex: 0 0 auto;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end
    }

    .mocha-board-content {
        box-sizing: border-box;
        padding-left: 8px;
        padding-right: 8px
    }

    .mocha-board-content>header h1,.mocha-board-title-link {
        font-size: 24px;
        line-height: 1.2
    }

    #quick-reply table,.mocha-post-form table,form table {
        max-width: 100%!important;
        width: 100%!important
    }

    form table input[type=text],form table select,form table textarea {
        box-sizing: border-box;
        max-width: 100%
    }

    .thread-interactions {
        flex-wrap: wrap;
        justify-content: flex-start
    }

    .omitted,.thread-omitted {
        font-size: .9em
    }
}

@media (max-width:460px) {
    .home-boards__grid {
        grid-template-columns: 1fr
    }

    .home-summary__table {
        font-size: 12px
    }
}

.mv,.mv__spinner {
    pointer-events: none
}

.mv[hidden] {
    display: none
}

.mv__spinner {
    left: 50%;
    opacity: 0;
    position: fixed;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .15s ease;
    z-index: 1990
}

.mv__nav:hover,.mv__spinner.is-visible {
    opacity: 1
}

.mv__spinner-ring {
    animation: mocha-mv-spin .8s linear infinite;
    border: 3px solid rgba(255,255,255,.18);
    border-radius: 50%;
    border-top-color: var(--mocha-link, #d97922);
    height: 44px;
    width: 44px
}

.mv__main {
    background: var(--mocha-panel, #2a2a34);
    border-radius: 10px;
    box-shadow: 0 12px 20px rgba(0,0,0,.05);
    box-sizing: content-box;
    padding: 24px 8px 8px;
    pointer-events: auto;
    position: fixed;
    user-select: none;
    z-index: 1980
}

.mv__main::after {
    color: var(--mocha-muted, #ccc);
    content: attr(data-mediainfo);
    cursor: move;
    font-size: 13px;
    left: 0;
    position: absolute;
    text-align: center;
    top: 4px;
    width: 100%
}

.mv__main--dragging {
    cursor: grabbing
}

.mv__media-slot {
    height: 100%;
    width: 100%
}

.mv__media-slot img,.mv__media-slot video {
    border-radius: 2px;
    display: block;
    height: 100%;
    width: 100%
}

.mv__media-slot video {
    background: #000
}

.mv__nav {
    background: var(--mocha-panel, #333);
    border: 0;
    border-radius: 10px;
    color: var(--mocha-muted, #ccc);
    cursor: pointer;
    height: 60px;
    opacity: .7;
    padding: 0;
    pointer-events: auto;
    position: fixed;
    top: calc(50vh - 30px);
    transition: opacity .12s ease;
    width: 60px;
    z-index: 1985
}

.mv__nav svg {
    height: 22px;
    width: 22px
}

.mv__nav_l {
    left: -10px;
    padding-left: 22px
}

.mv__nav_r {
    padding-right: 22px;
    right: -10px
}

.mocha-watcher {
    background: var(--mocha-watcher-bg);
    border-radius: 12px 12px 0 0;
    bottom: 0;
    color: var(--mocha-watcher-text);
    display: flex;
    flex-direction: column;
    font-size: 13px;
    max-height: calc(100vh - 32px);
    overflow: hidden;
    position: fixed;
    right: 80px;
    width: 360px;
    z-index: 950
}

.mocha-watcher--collapsed .mocha-watcher__body {
    display: none
}

.mocha-watcher--collapsed {
    width: auto
}

.mocha-watcher__head {
    align-items: center;
    display: flex;
    gap: 8px;
    padding: 8px 10px
}

.mocha-watcher__title {
    background: 0 0;
    border: 0;
    color: inherit;
    cursor: pointer;
    flex: 1 1 auto;
    font: inherit;
    font-weight: 700;
    padding: 0;
    text-align: left
}

.mocha-watcher__refresh {
    background: 0 0;
    border: 0;
    border-radius: 6px;
    color: var(--mocha-watcher-muted);
    cursor: pointer;
    height: 24px;
    padding: 2px;
    width: 24px
}

.mocha-watcher__refresh:hover {
    color: var(--mocha-watcher-link)
}

.mocha-watcher__refresh svg {
    height: 16px;
    width: 16px
}

.mocha-watcher__body {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px)
}

.mocha-watcher__list {
    flex: 1 1 auto;
    max-height: 50vh;
    overflow-y: auto;
    padding: 4px 6px 8px
}

.mocha-watcher__empty {
    color: var(--mocha-watcher-muted);
    font-size: 12px;
    padding: 12px;
    text-align: center
}

.mocha-watcher__row {
    align-items: center;
    border-radius: 6px;
    display: flex;
    gap: 4px;
    padding: 4px 6px
}

.mocha-watcher__row--deleted {
    opacity: .55;
    text-decoration: line-through
}

.mocha-watcher__btn {
    background: 0 0;
    border: 0;
    border-radius: 4px;
    color: var(--mocha-watcher-muted);
    cursor: pointer;
    flex: 0 0 auto;
    font: inherit;
    font-size: 14px;
    height: 18px;
    line-height: 1;
    padding: 0;
    width: 18px
}

.mocha-watcher__btn:hover,.mocha-watcher__row:hover {
    background: var(--mocha-watcher-row-hover)
}

.mocha-watcher__btn--add,.mocha-watcher__btn:hover {
    color: var(--mocha-watcher-link)
}

.mocha-watcher__counter {
    color: var(--mocha-watcher-counter);
    flex: 0 0 auto;
    font-weight: 700;
    min-width: 0;
    padding: 0 2px;
    text-align: right
}

.mocha-watcher__counter--images,.mocha-watcher__counter--views {
    align-items: center;
    color: var(--mocha-watcher-muted);
    display: inline-flex;
    font-weight: 500;
    gap: 3px;
    min-width: 0
}

.mocha-watcher__counter--replies {
    color: var(--mocha-watcher-link)
}

.mocha-watcher__head-badge {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    margin-left: 8px
}

.mocha-watcher__head-badge[hidden] {
    display: none
}

.mocha-watcher__head-badge-num {
    background: var(--mocha-watcher-counter);
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    min-width: 18px;
    padding: 2px 6px;
    text-align: center
}

.mocha-watcher__head-badge-num--replies {
    background: var(--mocha-watcher-link)
}

.mocha-watcher__icon {
    height: 14px;
    width: 14px
}

.mocha-watcher__link {
    color: inherit;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap
}

.mocha-watcher-star:hover,.mocha-watcher__board,.mocha-watcher__link:hover {
    color: var(--mocha-watcher-link)
}

.mocha-watcher__board {
    font-weight: 700
}

.mocha-watcher__options {
    border-top: 1px solid var(--mocha-watcher-border);
    color: var(--mocha-watcher-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 12px
}

.mocha-watcher__options-label {
    flex: 1 0 100%;
    font-size: 12px
}

.mocha-watcher__option {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    gap: 4px
}

.mocha-watcher__tabs {
    border-top: 1px solid var(--mocha-watcher-border);
    display: flex
}

.mocha-watcher__tab {
    background: 0 0;
    border: 0;
    color: var(--mocha-watcher-muted);
    cursor: pointer;
    flex: 1 1 auto;
    font: inherit;
    font-weight: 700;
    padding: 10px 12px
}

.mocha-watcher__tab--active {
    background: var(--mocha-watcher-row-hover, rgba(127, 127, 127, 0.12));
    color: var(--mocha-watcher-text)
}

.mocha-watcher__tab:not(.mocha-watcher__tab--active):hover {
    color: var(--mocha-watcher-link)
}

.mocha-watcher-star {
    background: 0 0;
    border: 0;
    color: var(--mocha-watcher-muted);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    margin: 0 6px;
    padding: 0 2px;
    vertical-align: middle
}

.mocha-watcher-star--on {
    color: var(--mocha-watcher-link)
}

@media (max-width:600px) {
    .mocha-watcher {
        bottom: 0;
        left: 8px;
        right: auto;
        width: min(80vw,320px)
    }

    .mocha-watcher--collapsed {
        left: 8px;
        right: auto;
        width: auto
    }
}

#mocha-settings-window:has(.mocha-spells) {
    width: 420px
}

.mocha-settings-window__tabs {
    border-bottom: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    display: flex;
    gap: 2px;
    padding: 6px 6px 0
}

.mocha-settings-tab {
    background: 0 0;
    border: 0;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    color: color-mix(in srgb,var(--mocha-text) 65%,transparent);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
    padding: 6px 12px;
    transition: color .12s ease,border-color .12s ease
}

.mocha-settings-tab:hover {
    color: var(--mocha-text);
    filter: none
}

.mocha-settings-tab.is-active {
    border-bottom-color: var(--mocha-accent, color-mix(in srgb, var(--mocha-text) 55%, transparent));
    color: var(--mocha-text)
}

.mocha-settings-pane,.mocha-spells {
    display: grid;
    gap: 12px
}

.mocha-settings-pane[hidden] {
    display: none
}

.mocha-spells__hint {
    color: color-mix(in srgb,var(--mocha-text) 65%,transparent);
    font-size: 11px;
    margin: 0
}

.mocha-spells__toggle {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 600;
    gap: 8px
}

.mocha-spells__tools {
    display: flex;
    flex-wrap: wrap;
    gap: 4px
}

.mocha-spells__tool {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.12)) 60%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    color: var(--mocha-text);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px
}

.mocha-spells__tool:hover {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.18)) 80%,var(--mocha-text) 8%);
    filter: none
}

.mocha-spells__tool--danger:hover {
    border-color: color-mix(in srgb,#d96b6b 60%,var(--mocha-border-solid));
    color: #e88a8a
}

.mocha-spells-dialog {
    left: calc(50% - 280px);
    max-width: min(560px,calc(100vw - 24px));
    right: auto;
    top: 80px;
    width: 560px;
    z-index: 1300
}

@media (max-width:600px) {
    .mocha-spells-dialog {
        left: 12px
    }
}

@media (max-width:760px) {
    div.post.reply {
        margin: 0 8px 4px!important;
        padding: 6px 12px!important
    }

    div.post.reply:before {
        display: none!important
    }

    .mocha-board-content,div.thread {
        padding-left: 0!important
    }

    .mocha-board-content {
        padding-right: 0!important
    }

    div.thread,html.mocha-board-sidebar-collapsed .mocha-board-content {
        margin-left: 0!important
    }

    form[name=postcontrols] {
        margin-left: 0!important;
    }

    div.post .video-container,div.post .video-container iframe,div.post iframe {
        max-width: 100%!important;
        width: 100%!important;
        height: auto!important;
        aspect-ratio: 16/9;
        float: none!important;
        margin: 8px 0!important;
        display: block;
        box-sizing: border-box
    }

    div.post .video-container img {
        max-width: 100%!important;
        height: auto!important
    }

    div.post.post-multiple-files .file,div.post>.files.multifile .file {
        max-width: 100%!important;
        min-width: 0!important;
        width: auto!important
    }

    /* div.post.post-multiple-files .file:has(.post-audio-wrap),div.post>.files.multifile .file:has(.post-audio-wrap) {
        flex: 1 1 100%!important;
        width: 100%!important;
        min-width: 0!important
    } */

    div.post.post-multiple-files .post-audio-wrap,div.post>.files.multifile .post-audio-wrap {
        max-width: 100%!important;
        width: 100%!important
    }

    div.post.post-multiple-files .post-audio-wrap--with-cover,div.post>.files.multifile .post-audio-wrap--with-cover {
        max-width: min(240px,100%)!important;
        width: auto!important
    }

    div.post.post-single-file>.files.single-file>.file.single-file>.post-audio-wrap:not(.post-audio-wrap--with-cover) {
        max-width: 100%!important;
        box-sizing: border-box
    }
}

.mocha-spells-dialog__body {
    display: grid;
    gap: 10px;
    padding: 14px 16px 16px
}

.mocha-spells-dialog__intro {
    color: color-mix(in srgb,var(--mocha-text) 70%,transparent);
    font-size: 12px;
    margin: 0
}

.mocha-spells-dialog__code {
    background: var(--mocha-input-bg, color-mix(in srgb, var(--mocha-surface) 50%, transparent));
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    color: var(--mocha-text);
    font: inherit;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: 11px;
    min-height: 140px;
    padding: 8px 10px;
    resize: vertical;
    word-break: break-all
}

.mocha-spells-dialog__error {
    color: #d96b6b;
    font-size: 11px;
    margin: 0
}

.mocha-spells-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end
}

.mocha-spells-dialog__btn {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.18)) 70%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    color: var(--mocha-text);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px
}

.mocha-spells-dialog__btn:hover {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.18)) 90%,var(--mocha-text) 8%);
    filter: none
}

.mocha-spells-dialog__btn--primary {
    background: color-mix(in srgb,var(--mocha-link, #f07232) 35%,var(--mocha-surface));
    border-color: color-mix(in srgb,var(--mocha-link, #f07232) 55%,var(--mocha-border-solid));
    color: var(--mocha-text)
}

.mocha-spells-dialog__btn--primary:hover {
    background: color-mix(in srgb,var(--mocha-link, #f07232) 55%,var(--mocha-surface));
    border-color: var(--mocha-link, #f07232);
    filter: none
}

.mocha-spells-dialog__btn--danger:hover {
    border-color: color-mix(in srgb,#d96b6b 60%,var(--mocha-border-solid));
    color: #e88a8a
}

.mocha-spells__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    list-style: none;
    margin: 0;
    max-height: 220px;
    overflow-y: auto;
    padding: 0
}

.mocha-spells__empty {
    color: color-mix(in srgb,var(--mocha-text) 50%,transparent);
    font-size: 12px;
    font-style: italic;
    padding: 4px 0
}

.mocha-spells__item {
    align-items: flex-start;
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.12)) 60%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 6px;
    padding: 4px 6px
}

.mocha-spells__chip {
    background: color-mix(in srgb,var(--mocha-text) 14%,transparent);
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 6px;
    text-transform: lowercase
}

.mocha-spells__chip--type {
    text-transform: none
}

.mocha-spells__index {
    color: color-mix(in srgb,var(--mocha-text) 55%,transparent);
    flex: 0 0 auto;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: left
}

.mocha-spells__chip--regex {
    background: color-mix(in srgb,var(--mocha-text) 22%,transparent)
}

.mocha-spells__chip-value {
    flex: 1 1 auto;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-all
}

.mocha-spells__remove {
    background: 0 0;
    border: 0;
    color: var(--mocha-text);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    margin-left: auto;
    opacity: .6;
    padding: 0 4px
}

.mocha-spells__remove:hover {
    opacity: 1
}

.mocha-spells__form {
    align-items: center;
    display: grid;
    margin: 0;
    gap: 6px;
    grid-template-columns: minmax(110px,1fr) minmax(0,2fr)
}

.mocha-spells__type,.mocha-spells__value {
    background: var(--mocha-input-bg, color-mix(in srgb, var(--mocha-surface) 50%, transparent));
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    box-sizing: border-box;
    color: var(--mocha-text);
    font: inherit;
    font-size: 12px;
    height: 30px;
    line-height: 1.2;
    padding: 5px 7px;
    width: 100%
}

.mocha-spells__value {
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}

.mocha-spells__opt {
    align-items: center;
    color: color-mix(in srgb,var(--mocha-text) 80%,transparent);
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    gap: 4px;
    user-select: none
}

.mocha-spells__opt input[type=checkbox] {
    margin: 0
}

.mocha-spells__opt[hidden] {
    display: none
}

.mocha-spells__add {
    background: var(--mocha-surface, rgba(120, 136, 152, 0.18));
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.28));
    border-radius: 3px;
    color: var(--mocha-text);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    grid-column: 1/-1;
    justify-self: end;
    padding: 5px 12px
}

.mocha-spells__add:hover {
    filter: none;
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.18)) 70%,var(--mocha-text) 8%)
}

.mocha-spells__error {
    color: #d96b6b;
    font-size: 11px;
    grid-column: 1/-1;
    margin: 0
}

.mocha-spells__value--invalid {
    border-color: #d96b6b;
    box-shadow: 0 0 0 1px rgba(217,107,107,.35)
}

.mocha-spells__add:disabled {
    cursor: not-allowed;
    opacity: .45
}

.mocha-spells__examples {
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.12)) 45%,transparent);
    border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, 0.22));
    border-radius: 4px;
    color: color-mix(in srgb,var(--mocha-text) 75%,transparent);
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 4px;
    padding: 8px 10px
}

.mocha-spells__examples-label {
    color: color-mix(in srgb,var(--mocha-text) 60%,transparent);
    font-size: 11px;
    font-weight: 600
}

.mocha-spells__examples-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    list-style: none;
    margin: 0;
    padding: 0
}

.mocha-spells__examples-list li {
    line-height: 1.45
}

.mocha-spells__examples-list code {
    background: color-mix(in srgb,var(--mocha-text) 12%,transparent);
    border-radius: 2px;
    color: var(--mocha-text);
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: 11px;
    padding: 1px 5px
}

.mocha-spell-hidden,.mocha-spell-thread-hidden {
    display: none!important
}

.mocha-spell-file-wrap {
    display: inline-block;
    line-height: 0;
    overflow: hidden;
    position: relative;
    border-radius: 4px
}

.mocha-spell-file-overlay-host>.post-image,.mocha-spell-file-overlay-host>video.post-image {
    filter: blur(22px) brightness(.7)
}

.post-audio-wrap.mocha-spell-file-overlay-host>.plyr,.post-audio-wrap.mocha-spell-file-overlay-host>.post-audio-body,.post-audio-wrap.mocha-spell-file-overlay-host>.post-audio-cover {
    visibility: hidden
}

.post-audio-wrap.mocha-spell-file-overlay-host {
    min-height: 48px
}

.mocha-spell-file-overlay {
    align-items: center;
    background: color-mix(in srgb,var(--mocha-surface, rgba(40, 40, 50, 0.85)) 70%,transparent);
    border-radius: inherit;
    color: var(--mocha-text, #fff);
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 6px;
    inset: 0;
    justify-content: center;
    padding: 4px 6px;
    position: absolute;
    text-align: center;
    z-index: 1
}

.mocha-spell-file-overlay__text {
    font-weight: 600;
    line-height: 1.2
}

.mocha-spell-file-overlay__toggle {
    background: 0 0;
    border: 0;
    color: var(--mocha-link, inherit);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    padding: 0;
    pointer-events: auto;
    text-decoration: underline
}

.mocha-spell-file-overlay__toggle:hover {
    color: var(--mocha-link-hover, var(--mocha-link));
    filter: none
}

.file.mocha-spell-file-hidden .mocha-image-hide-btn--file {
    display: none
}

.mocha-image-hide-btn-group {
    display: flex;
    gap: 4px;
    opacity: 0;
    position: absolute;
    right: 4px;
    top: 4px;
    transition: opacity .12s ease;
    z-index: 2
}

.post-audio-wrap>.mocha-image-hide-btn-group {
    top: -28px;
    right: 0
}

.post-audio-wrap:has(.mocha-volume-popover:hover)>.mocha-image-hide-btn-group,
.post-audio-wrap:has(.mocha-volume-popover__panel:focus-within)>.mocha-image-hide-btn-group {
    opacity: 0 !important;
    pointer-events: none !important
}

.mocha-image-hide-btn {
    background: rgba(0,0,0,.55);
    border: 0;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    height: 22px;
    line-height: 1;
    padding: 0;
    transition: background .12s ease;
    width: 22px
}

.mocha-image-hide-btn:hover {
    background: rgba(0,0,0,.85);
    filter: none
}

.mocha-image-hide-btn-group:focus-within,.mocha-spell-file-wrap:hover .mocha-image-hide-btn-group,.post-audio-wrap:hover>.mocha-image-hide-btn-group {
    opacity: 1
}

@media (hover:none) {
    .mocha-image-hide-btn-group {
        opacity: .85
    }

    body.mocha-hide-mobile-hide-btn .mocha-image-hide-btn-group {
        opacity: 0;
        pointer-events: none;
    }

    body.mocha-hide-mobile-hide-btn .mocha-spell-file-wrap:active .mocha-image-hide-btn-group,
    body.mocha-hide-mobile-hide-btn .post-audio-wrap:active > .mocha-image-hide-btn-group,
    body.mocha-hide-mobile-hide-btn .mocha-image-hide-btn-group:focus-within {
        opacity: .9;
        pointer-events: auto;
    }
}

.mocha-spell-placeholder {
    align-items: center;
    background: color-mix(in srgb,var(--mocha-surface, rgba(120, 136, 152, 0.12)) 55%,transparent);
    border: 1px dashed var(--mocha-border-solid, rgba(120, 136, 152, 0.35));
    border-radius: 4px;
    color: color-mix(in srgb,var(--mocha-text) 75%,transparent);
    display: flex;
    font-size: 12px;
    gap: 8px;
    margin: 4px 0;
    max-width: 100%;
    padding: 4px 10px;
    width: fit-content
}

.mocha-spell-placeholder__icon {
    font-size: 13px;
    opacity: .7
}

.mocha-spell-placeholder__text {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    flex: 1 1 auto;
    line-clamp: 2;
    min-width: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
    word-break: break-word
}

.mocha-spell-placeholder__text em {
    color: var(--mocha-text);
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-style: normal;
    font-weight: 600
}

.mocha-spell-placeholder__toggle {
    background: 0 0;
    border: 1px solid color-mix(in srgb,var(--mocha-text) 25%,transparent);
    border-radius: 3px;
    color: var(--mocha-text);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    padding: 2px 8px
}

.mocha-spell-placeholder__toggle:hover {
    filter: none;
    background: color-mix(in srgb,var(--mocha-surface) 60%,transparent)
}

@media (max-width:600px) {
    #mocha-settings-window:has(.mocha-spells) {
        width: calc(100vw - 24px)
    }

    .mocha-spells__form {
        grid-template-columns: 1fr
    }

    .mocha-spells__add {
        justify-self: stretch
    }
}

input[type=checkbox] {
    accent-color: var(--mocha-link, #d97922);
    cursor: pointer;
    height: 14px;
    margin: 0;
    vertical-align: middle;
    width: 14px
}

.mocha-you-marker {
    color: var(--mocha-link, #d97922)
}

.mocha-header__burger {
    align-items: center;
    background: 0 0;
    border: 0;
    cursor: pointer;
    display: none;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 3px;
    height: 22px;
    justify-content: center;
    padding: 0 6px;
    width: 28px
}

.mocha-header__burger-bar {
    background: var(--mocha-text, #e7e7e7);
    border-radius: 1px;
    display: block;
    height: 2px;
    width: 18px
}

.mocha-header__burger:hover .mocha-header__burger-bar {
    background: var(--mocha-link, #d97922)
}

.mocha-board-sidebar-backdrop {
    background: rgba(0,0,0,.5);
    display: none;
    inset: 0;
    position: fixed;
    z-index: 790
}

html.mocha-board-sidebar-mobile-open .mocha-board-sidebar-backdrop {
    display: block
}

@media (max-width:760px) {
    html:not(.mocha-board-sidebar-collapsed) body.active-catalog .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-index .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-thread .mocha-board-content,html:not(.mocha-board-sidebar-collapsed) body.active-ukko .mocha-board-content {
        margin-left: 0!important
    }

    html.mocha-board-sidebar-collapsed .mocha-board-content {
        margin-left: 64px!important
    }

    .mocha-board-sidebar__link {
        font-size: 13px;
        gap: 6px;
        padding: 6px 10px
    }

    .mocha-board-sidebar__section-title {
        font-size: 11px;
        min-height: 26px;
        padding: 6px 8px
    }

    .mocha-board-sidebar__list {
        margin-top: 8px
    }
}

@media (max-width:520px) {
    .mocha-header__burger {
        display: inline-flex
    }

	    .mocha-header__menu {
        justify-content: flex-start;
    }

    .mocha-board-sidebar__inner {
        padding: 12px 12px 18px
    }

    .mocha-board-sidebar,.mocha-board-sidebar-wrap {
        transform: translateX(-110%);
        transition: transform .22s ease;
        width: 244px;
        z-index: 900
    }

    html.mocha-board-sidebar-mobile-open .mocha-board-sidebar,html.mocha-board-sidebar-mobile-open .mocha-board-sidebar-wrap {
        transform: translateX(0)
    }

    html.mocha-board-sidebar-collapsed .mocha-board-content {
        margin-left: 0!important
    }

    .mocha-board-sidebar-backdrop {
        z-index: 850
    }

	div.post.op.post-single-file,
	div.post.reply.post-single-file {
		grid-template-columns: 1fr !important;
	}

	div.post.post-single-file > .files.single-file > .file.single-file > p.fileinfo {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}

	div.post.post-single-file > .files.single-file > .file.single-file > a,
	div.post.post-single-file > .files.single-file > .file.single-file > .post-audio-wrap {
		grid-column: 1 !important;
		grid-row: 3 !important;
	}

	div.post.post-single-file > div.body.has-single-file {
		grid-column: 1 !important;
		grid-row: 4 !important;
	}
}
@media (max-width: 400px) {
	div.post .post-image,
	div.post img.post-image,
	div.post video.post-image {
		height: auto !important;
		max-width: 120px !important;
		width: auto !important;
	}

	div.post.post-multiple-files > .files,
	div.post > .files.multifile {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	div.post.post-multiple-files .file img.post-image,
	div.post > .files.multifile .file img.post-image {
		max-width: 100% !important;
		width: 100% !important;
	}

	.post-audio-cover {
		height: 56px;
		width: 56px;
	}

	.post-audio-wrap--with-cover {
		max-width: min(140px, calc(100vw - 28px));
	}

	.post-audio-wrap--with-cover .post-audio-cover {
		aspect-ratio: 1 / 1;
		height: auto;
		width: 100%;
	}
}

.post-md-wrap {
	background: color-mix(in srgb, var(--mocha-surface, #2a2a34) 60%, transparent);
	border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, .28));
	border-radius: 6px;
	box-sizing: border-box;
	display: inline-block;
	justify-self: start;
	margin: 4px 0;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	vertical-align: top;
	width: auto;
}

.post-md-wrap[open] {
	display: block;
	justify-self: stretch;
	width: 100%;
}

.post-md-rendered {
	box-sizing: border-box;
	font-size: 15px;
	height: 360px;
	line-height: 1.55;
	max-height: 80vh;
	max-width: 100%;
	min-height: 80px;
	min-width: 0;
	overflow: auto;
	resize: vertical;
	word-break: break-word;
}

div.post .post-md-wrap pre {
	max-width: 100%;
	overflow-x: auto;
}

.post-md-summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 600;
	gap: 8px;
	padding: 8px 12px;
	user-select: none;
}

.post-md-summary::-webkit-details-marker {
	display: none;
}

.post-md-summary .fa {
	color: var(--mocha-link, #d97922);
	font-size: 16px;
}

.post-md-summary:hover {
	background: color-mix(in srgb, var(--mocha-surface, #2a2a34) 90%, var(--mocha-text) 8%);
}

.post-md-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.post-md-body {
	border-top: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, .28));
	padding: 10px 14px;
}

.post-md-placeholder {
	color: var(--mocha-muted, #8290a0);
	font-size: 12px;
}

.post-md-error {
	color: #e88a8a;
}

.post-md-rendered h1,
.post-md-rendered h2,
.post-md-rendered h3,
.post-md-rendered h4 {
	color: var(--mocha-text);
	margin: 8px 0 6px;
}

.post-md-rendered h1 { font-size: 20px; }
.post-md-rendered h2 { font-size: 18px; }
.post-md-rendered h3 { font-size: 16px; }
.post-md-rendered h4 { font-size: 15px; }

.post-md-rendered p {
	margin: 4px 0;
}

.post-md-rendered ul,
.post-md-rendered ol {
	margin: 4px 0;
	padding-left: 22px;
}

.post-md-rendered code {
	background: color-mix(in srgb, var(--mocha-surface, #2a2a34) 70%, transparent);
	border-radius: 3px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	padding: 1px 4px;
}

.post-md-rendered pre {
	background: color-mix(in srgb, var(--mocha-surface, #2a2a34) 70%, transparent);
	border-radius: 4px;
	overflow-x: auto;
	padding: 8px 10px;
}

.post-md-rendered pre code {
	background: transparent;
	padding: 0;
}

.post-md-rendered a {
	color: var(--mocha-link, #d97922);
}

.post-md-rendered blockquote {
	border-left: 3px solid var(--mocha-border-solid, rgba(120, 136, 152, .35));
	color: var(--mocha-muted, #8290a0);
	margin: 6px 0;
	padding: 2px 10px;
}

.post-md-rendered img {
	border-radius: 4px;
	max-width: 100%;
}

.post-md-rendered table {
	border-collapse: collapse;
	margin: 6px 0;
	width: 100%;
}

.post-md-rendered th,
.post-md-rendered td {
	border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, .28));
	padding: 4px 8px;
	text-align: left;
}

.post-md-plain {
	background: transparent;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	margin: 0;
	padding: 0;
	white-space: pre-wrap;
	word-break: break-word;
}

.post-md-notice {
	background: color-mix(in srgb, var(--mocha-link, #d97922) 12%, transparent);
	border-top: 1px solid color-mix(in srgb, var(--mocha-link, #d97922) 30%, transparent);
	color: var(--mocha-muted, #8290a0);
	font-size: 11px;
	padding: 6px 14px;
}

div.post.post-multiple-files .file:has(.post-md-wrap),
div.post > .files.multifile .file:has(.post-md-wrap) {
	flex-basis: 100%;
	max-width: 100% !important;
	order: 1;
}

div.post.post-multiple-files .file:has(.post-md-wrap[open]),
div.post > .files.multifile .file:has(.post-md-wrap[open]) {
	width: 100% !important;
}

div.post.post-multiple-files .file:has(.post-md-wrap:not([open])),
div.post > .files.multifile .file:has(.post-md-wrap:not([open])) {
	width: auto !important;
}

div.post.post-multiple-files > .files,
div.post > .files.multifile {
	row-gap: 12px;
}

@media (max-width: 760px) {
	div.post.post-multiple-files .file:has(.post-md-wrap),
	div.post > .files.multifile .file:has(.post-md-wrap) {
		grid-column: 1 / -1 !important;
		order: 1;
	}
}

div.post.op.post-single-file:has(.post-md-wrap[open]) {
	display: block !important;
	width: 100% !important;
}

div.post.op.post-single-file:has(.post-md-wrap[open]) > .intro,
div.post.op.post-single-file:has(.post-md-wrap[open]) > .files.single-file,
div.post.op.post-single-file:has(.post-md-wrap[open]) > div.body.has-single-file,
div.post.op.post-single-file:has(.post-md-wrap[open]) > span.omitted {
	display: block;
	grid-column: auto;
	grid-row: auto;
	max-width: 100%;
	width: 100%;
}

div.post.op.post-single-file:has(.post-md-wrap[open]) > .files.single-file > .file.single-file {
	display: block;
	width: 100%;
}

div.post.op.post-single-file:has(.post-md-wrap[open]) > .files.single-file > .file.single-file > p.fileinfo {
	max-width: 100%;
}

div.post.post-single-file:has(.post-md-wrap) {
	grid-template-columns: 1fr !important;
}

div.post.post-single-file:has(.post-md-wrap) > .files.single-file > .file.single-file > p.fileinfo {
	grid-column: 1 !important;
	grid-row: 2 !important;
	max-width: 100% !important;
}

div.post.post-single-file:has(.post-md-wrap) > .files.single-file > .file.single-file > .post-md-wrap {
	grid-column: 1 !important;
	grid-row: 3 !important;
}

div.post.post-single-file:has(.post-md-wrap) > div.body.has-single-file {
	grid-column: 1 !important;
	grid-row: 4 !important;
	max-width: 100% !important;
}

.mocha-embed-link {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--mocha-link, #d97922);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	gap: 6px;
	padding: 0;
	text-align: left;
	vertical-align: middle;
}

.mocha-embed-link:hover {
	color: var(--mocha-link-hover, #f08c33);
	text-decoration: underline;
}

.mocha-embed-icon {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	height: 1.1em;
	justify-content: center;
	width: 1.1em;
}

.mocha-embed-icon svg {
	display: block;
	height: 100%;
	width: 100%;
}

.mocha-embed-link__text {
	overflow-wrap: anywhere;
}

.mv__embed {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.mocha-embed-tooltip {
	background: var(--mocha-surface, #2a2a34);
	border: 1px solid var(--mocha-border-solid, rgba(120, 136, 152, .35));
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .22);
	max-width: min(480px, calc(100vw - 16px));
	padding: 6px;
	pointer-events: none;
	position: fixed;
	z-index: 1200;
}

.mocha-embed-tooltip[hidden] {
	display: none;
}

.mocha-embed-tooltip__img {
	border-radius: 4px;
	display: block;
	max-height: 360px;
	max-width: 480px;
}

div.post .de-mp3 {
	display: none !important;
}

.thread-bumplimit-banner {
	background: color-mix(in srgb, #d97922 12%, transparent);
	border: 1px solid color-mix(in srgb, #d97922 45%, transparent);
	border-radius: 6px;
	color: var(--mocha-text, #e7e7e7);
	font-size: 13px;
	line-height: 1.45;
	margin: 14px 0 18px;
	padding: 10px 14px;
}

.thread-bumplimit-banner--cycle {
	background: color-mix(in srgb, #5b8fb9 18%, transparent);
	border-color: color-mix(in srgb, #5b8fb9 50%, transparent);
}

.public_ban {
	--public-ban-accent: #d9534f;
	background: color-mix(in srgb, var(--public-ban-accent) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--public-ban-accent) 45%, transparent);
	border-radius: 4px;
	color: color-mix(in srgb, var(--public-ban-accent) 75%, var(--mocha-text, #1a1a1a));
	display: block;
	font-size: .85em;
	font-weight: 700;
	letter-spacing: .02em;
	margin: 6px 0 0;
	padding: 4px 10px;
	text-transform: uppercase;
	width: fit-content;
	max-width: 100%;
}

html[data-mocha-theme=dark] .public_ban {
	color: color-mix(in srgb, var(--public-ban-accent) 60%, #fff);
}

.public_ban__by {
	text-transform: none;
	font-weight: 600;
	opacity: .85;
}

.mod-edit-post {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 auto;
	max-width: 980px;
	padding: 12px 0;
	width: 100%;
}

.mod-edit-post__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mod-edit-post__label {
	color: var(--mocha-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.mod-edit-post__input,
.mod-edit-post__textarea {
	background: var(--mocha-surface);
	border: 1px solid var(--mocha-border-solid);
	border-radius: 4px;
	box-sizing: border-box;
	color: var(--mocha-text);
	font: inherit;
	padding: 8px 10px;
	width: 100%;
}

.mod-edit-post__input:focus,
.mod-edit-post__textarea:focus {
	border-color: var(--mocha-link);
	outline: none;
}

.mod-edit-post__textarea {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	line-height: 1.5;
	min-height: 360px;
	resize: vertical;
	tab-size: 4;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.mod-edit-post__toolbar {
	background: var(--mocha-surface);
	border: 1px solid var(--mocha-border-solid);
	border-bottom: 0;
	border-radius: 4px 4px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 6px;
}

.mod-edit-post__row--body .mod-edit-post__toolbar + .mod-edit-post__textarea {
	border-radius: 0 0 4px 4px;
	border-top: 0;
}

.mod-edit-post__tool {
	background: var(--mocha-bg);
	border: 1px solid var(--mocha-border-solid);
	border-radius: 3px;
	color: var(--mocha-text);
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	line-height: 1;
	min-width: 30px;
	padding: 5px 8px;
	transition: background .12s, color .12s;
}

.mod-edit-post__tool:hover {
	background: var(--mocha-link);
	border-color: var(--mocha-link);
	color: #fff;
}

.mod-edit-post__tool code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
}

.mod-edit-post__tool--spoiler {
	background: var(--mocha-text);
	border-radius: 2px;
	color: var(--mocha-text);
	padding: 0 4px;
}

.mod-edit-post__tool:hover .mod-edit-post__tool--spoiler {
	background: #fff;
	color: #fff;
}

.mod-edit-post__footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-top: 4px;
}

.mod-edit-post__mode {
	color: var(--mocha-muted);
	font-size: 13px;
}

.mod-edit-post__mode a {
	color: var(--mocha-link);
}

.mod-edit-post__submit {
	background: var(--mocha-link);
	border: 0;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 8px 18px;
	transition: filter .12s;
}

.mod-edit-post__submit:hover {
	filter: brightness(1.08);
}

.maintenance-banner {
	align-items: center;
	background: #b54e22;
	color: #fff;
	display: flex;
	font-size: 11px;
	font-weight: 600;
	gap: 6px;
	justify-content: center;
	padding: 3px 12px;
	text-align: center;
	line-height: 1.2;
}

.maintenance-banner__icon {
	font-size: 12px;
	line-height: 1;
}

@media (max-width: 520px) {
	.maintenance-banner {
		font-size: 10px;
		padding: 3px 8px;
	}
}

