/* ===== ENGINE.CSS — HubNews Theme ===== */

#loading-layer { background: #111827; padding: 10px; text-align: center; color: #fff; border-radius: 8px }

#loading-layer.withouttext {
    background: rgba(17, 24, 39, 0.6);
    padding: 5px 5px 0 5px;
    text-align: center;
    color: #fff;
    border-radius: 50%;
}

#loading-layer.withtext {
    padding: 10px;
    background: rgba(17, 24, 39, 0.6);
    color: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.scriptcode, .title_quote,
    .title_spoiler, .text_spoiler, .quote { padding: 10px; background: var(--bg-card, #fff); border: 1px solid #e5e7eb; border-radius: 8px; }

    .title_quote { border-left: 3px solid var(--accent-blue, #0284c7); border-bottom: 0; margin-top: 2px; font-weight: 700; }
    .quote, blockquote { border-left: 3px solid var(--accent-blue, #0284c7); }
    .quote_block { margin-bottom: .7rem; }
    .title_spoiler { margin-top: 2px; }
    .text_spoiler { margin-bottom: 2px; }
    .title_spoiler img { vertical-align: middle; margin: -1px 0 0 !important; }
    .scriptcode { color: #16a34a; text-align: left; font-family: "Courier New", monospace; }
    .title_spoiler { font-weight: normal; }
    .text_spoiler { border-top: 0; text-align: justify; }

    .hide { background-color: #f3f4f6; padding: 5px; color: #16a34a; border-radius: 6px; margin: 0 0 1em 0; }
    .hide a { text-decoration: underline; } .hide a:hover { text-decoration: none; }

.sort-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding: 10px 14px;
    background: var(--bg-card, #fff);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.sort-bar-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.sort { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
    .sort > li { margin: 0; }
    .sort > li a {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 600;
        color: var(--text-muted, #6b7280);
        background: #f3f4f6;
        text-decoration: none;
        transition: background 0.2s, color 0.2s;
    }
    .sort > li a:hover { background: var(--accent-blue-light, #e0f2fe); color: var(--accent-blue, #0284c7); }
    .sort > li.asc a, .sort > li.desc a { background: var(--accent-blue, #0284c7); color: #fff; }

    .sort > li.asc a:after, .sort > li.desc a:after {
        content: "";
        width: 0;
        height: 0;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        margin-left: 3px;
    }
    .sort > li.asc a:after { border-bottom: 5px solid #fff; }
    .sort > li.desc a:after { border-top: 5px solid #fff; }

@media (max-width: 640px) {
    .sort-bar { flex-direction: column; align-items: stretch; gap: 8px; }
    .sort { width: 100%; }
    .sort > li { flex: 1 1 auto; }
    .sort > li a { width: 100%; justify-content: center; }
}

.calendar { width: 100%; text-align: center; }
.calendar tr td, .calendar tr th { padding: 3px; }
    .calendar tr td a { color: inherit; font-weight: 700; }
    .calendar tr td { padding: 5px 3px; }
    .calendar tr td.weekday { color: var(--accent-green, #10b981); }
    .calendar tr th { background-color: var(--bg-card, #fff); font-weight: 700; text-transform: uppercase; }
    .calendar tr th.weekday { background-color: var(--accent-blue, #0284c7); color: #fff; }
    .calendar tr th.monthselect { background-color: transparent; color: var(--text-muted, #6b7280); padding-bottom: 15px; }
    .calendar tr th.monthselect a { color: var(--text-muted, #6b7280); }

.voteprogress, .pollprogress {
    overflow: hidden;
    height: 6px;
    margin-bottom: 10px;
    background-color: #e5e7eb;
    border-radius: 3px;
    margin-top: 6px;
}
    .voteprogress span, .pollprogress span {
        text-indent: -9999px;
        height: 6px;
        display: block;
        overflow: hidden;
        background: var(--accent-blue, #0284c7);
    }
    .voteprogress .vote2, .pollprogress .poll2 { background-color: #ef4444; }
    .voteprogress .vote3, .pollprogress .poll3 { background-color: #22c55e; }
    .voteprogress .vote4, .pollprogress .poll4 { background-color: #06b6d4; }
    .voteprogress .vote5, .pollprogress .poll5 { background-color: #f59e0b; }

.rating, .unit-rating { width: 115px; height: 23px; }
    .rating { font-size: 11px; }
    .unit-rating, .unit-rating li a:hover, .unit-rating li.current-rating {
        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAACKBAMAAAAnGmX8AAAALVBMVEX///+RkZH+12L/w0//7cP/5aj+24X/+u7/9d2tra3Jycne3t7/zGn5+fnx8fHkdmbhAAACEUlEQVRIx+2UuUsDQRTGF+8bp4yiyKDRUhiNFikW73LxwsIiRETL4F2KilpYmFYQklIE0VYbIQQsY2kjWkbwfzDjzvhm3rzCJiCSr1p+SfY7HsT7w2rYp3ltQPO6HpqPDdA8GSVxPeckr+HcJ205T1D8gHPSeJbzPopz7hrvnk4sSL4wcboLdIpb6v0ZxuY+LGB/HRY2ubn2MeB1a5ukxtEUGkEp4bSVchtvhLzfORaE/NV7VCDnlFzJPSKPJmEcczpffhg4x13zvB2nVxXvDdP2oKNHU+FOAyi+r/xRgWn9sOVVRKv8/ycJmlc/0nx8iOYrMRLXC5EibYUIKN4iBGl8KMQoaSsEaZwTIo7Z3tHkoihpdX7mBOiysJSHhJYCWMDExho1JjfXPgP8ZG2T0zhub7SjecJpK+U23gz5iHMsHRJpLuTDzmoqjnNEJRXTbByTv/Gd48YD+WHgHHddtsMnrhb5MO0gih/b/7ZfQQWWA+WPCizph22vojKr7Y3mTec0L7bT/K6T5ukIbctYgbRlLEPxRsbOSVvGuimeZYw0ZiVh9vpwfyX5xfXDJ1CJDHVAQlOQtvXOxMYazSa/9UDvGqIOrWmNI/ZxXjS/xCOrjHjSZ3g7Wg1CmsZZ6Eq9P1LAR1RCXDaOpKGtOV2mGUaD48pGRXliFL8jTNuF4odB2tKoQDaj/FGBG/3w4f0LfQHtX5JXyZBVcwAAAABJRU5ErkJggg==);
        -webkit-background-size: 23px auto; background-size: 23px auto;
    }
    .unit-rating {
        list-style: none;
        margin: 0; padding: 0;
        position: relative;
        background-position: 0 -46px;
    }
    .unit-rating li {
        text-indent: -90000px;
        padding: 0; margin: 0;
        float: left;
    }
    .unit-rating li a {
        display: block;
        width: 23px; height: 23px;
        text-decoration: none;
        border: 0 none !important;
        text-indent: -9000px;
        z-index: 17;
        position: absolute;
        padding: 0;
    }
    .unit-rating li a:hover {
        background-position: 0 -23px;
        z-index: 2;
        left: 0;
    }
    .unit-rating a.r1-unit { left: 0; }
    .unit-rating a.r1-unit:hover { width: 23px; }
    .unit-rating a.r2-unit { left: 23px; }
    .unit-rating a.r2-unit:hover { width: 46px; }
    .unit-rating a.r3-unit { left: 46px; }
    .unit-rating a.r3-unit:hover { width: 69px; }
    .unit-rating a.r4-unit { left: 69px; }
    .unit-rating a.r4-unit:hover { width: 92px; }
    .unit-rating a.r5-unit { left: 92px; }
    .unit-rating a.r5-unit:hover { width: 115px; }
    .unit-rating li.current-rating {
        background-position: 0 0;
        position: absolute;
        height: 23px;
        display: block;
        text-indent: -9000px;
        z-index: 1;
        padding: 0;
    }

    .ratingplus { color: #22c55e; }
    .ratingminus { color: #ef4444; }
    .ratingzero { color: #6b7280; }

/* ===== Form Elements ===== */

select, textarea, input[type="text"], input[type="password"], input[type="file"],
input[type="datetime"], input[type="datetime-local"], input[type="date"],
input[type="month"], input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"], input[type="tel"],
input[type="color"] {
    display: inline-block;
    max-width: 100%;
    font-family: inherit;
    vertical-align: middle;
    color: var(--text-primary, #111827);
    box-sizing: border-box;
}

select {
    width: auto;
    padding: 8px 2.2rem 8px 10px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    appearance: none;
}

select[multiple] { padding-right: .75rem; background-image: none; }

textarea { margin: 0; overflow: auto; vertical-align: top; resize: vertical; }

textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus,
input[type="file"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus,
input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus,
input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus,
input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="color"]:focus, .uneditable-input:focus {
    outline: none;
}

input[type="file"], input[type="image"], input[type="submit"], input[type="reset"], input[type="button"] { width: auto; }
input[type="search"] { box-sizing: border-box; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
select[multiple], select[size], textarea { height: auto; }
input::-moz-placeholder, textarea::-moz-placeholder, input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { opacity: 0.5; }
input:focus { outline: none; }
input[type="file"], input[type="image"] { padding: 0; border-width: 0; background-color: transparent; }
.wide, .bb-editor textarea, .ui-dialog textarea, select#category, .timezoneselect, .twofactorselect, .quick-edit-text { width: 100% !important; }
select#category { max-width: 24.31em !important; height: 9.72em !important; }
#searchuser, #searchinput { width: 100% !important; margin-bottom: 10px; }

input[type=checkbox], input[type=radio] {
    font-size: 1em;
    width: 1.1em; height: 1.1em;
    margin: 0 0.5em 0 0;
    appearance: none;
    background-color: var(--bg-card, #fff);
    border: 1px solid #d1d5db;
    vertical-align: middle;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}
input:checked[type=checkbox] {
    background-color: var(--accent-blue, #0284c7);
    border-color: var(--accent-blue, #0284c7);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}
input:checked[type=radio] {
    background-color: var(--accent-blue, #0284c7);
    border-color: var(--accent-blue, #0284c7);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}
input[type=checkbox] { border-radius: 4px; }
input[type=radio] { border-radius: 50%; }

/* ===== Captcha ===== */

.form_submit .c-captcha { float: right; }
.c-captcha, .dle-captcha { position: relative; }
.c-captcha:after, .dle-captcha:after { clear: both; display: block; content: ""; }
.c-captcha > a, .dle-captcha > a { float: left; margin-right: 5px; }
.c-captcha img, .dle-captcha img {
    position: relative;
    display: block;
    width: 9.03em; height: 3.194em;
    z-index: 1;
    border-radius: 6px;
    transition: all ease .2s;
}
.c-captcha > input, .dle-captcha > input { float: left; width: 9.03em; height: 3.194em; }

/* ===== Buttons ===== */

.btn, .bbcodes, .btn-border {
    border: 0 none;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    border-radius: var(--border-radius-sm, 8px);
    outline: none;
    background-color: var(--accent-blue, #0284c7);
    color: #fff;
    padding: .55em 1.5em;
    text-decoration: none !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);
    box-sizing: border-box;
    transition: background-color ease .15s;
}
    .btn > .icon { fill: #fff; }
    .btn-white > .icon { fill: var(--accent-blue, #0284c7); }
    .btn-white { background-color: #fff; color: var(--accent-blue, #0284c7); }
    .btn-white:hover > .icon { fill: #fff; }
    .btn-white:hover { background-color: var(--accent-blue, #0284c7); color: #fff; }
    .btn:hover, .bbcodes:hover { background-color: #0369a1; }

.bbcodes.cancelchanges { background-color: #6b7280; }
.bbcodes.cancelchanges:hover { background-color: #4b5563; }
.btn-big { padding: .8em 1.8em; border-radius: var(--border-radius-md, 12px); }
.btn-border {
    color: var(--accent-blue, #0284c7);
    border: 2px solid var(--accent-blue, #0284c7);
    line-height: 1.5;
    padding: .55em 1.4em;
    background-color: transparent !important;
    box-shadow: none;
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.65;
    box-shadow: none;
}

/* ===== Progress ===== */

.progress {
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 10px;
    background-color: #e5e7eb;
    height: 10px;
    border-radius: 8px;
}
.progress .progress-bar {
    float: left;
    width: 0%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: var(--accent-blue, #0284c7);
    border-radius: 8px;
    height: 10px;
    transition: width 0.6s ease;
}
.progress-blue {
    background-image: linear-gradient(to bottom, #7dd3fc 0%, #38bdf8 100%);
    border: 1px solid #0ea5e9;
}

/* ===== Emoji ===== */

span.emoji { margin-left: 0.313rem; margin-right: 0.313rem; }
.emoji { border: none; vertical-align: bottom; }
.native-emoji { font-size: 1.3em; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols'; }

.emoji_box { width: 100%; max-width: 390px; }
.emoji_category { padding: 7px; clear: both; }
.emoji_list { margin: 5px 0; width: 100%; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols'; font-size: 2em; }
.emoji_symbol { float: left; margin-bottom: 10px; width: 12.5%; text-align: center; }
.emoji_symbol a, .emoji_symbol a:hover { cursor: pointer; text-decoration: none; }

/* ===== Editor ===== */

.wseditor { border-top: 4px solid var(--accent-blue, #0284c7); border-radius: 8px 8px 0 0; }
.wseditor .tox-tinymce { border-top: none; }
#dlefastreplycomments .wseditor { margin-bottom: 10px; }
.dlecomments-editor .tox .tox-toolbar__primary, .dlefastedit-editor .tox .tox-toolbar__primary { border-top: 0; box-shadow: none; }
.mobilewseditor .tox:not(.tox-tinymce-inline) .tox-editor-header { border-bottom: none; }

.bb-editor textarea {
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid #e5e7eb;
    width: 100%;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
    border-radius: 8px;
    outline: none;
}

/* ===== Xfields ===== */

table.xfields { width: 100%; }
.xfields textarea, .xprofile textarea { width: 100%; height: 12.92em; margin-top: .555em; }
.xfields input[type="text"] { width: 100%; }
.xfieldsdescr { width: 13.89em; }
.xfields .bb-pane + textarea { margin-top: 0; }
.xfieldsnote { color: #6b7280; font-size: .9em; }
.xfields_table td { vertical-align: top; }
.xfieldsrow { padding-top: 10px; clear: both; }
.xfieldscolleft { float: left; width: 30%; padding-top: 6px; }
.xfieldscolright { float: left; width: 70%; }

.file-box {
    width: 95%;
    max-width: 437px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background-color: #f9fafb;
    padding: 10px;
    margin-top: 10px;
}

.xfieldimagegallery, .comments-image-gallery { margin: 0; padding: 0; list-style: none; clear: both; }
.xfieldimagegallery li, .comments-image-gallery li { list-style: none; margin: 0; padding: 0; }
.xfieldimagegallery li img, .comments-image-gallery li img {
    float: left;
    margin-right: 5px;
    border: 3px solid #fff;
    border-radius: 8px;
    width: 100px;
    height: 100px;
    transition: box-shadow 0.3s ease;
}
.xfieldimagegallery li img:hover, .comments-image-gallery li img:hover { box-shadow: 0 0 8px rgba(0,0,0,0.2); }

.qq-uploader { position: relative; width: 100%; }
.qq-upload-button { display: inline-block; margin: 5px 0; cursor: pointer; }
.qq-upload-drop-area { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; max-width: 437px; background: #fca5a5; text-align: center; }
.qq-upload-drop-area span { display: block; position: absolute; top: 50%; width: 100%; margin-top: -8px; font-size: 16px; }
.qq-upload-drop-area-active { background: #f87171; }
.sortable-ghost { opacity: 0.4; }

/* ===== jQuery UI Dialog ===== */

.ui-front { z-index: 1000; }
.ui-widget-overlay { background: #000; opacity: 0.5; left: 0; top: 0; right: 0; bottom: 0; position: fixed; }
.ui-helper-clearfix:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }
.ui-helper-clearfix { display: block; }
.ui-dialog {
    text-align: left;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 370px;
    border-radius: var(--border-radius-md, 12px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.2);
    background-color: var(--bg-card, #fff);
    outline: none;
    border: 1px solid #e5e7eb;
}
.ui-dialog-titlebar {
    padding: .75em 1em;
    position: relative;
    background-color: var(--accent-blue, #0284c7) !important;
    color: #fff;
}
.ui-dialog-title { float: left; font-weight: 600; }
.ui-dialog-titlebar-close {
    position: absolute;
    right: .7em;
    top: 50%;
    transform: translateY(-50%);
    height: 28px !important;
    width: 28px !important;
    border: 0 none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    overflow: hidden !important;
    text-indent: -9999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    border-radius: 6px;
    transition: background-color 0.15s ease;
}
.ui-dialog-titlebar-close:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.ui-dialog-titlebar-close .ui-icon,
.ui-dialog-titlebar-close .ui-button-icon,
.ui-dialog-titlebar-close span.ui-button-text,
.ui-dialog-titlebar-close span.ui-button-icon-space {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0.85;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center center no-repeat !important;
    background-size: 14px 14px !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    display: block !important;
}
.ui-dialog-titlebar-close:hover .ui-icon,
.ui-dialog-titlebar-close:hover .ui-button-icon,
.ui-dialog-titlebar-close:hover span.ui-button-text {
    opacity: 1 !important;
}

.ui-icon, .ui-button-icon-only { overflow: hidden; text-indent: -9999px; }

.ui-button {
    font-size: 14px;
    border: 0 none;
    vertical-align: middle;
    cursor: pointer;
    border-radius: var(--border-radius-sm, 8px);
    outline: none;
    background-color: var(--accent-blue, #0284c7);
    color: #fff;
    padding: .6em 1.4em;
    text-decoration: none !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);
    transition: background-color ease .15s;
    margin: 0 3px;
}
.ui-button:hover { background-color: #0369a1; }

.ui-dialog label { color: #374151; }
.ui-dialog-content { padding: 1em; overflow: auto; position: relative; }
.loginbox.ui-dialog, .loginbox .ui-dialog-content { overflow: visible !important; }
.ui-dialog-content h2 { display: inline; font-size: 1em; font-weight: 700; }
.ui-dialog .ui-dialog-buttonpane { padding: .7em 1em; text-align: right; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
.ui-state-error { background: #fef2f2 !important; border: 1px solid #ef4444; color: #ef4444; }
.ui-helper-hidden-accessible { display: none; }

.ui-dialog-buttonset button:last-child { background-color: var(--accent-blue, #0284c7); color: #fff; }
.ui-dialog-buttonset button:last-child:hover { background-color: #0369a1; }
.ui-dialog-buttonset button:first-child { background-color: #6b7280; border-color: #6b7280; color: #fff; }
.ui-dialog-buttonset button:first-child:hover { background-color: #4b5563; }
.ui-dialog-buttonset button.ui-button-delete { background-color: #ef4444; border-color: #ef4444; color: #fff; }
.ui-dialog-buttonset button.ui-button-delete:hover { background-color: #dc2626; }

.tox .tox-dialog__footer .tox-button--secondary { background-color: #6b7280 !important; border-color: #6b7280 !important; color: #fff !important; }
.tox .tox-button { background-color: var(--accent-blue, #0284c7) !important; border-color: var(--accent-blue, #0284c7) !important; }
.tox .tox-dialog__header { color: #fff !important; background-color: var(--accent-blue, #0284c7) !important; border-bottom: var(--accent-blue, #0284c7) !important; }

.ui-autocomplete { position: absolute; cursor: default; }
.ui-menu {
    list-style: none;
    padding: 2px;
    margin: 0;
    float: left;
    background: var(--bg-card, #fff);
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: var(--text-primary, #111827);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.ui-menu .ui-menu { margin-top: -3px; }
.ui-menu .ui-menu-item { margin: 0; padding: .3em .5em; cursor: pointer; width: 100%; }

/* ===== Search Suggestions ===== */

#searchsuggestions {
    z-index: 2200;
    width: 23.15em;
    border-radius: 8px;
    background: var(--bg-card, #fff);
    box-shadow: 0 12px 32px rgba(0,0,0,0.15);
    border: 1px solid #e5e7eb;
    font-size: .9em;
    box-sizing: border-box;
}
#searchsuggestions a, #searchsuggestions span.notfound { padding: 12px 20px; display: block; text-decoration: none; border-bottom: 1px solid #f3f4f6; }
#searchsuggestions a { color: inherit; }
#searchsuggestions a:hover { background-color: #f9fafb; }
#searchsuggestions a span { display: block; cursor: pointer; }
#searchsuggestions span.searchheading { display: block; font-weight: 700; margin-bottom: .2em; }
#searchsuggestions span.seperator { display: block; }
#searchsuggestions span.seperator a { padding: 10px 0; text-align: center; border: 0 none; background-color: transparent; color: #6b7280; }
#searchsuggestions span.notfound { padding: 15px 25px; display: block; }
#searchsuggestions .break { display: none; }

/* ===== Dropdown ===== */

#dropmenudiv {
    padding: .7em 0;
    min-width: 10em;
    width: auto !important;
    font-size: 14px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.15);
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background-clip: padding-box;
    background-color: var(--bg-card, #fff);
}
#dropmenudiv a { text-decoration: none !important; color: inherit; display: block; padding: 4px 20px; border: 0 none; white-space: nowrap; }
#dropmenudiv a:hover { background-color: #f3f4f6; }

/* ===== Share Popup ===== */

#share-popup {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: var(--bg-card, #fff);
    position: absolute;
    z-index: 100;
    width: 414px;
    display: none;
    padding: 20px 0;
    opacity: 0;
    box-shadow: 0 12px 32px rgba(0,0,0,0.15);
}
#share-popup.show { display: block; opacity: 1; }
#share-popup .social { padding: 0 0 10px 17px; }
#share-popup .social p { padding-bottom: 10px; margin: 0; font-weight: 700; }
#share-popup .social ul { list-style: none; margin: 0; padding: 0; }
#share-popup .social ul li { display: inline; margin-right: 20px; padding-top: 2px; }
#share-popup .social ul a { text-decoration: none; font-size: 12px; display: inline-block; color: #6b7280; }
#share-popup .social ul a:hover { text-decoration: underline; }
#share-popup .social a span {
    cursor: pointer;
    width: 20px; height: 20px;
    background: url(../dleimages/social-icons.png) 20px 20px no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin: -3px 5px 0 0;
}
#share-popup .social .tw span { background-position: 0 -20px; }
#share-popup .social .tw:hover span { background-position: 0 0; }
#share-popup .social .fb span { background-position: -20px -20px; }
#share-popup .social .fb:hover span { background-position: -20px 0; }
#share-popup .social .vk span { background-position: -40px -20px; }
#share-popup .social .vk:hover span { background-position: -40px 0; }
#share-popup .social .gp span { background-position: -60px -20px; }
#share-popup .social .gp:hover span { background-position: -60px 0; }
#share-popup .link { clear: both; border-top: 1px solid #e5e7eb; padding: 10px 5px 0 10px; line-height: 1.2; overflow: hidden; margin: 0 7px; }
#share-popup .link p { font-weight: 700; padding: 0 0 3px; margin: 0; }
#share-popup .link span { color: #6b7280; font-size: 10px; display: block; padding-top: 3px; }
#share-popup .link a { display: block; }

.dle-alert, .dle-confirm, .dle-promt { padding: 20px 1em !important; }

/* ===== Marker / Selection ===== */

#marker-bar, #txtselect_marker {
    display: block;
    visibility: hidden;
    position: absolute;
    z-index: 1200;
    opacity: 0;
    transition: opacity .4s, visibility .1s linear .4s;
}
#txtselect_marker { cursor: pointer; background: url(../dleimages/marker.png) no-repeat 0 0; }
#txtselect_marker:hover { background-position: 0 -32px; }
#marker-bar {
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    background: var(--bg-card, #fff);
    padding: 5px 10px;
    cursor: default;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
#marker-bar.show { opacity: 1; visibility: visible; transition: opacity .4s, visibility 0s; }
#txtselect_marker.show { visibility: visible; width: 32px; height: 32px; opacity: 1; transition: opacity .4s, visibility 0s; }
#marker-bar .masha-social, #marker-bar .masha-marker { cursor: pointer; display: block; margin: 0 5px; float: left; }
#marker-bar .masha-marker { line-height: 1em; color: #9ca3af; border-bottom: 1px dotted #9ca3af; margin-right: 10px; }
#marker-bar .masha-marker:hover { color: #ef4444; border-color: #ef4444; }
.user_selection, .user_selection_true { background: #fef9c3; padding: 2px 0; }
.user_selection a.txtsel_close, .user_selection_true a.txtsel_close { display: none; }
.user_selection .closewrap, .user_selection_true .closewrap { position: relative; }
.user_selection.hover a.txtsel_close, .user_selection_true.hover a.txtsel_close {
    display: inline-block;
    position: absolute;
    top: -7px; left: -5px;
    width: 33px; height: 33px;
    background: url(../dleimages/closemarker.png) 0 0 no-repeat;
}
.user_selection.hover a.txtsel_close:hover, .user_selection_true.hover a.txtsel_close:hover { background-position: 0 -33px; }

/* ===== DLEPush ===== */

.DLEPush { z-index: 2001; position: fixed; right: 1.4em; top: 1.4em; }
@keyframes DLEPush-show { 0% { transform: translateY(100%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
.DLEPush-notification.wrapper {
    animation-name: DLEPush-show;
    animation-duration: 1s;
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    color: var(--text-primary, #111827);
    margin-bottom: .7em;
    width: 100%;
    max-width: 27.78em;
    box-shadow: 0 12px 28px rgba(0,0,0,0.15);
    background-color: var(--bg-card, #fff);
    border-radius: var(--border-radius-md, 12px);
}
.DLEPush-notification .DLEPush-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 3.125em;
    height: 100%;
    border-top-left-radius: var(--border-radius-md, 12px);
    border-bottom-left-radius: var(--border-radius-md, 12px);
    text-align: center;
}
.DLEPush-notification .DLEPush-icon svg { width: 1.78em; height: 1.78em; }
.DLEPush-notification .DLEPush-header { font-weight: 500; grid-column: 2; grid-row: 1; margin-left: 1em; margin-top: .5em; }
.DLEPush-notification .DLEPush-header:empty { margin-top: 0; }
.DLEPush-notification .DLEPush-message { grid-column: 2; grid-row: 2; font-size: 14px; margin: 1em; }
.DLEPush-notification .DLEPush-close { position: absolute; top: 8px; right: 10px; font-weight: 300; background: none; border: 0; font-size: 18px; cursor: pointer; line-height: 1; padding: 0; color: inherit; outline: 0; opacity: .75; }
.DLEPush-notification .DLEPush-close:hover { opacity: 1; }
@media only screen and (min-width: 601px) { .DLEPush-notification.wrapper { min-width: 27.78em; } }
@media only screen and (max-width: 600px) {
    .xfieldscolleft, .xfieldscolright { float: none; width: 100%; }
}
.DLEPush-notification.wrapper.push-success { background-color: #ecfdf5; }
.DLEPush-notification.wrapper.push-success .DLEPush-icon { background-color: #10b981; }
.DLEPush-notification.wrapper.push-warning { background-color: #fffbeb; }
.DLEPush-notification.wrapper.push-warning .DLEPush-icon { background-color: #f59e0b; }
.DLEPush-notification.wrapper.push-error { background-color: #fef2f2; }
.DLEPush-notification.wrapper.push-error .DLEPush-icon { background-color: #ef4444; }

/* ===== Misc ===== */

.quote_link { float: right; }
.quote_link svg { color: #6b7280; vertical-align: middle; }
.clipboard-copy-link svg { color: #6b7280; vertical-align: middle; margin-top: -3px; }
.smart-captcha { display: inline-block; }

.quick-edit-text { padding: .4em; width: 350px; }
.quick-edit-textarea {
    height: 250px;
    padding: 8px;
    border: 1px solid #e5e7eb;
    width: 100%;
    border-radius: 8px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

#dlefastreplycomments { padding: 0 4% 10px 4%; }

.comments-user-profile { font-weight: 700; cursor: pointer; color: var(--accent-blue, #0284c7); }

.mce-toc { border: 1px solid #e5e7eb; margin: 0 0 .7rem 0; border-radius: 8px; }
.mce-toc h2 { margin: 4px; }
.mce-toc ul { padding-left: 20px; list-style: none; margin: 1em 0; }
.mce-toc ul ul { padding-left: 20px; margin: 0; }
.mce-toc li { list-style-type: none; }

.image-bordered { border: 1px solid #e5e7eb; }
.image-shadows { box-shadow: rgb(9 30 66 / 25%) 0px 4px 8px -2px, rgb(9 30 66 / 8%) 0px 0px 0px 1px; }
.image-padded { padding: 0.5rem; }

.title_spoiler svg { vertical-align: middle; margin-top: -.28em; margin-right: .47em; height: 1.11em; width: 1.11em; }
.mce-accordion summary { cursor: pointer; }

.self_delete_link {
    border: 0 none;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    padding: .8em 1.8em;
    border-radius: var(--border-radius-md, 12px);
    margin-left: 1em;
    outline: none;
    background-color: #ef4444;
    color: #fff;
    text-decoration: none !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);
    box-sizing: border-box;
    transition: background-color ease .15s;
}
input[type="text"].comments_author_field { width: 100%; margin-bottom: .7em; }
.user_fields .xfieldscolright { float: none; width: auto; }
.user_fields .form-check-input { margin: .4em .7em 0 0; }

.mathml-container { font-family: math; }
div.mathml-block { font-size: 1.1em; display: flex; align-items: center; justify-content: center; padding: .139em .35em; }
div.mathml-block .katex { font-size: 1.1em; }
span.mathml-inline { display: inline-block; vertical-align: middle; margin: 0 .12em; }

.dleshowhidden {
    color: #075985;
    background-color: #e0f2fe;
    border: 1px solid #0284c7;
    border-radius: 8px;
    box-shadow: 0 5px 12px rgba(2, 132, 199, 0.15);
    padding: .83em;
}
