/* fonts */

    * { margin: 0; padding: 0; }
    body { padding: 64px 20px 40px; font-synthesis: none; }
        .site-ver { position: fixed; top: 8px; left: 10px; z-index: 10; font-size: 11px; line-height: 1; color: #9aa4b0; opacity: .6; pointer-events: none; user-select: none; letter-spacing: .02em; }
    h1 { font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 22px; font-weight: 700; margin-bottom: 20px; }
    .topbar h1 { margin-bottom: 0; }
    .login { background: #fff; padding: 24px; border-radius: 0; box-shadow: 0 2px 12px rgba(0,0,0,0.06); max-width: 420px; margin: 60px auto; }
    .login .back-link { display: inline-block; font-size: 13px; color: #666; text-decoration: none; margin-bottom: 12px; font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-weight: 300; }
    .login .back-link:hover { color: #0d1b2a; text-decoration: underline; }
    .login input { width: 100%; padding: 10px; font-size: 14px; border: 1px solid #ddd; border-radius: 0; margin-bottom: 12px; }
    .login button { padding: 10px 24px; background: #0d1b2a; color: #fff; border: none; border-radius: 0; cursor: pointer; }
    .err { color: #d32f2f; font-size: 13px; margin-bottom: 8px; }

    /* btnc */
    button { text-align: center; -webkit-appearance: none; appearance: none; }
    /* num */
    .num-up { font-style: normal; font-variation-settings: 'ital' 0; }

    .layout { display: flex; gap: 20px; align-items: flex-start; }
    .layout .col-left { flex: 0 0 640px; max-width: 640px; position: sticky; top: 24px; }
    .layout .col-middle { flex: 1; min-width: 0; }
    .layout .col-right { flex: 0 0 320px; max-width: 320px; position: sticky; top: 24px; }
    /* pp */
    .pp-cols { display: flex; gap: 22px; align-items: flex-start; }
    .pp-col { flex: 1 1 0; min-width: 0; }
    @media (max-width: 640px) {
        .pp-cols { flex-direction: column; gap: 14px; }
        .pp-col { width: 100%; }
    }
    /* bgp */
    .bg-picker { display: flex; gap: 10px; margin-bottom: 12px; }
    .bg-picker .bg-chip { position: relative; width: 48px; height: 34px; border: 1px solid rgba(0,0,0,.14); border-radius: 0; cursor: pointer; padding: 0; margin: 0; box-shadow: 0 1px 3px rgba(0,0,0,.10); background: #ffffff; }
    .bg-picker .bg-chip::after { content: ''; position: absolute; inset: 0; border-radius: 0; background: transparent; }
    .bg-picker .bg-chip[data-bg="green"]::after  { background: radial-gradient(120% 120% at 100% 100%, rgba(120,200,140,.5), rgba(120,200,140,0) 62%); }
    .bg-picker .bg-chip[data-bg="pink"]::after   { background: radial-gradient(120% 120% at 100% 100%, rgba(250,160,195,.5), rgba(250,160,195,0) 62%); }
    .bg-picker .bg-chip[data-bg="purple"]::after { background: radial-gradient(120% 120% at 100% 100%, rgba(165,140,235,.5), rgba(165,140,235,0) 62%); }
    .bg-picker .bg-chip.active { outline: 2px solid #5c9fd6; outline-offset: 2px; }
    @media (max-width: 1200px) {
        .layout { flex-direction: column; }
        .layout .col-left,
        .layout .col-middle,
        .layout .col-right { flex: none; max-width: 100%; width: 100%; position: static; }
    }

    .post-panel,
    .list-panel,
    .bug-panel {
        background: #fff;
        padding: 20px 24px;
        border-radius: 0;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    }
    .post-panel h2,
    .list-panel h2,
    .bug-panel h2 {
        font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif;
        font-size: 16px;
        margin-bottom: 14px;
        font-weight: 600;
    }
    .bug-panel h2 .count-badge {
        display: inline-block;
        font-size: 12px;
        color: #fff;
        background: #d32f2f;
        padding: 1px 8px;
        border-radius: 0;
        margin-left: 6px;
        font-weight: normal;
    }

    .post-panel input[type="text"],
    .post-panel textarea {
        width: 100%;
        padding: 10px;
        font-size: 14px;
        font-family: inherit;
        border: 1px solid #ddd;
        border-radius: 0;
        margin-bottom: 10px;
        outline: none;
    }
    .post-panel input[type="text"]:focus,
    .post-panel textarea:focus { border-color: #0d1b2a; }
    .post-panel textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
    .post-panel .stk-picker-admin { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-height: 124px; overflow-y: auto; padding: 6px; margin-bottom: 12px; border: 1px solid #eef0f3; background: #fbfcfe; }
    .post-panel .stk-picker-admin .stk-th { width: 100%; height: auto; aspect-ratio: 1 / 1; padding: 0; border: 1px solid #e3e7ee; background: #fff; cursor: pointer; }
    .post-panel .stk-picker-admin .stk-th img { width: 100%; height: 100%; object-fit: contain; display: block; }
    @media (hover: hover) { .post-panel .stk-picker-admin .stk-th:hover { border-color: #0d1b2a; } }
    .item .msg .stk-sm, .item .reply-item .msg .stk-sm { height: 1.7em; width: auto; max-width: 100%; vertical-align: middle; margin: 0 2px; }
    /* myg */
    .post-panel .ta-wrap { position: relative; margin-bottom: 10px; }
    .post-panel .ta-mirror {
        position: absolute; top: 0; left: 0; right: 0; bottom: 0;
        padding: 10px; font-size: 14px; line-height: 1.6; letter-spacing: normal;
        white-space: pre-wrap; word-break: break-word; overflow: hidden;
        pointer-events: none; border: 1px solid transparent; border-radius: 0;
        color: #1a1a2e; background: transparent; z-index: 0;
    }
    .post-panel .ta-wrap textarea { position: relative; z-index: 1; color: transparent; caret-color: #1a1a2e; background: transparent; margin-bottom: 0; }
    .post-panel .ta-wrap textarea::placeholder { color: transparent; }
    .post-panel .ta-mirror.is-placeholder { color: rgba(0,0,0,.4); }

    .field-label {
        font-size: 12px;
        color: rgba(0,0,0,0.5);
        margin-bottom: 4px;
        letter-spacing: 0.5px;
    }

    /* apx */
    .prefix-check { font-size: 12px; margin: 4px 0 0; line-height: 1.5; }
    .prefix-check:empty { display: none; }
    .prefix-check.ok { color: #2e7d32; }
    .prefix-check.err { color: #d32f2f; }
    .prefix-check.info { color: #1565c0; }
    .admin-prefix-history {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
        align-items: center;
        margin: -4px 0 12px;
        font-size: 12px;
        color: rgba(0,0,0,0.45);
        line-height: 1.6;
    }
    .admin-prefix-history .history-label {
        flex-shrink: 0;
    }
    .admin-prefix-choice {
        padding: 2px 11px 2px 9px;   /* octr */
        font-size: 12px;
        border: 1px dashed rgba(0,0,0,0.2);
        background: rgba(0,0,0,0.02);
        cursor: pointer;
        border-radius: 0;
        color: #0d1b2a;
        font-family: 'BodoniModa', 'WenYuanS', serif;
        font-style: italic;
        font-weight: 600;
        transition: all 0.2s;
    }
    .admin-prefix-choice:hover {
        background: #e6f4ff;
        border-color: #0088ff;
        color: #0088ff;
    }

    .picker-label {
        font-size: 12px;
        color: rgba(0,0,0,0.5);
        margin-bottom: 6px;
        letter-spacing: 0.5px;
    }
    .font-picker { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
    .font-picker button {
        padding: 5px 10px;
        font-size: 12px;
        border: 1px solid rgba(0,0,0,0.15);
        background: rgba(255,255,255,0.7);
        cursor: pointer;
        transition: background 0.2s, border-color 0.2s;
        color: #0d1b2a;
        line-height: 1.4;
        font-family: inherit;
        border-radius: 0;
    }
    .font-picker button:hover { background: #f0f2f5; }
    .font-picker button.active {
        border-color: #0d1b2a;
        background: #0d1b2a;
        color: #fff;
    }

    /* fpcls */
    .fp-cn button[data-font="wenyuan-light"] {
        font-family: 'FlyFlowerSong-CJK', 'CormorantInfant', 'PingFang SC', serif;
        font-weight: normal;
    }
    .fp-cn button[data-font="wenyuan-semibold"] {
        font-family: 'WenYuanS-CJK', 'CormorantInfant', 'PingFang SC', serif;
        font-weight: 600;
    }
    .fp-cn button[data-font="reunion"]     { font-family: 'ChillReunion', 'PingFang SC', sans-serif; }
    .fp-cn button[data-font="wenkai"]      { font-family: 'LXGWWenKai', 'PingFang SC', serif; }
    .fp-cn button[data-font="hcdht"]       { font-family: 'HCDHT', 'PingFang SC', sans-serif; }
    .fp-cn button[data-font="chillbitmap"] { font-family: 'ChillBitmap', 'PingFang SC', sans-serif; }

    .fp-lat button[data-font="wenyuan"]  { font-family: 'WenYuanS-Latin', 'PingFang SC', serif; }
    .fp-lat button[data-font="cormorant"] { font-family: 'CormorantInfant', serif; }
    .fp-lat button[data-font="slabomod"] { font-family: 'SlaboMod', serif; }
    .fp-lat button[data-font="zhenkai"]  { font-family: 'LXGWZhenKaiSlab', serif; }
    .fp-lat button[data-font="garamond"]  { font-family: 'EBGaramond', serif; }
    .fp-lat button[data-font="bodoni"]   { font-family: 'BodoniModa', serif; }

    /* fprp */
    .reply-form-admin .font-pickers { margin: 8px 0 10px; }
    .reply-form-admin .picker-label { font-size: 11px; margin-bottom: 4px; }
    .reply-form-admin .font-picker { gap: 4px; margin-bottom: 8px; }
    .reply-form-admin .font-picker button { padding: 3px 8px; font-size: 11px; }
    .reply-form-admin .font-tip { padding: 6px 8px; font-size: 11px; margin-bottom: 8px; }

    .font-tip {
        font-size: 12px;
        color: rgba(0,0,0,0.45);
        line-height: 1.6;
        margin-bottom: 12px;
        padding: 8px 10px;
        background: #f7f9fc;
        border-left: 2px solid rgba(0,136,255,0.4);
        border-radius: 0;
    }

    .post-panel .pin-check {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        color: #d32f2f;
        margin-bottom: 12px;
        cursor: pointer;
        user-select: none;
    }
    .post-panel .pin-check input[type="checkbox"] {
        width: 16px;
        height: 16px;
        accent-color: #d32f2f;
        cursor: pointer;
        margin: 0;
    }
    .post-panel button[type="submit"] {
        width: 100%;
        display: block;
        line-height: 1.4;
        box-sizing: border-box;
        -webkit-appearance: none;
        appearance: none;
        text-align: center;
        letter-spacing: normal;
        padding: 10px 0;
        background: #0d1b2a;
        color: #fff;
        border: none;
        border-radius: 0;
        cursor: pointer;
        font-size: 14px;
    }
    .post-panel button[type="submit"]:hover { background: #1a2b3d; }

    .bulk-bar {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        background: #f7f9fc;
        border-radius: 0;
        margin-bottom: 14px;
        font-size: 13px;
        flex-wrap: wrap;
        border: 1px solid #eef0f3;
    }
    .bulk-bar label {
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        user-select: none;
        color: #0d1b2a;
    }
    .bulk-bar #selectedCount {
        color: #888;
        margin-right: auto;
    }
    .bulk-bar button {
        padding: 5px 12px;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 0;
        cursor: pointer;
        font-size: 12px;
        font-family: inherit;
        transition: all 0.2s;
        color: #0d1b2a;
    }
    .bulk-bar button:hover {
        background: #f0f2f5;
        border-color: #999;
    }
    .bulk-bar button[data-action="delete"] {
        color: #d32f2f;
        border-color: #fbdcdc;
    }
    .bulk-bar button[data-action="delete"]:hover {
        background: #fff0f0;
        border-color: #d32f2f;
    }

    .item {
        background: #ffffff;
        padding: 14px 18px 44px 42px;
        border-radius: 0;
        margin-bottom: 12px;
        position: relative;
        border: 1px solid #eef0f3;
    }
    .item.bg-green  { background: radial-gradient(120% 120% at 100% 100%, rgba(120,200,140,.35), rgba(120,200,140,0) 62%), #ffffff; }
    .item.bg-pink   { background: radial-gradient(120% 120% at 100% 100%, rgba(250,160,195,.35), rgba(250,160,195,0) 62%), #ffffff; }
    .item.bg-purple { background: radial-gradient(120% 120% at 100% 100%, rgba(165,140,235,.35), rgba(165,140,235,0) 62%), #ffffff; }
    /* edge */
    .item.pinned:not(.featured) { border-left: 3px solid #C9A96A; background: rgba(255,250,240,0.6); }
    .item.admin-posted:not(.featured) { border-left: 3px solid #5aa0ff; background: rgba(230,244,255,0.7); }
    .item.featured { background-color: rgba(230,244,255,0.7); background-image: radial-gradient(130% 130% at 100% 100%, rgba(255,0,150,0.15), rgba(255,150,0,0.12) 16%, rgba(0,200,120,0.12) 32%, rgba(0,150,255,0.12) 50%, rgba(230,244,255,0) 70%); background-repeat: no-repeat; background-size: 160% 160%; background-position: 100% 100%; animation: featWave 10s ease-in-out infinite; }
    .item.featured::before {
        content: '';
        position: absolute;
        left: 0; top: 0; width: 3px; height: 100%;
        background: linear-gradient(180deg,#ff0000,#ff8800,#ffff00,#00ff00,#0088ff,#8800ff,#ff00ff,#ff0000);
        background-size: 100% 1200%;
        animation: rgbFlowEdge 50s ease-in-out infinite;
        pointer-events: none;
    }
    @keyframes rgbFlowEdge {
        0%   { background-position: 0% 0%; }
        8%   { background-position: 0% 3%; }
        22%  { background-position: 0% 18%; }
        35%  { background-position: 0% 30%; }
        48%  { background-position: 0% 50%; }
        63%  { background-position: 0% 68%; }
        78%  { background-position: 0% 82%; }
        90%  { background-position: 0% 93%; }
        100% { background-position: 0% 100%; }
    }
    .item-checkbox {
        position: absolute;
        left: 14px;
        top: 16px;
        width: 16px;
        height: 16px;
        cursor: pointer;
        accent-color: #0d1b2a;
        z-index: 2;
    }
    .item-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 16px;
    }
    .item .pin-badge {
        display: inline-block;
        font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
        font-size: 11px;
        /* badge-v */
        height: 16px;
        line-height: 16px;
        padding: 0 7px;
        color: #8B6F3E;
        background: rgba(201,169,106,0.25);
        border-radius: 0;
        margin-right: 4px;
        vertical-align: middle;   /* badge-v2 */
        position: relative;
        top: -1.5px;
    }
    .item .pin-badge.feat {
        color: #fff;
        text-shadow: 0 1px 1px rgba(0,0,0,.4);
        background: linear-gradient(90deg, #ff5f6d, #ffc371, #47c7cc, #a56cff, #ff5f6d);
        background-size: 300% 100%;
        animation: featFlow 8s linear infinite;
    }
    @keyframes featFlow { to { background-position: 300% 0; } }
    @keyframes featWave {
        0%   { background-position: 100% 100%; }
        50%  { background-position: 45% 45%; }
        100% { background-position: 100% 100%; }
    }
    .item .pin-badge.admin {
        position: relative;
        z-index: 0;
        overflow: hidden;
        border-radius: 0;
        color: rgba(22, 32, 52, 0.5);
        -webkit-text-fill-color: rgba(22, 32, 52, 0.5);
        text-shadow: 0 0.5px 0 rgba(255,255,255,.5);
        background: rgba(255,255,255,.92);
        backdrop-filter: blur(6px) saturate(140%);
        -webkit-backdrop-filter: blur(6px) saturate(140%);
    }
    /* mist */
    .item .pin-badge.admin::before,
    .item .pin-badge.admin::after {
        content: '';
        position: absolute;
        z-index: -1;
        background: linear-gradient(180deg,#ff2d2d,#ff9500,#ffe600,#25e6a0,#2f9bff,#8a5cff,#ff3ba7,#ff2d2d);
        background-size: 100% 800%;
        filter: blur(12px);
        opacity: .55;
        -webkit-mask-image: radial-gradient(75% 130% at 50% 50%, #000, rgba(0,0,0,.45) 55%, transparent 88%);
        mask-image: radial-gradient(75% 130% at 50% 50%, #000, rgba(0,0,0,.45) 55%, transparent 88%);
        animation: zakeWander 16s ease-in-out infinite, zakeMelt 56s linear infinite;
    }
    .item .pin-badge.admin::before { left: 5%;  top: -20%; width: 55%; height: 140%; }
    .item .pin-badge.admin::after  { left: 45%; top: -15%; width: 55%; height: 130%; animation-duration: 22s, 72s; animation-direction: reverse, normal; }
    /* mist2 */
    .item:nth-child(4n)   .pin-badge.admin::before { animation-duration: 9s,  44s; }
    .item:nth-child(4n)   .pin-badge.admin::after  { animation-duration: 13s, 60s; }
    .item:nth-child(4n+1) .pin-badge.admin::before { animation-duration: 17s, 64s; }
    .item:nth-child(4n+1) .pin-badge.admin::after  { animation-duration: 21s, 72s; }
    .item:nth-child(4n+2) .pin-badge.admin::before { animation-duration: 27s, 80s; }
    .item:nth-child(4n+2) .pin-badge.admin::after  { animation-duration: 32s, 88s; }
    .item:nth-child(4n+3) .pin-badge.admin::before { animation-duration: 12s, 52s; }
    .item:nth-child(4n+3) .pin-badge.admin::after  { animation-duration: 24s, 76s; }
    @keyframes zakeMelt { to { background-position: 0 800%; } }
    @keyframes zakeWander {
        0%   { transform: translate(0, 0) scale(1) rotate(0deg); }
        30%  { transform: translate(120%, 55%) scale(1.5, .75) rotate(38deg); }
        60%  { transform: translate(-95%, -35%) scale(.75, 1.4) rotate(-32deg); }
        100% { transform: translate(0, 0) scale(1) rotate(0deg); }
    }
    .item .info { flex: 1; min-width: 0; }
    .item .meta { font-size: 12px; color: #666; margin-bottom: 6px; }
    .item .msg { font-size: 14px; line-height: 1.6; word-break: break-word; white-space: pre-wrap; }
    .item .btns {
        display: flex;
        flex-direction: column;
        gap: 6px;
        flex-shrink: 0;
    }
    .item .btns form { margin: 0; }
    .item .btns button {
        padding: 6px 14px;
        border: none;
        border-radius: 0;
        cursor: pointer;
        font-size: 13px;
        width: 100%;
        white-space: nowrap;
    }
    .item .del-btn { background: #ff2442; color: #fff; }
    .item .del-btn:hover { background: #d41a36; }
    .item .pin-btn { background: #C9A96A; color: #fff; }
    .item .pin-btn:hover { background: #b08f4f; }
    .item .unpin-btn { background: #e8e2d2; color: #5C4B2E; }
    .item .unpin-btn:hover { background: #dcd4bf; }
    .item .feat-btn { background: #5aa0ff; color: #fff; }
    .item .feat-btn:hover { background: #3f82e6; }

    .item .replies {
        margin-top: 12px;
        padding-left: 16px;
        border-left: 2px solid rgba(0,0,0,0.22);
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .item .reply-item {
        background: #ffffff;
        padding: 10px 14px 34px;
        border-radius: 0;
        border: 1px solid #eef0f3;
        position: relative;
    }
    .item .reply-item.bg-green  { background: radial-gradient(120% 120% at 100% 100%, rgba(120,200,140,.35), rgba(120,200,140,0) 62%), #ffffff; }
    .item .reply-item.bg-pink   { background: radial-gradient(120% 120% at 100% 100%, rgba(250,160,195,.35), rgba(250,160,195,0) 62%), #ffffff; }
    .item .reply-item.bg-purple { background: radial-gradient(120% 120% at 100% 100%, rgba(165,140,235,.35), rgba(165,140,235,0) 62%), #ffffff; }
    .item .reply-item.pinned:not(.featured) { border-left: 3px solid #C9A96A; background: rgba(255,250,240,0.6); }
    .item .reply-item.admin-posted:not(.featured) { border-left: 3px solid #5aa0ff; background: rgba(230,244,255,0.7); }
    .item .reply-item.featured { background-color: rgba(230,244,255,0.7); background-image: radial-gradient(130% 130% at 100% 100%, rgba(255,0,150,0.15), rgba(255,150,0,0.12) 16%, rgba(0,200,120,0.12) 32%, rgba(0,150,255,0.12) 50%, rgba(230,244,255,0) 70%); background-repeat: no-repeat; background-size: 160% 160%; background-position: 100% 100%; animation: featWave 10s ease-in-out infinite; }
    .item .reply-item.featured::before {
        content: '';
        position: absolute;
        left: 0; top: 0; width: 3px; height: 100%;
        background: linear-gradient(180deg,#ff0000,#ff8800,#ffff00,#00ff00,#0088ff,#8800ff,#ff00ff,#ff0000);
        background-size: 100% 1200%;
        animation: rgbFlowEdge 50s ease-in-out infinite;
        pointer-events: none;
    }
    .item .reply-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
    }
    .item .reply-item .meta { font-size: 12px; color: #666; margin-bottom: 4px; }
    .item .reply-item .msg { font-size: 13px; line-height: 1.5; word-break: break-word; white-space: pre-wrap; }
    .item .reply-item .btns button { padding: 4px 10px; font-size: 12px; }

    .item .reply-toggle { margin-top: 12px; }
    .item .reply-toggle summary {
        cursor: pointer;
        font-size: 12px;
        color: #666;
        padding: 4px 8px;
        display: inline-block;
        user-select: none;
        list-style: none;
        border-radius: 0;
        transition: background 0.2s;
    }
    .item .reply-toggle summary::-webkit-details-marker { display: none; }
    .item .reply-toggle summary::before { content: '＋ '; }
    .item .reply-toggle[open] summary::before { content: '－ '; }
    .item .reply-toggle summary:hover {
        color: #0d1b2a;
        background: rgba(0,0,0,0.04);
    }
    .item .reply-form-admin {
        margin-top: 8px;
        padding: 12px 14px;
        background: #f7f9fc;
        border-radius: 0;
        border: 1px solid #e8eef5;
    }
    .item .reply-form-admin .reply-who {
        font-size: 12px;
        color: #666;
        margin-bottom: 8px;
        line-height: 1.5;
    }
    .item .reply-form-admin .reply-who strong {
        color: #0d1b2a;
        font-weight: 600;
    }
    .item .reply-form-admin textarea {
        width: 100%;
        padding: 8px 10px;
        font-size: 13px;
        font-family: inherit;
        border: 1px solid #ddd;
        border-radius: 0;
        margin-bottom: 8px;
        outline: none;
        resize: vertical;
        min-height: 60px;
        line-height: 1.5;
    }
    .item .reply-form-admin textarea:focus { border-color: #0d1b2a; }
    .item .reply-form-admin button {
        padding: 6px 16px;
        background: #0d1b2a;
        color: #fff;
        border: none;
        border-radius: 0;
        cursor: pointer;
        font-size: 13px;
    }
    .item .reply-form-admin button:hover { background: #1a2b3d; }

    .item .watermark {
        position: absolute;
        right: 18px;
        bottom: 8px;
        font-family: 'ButlerFreeRmn', 'ButlerFree', serif;
        font-weight: normal;
        font-style: normal;
        font-size: 26px;
        letter-spacing: 1px;
        line-height: 1.4;
        padding-bottom: 6px;
        pointer-events: none;
        user-select: none;
        color: rgba(45, 64, 89, 0.22);
        text-shadow: none;
    }
    .item .reply-item .watermark {
        font-size: 18px;
        right: 14px;
        bottom: 6px;
        letter-spacing: 0.5px;
        padding-bottom: 4px;
    }
    .item .reply-hidden { display: none; }
    .item .reply-toggle-btn {
        background: none;
        border: none;
        color: #0088ff;
        font-size: 12px;
        cursor: pointer;
        padding: 4px 8px;
        align-self: flex-start;
        font-family: inherit;
        opacity: 0.8;
        transition: opacity 0.2s;
    }
    .item .reply-toggle-btn:hover { opacity: 1; text-decoration: underline; }

    /* bug */
    .bug-item {
        background: #fff7f7;
        padding: 12px 14px;
        border-radius: 0;
        margin-bottom: 10px;
        border-left: 3px solid #d32f2f;
        position: relative;
    }
    .bug-item.done {
        background: #f5f7fa;
        border-left-color: #999;
        opacity: 0.75;
    }
    .bug-item .bug-meta {
        font-size: 12px;
        color: #888;
        margin-bottom: 6px;
    }
    .bug-item .bug-meta .bug-status {
        display: inline-block;
        font-size: 11px;
        padding: 1px 6px;
        border-radius: 0;
        margin-left: 4px;
    }
    .bug-item .bug-meta .bug-status.open { color: #fff; background: #d32f2f; }
    .bug-item .bug-meta .bug-status.done { color: #fff; background: #4caf50; }
    .bug-item .bug-msg {
        font-size: 13px;
        line-height: 1.6;
        white-space: pre-wrap;
        word-break: break-word;
        margin-bottom: 8px;
    }
    .bug-item .bug-btns { display: flex; gap: 6px; }
    .bug-item .bug-btns form { margin: 0; }
    .bug-item .bug-btns button {
        padding: 4px 10px;
        border: none;
        border-radius: 0;
        cursor: pointer;
        font-size: 12px;
        font-family: inherit;
    }
    .bug-item .bug-btns .mark-btn { background: #4caf50; color: #fff; }
    .bug-item .bug-btns .mark-btn:hover { background: #3d8b40; }
    .bug-item .bug-btns .reopen-btn { background: #e8e2d2; color: #5C4B2E; }
    .bug-item .bug-btns .reopen-btn:hover { background: #dcd4bf; }
    .bug-item .bug-btns .del-btn { background: #ff2442; color: #fff; }
    .bug-item .bug-btns .del-btn:hover { background: #d41a36; }
    .bug-actions-bar {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 12px;
    }
    .bug-actions-bar button {
        padding: 5px 12px;
        font-size: 12px;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 0;
        cursor: pointer;
        color: #666;
    }
    .bug-actions-bar button:hover { background: #f0f2f5; }

    .empty { text-align: center; padding: 40px; color: #6b7280; font-size: 13px; font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-weight: 400; }

    /* hint */
    .field-label, .font-tip, .admin-prefix-history .history-label,
    .item .reply-form-admin .reply-who {
        font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif;
        font-weight: 300;
    }

    /* ph */
    input::placeholder, textarea::placeholder {
        font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif;
        font-weight: 300;
    }

    /* btn */
    .login button,
    .post-panel button[type="submit"],
    .item .btns button,
    .item .reply-form-admin button {
        font-family: 'WenYuanS-CJK', 'WenYuanS-Latin', 'PingFang SC', 'Microsoft YaHei', sans-serif;
        font-weight: 600;
    }
    /* zq */
    .login input,
    .post-panel input[type="text"],
    .login input::placeholder,
    .post-panel input[type="text"]::placeholder,
    .reply-form-admin .sign-input,
    .reply-form-admin .sign-input::placeholder {
        font-family: 'ZhuqueFangsong', 'WenYuanS-CJK', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    }
    /* asgn */
    .item .reply-form-admin .reply-sign { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 12px; color: #666; line-height: 1.5; }
    .item .reply-form-admin .sign-input { width: 168px; padding: 5px 8px; font-size: 13px; color: #0d1b2a; background: #fff; border: 1px solid #d8e0ea; border-radius: 0; }
    .item .reply-form-admin .sign-input:focus { border-color: #0d1b2a; outline: none; }
    /* askcol */
    .layout-ask { flex-direction: column; }
    .layout-ask .col-middle { flex: none; width: 100%; max-width: 100%; position: static; }
