/* News content rendered from BBCode (Services/BbCode.cs). Used on the news page, in the launcher
   and in the admin editor preview, so a post looks the same everywhere. */

.bb-content {
    font-size: 17px;
    line-height: 1.75;
    color: #c9cfdb;
    overflow-wrap: anywhere;
}

.bb-content strong { color: #f3efe8; }

.bb-content a {
    color: #ffdb73;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bb-content a:hover { color: #fff1c4; }

.bb-content .bb-h1,
.bb-content .bb-h2,
.bb-content .bb-h3 {
    margin: 1.4em 0 0.5em;
    font-family: 'Cinzel', 'Times New Roman', serif;
    line-height: 1.25;
    color: #f3efe8;
}

.bb-content .bb-h1 { font-size: 1.75em; }
.bb-content .bb-h2 { font-size: 1.4em; color: #ffdb73; }
.bb-content .bb-h3 { font-size: 1.15em; letter-spacing: 0.02em; }

.bb-content > :first-child { margin-top: 0; }

.bb-size-1 { font-size: 0.7em; }
.bb-size-2 { font-size: 0.85em; }
.bb-size-3 { font-size: 1em; }
.bb-size-4 { font-size: 1.2em; }
.bb-size-5 { font-size: 1.45em; }
.bb-size-6 { font-size: 1.8em; }
.bb-size-7 { font-size: 2.2em; }

.bb-align-center { text-align: center; }
.bb-align-left { text-align: left; }
.bb-align-right { text-align: right; }
.bb-align-justify { text-align: justify; }

.bb-img {
    margin: 1em 0;
    text-align: center;
}

.bb-align-left .bb-img { text-align: left; }
.bb-align-right .bb-img { text-align: right; }

.bb-img img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid rgba(186, 204, 255, 0.14);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.bb-quote {
    margin: 1em 0;
    padding: 14px 18px;
    border-left: 3px solid #efc04e;
    border-radius: 0 12px 12px 0;
    background: rgba(239, 192, 78, 0.07);
    color: #dfe3ec;
}

.bb-quote cite {
    display: block;
    margin-bottom: 6px;
    font-style: normal;
    font-weight: 700;
    font-size: 0.85em;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #efc04e;
}

.bb-code {
    margin: 1em 0;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(186, 204, 255, 0.14);
    background: #070910;
    overflow-x: auto;
    font: 14px/1.6 'Consolas', 'Courier New', monospace;
    color: #b8f5c8;
    white-space: pre;
}

.bb-list {
    margin: 0.6em 0 1em;
    padding-left: 1.5em;
}

.bb-list li { margin: 0.25em 0; }
.bb-list li::marker { color: #efc04e; }

.bb-hr {
    margin: 1.6em 0;
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(239, 192, 78, 0.6), transparent);
}

.bb-spoiler {
    margin: 1em 0;
    border-radius: 12px;
    border: 1px solid rgba(186, 204, 255, 0.16);
    background: rgba(13, 17, 28, 0.7);
}

.bb-spoiler summary {
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 700;
    color: #f3efe8;
}

.bb-spoiler > div {
    padding: 0 16px 14px;
}

.bb-video {
    position: relative;
    margin: 1em 0;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(186, 204, 255, 0.14);
    background: #000;
}

.bb-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.bb-box {
    --bb-tone: #6ea3ff;
    margin: 1em 0;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--bb-tone) 40%, transparent);
    border-left-width: 4px;
    background: color-mix(in srgb, var(--bb-tone) 9%, #0d111c);
    color: #e3e7ef;
}

.bb-box.is-success { --bb-tone: #4ade80; }
.bb-box.is-warning { --bb-tone: #efc04e; }
.bb-box.is-danger { --bb-tone: #ff6a4a; }

.bb-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 1px 8px 1px 2px;
    border-radius: 6px;
    background: rgba(68, 169, 255, 0.1);
    color: #7fc2ff;
    font-weight: 600;
    vertical-align: middle;
}

.bb-item img {
    width: 24px;
    height: 24px;
    border-radius: 4px;
}
