:root { color-scheme: dark; --page-bg: #0a0a0a; --page-text: #ededed; --surface: #111; --border: #292929; --accent: #ffaa00; }
:root[data-theme="light"] { color-scheme: light; --page-bg: #faf9f6; --page-text: #242424; --surface: #fff; --border: #e4dfd4; --accent: #986000; }
html { background: var(--page-bg); }
body { background: var(--page-bg); color: var(--page-text); }
.theme-toggle { --switch-thumb: #ffd19a; --switch-track: #131313; --switch-border: #bab6af; position: relative; display: inline-block; flex: 0 0 64px; width: 64px; height: 32px; padding: 0; border: 1.5px solid var(--switch-border); border-radius: 999px; background: var(--switch-track); color: #8a8882; cursor: pointer; isolation: isolate; vertical-align: middle; view-transition-name: theme-switch; -webkit-tap-highlight-color: transparent; transition: background-color .35s ease, border-color .35s ease; }
.theme-toggle::after { content: ''; position: absolute; inset: -7px -2px; border-radius: inherit; }
.theme-toggle .theme-knob { position: absolute; top: 3px; left: 3px; width: 23px; height: 23px; border-radius: 50%; background: var(--switch-thumb); box-shadow: 0 1px 4px #0002; transform: translateX(0); view-transition-name: theme-switch-knob; transition: transform .35s cubic-bezier(.22,.68,.25,1.1), background-color .35s ease; pointer-events: none; }
.theme-toggle svg { position: absolute; top: 7px; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; transition: color .35s ease; }
.theme-toggle .moon { display: block; left: 7px; color: #38271a; }
.theme-toggle .sun { display: block; right: 7px; color: #a6a29a; }
[data-theme="light"] .theme-toggle { --switch-thumb: #d77956; --switch-track: #fff9ec; --switch-border: #4a4540; }
[data-theme="light"] .theme-toggle .theme-knob { transform: translateX(32px); }
[data-theme="light"] .theme-toggle .moon { color: #655e54; }
[data-theme="light"] .theme-toggle .sun { color: #fff7e9; }
.theme-toggle:hover { border-color: #ffaa00; }
html:not(.theme-ready) .theme-toggle, html:not(.theme-ready) .theme-toggle * { transition: none; }

/* Cross-fade the page; animate the thumb independently between its two slots. */
::view-transition-old(root) { animation: theme-fade-out .36s ease both; }
::view-transition-new(root) { animation: theme-fade-in .36s ease both; }
::view-transition-group(theme-switch), ::view-transition-group(theme-switch-knob) { animation-duration: .36s; animation-timing-function: cubic-bezier(.22,.68,.25,1); }
::view-transition-old(theme-switch), ::view-transition-old(theme-switch-knob) { animation: theme-fade-out .36s ease both; }
::view-transition-new(theme-switch), ::view-transition-new(theme-switch-knob) { animation: theme-fade-in .36s ease both; }
::view-transition { pointer-events: none; }
@keyframes theme-fade-out { to { opacity: 0; } }
@keyframes theme-fade-in { from { opacity: 0; } }

/* Smooth colors in browsers without View Transitions as well. */
html.theme-ready, html.theme-ready body,
html.theme-ready body :where(section, .navbar, .mbr-overlay, .card-wrap, .card-wrapper, .content-wrap, .item-wrapper, .document-summary, .wiki-panel, .wiki-toc, .wiki-mode, .vote-card, .vote-button, h1, h2, h3, h4, h5, h6, p, a, span, li, details, summary) {
 transition-property: background-color, color, border-color, box-shadow, fill, stroke, transform, opacity;
 transition-duration: .36s;
 transition-timing-function: ease;
}
body .footer3 .minecraft-disclaimer { max-width: 960px; padding: 22px 20px 0; margin: 24px auto 0; border-top: 1px solid #ffffff18; color: #aaa59c; text-align: center; font-family: 'Montserrat',sans-serif; font-size: .85rem; line-height: 1.8; }
html[data-theme="light"] body .footer3 .minecraft-disclaimer { color: #675e50 !important; border-top-color: #ded7cb; }
@media (prefers-reduced-motion: reduce) {
 html.theme-ready, html.theme-ready body, html.theme-ready body *, .theme-toggle, .theme-toggle * { transition-duration: 0s !important; animation-duration: 0s !important; }
 ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation-duration: 0s !important; }
}

.theme-toggle:focus-visible, .social-link:focus-visible { outline: 3px solid #ffaa00; outline-offset: 4px; }
.menu .navbar-brand { order: 0; }
.menu .navbar-collapse { order: 1; }
.menu .theme-toggle { order: 2; margin-left: 14px; }
.menu .navbar-toggler { order: 3; }
.menu .navbar-buttons .btn { padding-left: 1.15rem; padding-right: 1.15rem; }
.community-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.community-socials .social-link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #ffffff25; border-radius: 12px; background: #ffffff08; color: #ededed !important; text-decoration: none; transition: background .18s, border-color .18s, transform .18s; }
.social-link .socicon { font-family: 'socicon' !important; font-size: 21px; line-height: 1; }
.social-link:hover { transform: translateY(-3px); border-color: #ffaa00 !important; background: #ffaa0020 !important; color: #ffaa00 !important; }
.social-link[data-network="discord"]:hover { color: #9ca4ff !important; border-color: #5865f2 !important; }
.social-link[data-network="vk"]:hover { color: #50a0ff !important; border-color: #0077ff !important; }
.social-link[data-network="telegram"]:hover { color: #50c4ff !important; border-color: #26a5e4 !important; }
.social-link[data-network="twitch"]:hover { color: #bc8cff !important; border-color: #9146ff !important; }
[data-theme="light"] body,
[data-theme="light"] body.document-page,
[data-theme="light"] body section { background-color: var(--page-bg) !important; color: var(--page-text); }
[data-theme="light"] body section:nth-of-type(even) { background-color: #f3f0e9 !important; }
html[data-theme="light"] body .menu .navbar.navbar-dropdown { background: #fffefaef !important; border-bottom: 1px solid var(--border); box-shadow: 0 4px 24px #49341108; }
[data-theme="light"] body .navbar .nav-link,
[data-theme="light"] body .navbar .nav-link.text-white { color: #292929 !important; }
[data-theme="light"] body .navbar .nav-link:hover { color: #986000 !important; }
[data-theme="light"] body .navbar-toggler .hamburger span { background-color: #292929 !important; }
[data-theme="light"] body .mbr-overlay { background-color: #fffdf5 !important; opacity: .94 !important; }
[data-theme="light"] body :is(h1,h2,h3,h4,h5,h6,p,li,.mbr-text,.mbr-section-text,.number,.main-title,.mbr-white,.mbr-black) { color: var(--page-text) !important; }
[data-theme="light"] body :is(.card-wrapper,.card-wrap,.item-wrapper,.panel,.card-box,.feature-box,.content-wrap,.panel-heading,.panel-body) { background-color: #fff !important; border-color: var(--border) !important; box-shadow: 0 6px 28px #3b2a0b06; }
[data-theme="light"] body :is(.btn-primary,.btn-success,.btn-warning,.btn-primary-outline) { color: #332100 !important; }
[data-theme="light"] body .btn-primary-outline { border-color: #ad7200 !important; }
[data-theme="light"] body .btn-primary-outline:hover { background: #ffaa00 !important; }
[data-theme="light"] body .btn-secondary { color: #fff !important; }
[data-theme="light"] body .text-primary,
[data-theme="light"] body .document-copy a,
[data-theme="light"] body .document-breadcrumb a,
[data-theme="light"] body .document-back { color: #986000 !important; }
[data-theme="light"] body .highlight { color: #a86600 !important; }
[data-theme="light"] body .mbr-section-subtitle { color: #26221b !important; }
[data-theme="light"] body .document-summary { background: #fff5de; border-color: #e8c982; }
[data-theme="light"] body .document-summary h2,
[data-theme="light"] body .document-copy h2 { color: #986000 !important; border-color: #e8d7b0; }
[data-theme="light"] body .document-summary p { color: #5e5546 !important; }
[data-theme="light"] body .summary-links a { color: #51432b; border-color: #eadbbb; }
[data-theme="light"] body .summary-links a:hover { color: #986000; }
[data-theme="light"] body .document-summary details { color: #685431; }
[data-theme="light"] body .document-copy { color: #35312b; }
[data-theme="light"] body .document-copy p.penalty { background: #fff6e4; color: #6f5123 !important; }
[data-theme="light"] body .document-copy hr { border-color: #ded8ce; }
[data-theme="light"] body .document-tab { color: #666; }
[data-theme="light"] body .document-tab[aria-current] { color: #986000; border-color: #bf7d00; }
[data-theme="light"] body .community-socials .social-link { color: #38332a !important; background: #fff !important; border-color: #ded8ce; }
[data-theme="light"] body .shape-fill { fill: var(--page-bg) !important; }
[data-theme="light"] body::-webkit-scrollbar-track { background: #eee9df; }
@media (max-width: 991px) {
 .menu .theme-toggle { order: 1; margin-left: auto; margin-right: 18px; }
 .menu .navbar-toggler { order: 2; }
 .menu .navbar-collapse { order: 3; }
 [data-theme="light"] body .navbar-collapse { background: #fffefa; }
}
@media (prefers-reduced-motion: reduce) { .theme-toggle, .social-link { transition: none; } }

body .footer3 .site-copyright { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; column-gap: .4em; row-gap: 5px; margin: 28px auto 0; padding: 0 20px; font-family: 'Montserrat',sans-serif; font-size: .85rem; font-weight: 400; line-height: 1.8; color: #b6afa3; text-align: center; }
body .footer3 .copyright-owner { color: #e5ded3; font-weight: 600; }
html[data-theme="light"] body .footer3 .site-copyright { color: #6b6254 !important; }
html[data-theme="light"] body .footer3 .copyright-owner { color: #3c352b; }

/* Short project description in the shared footer. */
body .footer3 .footer-about-text { margin: 0; font-family: "Montserrat", sans-serif; font-size: .9375rem; font-weight: 400; line-height: 1.8; letter-spacing: normal; color: #c4beb3; text-wrap: pretty; }
html[data-theme="light"] body .footer3 .footer-about-text { color: #625b50 !important; }
