/* child-style */
/*
Theme Name:     Bukids B2 Child
Theme URI:      https://www.bukids.com/
Description:    Bukids custom child theme for B2 PRO 5.9.42
Author:         Bukids
Author URI:     https://www.bukids.com/
Template:       b2
Version:        2.0.338
Text Domain:    bukids-b2-child
*/

/* 2.0.242: shared right rail. Preserve each page's visibility/breakpoints;
   no nested scrollbar and no second CSS-sticky mechanism. The native B2
   wrapper handles both short/tall rails and the article/footer boundary. */
#secondary.widget-area > .sidebar.bk-sidebar-managed {
    position: relative;
    top: auto;
}
#secondary.widget-area > .sidebar.bk-sidebar-managed .sidebar-innter {
    box-sizing: border-box;
    max-height: none;
    overflow: visible;
}
#secondary.widget-area > .sidebar.bk-sidebar-managed .sidebar-innter > .widget:last-child {
    margin-bottom: 0;
}

/* 2.0.239: remove DPlayer's whole speed / loop settings control. Keeping its
   internal nodes lets the parent player initialise normally. This also applies
   to recreated players and fullscreen, without JS observers or extra requests.
   Subtitle, auto-next, volume and fullscreen controls are separate siblings. */
.dplayer .dplayer-setting {
    display: none !important;
}

/* 2.0.214: scale B2's existing watermark by the actual player, not the viewport.
   Keep its configured image, opacity and position; no JS or extra requests.
   B2's global/mobile pixel caps are important, so override only this player. */
#post-style-5-player.dplayer .dplayer-logo {
    width: 12%;
    min-width: 40px;
    max-width: 180px !important;
    height: auto;
    max-height: none !important;
    pointer-events: none;
}
#post-style-5-player.dplayer .dplayer-logo img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
}

/* Global overrides belong here. Collection styles are conditionally loaded
   from assets/css/collection.css to keep unrelated pages lightweight. */

/* Mobile footer: remove the publishing shortcut and share space per link,
   not per left/right group (their configured item counts may differ).
   Keep B2's visibility, scroll behavior, click handlers and safe-area padding. */
@media screen and (max-width:1180px) {
    #mobile-footer-menu > .mobile-footer-center { display:none; }
    #mobile-footer-menu > .mobile-footer-left,
    #mobile-footer-menu > .mobile-footer-right { display:contents; }
    #mobile-footer-menu > .mobile-footer-left > a,
    #mobile-footer-menu > .mobile-footer-right > a {
        flex:1 1 0; width:auto; min-width:0; min-height:44px;
        box-sizing:border-box; display:flex; flex-direction:column;
        align-items:center; justify-content:center; text-align:center;
    }
}

/* Search uses the existing topic grid, without article metadata. */
/* Header search: slightly wider, with the icon participating in layout. */
.site-header .top-search .mobile-search-input[role="search"] {
    display:flex; align-items:center; width:clamp(180px,15vw,220px); max-width:100%; height:36px;
    box-sizing:border-box; padding:0; margin:0; border-radius:4px;
    border:1px solid transparent; background:#f5f6f7;
}
.site-header .top-search .mobile-search-input[role="search"] input {
    flex:1 1 auto; width:0; min-width:0; height:100%; box-sizing:border-box;
    padding:0 0 0 12px; margin:0; font:inherit; font-size:14px; line-height:normal; text-align:left;
    background:transparent; border:0; box-shadow:none; color:#30343b;
}
.site-header .top-search .mobile-search-input[role="search"] .search-button-action {
    position:static; display:flex; align-items:center; justify-content:center;
    flex:0 0 36px; width:36px; height:100%; min-height:0; padding:0; margin:0;
    line-height:1; border:0; background:transparent;
}
.site-header .top-search .mobile-search-input[role="search"] .search-button-action i { line-height:1; }
.site-header .top-search .mobile-search-input[role="search"]:focus-within { outline:0; border-color:#98a3af; background:#f5f6f7; box-shadow:none; }
.site-header .top-search .mobile-search-input[role="search"]:has(:focus-visible) { outline:2px solid #687385; outline-offset:2px; }
.site-header .top-search .mobile-search-input[role="search"] input:focus { background:transparent; box-shadow:none; outline:0; color:#30343b; }
.site-header .top-search .mobile-search-input[role="search"] input:-webkit-autofill,
.site-header .top-search .mobile-search-input[role="search"] input:-webkit-autofill:hover,
.site-header .top-search .mobile-search-input[role="search"] input:-webkit-autofill:focus {
    -webkit-box-shadow:0 0 0 1000px #f5f6f7 inset !important; box-shadow:0 0 0 1000px #f5f6f7 inset !important;
    -webkit-text-fill-color:#30343b; caret-color:#30343b; animation:none;
}
.site-header .top-search .mobile-search-input[role="search"] input:autofill { box-shadow:0 0 0 1000px #f5f6f7 inset !important; background:#f5f6f7; color:#30343b; }
.site-header .top-search .mobile-search-input[role="search"] .search-button-action svg { display:block; width:18px; height:18px; }
@media (max-width:1180px) {
    .site-header .top-search .mobile-search-input[role="search"] { width:180px; }
    .search-box-content .search-input { font-size:16px; }
}
.search .bk2-search-card-meta { margin-top:auto; padding-top:12px; font-size:12px; line-height:1.65; color:#687385; white-space:normal; overflow-wrap:anywhere; }
.search .bk2-search-card-meta span { white-space:normal; }
.search .bk2-search-container { padding-top:24px; }
.search .bk2-topic-search {
    background:transparent; color:inherit;
    --bk-primary:var(--b2color,#fd4c4c);
    --bk-primary-dark:var(--b2color,#fd4c4c);
    --bk-ink:#222; --bk-muted:#666; --bk-light:#888;
    --bk-line:#e6e9ef;
}
.search .bk2-topic-search .bukids-library-form { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; margin-bottom:12px; }
.search .bk2-topic-search .bukids-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:stretch; }
.search .bk2-topic-search .bukids-search-field { position:relative; grid-column:auto; min-width:0; height:44px; min-height:44px; box-sizing:border-box; padding:0; margin:0; background:#fff; border:1px solid #d9dee5; border-radius:4px; }
.search .bk2-topic-search .bukids-search-field input { width:100%; min-width:0; height:100%; min-height:0; box-sizing:border-box; padding:0 14px; margin:0; border:0; border-radius:3px; background:transparent; font-size:14px; line-height:22px; appearance:none; -webkit-appearance:none; }
.search .bk2-topic-search .bukids-primary-button { min-height:44px; padding:0 22px; border-radius:4px; box-shadow:none; background:var(--b2color,#fd4c4c); border-color:var(--b2color,#fd4c4c); }
.search .bk2-topic-search .bukids-search-row > .bukids-primary-button { height:44px; min-height:44px; box-sizing:border-box; margin:0; border-width:1px; border-style:solid; font-size:14px; line-height:22px; appearance:none; -webkit-appearance:none; }
.search .bk2-topic-search .bukids-results-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:16px; padding:0 0 12px; margin-bottom:20px; border-bottom:1px solid #e6e9ef; }
.search .bk2-topic-search .bukids-results-toolbar > div { min-width:0; }
.search .bk2-topic-search .bk2-search-query { display:flex; flex-wrap:wrap; align-items:center; gap:2px 12px; overflow-wrap:anywhere; margin:0; padding:8px 0; min-height:44px; font-size:13px; line-height:22px; color:var(--bk-muted); }
.search .bk2-topic-search .bk2-search-query-term { min-width:0; max-width:100%; color:var(--bk-ink); }
.search .bk2-topic-search .bk2-search-summary-item { white-space:nowrap; }
.search .bk2-search-reset { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; font-size:13px; color:#687385; text-decoration:underline; text-underline-offset:3px; }
.search .bk2-topic-search .bukids-card { border-radius:var(--bk-radius,6px); box-shadow:none; transform:none; }
.search .bk2-topic-search .bukids-card:hover { border-color:var(--bk-line); background:#fcfcfd; }
.search .bk2-topic-search .bk2-search-card-meta,
.search .bk2-topic-search .bk2-search-reset { color:var(--bk-muted); }
.search .bk2-topic-search .bukids-card-media { background:#f5f6f7; }
.search .bk2-topic-search .bukids-search-field:focus-within {
    border-color:var(--b2color,#fd4c4c); outline:none; box-shadow:none;
}
/* The mobile library clips overflow-x, including the field's left outline.
   Paint over its existing border, above autofill, without extending outwards.
   Absolute insets start at the padding box: -1px includes the 1px border. */
.search .bk2-topic-search .bukids-search-field:focus-within::after {
    content:""; position:absolute; inset:-1px; z-index:1; pointer-events:none;
    border:2px solid var(--b2color,#fd4c4c); border-radius:inherit;
}
.search .bk2-topic-search .bukids-search-field input:focus,
.search .bk2-topic-search .bukids-search-field input:focus-visible { outline:none; box-shadow:none; background:transparent; }
.search .bk2-topic-search .bukids-search-field input::-webkit-search-decoration { -webkit-appearance:none; }
.search .bk2-topic-search .bukids-card:hover img { transform:none; }
.search .bk2-search-cover-fallback { position:absolute; inset:0; }
.search .bk2-topic-search .bukids-card-media [hidden] { display:none; }
.search .bk2-topic-search .bukids-card-link:focus-visible,
.search .bk2-topic-search input:focus-visible,
.search .bk2-search-reset:focus-visible { outline:2px solid var(--b2color,#fd4c4c); outline-offset:-2px; }
.search .bk2-topic-search .bukids-empty-state { padding:40px 16px; border:1px solid #e6e9ef; border-radius:4px; box-shadow:none; background:#fff; }
@media (max-width:1180px) {
    .search .bk2-search-container { max-width:calc(100% - 32px); }
}
@media (max-width:480px) {
    .search .bk2-search-container { max-width:calc(100% - 24px); padding-top:16px; }
    .search .bk2-topic-search .bukids-search-field input { font-size:16px; padding:0 10px; }
    .search .bk2-topic-search .bukids-search-row > .bukids-primary-button { font-size:16px; }
    .search .bk2-topic-search .bukids-primary-button { padding:0 16px; }
    .search .bk2-topic-search .bukids-results-toolbar { gap:8px; margin-bottom:16px; }
    .search .bk2-topic-search .bukids-card-grid { gap:12px; }
}
@media (max-width:768px) {
    /* The query remains in the editable field; do not repeat it above cards. */
    .search .bk2-topic-search .bk2-search-query-term { display:none; }
    .search .bk2-topic-search .bk2-search-query { gap:2px 10px; font-size:12px; }
    .search .bk2-topic-search .bukids-results-toolbar { padding-bottom:8px; }
}
.search .bukids-library .bukids-card { border:1px solid #e6e9ef; }
.search .bukids-library .bukids-primary-button {
    background:var(--b2color,#fd4c4c); border-color:var(--b2color,#fd4c4c); color:#fff;
}
.search .bukids-library .bukids-primary-button:hover { filter:brightness(.94); }

/* Keep search usable through B2's tablet bottom-navigation breakpoint. */
@media (max-width:1180px) {
    /* 2.0.316: the footer already leaves room for B2's bottom bar. */
    .search .bk2-topic-search { padding-bottom:16px; }
    .search .bk2-topic-search .bukids-search-field input,
    .search .bk2-topic-search .bukids-search-row > .bukids-primary-button { font-size:16px; }
}
@media (max-width:359px) {
    .search .bk2-topic-search .bukids-card-grid { grid-template-columns:minmax(0,1fr); }
}
@media (pointer:coarse) {
    .search .bk2-topic-search .bukids-search-field input { font-size:16px; }
}

/* B2 header membership entry: theme colour, no floating overlay or extra JS. */
.site-header .bk2-member-actions { align-items:center; gap:10px; }
.site-header.social-top .bk2-member-header { width:auto; flex-shrink:0; align-items:center; }
.site-header .bk2-member-cta {
    display:block; flex:0 0 auto;
    box-sizing:border-box; min-height:0; padding:8px 15px; margin:0;
    border:0; border-radius:8px;
    background:var(--b2color,#227c73); color:#fff; font:inherit;
    font-size:12px; font-weight:400; line-height:normal; white-space:nowrap;
    text-decoration:none; transition:filter .15s ease; cursor:pointer; touch-action:manipulation;
}
/* One typography/geometry contract for the two four-character actions.
   Links otherwise inherit ligatures/optimizelegibility unlike B2 buttons. */
.site-header .bk2-member-actions .header-login-button > button:not(.empty),
.site-header .bk2-member-cta {
    box-sizing:border-box; width:78px; height:32px; min-width:78px; min-height:32px;
    padding:8px 15px; border:0; border-radius:8px;
    font-family:inherit; font-size:12px; font-weight:400; font-style:normal;
    line-height:16px; letter-spacing:normal; text-align:center;
    font-feature-settings:normal; font-variant:normal; text-rendering:auto;
}
.site-header .bk2-member-cta:hover { color:#fff; }
@media (hover:hover) and (pointer:fine) {
    .site-header .bk2-member-cta:hover { filter:brightness(.93); }
}
.site-header .bk2-member-cta:active { filter:brightness(.84); }
@media (prefers-reduced-motion:reduce) {
    .site-header .bk2-member-cta { transition:none; }
}
.site-header .bk2-member-cta:focus-visible { outline:2px solid currentColor; outline-offset:3px; box-shadow:0 0 0 4px var(--b2color,#227c73); }
/* Keep the loading cloak stronger than polish.css's desktop button display. */
.site-header .bk2-member-cta[v-cloak] { display:none!important; }
/* Match Bukids' deployed B2 mobile.css breakpoint (1180px). */
@media (max-width:1180px) {
    /* B2's absolute 100%-wide logo box intercepted taps over the right tools. */
    .site-header.bk2-membership-enabled.social-top .header-banner-left > .header-logo,
    .site-header.bk2-membership-enabled.social-top .header-banner-left > .header-logo .logo { width:auto; }
    /* Closed off-canvas menus must not retain a transparent hit layer after resize. */
    .site-header.bk2-membership-enabled .mobile-box:not(.show-menu-box) { visibility:hidden; pointer-events:none; }
    .site-header.bk2-membership-enabled .mobile-box:not(.show-menu-box) * { pointer-events:none; }
    .site-header.bk2-membership-enabled.social-top .top-style .header-banner-right { height:43px; flex-shrink:0; margin-bottom:0; }
    .site-header .bk2-member-actions { gap:6px; position:relative; z-index:3; }
    .site-header .bk2-member-actions .top-user-box { position:static; }
    .site-header .bk2-member-actions .top-user-box-drop {
        right:0; top:calc(100% + 8px); width:308px; max-width:calc(100vw - 24px);
        max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); overflow-y:auto;
        transform-origin:right top;
    }
    .site-header .bk2-member-actions .top-user-box-drop.jt::before,
    .site-header .bk2-member-actions .top-user-box-drop.jt::after { display:none; }
}
@media (max-width:360px) {
    .site-header.bk2-membership-enabled.social-top .header-logo img { max-width:112px; object-fit:contain; object-position:left center; }
}

/* bukids-collection */
/* Bukids collection library ------------------------------------------------ */

/* Library index: the same quiet card hierarchy as topic search. */
.bukids-library.bk2-library-index {
    --bk-primary:var(--bk-ui-brand,#fd4c4c); --bk-primary-dark:var(--bk-ui-brand-dark,#e8403f);
    --bk-ink:var(--bk-ui-ink,#1d2433); --bk-muted:var(--bk-ui-muted,#667085); --bk-light:var(--bk-ui-faint,#98a2b3);
    background:transparent; color:inherit;
}
.bk2-library-index .bukids-card-media { background:#fff; }
.bk2-library-index .bukids-card-content h3 { font-size:14px; font-weight:400; }
.bk2-library-index .bukids-filter-actions > a { white-space:nowrap; flex-shrink:0; }
.bk2-library-index .bukids-card-stats {
    margin-top:auto; padding-top:12px; color:var(--bk-muted); font-size:12px; line-height:1.65;
}
.bk2-library-index .bukids-card-stats span { white-space:normal; }
.bk2-library-index .bukids-results-toolbar { align-items:center; gap:12px; }
.bk2-library-index .bukids-results-toolbar > div { min-width:0; }
.bk2-library-index .bukids-clear-link { flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; }
.bk2-library-index .bukids-card-media [hidden] { display:none; }
.bk2-library-cover-fallback { position:absolute; inset:0; }
@media(max-width:480px) { .bk2-library-index .bukids-card-grid { gap:12px; } }
@media(max-width:359px) { .bk2-library-index .bukids-card-grid { grid-template-columns:minmax(0,1fr); } }

.bukids-library,
.bukids-series-page {
    --bk-primary: var(--bk-ui-brand, #fd4c4c);
    --bk-primary-dark: var(--bk-ui-brand-dark, #e8403f);
    --bk-primary-soft: var(--bk-ui-brand-soft, #fff1f1);
    --bk-ink: var(--bk-ui-ink, #1d2433);
    --bk-muted: var(--bk-ui-muted, #667085);
    --bk-light: var(--bk-ui-faint, #98a2b3);
    --bk-line: var(--bk-ui-line, #e6e9ef);
    --bk-surface: #fff;
    --bk-background: #fff;
    --bk-radius: 6px;
    font-family: inherit;
    font-size: 14px;
}

.bukids-library,
.bukids-library *,
.bukids-series-page,
.bukids-series-page * {
    box-sizing: border-box;
}

.bukids-library a,
.bukids-series-page a {
    text-decoration: none;
}

.bukids-library button,
.bukids-library input,
.bukids-library select,
.bukids-series-page button,
.bukids-series-page input,
.bukids-series-page select {
    font: inherit;
}

.bukids-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.bukids-library-container {
    /* Width comes from B2's configured .wrapper; never change global width. */
    max-width: calc(100% - 32px);
    margin-inline: auto;
}

.bukids-library {
    min-height: 70vh;
    padding-bottom: 56px;
    color: var(--bk-ink);
    background: var(--bk-background);
}

/* The B2 header normally reserves a card gap below the navigation. The
   collection landing hero is a full-width band, so it should meet the nav. */
body.bukids-collection-landing .site-header {
    margin-bottom: 0;
}

body.bukids-collection-landing #content {
    padding-top: 0;
    margin-top: 0;
}

.bukids-library-main {
    padding-top: 24px;
}

.bukids-library-form {
    margin: 0 0 18px;
    padding: 18px;
    background: var(--bk-surface);
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
}

.bukids-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: stretch;
}

.bukids-search-field {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 15px;
    color: var(--bk-light);
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 5px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.bukids-search-field:focus-within {
    color: var(--bk-ink);
    background: #fff;
    border-color: var(--bk-ui-faint, #98a2b3);
    box-shadow: 0 0 0 2px var(--bk-ui-line, #e6e9ef);
}

.bukids-search-field svg {
    flex: 0 0 auto;
}

.bukids-search-field input {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0;
    color: var(--bk-ink);
    background: transparent;
    border: 0;
    outline: 0;
}

.bukids-search-field input::placeholder {
    color: #9ba4b4;
}

.bukids-sort-field {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
    color: var(--bk-muted);
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 9px;
}

.bukids-sort-field > span {
    font-size: 13px;
    white-space: nowrap;
}

.bukids-sort-field select,
.bukids-filter-field select,
.bukids-series-search select {
    color: var(--bk-ink);
    background: transparent;
    border: 0;
    outline: 0;
}

.bukids-primary-button,
.bukids-secondary-button,
.bukids-series-search button[type="submit"] {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    color: #fff !important;
    font-weight: 650;
    line-height: 1;
    background: var(--bk-primary);
    border: 1px solid var(--bk-primary);
    border-radius: 5px;
    cursor: pointer;
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.bukids-primary-button:hover,
.bukids-secondary-button:hover,
.bukids-series-search button[type="submit"]:hover {
    color: #fff !important;
    background: var(--bk-primary-dark);
    border-color: var(--bk-primary-dark);
    transform: none;
}

.bukids-primary-button:focus-visible,
.bukids-secondary-button:focus-visible,
.bukids-library a:focus-visible,
.bukids-series-page a:focus-visible {
    outline: 2px solid var(--bk-ui-muted, #667085);
    outline-offset: 3px;
}

.bukids-filter-details {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--bk-line);
}

.bukids-filter-details > summary {
    display: none;
    color: var(--bk-ink);
    font-weight: 650;
    cursor: pointer;
}

.bukids-filter-details > summary span {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    color: #fff;
    font-size: 12px;
    background: var(--bk-primary);
    border-radius: 999px;
}

.bukids-filter-body {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: end;
}

.bukids-filter-field {
    display: grid;
    flex: 1 1 180px;
    min-width: 0;
    gap: 7px;
}

.bukids-filter-field > span {
    color: var(--bk-muted);
    font-size: 12px;
    font-weight: 650;
}

.bukids-filter-field select {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 11px;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 8px;
}

.bukids-filter-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 42px;
    gap: 14px;
}

.bukids-filter-actions .bukids-secondary-button {
    min-height: 42px;
    padding-inline: 16px;
    color: var(--bk-ink) !important;
    background: #fff;
    border-color: var(--bk-line);
}

.bukids-filter-actions a,
.bukids-clear-link {
    color: var(--bk-muted);
    font-size: 13px;
}

.bukids-filter-actions a:hover,
.bukids-clear-link:hover {
    color: var(--bk-primary);
}

.bukids-alphabet {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 3px;
    padding: 8px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
    scrollbar-width: thin;
}

.bukids-alphabet a {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    color: var(--bk-muted);
    font-size: 13px;
    border-radius: 7px;
}

.bukids-alphabet a:first-child {
    min-width: 48px;
}

.bukids-alphabet a:hover {
    color: var(--bk-primary);
    background: var(--bk-primary-soft);
}

.bukids-alphabet a.is-active {
    color: #fff;
    font-weight: 700;
    background: var(--bk-primary);
}

.bukids-results-toolbar,
.bukids-series-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 0 16px;
}

.bukids-results-toolbar h2,
.bukids-series-toolbar h2 {
    margin: 0;
    color: var(--bk-ink);
    font-size: 18px;
    line-height: 1.3;
}

.bukids-series-toolbar h2 {
    font-size: 16px;
}

.bukids-results-toolbar p,
.bukids-series-toolbar p {
    margin: 5px 0 0;
    color: var(--bk-light);
    font-size: 13px;
}

.bukids-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

.bukids-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--bk-surface);
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bukids-card:hover {
    border-color: var(--bk-line);
    box-shadow: none;
    transform: none;
    background: #fcfcfd;
}

.bukids-card-link {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 100%;
    height: 100%;
    color: inherit;
}

.bukids-card-media {
    position: relative;
    flex-shrink: 0;
    aspect-ratio: var(--bk-topic-cover-ratio, 16 / 9);
    overflow: hidden;
    background: #edf0f3;
}

@media (max-width: 768px) {
    .bukids-card-media {
        aspect-ratio: var(--bk-topic-cover-ratio-mobile, var(--bk-topic-cover-ratio, 16 / 9));
    }
}

.bukids-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.bukids-card:hover .bukids-card-media img {
    transform: none;
}

.bukids-card-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: var(--bk-ui-faint, #98a2b3);
    font-size: 40px;
    font-weight: 800;
}

.bukids-card-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 14px 16px;
}

.bukids-card-content h3 {
    display: block;
    min-height: 0;
    margin: 0;
    overflow: visible;
    color: var(--bk-ink);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}

.bukids-card-cn {
    display: block;
    margin: 4px 0 0;
    overflow: visible;
    color: var(--bk-muted);
    font-size: 13px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
}

.bukids-card-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 7px;
    color: var(--bk-light);
    font-size: 12px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.bukids-card-stats span + span::before {
    content: "·";
    margin-right: 10px;
}

.bukids-series-facts{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 11px 0 0;
    padding: 0;
    list-style: none;
}

.bukids-empty-state {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
}

.bukids-empty-state > div {
    margin-bottom: 10px;
    color: #c0c6d0;
    font-size: 48px;
}

.bukids-empty-state h2 {
    margin: 0;
    color: var(--bk-ink);
    font-size: 20px;
}

.bukids-empty-state p {
    margin: 8px 0 20px;
    color: var(--bk-muted);
}

/* Collection taxonomy / series page --------------------------------------- */

.collection.b2-single-content {
    align-items: flex-start;
}

.collection .content-area,
.collection .site-main,
.bukids-series-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.bukids-series-page {
    color: var(--bk-ink);
}

.bukids-breadcrumbs {
    margin: 0 0 12px;
    padding: 11px 16px;
    background: #fff;
    color: #8590a6;
    font-size: 13px;
    line-height: 1.5;
    min-width: 0;
}

.bukids-breadcrumbs ol {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bukids-breadcrumbs li { flex: 0 0 auto; }

.bukids-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.bukids-breadcrumbs a:hover {
    color: var(--b2color, #ff3355);
}

.bukids-breadcrumbs-separator { color: #bfc5ce; user-select: none; }

.bukids-breadcrumbs .bukids-breadcrumbs-current {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--bk-ui-ink, #1d2433);
    font-weight: 500; /* 2.0.262: same as the Blog and article breadcrumbs */
}

.bukids-breadcrumbs-current span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bukids-series-hero {
    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 8px;
}

.bukids-series-cover-wrap {
    display: flex;
    width: 100%;
    aspect-ratio: 16 / 9;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    border-radius: 6px;
}

.bukids-series-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bukids-series-cover-placeholder {
    color: var(--bk-ui-faint, #98a2b3);
    font-size: 46px;
    font-weight: 800;
}

/* Keep the fixed cover canvas while swapping a failed image and its fallback. */
.bukids-series-cover[hidden],
.bukids-series-cover-placeholder[hidden] {
    display: none !important;
}
.bukids-series-layout .bukids-series-cover-wrap.bk2-cover-fallback {
    position: relative;
}
.bukids-series-layout .bukids-series-cover-wrap.bk2-cover-fallback > .bukids-series-cover,
.bukids-series-layout .bukids-series-cover-wrap.bk2-cover-fallback > .bukids-series-cover-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.bukids-series-layout .bukids-series-cover-wrap.bk2-cover-fallback > .bukids-series-cover-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 2.0.288: resource thumbnails can have a different ratio from the hero.
   Fill landscape fallback frames without changing their responsive size. */
.bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) > .bukids-series-cover-wrap.bk2-cover-fallback > .bukids-series-cover {
    object-fit: cover;
    object-position: center;
}

.bukids-series-hero-content {
    min-width: 0;
    padding: 2px 6px 2px 0;
}

.bukids-series-kicker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.bukids-series-kicker > span {
    color: var(--bk-light);
    font-size: 12px;
    min-width: 0;
    max-width: 100%;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.bukids-series-hero h1 {
    margin: 8px 0 0;
    overflow-wrap: anywhere;
    color: var(--bk-ink);
    font-size: clamp(23px, 2.2vw, 28px);
    line-height: 1.22;
    letter-spacing: -0.018em;
}

.bukids-series-cn-name {
    margin: 5px 0 0;
    overflow-wrap: anywhere;
    color: var(--bk-muted);
    font-size: 15px;
    font-weight: 650;
}

.bukids-series-description {
    display: -webkit-box;
    /* 2.0.246: fill the text column, including stacked tablet layouts. */
    max-width: none;
    margin: 13px 0 0;
    overflow: hidden;
    color: var(--bk-muted);
    font-size: 14px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.bukids-series-facts {
    margin-top: 14px;
}

.bukids-series-facts li {
    padding: 5px 8px;
    color: #586273;
    font-size: 12px;
    line-height: 1;
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: var(--bk-ui-r-sm, 6px);
}

.bukids-series-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.bukids-hero-secondary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 0 16px;
    color: var(--bk-ink) !important;
    font-weight: 650;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 6px;
}

.bukids-series-actions .bukids-primary-button {
    min-height: 42px;
    padding-inline: 16px;
    border-radius: 6px;
}

.bukids-hero-secondary:hover {
    color: var(--bk-primary) !important;
    border-color: rgba(253, 76, 76, 0.45);
}

.bukids-series-resources {
    margin-top: 16px;
    padding: 0 20px 20px;
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 8px;
}

.bukids-series-search {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto;
    gap: 8px;
    font-size: 13px;
}

.bukids-series-search input,
.bukids-series-search select {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    color: var(--bk-ink);
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: 8px;
    outline: 0;
}

.bukids-series-search input:focus,
.bukids-series-search select:focus {
    border-color: var(--bk-ui-faint, #98a2b3);
    box-shadow: 0 0 0 2px var(--bk-ui-line, #e6e9ef);
}

.bukids-series-search button[type="submit"] {
    min-height: 42px;
}

/* Responsive --------------------------------------------------------------- */

.bukids-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: var(--bk-muted);
    font-size: 12px;
}

.bukids-active-filters a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 34px;
    padding: 5px 10px;
    color: var(--bk-ink);
    background: #fff;
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-ui-r-sm, 6px);
    overflow-wrap: anywhere;
}

.bukids-library select:focus-visible,
.bukids-filter-details summary:focus-visible {
    outline: 2px solid var(--bk-ui-muted, #667085);
    outline-offset: 2px;
}

.bukids-card-link:focus-visible {
    outline-offset: -3px;
}

.bukids-series-facts:empty { display: none; }
.bukids-series-resources { scroll-margin-top: 100px; }
.bukids-series-native-resources { scroll-margin-top: 100px; }
.bukids-series-controls { padding: 16px; margin: 0 0 16px; background: #fff; border: 1px solid var(--bk-line); border-radius: 6px; }

@media (max-width: 1024px) {
    .bukids-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bukids-filter-body {
        display: flex;
    }

    .bukids-series-hero {
        grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
        gap: 20px;
    }
}

@media (min-width: 721px) {
    .bukids-filter-details:not([open]) > .bukids-filter-body {
        display: grid;
    }
}

@media (max-width: 720px) {
    .bukids-library-container {
        max-width: calc(100% - 24px);
    }

    .bukids-library {
        width: 100%;
        max-width: 100%;
        padding-bottom: 82px;
        overflow-x: clip;
    }

    .bukids-series-page {
        width: 100%;
        max-width: 100%;
        margin: 0;
        overflow: visible;
    }

    .bukids-library-main {
        padding-top: 14px;
    }

    .bukids-library-form {
        padding: 12px;
    }

    .bukids-search-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .bukids-search-field {
        grid-column: 1 / -1;
    }

    .bukids-sort-field {
        min-width: 0;
    }

    .bukids-sort-field select {
        min-width: 0;
        max-width: 128px;
    }

    .bukids-filter-details {
        margin-top: 12px;
        padding-top: 11px;
    }

    .bukids-filter-details > summary {
        display: list-item;
    }

    .bukids-filter-body {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding-top: 12px;
    }

    .bukids-filter-actions {
        grid-column: 1 / -1;
    }

    .bukids-alphabet {
        margin-inline: 0;
        padding: 8px;
    }

    .bukids-results-toolbar,
    .bukids-series-toolbar {
        align-items: flex-start;
        padding: 22px 0 13px;
    }

    .bukids-results-toolbar h2,
    .bukids-series-toolbar h2 {
        font-size: 19px;
    }

    .bukids-series-toolbar h2 {
        font-size: 16px;
    }

    .bukids-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .bukids-card {
        min-width: 0;
        border-radius: 6px;
    }

    .bukids-card-content {
        min-width: 0;
        padding: 11px 10px 13px;
    }

    .bukids-card-content h3 {
        font-size: 14px;
    }

    .bukids-card-cn {
        font-size: 12px;
    }

    .bukids-card-stats {
        display: grid;
        gap: 3px;
        margin-top: auto;
        padding-top: 7px;
        font-size: 11px;
    }

    .bukids-card-stats span + span::before {
        content: none;
    }

    .bukids-breadcrumbs {
        margin-inline: 0;
    }

    .bukids-series-hero {
        display: block;
        padding: 16px;
        border-radius: 6px;
    }

    .bukids-series-cover-wrap {
        display: flex;
        max-width: 480px;
        margin: 0 auto 16px;
    }

    .bukids-series-hero-content {
        padding: 0;
    }

    .bukids-series-hero h1 {
        margin-top: 7px;
        font-size: 23px;
    }

    .bukids-series-cn-name {
        font-size: 14px;
    }

    .bukids-series-description {
        margin-top: 11px;
        font-size: 13px;
        -webkit-line-clamp: 3;
    }

    .bukids-series-facts {
        margin-top: 12px;
    }

    .bukids-series-actions {
        margin-top: 15px;
    }

    .bukids-series-resources {
        margin-top: 12px;
        padding: 0 12px 14px;
        border-radius: 6px;
    }

    .bukids-series-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-content: stretch;
    }

    .bukids-series-search {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) auto;
    }

}

@media (max-width: 370px) {
    .bukids-card-grid {
        gap: 9px;
    }

    .bukids-card-content {
        padding-inline: 8px;
    }

    .bukids-filter-body {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bukids-filter-actions {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bukids-card,
    .bukids-card-media img,
    .bukids-primary-button,
    .bukids-secondary-button{
        transition: none;
    }
}

/* bukids-catalog */
/* Deliberately scoped. Never override body, .wrapper, h1 or B2 article fonts. */
/* Native resource cards share the topic cards' quiet frame, not a new layout. */
.bk2-category .post-list .post-list-item > .item-in,
.bukids-series-native-resources .post-list .post-list-item > .item-in {
    box-sizing:border-box;
    border:1px solid var(--bk-line, #e6e9ef);
    border-radius:var(--bk-radius, 6px);
    background:#fff;
    box-shadow:none;
    min-width:0;
    padding:0;
}
.bk2-category .post-1.post-list ul.b2_gap,
.bukids-series-native-resources .post-1.post-list ul.b2_gap { row-gap:0; margin-right:-18px; }
.bk2-category .post-1.post-list .post-list-item > .item-in,
.bukids-series-native-resources .post-1.post-list .post-list-item > .item-in {
    margin-right:18px!important; margin-bottom:18px!important;
}
.bk2-category .post-list .post-module-thumb,
.bukids-series-native-resources .post-list .post-module-thumb { border-radius:5px 5px 0 0; background:#fff; }
.post-module-thumb.bk2-native-cover-error::after {
    content:'封面暂不可用'; position:absolute; inset:0; display:flex; align-items:center;
    justify-content:center; color:var(--bk-ui-muted, #667085); font-size:12px; pointer-events:none;
}
@media (max-width:768px) {
    .bk2-category .post-1.post-list ul.b2_gap,
    .bukids-series-native-resources .post-1.post-list ul.b2_gap { margin-right:-12px; }
    .bk2-category .post-1.post-list .post-list-item > .item-in,
    .bukids-series-native-resources .post-1.post-list .post-list-item > .item-in {
        margin-right:12px!important; margin-bottom:12px!important;
    }
}
.bk2-category .post-1.post-list .post-list-item,
.bukids-series-native-resources .post-1.post-list .post-list-item {
    display:flex;
    flex-direction:column;
    min-width:0;
}
.bk2-category .post-1.post-list .post-list-item > .item-in,
.bukids-series-native-resources .post-1.post-list .post-list-item > .item-in {
    /* B2 puts its gutters on item-in margins. 100% height consumes the bottom
       gutter; flex stretch includes margins in the row's available space. */
    height:auto;
    flex:1 1 auto;
}
.bk2-category .post-list .post-list-item > .item-in:has(:focus-visible),
.bukids-series-native-resources .post-list .post-list-item > .item-in:has(:focus-visible) {
    outline:2px solid var(--bk-ui-muted, #667085);
    outline-offset:2px;
}
@media (hover:hover) and (pointer:fine) {
    .bk2-category .post-list .post-list-item:hover > .item-in,
    .bukids-series-native-resources .post-list .post-list-item:hover > .item-in {
        border-color:var(--bk-line, #e6e9ef);
        background:#fcfcfd;
        box-shadow:none;
    }
}
/* Touch tablets may exceed mobile breakpoints: prevent input zoom and keep
   filter controls comfortably tappable without changing desktop typography. */
@media (pointer:coarse) and (min-width:769px) {
    body .bukids-library, body .bukids-series-layout, body .bk2-category { --bk-control-height:44px; }
    body .bukids-library input, body .bukids-library select,
    body .bukids-series-layout .bukids-series-controls input,
    body .bukids-series-layout .bukids-series-controls select,
    body .bk2-category .bk2-filter select, body .bk2-category .bk2-search-row input { font-size:16px; min-height:44px; }
}
.bukids-library, .bukids-series-layout, .bk2-category { --bk-control-height: 40px; --bk-section-gap: 20px; --bk-block-gap: 16px; }
.bukids-series-layout .bukids-subtitle-line { margin: 8px 0; color: #475467; font-size: 13px; line-height: 1.6; white-space: normal; overflow-wrap: anywhere; }
.bk2-mobile-filters { min-width: 0; }
.bk2-mobile-filters > summary, .bk2-mobile-filters > .bk2-mobile-apply { display: none; }
.bk2-filter-count { color: #667085; font-weight: 400; }
/* Shared controls and compact layouts for the library and topic detail only. */
.bukids-library input, .bukids-library select, .bukids-series-controls input, .bukids-series-controls select { box-shadow: none; border: 1px solid #d0d5dd; border-radius: var(--bk-ui-r-sm, 6px); font-family: inherit; font-size: 13px; height: 40px; min-width: 0; max-width: 100%; box-sizing: border-box; }
.bukids-library button, .bukids-series-controls button { font-family: inherit; font-size: 13px; border-radius: var(--bk-ui-r-sm, 6px); min-height: 40px; box-shadow: none; }
.bukids-library .bukids-search-field, .bukids-library .bukids-sort-field { border-radius: var(--bk-ui-r-sm, 6px); height: var(--bk-control-height); min-height: var(--bk-control-height); box-shadow: none; }
.bukids-library .bukids-search-field input, .bukids-library .bukids-sort-field select { height: 100%; min-height: 0; border: 0; background-color: transparent; box-shadow: none; }
.bukids-library .bukids-search-row > button, .bukids-library .bukids-filter-actions > button { height: var(--bk-control-height); min-height: var(--bk-control-height); }
.bukids-library .bukids-filter-actions > a { display: inline-flex; align-items: center; min-height: var(--bk-control-height); }
.bukids-library .bukids-search-field:focus-within, .bukids-library .bukids-sort-field:focus-within { outline: 2px solid #667085; outline-offset: 2px; }
.bukids-library select, .bukids-series-layout .bukids-series-controls select { appearance: none; padding-right: 30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: right 10px center; background-size: 12px 12px; background-repeat: no-repeat; }
.bukids-library .bukids-library-main { padding-top: 12px; }
.bukids-library .bukids-library-form { padding: 12px; margin-bottom: 10px; }
.bukids-library .bukids-results-toolbar { margin-top: 16px; margin-bottom: 14px; padding: 0; }
.bukids-series-layout { min-width: 0; padding-bottom: 20px; }
.bukids-series-layout .bukids-series-controls { padding: 16px; margin-bottom: 12px; }
.bukids-series-layout .bukids-series-hero { padding: 16px; }
.bukids-series-layout .bukids-series-hero-content { padding: 0; }
/* Keep the established desktop/portrait flex children unchanged. The wrappers
   become real layout groups only for the short touch-landscape composition. */
.bukids-series-layout .bukids-series-hero-copy,
.bukids-series-layout .bukids-series-hero-footer { display:contents; }
.bukids-series-layout .bk2-series-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; min-width: 0; }
.bukids-series-layout .bk2-series-heading > h1,
.bukids-series-layout .bk2-series-heading > .bukids-series-kicker { flex: 0 1 auto; min-width: 0; }
.bukids-series-layout .bk2-series-heading > h1 { margin-top: 0; }
.bukids-series-layout .bk2-series-heading .bukids-series-kicker > span { display: block; }
.bukids-series-layout .bukids-series-actions > a, .bukids-series-layout .bukids-series-actions > button {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0;
    padding-block: 0; font-size: 13px; line-height: 20px; border-radius: 6px;
}
@media (min-width: 1041px) {
    /* Keep ordinary landscape covers and the compact heading visually balanced. */
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) { grid-template-columns: minmax(0, 49%) minmax(0, 1fr); }
    /* Let both columns share a bottom edge without cropping or stretching art. */
    .bukids-series-layout .bukids-series-hero > .bukids-series-cover-wrap { align-self: end; }
    .bukids-series-layout .bukids-series-cover { object-position: center bottom; }
    .bukids-series-layout .bukids-series-hero-content { display: flex; flex-direction: column; align-self: stretch; }
    .bukids-series-layout .bukids-series-actions { margin-top: auto; padding-top: 18px; }
    /* Expanded copy grows independently from the cover's collapsed position. */
    .bukids-series-layout .bukids-series-hero[data-bk-intro-expanded="true"] > .bukids-series-cover-wrap { align-self: start; margin-top: var(--bk-intro-cover-offset, 0px); }
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* At tablet / narrow-laptop widths the side-by-side columns become too
       short for a three-line introduction. Stack them instead of allowing
       the heading or actions to protrude above or below the cover. */
    .bukids-series-layout .bukids-series-hero { display: block; }
    .bukids-series-layout .bukids-series-cover-wrap { width: min(100%, 480px); max-width: 480px; margin: 0 auto 16px; align-self: auto; }
    .bukids-series-layout .bukids-series-hero-content { display: block; align-self: auto; }
    .bukids-series-layout .bukids-series-actions { margin-top: 15px; padding-top: 0; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { width: min(100%, 220px); max-width: 220px; }
}
.bukids-series-layout .bukids-series-toolbar { margin: 0 0 10px; padding: 0; }
.bukids-series-layout .bukids-series-toolbar h2 { font-size: 16px; }
.bukids-series-layout .bukids-series-search { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0; padding: 0; border: 0; }
.bukids-series-layout .bukids-series-search .bk2-search-row label { flex: 1; min-width: 0; }
.bukids-series-layout .bukids-series-search input { width: 100%; }
.bukids-series-layout .bukids-series-search .bk2-filter { min-width: 0; flex: 1 1 130px; }
.bukids-series-layout .bukids-series-search select { width: 100%; }
.bk2-reset-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 12px; }
.bk2-reset-actions:empty { display: none; }
/* 2.0.248: detail facets stay visible; category/library disclosures are separate.
   Retain the no-script submit; the existing head marker hides it with JS on. */
.bukids-series-layout .bk2-topic-filters { min-width: 0; }
.bukids-series-layout .bk2-topic-filters > .bk2-mobile-apply { display: inline-flex; margin-top: 10px; }
/* PHP's conditional links leave whitespace text nodes, so :empty is not enough. */
.bukids-series-layout .bk2-reset-actions:not(:has(a)) { display: none; }
.bk2-current-audio { margin: 8px 0; color: #475467; font-size: 13px; }
/* A single quiet information row; narrow screens wrap whole groups naturally. */
.bukids-series-layout .bukids-series-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; min-width: 0; margin-top: 12px; color: #667085; font-size: 13px; line-height: 1.65; }
.bukids-series-layout .bukids-series-meta > .bukids-series-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; min-width: 0; max-width: 100%; margin: 0; padding: 0; list-style: none; }
.bukids-series-layout .bukids-series-meta .bukids-series-facts li { max-width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; line-height: inherit; list-style: none; overflow-wrap: anywhere; }
.bukids-series-layout .bukids-series-meta > p { min-width: 0; max-width: 100%; margin: 0; padding: 0; color: inherit; font-size: inherit; line-height: inherit; overflow-wrap: anywhere; }
.bukids-series-layout .bukids-series-native-resources { scroll-margin-top: var(--bk-anchor-offset, 140px); min-width: 0; }
.bukids-series-layout .bukids-series-native-resources .post-list .item-in .post-info :is(h2, h3) { display: block; height: auto; max-height: none; overflow: visible; -webkit-line-clamp: unset; white-space: normal; overflow-wrap: anywhere; }
.bukids-series-native-resources .post-list-meta-box { display: none; }
.bk2-alphabet-wrap { display: flex; align-items: center; gap: 4px; margin-bottom: 14px; min-width: 0; }
.bk2-alphabet-wrap .bukids-alphabet { flex: 1; min-width: 0; margin: 0; scrollbar-width: none; }
.bk2-alphabet-wrap .bukids-alphabet::-webkit-scrollbar { display: none; }
.bk2-alphabet-wrap > button { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; box-sizing: border-box; flex: 0 0 28px; height: auto; min-height: 40px; margin: 0; padding: 0; font-family: inherit; font-size: 20px; line-height: 1; border: 1px solid var(--bk-ui-line, #e6e9ef); background: #fff; color: #475467; border-radius: var(--bk-ui-r-sm, 6px); cursor: pointer; }
.bk2-alphabet-wrap > button[hidden] { display: none; }
.bk2-alphabet-wrap > button:disabled { opacity: .35; cursor: default; }
.bukids-series-layout :focus-visible, .bukids-library .bk2-alphabet-wrap :focus-visible { outline: 2px solid #667085; outline-offset: 3px; }
/* The jump target is a whole section, not a control. Keep its focus for keyboard
   navigation without drawing a frame around every resource after an anchor jump. */
.bukids-series-layout #bukids-series-resources:focus,
.bukids-series-layout .bk2-version-section:focus { outline: none; }
/* Language sections retain B2's native card grid, outside our typography box. */
.bukids-series-layout .bk2-version-section {
    min-width: 0; margin-top: 22px;
    scroll-margin-top: var(--bk-anchor-offset, 140px);
}
.bukids-series-layout .bk2-version-section + .bk2-version-section { margin-top: 32px; }
.bukids-series-layout .bk2-version-heading {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; min-width: 0; padding: 10px 0; border-top: 1px solid var(--bk-line, #e6e9ef);
}
.bukids-series-layout .bk2-version-heading > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.bukids-series-layout .bk2-version-heading h2 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
.bukids-series-layout .bk2-version-heading > div > span { color: var(--bk-ui-muted, #667085); font-size: 12px; line-height: 1.6; }
.bukids-series-layout .bk2-version-heading > a {
    display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px;
    flex-shrink: 0; min-height: 40px; font-size: 13px; line-height: 1.5; color: var(--b2color, #fd4c4c);
}
.bukids-series-layout .bk2-version-empty { margin: 0; padding: 18px 14px; border: 1px solid var(--bk-line, #e6e9ef); border-radius: 6px; background: #fff; color: var(--bk-ui-muted, #667085); font-size: 13px; line-height: 1.7; }
@media (max-width: 768px) {
    .bukids-series-layout .bk2-version-section { margin-top: 16px; }
    .bukids-series-layout .bk2-version-section + .bk2-version-section { margin-top: 24px; }
    .bukids-series-layout .bk2-version-heading { padding-block: 6px; }
    .bukids-series-layout .bk2-version-heading > a { min-height: 44px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 33.333333%; }
}
@media (max-width: 768px) {
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 50%; }
    .bukids-series-layout .bukids-series-search .bk2-filter { flex-basis: calc(50% - 16px); }
    .bukids-series-layout .bukids-series-hero { gap: 14px; padding: 14px; }
    .bukids-series-layout .bukids-series-cover-wrap { max-width: 360px; }
    .bukids-series-layout .bukids-series-description { margin-top: 10px; margin-bottom: 10px; }
}
@media (max-width: 359px) {
    /* B2 mobile.css uses !important for its two-column rule. */
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 100% !important; }
}

/* Mixed library results keep one 16:9 canvas, while textbook-only category
   pages use their configured portrait ratio (for example 4:5). */
.bukids-library .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: 16 / 9; }
.bukids-card.bk2-textbook-card .bukids-card-media { background: #fff; }
.bk2-category .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: var(--bk-topic-cover-ratio, 4 / 5); }
@media (max-width: 768px) {
    .bk2-category .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: var(--bk-topic-cover-ratio-mobile, var(--bk-topic-cover-ratio, 4 / 5)); }
}
.bukids-card.bk2-textbook-card .bukids-card-media img { object-fit: contain; }
.bukids-card.bk2-textbook-card:hover .bukids-card-media img { transform: none; }

/* Channel covers mix landscape artwork and portrait posters. Keep both whole,
   without changing native resource cards or textbook proportions elsewhere. */
.bk2-category.bk2-channel-category .bukids-card .bukids-card-media {
    aspect-ratio: 16 / 9;
    background: #fff;
}
.bk2-category.bk2-channel-category .bukids-card .bukids-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
}
/* Keep a failed remote cover quiet and preserve its original canvas ratio. */
.bukids-card-placeholder.bk2-cover-unavailable {
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: 100%; height: 100%; padding: 12px;
    font-size: 13px; font-weight: 400; line-height: 1.6; letter-spacing: normal;
    color: var(--bk-ui-muted, #667085); text-align: center; overflow-wrap: anywhere;
}
.bk2-textbook-native .post-list .post-module-thumb .post-thumb { object-fit: contain; }
.bk2-textbook-native .post-list .post-list-item:hover .post-thumb { transform: none; }
.bukids-series-layout .bk2-textbook-hero { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); }
.bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { aspect-ratio: var(--bk-topic-cover-ratio, 2 / 3); }
@media (max-width: 768px) {
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { width: min(100%, 220px); aspect-ratio: var(--bk-topic-cover-ratio-mobile, var(--bk-topic-cover-ratio, 2 / 3)); }
}
.bk2-category { min-width: 0; }
body.bukids-category-archive .site-header { margin-bottom: 0; }
body.bukids-category-archive #content { padding-top: 0; margin-top: 0; }
 .bk2-tabs{ display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 14px 0; }
 .bk2-tabs a{ border: 1px solid var(--bk-ui-line, #e6e9ef); border-radius: 5px; padding: 9px 13px; background: #fff; font-size: 13px; color: #475467; }
 .bk2-tabs a[aria-current]{ background: var(--bk-ui-subtle, #f5f6f8); border-color: #98a2b3; color: #101828; }
/* Ancestor labels must not push a deep channel breadcrumb outside a phone. */
.bk2-category .bukids-breadcrumbs { margin: 12px 0 0; padding: 10px 0; background: transparent; }
.bk2-category .bukids-breadcrumbs ol, .bukids-series-layout .bukids-breadcrumbs ol { flex-wrap: wrap; gap: 4px 8px; }
.bk2-category .bukids-breadcrumbs li, .bukids-series-layout .bukids-breadcrumbs li { min-width: 0; max-width: 100%; }
.bk2-category .bukids-breadcrumbs a, .bukids-series-layout .bukids-breadcrumbs a { overflow-wrap: anywhere; }
.bk2-category .bukids-breadcrumbs-current span, .bukids-series-layout .bukids-breadcrumbs-current span { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.bk2-category .bk2-tabs { margin: 0 0 16px; gap: 8px 24px; border-bottom: 1px solid var(--bk-ui-line, #e6e9ef); align-items: center; }
.bk2-category .bk2-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; line-height: 22px; white-space: nowrap; padding: 10px 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font-size: 14px; color: #667085; }
.bk2-category .bk2-tabs a[aria-current] { border-bottom-color: var(--b2color, #fd4c4c); color: var(--bk-ui-ink, #1d2433); font-weight: 600; }
.bk2-category .bk2-tabs a:hover { color: var(--bk-ui-ink, #1d2433); }
.bk2-tabs span { margin-left: auto; color: #667085; font-size: 13px; line-height: 22px; white-space: nowrap; }
.bk2-search { display: flex; flex-wrap: wrap; gap: 14px 12px; padding: 18px; background: #fff; border: 1px solid var(--bk-ui-line, #e6e9ef); border-radius: 6px; align-items: flex-end; }
.bk2-search input, .bk2-search select { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; height: var(--bk-control-height); padding: 8px 10px; border: 1px solid #d0d5dd; border-radius: var(--bk-ui-r-sm, 6px); font: inherit; font-size: 13px; background: #fff; }
.bk2-search-input { flex: 1 1 100%; }
.bk2-filter { display: grid; gap: 7px; min-width: 100px; flex: 1 1 130px; font-size: 12px; color: #475467; }
.bk2-search > a { padding: 10px 0; font-size: 13px; }
.bk2-category .bk2-search { display: grid; padding: 14px; gap: 12px; border: 1px solid #e6e9ef; background: #fff; border-radius: 6px; }
    .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) { grid-template-columns: minmax(0, 1fr) auto; }
.bk2-search-row { display: flex; gap: 10px; align-items: center; }
.bk2-search-row .bk2-search-input { flex: 1; min-width: 0; }
.bk2-category .bk2-search input, .bk2-category .bk2-search select, .bk2-category .bk2-search-row button, .bk2-category .bk2-reset { box-sizing: border-box; height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0; border-radius: var(--bk-ui-r-sm, 6px); font-family: inherit; font-size: 13px; font-weight: 400; line-height: 20px; box-shadow: none; }
.bukids-series-layout .bk2-search-row button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0; line-height: 20px; }
.bk2-category .bk2-search-row button { flex-shrink: 0; padding: 9px 16px; border: 1px solid transparent; }
.bk2-category .bk2-reset { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; padding: 9px 14px; border: 1px solid #d0d5dd; background: #fff; color: #475467; white-space: nowrap; text-decoration: none; }
.bk2-category .bk2-reset:hover { background: var(--bk-ui-subtle, #f5f6f8); border-color: #98a2b3; color: var(--bk-ui-ink, #1d2433); }
.bk2-filter-row { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.bk2-filter-row:not(:has(.bk2-filter)) { display: none; }
.bk2-category .bk2-filter-row, .bukids-series-layout .bk2-filter-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.bk2-category .bk2-filter { display: grid; min-width: 0; gap: 7px; }
.bk2-category .bk2-filter > span { white-space: nowrap; }
.bk2-category .bk2-filter select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; max-width: 100%; padding: 9px 32px 9px 10px; border: 1px solid #d0d5dd; color: #475467; cursor: pointer; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: right 10px center; background-size: 12px 12px; background-repeat: no-repeat; }
.bk2-category .bk2-search input[type="search"] { -webkit-appearance: none; appearance: none; color: var(--bk-ui-ink, #1d2433); }
.bk2-category .bk2-search select:hover { border-color: #98a2b3; }
.bk2-category > .post-1.post-list,
.bk2-category > .bk2-textbook-native { margin-top: 14px; }
.bk2-auto-selects .bk2-mobile-apply,
.bukids-library-form.bk2-auto-selects .bukids-filter-actions button[type="submit"] { display: none !important; }
/* Before JS the nav owns the gap; after enhancement only the wrapper does. */
.bk2-category > .bukids-alphabet, .bk2-category > .bk2-alphabet-wrap { margin: 0 0 16px; }
.bk2-category > .bukids-series-page > .bukids-alphabet,
.bk2-category > .bukids-series-page > .bk2-alphabet-wrap { margin: 14px 0; }
.bk2-category .bukids-empty-state { min-height: 210px; padding: 36px 20px; }
.bk2-category .bukids-empty-state h2 { font-size: 18px; }
.bk2-category .bukids-empty-state .bukids-primary-button { margin-top: 16px; color: #fff; font-size: 13px; }
.bk2-empty-reset { display: block; margin-top: 12px; font-size: 12px; }
.bk2-category > .bukids-series-page :focus-visible { outline: 2px solid #667085; outline-offset: 3px; }
.bukids-series-page .bukids-series-description { display: block; overflow: visible; -webkit-line-clamp: unset; overflow-wrap: anywhere; }
/* With JavaScript disabled the same public introduction remains fully readable. */
.bukids-series-page .bukids-series-description[data-bk-collapsed="true"] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bukids-series-layout .bk2-intro-toggle { display: inline-flex; align-items: center; justify-content: flex-start; min-height: 40px; margin: 0; padding: 0; border: 0; border-radius: var(--bk-ui-r-sm, 6px); background: transparent; box-shadow: none; color: var(--b2color, #fd4c4c); font: inherit; font-size: 13px; line-height: 20px; cursor: pointer; }
.bukids-series-layout .bk2-intro-toggle:hover { text-decoration: underline; }
.bukids-series-layout .bk2-intro-toggle[hidden] { display: none; }
/* Reserve the toggle row while footer JS loads; never reveal the full paragraph
   or hide the whole hero just to conceal an initialization flash. */
.bukids-series-layout .bk2-intro-toggle[data-bk-intro-pending][hidden] { display:inline-flex; visibility:hidden; }
/* 2.0.249: touch targets must not shrink when a phone rotates past 768px.
   Keep hidden/pending toggle states intact, and avoid a desktop font change. */
@media (pointer:coarse) {
    body .bukids-series-layout .bk2-intro-toggle { min-height:44px; }
    body .bukids-series-layout .bk2-reset-actions a {
        display:inline-flex; align-items:center; min-height:44px; padding-inline:0;
    }
    body .bukids-series-layout .bukids-series-intro > .bukids-series-description { margin-bottom:0; }
    body .bukids-series-layout .bukids-series-intro:has(> .bk2-intro-toggle:not([hidden]), > .bk2-intro-toggle[data-bk-intro-pending]) + .bukids-series-meta,
    body .bukids-series-layout .bukids-series-hero-copy:has(:where(.bukids-series-intro > .bk2-intro-toggle:not([hidden]), .bukids-series-intro > .bk2-intro-toggle[data-bk-intro-pending])) + .bukids-series-hero-footer > .bukids-series-meta { margin-top:4px; }
}
@media (max-width: 600px) {
    .bk2-search { padding: 12px; gap: 12px 8px; } .bk2-filter { flex-basis: calc(50% - 8px); }
    .bk2-category .bk2-search, .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) { padding: 10px; gap: 10px; grid-template-columns: minmax(0, 1fr); }
    .bk2-filter-row { gap: 8px; }
    .bk2-category .bk2-filter { flex: 1 1 calc(50% - 8px); display: grid; gap: 5px; }
    .bk2-category .bk2-filter select { width: 100%; max-width: none; }
    .bk2-category .bk2-filter:only-child { display: flex; flex: 0 1 auto; }
    .bk2-category .bk2-filter:only-child select { width: auto; min-width: 120px; }
    .bk2-category .bk2-tabs { gap: 22px; margin-bottom: 12px; }
    .bk2-category .bk2-tabs a { font-size: 13px; }
    .bk2-category .bk2-tabs span { font-size: 12px; }
}

/* 2.0.20: mobile-only usability; parent B2 still owns native card markup. */
@media (min-width: 769px) and (max-width: 1024px) {
    .bk2-category .bk2-filter-row, .bukids-series-layout .bk2-filter-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* The desktop floating rail has no outside gutter on narrow catalogue pages.
   Keep an explicitly opened account drawer and B2's mobile footer untouched. */
@media (min-width: 769px) and (max-width: 1279px) {
    body.bukids-collection-landing .aside-container:not(.aside-show) > .aside-bar,
    body.tax-collection .aside-container:not(.aside-show) > .aside-bar,
    body.bukids-category-archive .aside-container:not(.aside-show) > .aside-bar { display: none; }
}
@media (max-width: 768px) {
    .bukids-library, .bukids-series-layout, .bk2-category { --bk-control-height: 44px; }
    .bukids-library input[type="search"], .bukids-library select,
    .bk2-category .bk2-search input[type="search"], .bk2-category .bk2-search select,
    .bukids-series-layout .bukids-series-controls input[type="search"],
    .bukids-series-layout .bukids-series-controls select {
        font-size: 16px;
        height: 44px;
        min-height: 44px;
    }
    .bukids-library .bukids-search-field, .bukids-library .bukids-sort-field { min-height: 44px; }
    .bukids-library .bukids-search-field input, .bukids-library .bukids-sort-field select { height: 100%; min-height: 0; }
    .bukids-library .bukids-primary-button, .bukids-library .bukids-secondary-button,
    .bk2-category .bk2-search-row button, .bk2-category .bk2-reset,
    .bukids-series-layout .bukids-primary-button, .bukids-series-layout .bukids-secondary-button,
    .bukids-library .bukids-sort-field select { max-width: none; width: 100%; }
    .bukids-library .bukids-search-row { grid-template-columns: minmax(0, 1fr) auto; }
    .bukids-library .bukids-search-field { grid-column: 1 / -1; }
    .bukids-library .bukids-filter-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bukids-library .bukids-filter-actions { grid-column: 1 / -1; }
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bukids-library .bukids-results-toolbar h2 { font-size: 17px; }
    .bukids-library .bukids-results-toolbar p { line-height: 1.6; }
    .bk2-category .bk2-search,
    .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) {
        grid-template-columns: minmax(0, 1fr);
        padding: 10px;
        gap: 6px;
    }
    .bk2-category .bk2-search-row, .bukids-series-layout .bk2-search-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .bk2-category .bk2-search-row:has(.bk2-reset) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bk2-category .bk2-search-row:has(.bk2-reset) > label { grid-column: 1 / -1; }
    .bukids-series-layout .bk2-search-row > label { grid-column: auto; }
    .bk2-mobile-filters > summary {
        display: list-item;
        min-height: 44px;
        box-sizing: border-box;
        padding: 12px 0;
        font-size: 13px;
        line-height: 20px;
        cursor: pointer;
    }
    .bk2-mobile-filters .bk2-filter-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 2px 0 10px;
    }
    .bk2-mobile-filters .bk2-filter-row > .bk2-filter,
    .bk2-category .bk2-mobile-filters .bk2-filter:only-child { display: grid; min-width: 0; gap: 5px; }
    .bk2-category .bk2-mobile-filters select,
    .bk2-category .bk2-mobile-filters .bk2-filter:only-child select { width: 100%; max-width: 100%; min-width: 0; }
    .bk2-mobile-filters > .bk2-mobile-apply { display: flex; width: 100%; min-height: 44px; margin: 0 0 4px; }
    .bukids-library .bukids-filter-details > summary { display: list-item; min-height: 44px; box-sizing: border-box; padding: 10px 0; }
    .bukids-library .bukids-filter-details { margin-top: 8px; padding-top: 4px; }
    .bukids-library .bukids-filter-actions a, .bk2-reset-actions a {
        display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
    }
    .bk2-reset-actions { gap: 0 12px; }
    .bk2-category .bk2-tabs { gap: 20px; }
    .bk2-category .bk2-tabs a { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 8px 0; }
    .bk2-category .bk2-tabs > span { line-height: 1.5; }
        .bk2-alphabet-wrap .bukids-alphabet { padding: 4px; overscroll-behavior-x: contain; }
    .bk2-alphabet-wrap > button { flex-basis: 44px; min-height: 44px; }
    .bukids-alphabet a { min-width: 44px; height: 44px; box-sizing: border-box; }
    .bukids-series-layout .bukids-series-cover-wrap { width: min(100%, 280px); margin-bottom: 12px; }
    .bukids-series-layout .bukids-series-hero { display: block; padding: 12px; }
    .bukids-series-layout .bukids-series-cover-wrap { margin-inline: auto; }
    .bukids-series-layout .bukids-series-controls { padding: 12px; }
    .bukids-series-layout .bukids-breadcrumbs,     .bukids-series-layout .bukids-series-description { line-height: 1.7; }
    .bukids-series-layout .bukids-series-meta { column-gap: 12px; font-size: 12px; }
    .bukids-series-layout .bukids-series-actions { gap: 8px; margin-top: 12px; }
    .bukids-series-layout .bukids-series-actions a { flex: 1 1 auto; min-width: 0; padding-inline: 12px; }
    .bukids-library .bukids-card-stats, .bk2-category .bukids-card-stats { font-size: 12px; line-height: 1.6; }
    /* Remove inherited paragraph/baseline space, not the touch target. */
    .bukids-series-layout .bukids-series-intro > .bukids-series-description { margin-bottom: 0; }
    .bukids-series-layout .bk2-intro-toggle { display: flex; width: fit-content; min-height: 44px; }
    .bukids-series-layout .bukids-series-intro:has(> .bk2-intro-toggle:not([hidden]), > .bk2-intro-toggle[data-bk-intro-pending]) + .bukids-series-meta,
    .bukids-series-layout .bukids-series-hero-copy:has(:where(.bukids-series-intro > .bk2-intro-toggle:not([hidden]), .bukids-series-intro > .bk2-intro-toggle[data-bk-intro-pending])) + .bukids-series-hero-footer > .bukids-series-meta { margin-top: 4px; }
    .bukids-series-layout .bukids-series-search { gap: 8px; }
    .bukids-series-layout .bk2-topic-filters .bk2-filter-row {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0;
    }
    .bukids-series-layout .bk2-topic-filters .bk2-filter-row > .bk2-filter { display: grid; min-width: 0; }
    .bukids-series-layout .bk2-topic-filters > .bk2-mobile-apply { width: 100%; min-height: 44px; }
    .bukids-series-layout .bk2-reset-actions a { padding-inline: 0; }
    /* Match B2's 8px mobile card margin; do not touch other native layouts. */
    .bukids-series-layout .bukids-series-native-resources .post-1.post-list ul.b2_gap,
    .bk2-category .post-1.post-list ul.b2_gap { margin-right: -12px; }
    .bk2-category .post-list .post-info h2 {
        display: block; height: auto; max-height: none; overflow: visible;
        -webkit-line-clamp: unset; white-space: normal; overflow-wrap: anywhere;
    }
}
@media (max-width: 359px) {
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: minmax(0, 1fr); }
    .bk2-category .post-list ul.b2_gap > li { width: 100% !important; }
    .bukids-library .bukids-filter-body, .bk2-mobile-filters .bk2-filter-row { grid-template-columns: minmax(0, 1fr); }
    .bukids-series-layout .bk2-topic-filters .bk2-filter-row { grid-template-columns: minmax(0, 1fr); }
}

/* 2.0.232: B2's footer already reserves the fixed bottom bar's height on
   phones and tablets; these sections no longer add another 76–80px. */

/* Keep every child-theme filter select quiet on pointer hover. B2 and browser
   defaults can otherwise draw a dark outline around the native control. */
.bukids-library select:hover,
.bukids-series-layout select:hover,
.bk2-category select:hover {
    outline: 0 !important;
    box-shadow: none !important;
}
.bk2-category .bk2-search select:hover,
.bukids-library .bukids-filter-field select:hover,
.bukids-series-layout .bukids-series-controls select:hover {
    border-color: #d0d5dd !important;
}
.bukids-library .bukids-sort-field:hover {
    border-color: var(--bk-line, var(--bk-ui-line, #e6e9ef));
}

/* 2.0.253: match the search field's white surface and inset brand border. */
.bk2-category .bk2-search select:focus,
.bk2-category .bk2-search select:focus-visible,
.bukids-library .bukids-filter-field select:focus,
.bukids-library .bukids-filter-field select:focus-visible,
.bukids-series-layout .bukids-series-controls select:focus,
.bukids-series-layout .bukids-series-controls select:focus-visible {
    outline: 0 !important;
    border-color: var(--bk-ui-brand, var(--b2color, #fd4c4c)) !important;
    box-shadow: inset 0 0 0 1px var(--bk-ui-brand, var(--b2color, #fd4c4c)) !important;
    background-color: #fff !important;
}
.bukids-library .bukids-sort-field:focus-within {
    outline: 0 !important;
    border-color: var(--bk-ui-brand, var(--b2color, #fd4c4c));
    box-shadow: inset 0 0 0 1px var(--bk-ui-brand, var(--b2color, #fd4c4c));
    background-color: #fff;
}

/* Submission feedback without changing control widths, disabling form values
   or introducing animation. pageshow/cancel resets aria-busy in the script. */
.bukids-library-form[aria-busy="true"],
.bk2-search[aria-busy="true"],
.bukids-series-search[aria-busy="true"] { cursor: progress; }
.bukids-library-form[aria-busy="true"] button[type="submit"],
.bk2-search[aria-busy="true"] button[type="submit"],
.bukids-series-search[aria-busy="true"] button[type="submit"] {
    cursor: progress; opacity: .72;
}
.bukids-library .bukids-sort-field select:focus,
.bukids-library .bukids-sort-field select:focus-visible {
    outline: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* One label rhythm and control surface across category, detail and library. */
.bk2-category .bk2-filter,
.bukids-series-layout .bk2-filter,
.bukids-library .bukids-filter-field { gap: 6px; margin: 0; }
.bk2-category .bk2-filter > span,
.bukids-series-layout .bk2-filter > span,
.bukids-library .bukids-filter-field > span {
    min-height: 18px; margin: 0; line-height: 18px; font-size: 12px; font-weight: 400; color: #475467;
    white-space: normal; overflow-wrap: anywhere;
}
.bk2-category .bk2-filter select,
.bukids-series-layout .bk2-filter select,
.bukids-library .bukids-filter-field select {
    margin: 0; padding: 0 32px 0 10px; border-radius: var(--bk-ui-r-sm, 6px); background-color: #fff;
}
.bk2-category .bk2-search-row > button,
.bk2-category .bk2-search-row > .bk2-reset,
.bukids-series-layout .bk2-search-row > button { min-width: 72px; }
.bk2-category .bk2-tabs > span { align-self: center; }

/* Long labels may wrap, but selects in the same row keep a shared bottom edge.
   Align wrapped breadcrumb text to its first line rather than its centre. */
.bk2-category .bk2-filter-row,
.bukids-series-layout .bk2-filter-row,
.bukids-library .bukids-filter-body { align-items: end; }
.bk2-category .bukids-breadcrumbs ol,
.bukids-series-layout .bukids-breadcrumbs ol { align-items: baseline; }

/* Fill every desktop/tablet row, including the last wrapped row. */
@media (min-width: 769px) {
    .bk2-category .bk2-filter-row,
    .bukids-series-layout .bk2-filter-row {
        display: flex; flex-wrap: wrap;
        column-gap: 12px; row-gap: 12px;
    }
    .bk2-category .bk2-filter-row > .bk2-filter,
    .bukids-series-layout .bk2-filter-row > .bk2-filter { flex: 1 1 160px; min-width: 0; }
}

/* Separate modules without adding gaps under the site's main navigation. */
.bukids-series-layout > .bukids-series-native-resources { margin-top: var(--bk-section-gap); }
.bukids-series-layout .bukids-series-controls { margin-bottom: var(--bk-block-gap); }
.bukids-series-layout .bk2-version-section { margin-top: var(--bk-block-gap); }
.bk2-category > .post-1.post-list,
.bk2-category > .bk2-textbook-native { margin-top: var(--bk-block-gap); }
.bk2-category > .bukids-series-page > .bukids-alphabet,
.bk2-category > .bukids-series-page > .bk2-alphabet-wrap { margin-block: var(--bk-block-gap); }
.bk2-category > .bukids-series-page:has(> .bukids-empty-state) { margin-top: var(--bk-block-gap); }
.bukids-library .bukids-library-form { margin-bottom: var(--bk-block-gap); }
.bukids-library .bukids-results-toolbar { margin-top: var(--bk-section-gap); margin-bottom: var(--bk-block-gap); }
@media (max-width: 768px) {
    .bukids-library, .bukids-series-layout, .bk2-category { --bk-section-gap: 14px; --bk-block-gap: 12px; }
}
/* An odd final facet fills its mobile row instead of leaving an orphaned half. */
@media (min-width: 360px) and (max-width: 768px) {
    .bk2-category .bk2-filter-row > .bk2-filter:last-child:nth-child(odd),
    .bukids-series-layout .bk2-filter-row > .bk2-filter:last-child:nth-child(odd),
    .bukids-library .bukids-filter-body > .bukids-filter-field:nth-last-child(2):nth-child(odd) {
        grid-column: 1 / -1;
    }
}

/* 2.0.252: quiet, always-visible category/topic controls. Keep real selects,
   focus states and the site's search input; remove only the enclosing chrome.
   Two touch columns = (available width - 10px gap) / 2, with an odd final
   control spanning both. Desktop selects keep a useful reading width. */
body .bukids-series-layout .bukids-series-controls.bk2-flat-panel,
body .bk2-category .bukids-series-page > form.bk2-search.bk2-flat-controls,
body .bukids-series-layout form.bukids-series-search.bk2-flat-controls {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body .bk2-flat-controls .bk2-inline-filters,
body .bk2-flat-controls .bk2-topic-filters { min-width: 0; }
body .bk2-flat-controls .bk2-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0;
    padding: 0;
}
body .bk2-flat-controls .bk2-filter-row > .bk2-filter {
    display: block;
    flex: 0 1 200px;
    min-width: 0;
    margin: 0;
}
body .bk2-flat-controls .bk2-filter-row > .bk2-filter select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    cursor: pointer;
}
body .bk2-flat-controls .bk2-mobile-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0 0;
    min-height: var(--bk-control-height);
}
@media (max-width: 768px) {
    body .bk2-category .bukids-series-page > form.bk2-flat-controls,
    body .bukids-series-layout form.bk2-flat-controls { gap: 10px; }
    body .bk2-flat-controls .bk2-filter-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body .bk2-flat-controls .bk2-filter-row > .bk2-filter:last-child:nth-child(odd) { grid-column: 1 / -1; }
    body .bk2-flat-controls .bk2-mobile-apply { width: 100%; }
}
@media (max-width: 359px) {
    body .bk2-flat-controls .bk2-filter-row { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) {
    /* Large iPads can exceed the site's width-only search-font breakpoint. */
    body .bk2-category form.bk2-flat-controls .bk2-search-row input[type="search"],
    body .bukids-series-layout form.bk2-flat-controls .bk2-search-row input[type="search"] { font-size: 16px; }
}

/* 2.0.170: topic-page card titles are <h3>; same metrics B2 gives .post-info h2. */
.bukids-series-native-resources .post-info h3 {
    margin: 12px;
    color: #222;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
.bukids-series-native-resources .post-info h3 a { color: inherit; }

/* 2.0.174: textbook topic = a bookshelf. Smaller, even grid; level name
   centred under each cover; no "下载 1个资源" badge (every book has one). */
.bk-shelf-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 32px 0 16px; }
.bk-shelf-head h2 { margin: 0; color: #1d2433; font-size: 18px; font-weight: 600; line-height: 1.4; }
.bk-shelf-head span { color: #667085; font-size: 13px; }
.bukids-series-native-resources .bk2-textbook-native .b2_gap {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    margin: 0 !important;
    padding: 0 !important;
}
.bukids-series-native-resources .bk2-textbook-native .b2_gap > li { flex: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.bukids-series-native-resources .bk2-textbook-native .item-in { overflow: hidden; background: #fff; border: 1px solid #e6e9ef; border-radius: var(--bk-ui-r-md, 8px); transition: border-color .15s ease; }
.bukids-series-native-resources .bk2-textbook-native .item-in:hover { border-color: var(--b2color, #fd4c4c); }
.bukids-series-native-resources .bk2-textbook-native .post-module-thumb { background: #fff; }
.bukids-series-native-resources .bk2-textbook-native .post-pay-type,
.bukids-series-native-resources .bk2-textbook-native .post-list-meta-box { display: none !important; }
.bukids-series-native-resources .bk2-textbook-native .item-in { display: flex; flex-direction: column; height: 100%; }
.bukids-series-native-resources .bk2-textbook-native .post-info { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; padding: 12px 10px 14px; border-top: 1px solid var(--bk-ui-line-soft, #f0f2f5); }
body #content .bukids-series-native-resources .bk2-textbook-native .post-info h3 {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    margin: 0; padding: 0; font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center;
}
/* Level under the book; CEFR band as a quiet second line (2.0.175). */
.bukids-series-native-resources .bk2-textbook-native .bk-book-cefr { margin: 4px 0 0; color: #667085; font-size: 12px; line-height: 1.4; text-align: center; font-variant-numeric: tabular-nums; }
.bukids-series-native-resources .bk2-textbook-native .post-info h3 a { color: #1d2433; }
.bukids-series-native-resources .bk2-textbook-native .item-in:hover .post-info h3 a { color: var(--b2color, #fd4c4c); }
@media (max-width: 1180px) { .bukids-series-native-resources .bk2-textbook-native .b2_gap { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 768px) {
    .bukids-series-native-resources .bk2-textbook-native .b2_gap { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .bk-shelf-head { margin: 22px 0 12px; }
    .bk-shelf-head h2 { font-size: 16px; }
}
@media (max-width: 480px) { .bukids-series-native-resources .bk2-textbook-native .b2_gap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 2.0.175: textbook publisher as a small tag above the series title. */
.bukids-series-hero .bk-pub-tag {
    display: block; align-self: flex-start; max-width: 100%; margin: 0 0 10px; padding: 0;
    color: #667085; font-size: 13px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere;
    background: transparent; border: 0; border-radius: 0;
}
@media (max-width: 768px) { .bukids-series-hero .bk-pub-tag { margin-bottom: 8px; } }

/* 2.0.176: textbook hero, flat and aligned on every width.
   ≥601px: cover frame (fixed 4:5) left, text right; the frame's top and bottom
   line up with the publisher tag and the action buttons; artwork is centred
   in the frame (was pinned to the bottom, leaving a band above landscape
   scans). ≤600px: stacked, cover at its own proportions, centred. */
.bukids-series-layout .bk2-textbook-hero {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}
.bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap {
    width: 100%;
    max-width: none;
    /* Stretch to the text column so both columns share top and bottom edges;
       never shorter than a 4:5 book at this width. */
    min-height: 275px;
    margin: 0;
    align-self: stretch;
    aspect-ratio: auto;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 8px;
}
.bukids-series-layout .bk2-textbook-hero .bukids-series-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
}
.bukids-series-layout .bk2-textbook-hero .bukids-series-hero-content {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-width: 0;
}
.bukids-series-layout .bk2-textbook-hero .bukids-series-actions { margin-top: auto; padding-top: 18px; }
.bukids-series-native-resources .bk2-textbook-native .post-module-thumb .post-thumb { object-position: center; }
@media (max-width: 1024px) {
    .bukids-series-layout .bk2-textbook-hero { grid-template-columns: 180px minmax(0, 1fr); gap: 20px; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { min-height: 225px; }
}
@media (max-width: 600px) {
    .bukids-series-layout .bk2-textbook-hero { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { justify-self: center; align-self: start; width: min(56%, 200px); min-height: 0; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover { height: auto; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-actions { padding-top: 12px; }
}
/* The landscape-art "expanded intro" offset does not apply to book covers. */
.bukids-series-layout .bk2-textbook-hero[data-bk-intro-expanded="true"] > .bukids-series-cover-wrap { margin-top: 0; }

/* 2.0.250: balance artwork with the title/intro, then give metadata/actions
   a shared footer. Do not leave a tiny cover beside one tall control column.
   Whole images stay top-aligned while expanded copy grows independently. */
@media (pointer:coarse) and (orientation:landscape) and (max-height:500px) and (min-width:480px) {
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) {
        display:grid; grid-template-columns:minmax(0, min(38%, 300px)) minmax(0, 1fr);
        align-items:start; gap:8px 16px; padding:12px;
    }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) > .bukids-series-cover-wrap {
        grid-column:1; grid-row:1; width:100%; max-width:none; align-self:start; margin:0;
    }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-cover { object-fit:contain; object-position:center; }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-hero-content { display:contents; }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-hero-copy { display:block; grid-column:2; grid-row:1; min-width:0; }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-hero-footer {
        display:flex; grid-column:1 / -1; grid-row:2; flex-wrap:wrap;
        align-items:center; justify-content:space-between; gap:8px 16px; min-width:0;
    }
    body .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-meta { flex:1 1 280px; margin:0; }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-actions { flex:0 0 auto; flex-direction:row; flex-wrap:wrap; max-width:100%; gap:8px; margin:0; padding:0; }
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) .bukids-series-actions > a { flex:0 1 auto; width:auto; min-height:44px; padding-inline:16px; }
}
/* An empty information row (no age / CEFR tags) must not leave a gap. */
.bukids-series-layout .bukids-series-meta:not(:has(*)) { display: none; }

/* 2.0.177: series cards — "Season 1" over "第1季 · 全6集". */
.bukids-series-native-resources .post-info .bk-card-main { color: #1d2433; font-size: 15px; font-weight: 600; line-height: 1.4; }
.bukids-series-native-resources .post-info .bk-card-sub {
    margin: -8px 12px 12px;
    overflow: hidden;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.bukids-series-native-resources .item-in:hover .post-info .bk-card-main { color: var(--b2color, #fd4c4c); }

/* 2.0.178: a work inside a list ("方块数字乐园 · 2 季", "Bebefinn Compilation · 3 辑"). */
.bukids-series-native-resources .bk-sub-series {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    margin: 24px 0 12px;
}
.bukids-series-native-resources .bk-sub-series-name { color: #1d2433; font-size: 15px; font-weight: 600; line-height: 1.4; }
.bukids-series-native-resources .bk-sub-series-count { color: #667085; font-size: 12px; }
@media (max-width: 768px) { .bukids-series-native-resources .bk-sub-series { margin: 18px 0 10px; } }

/* 2.0.183: topic card grid (资源合辑 and category topic lists), by device.
   ≥1025px desktop / landscape tablet: 4 · 600–1024px portrait tablet: 3 ·
   360–599px phone: 2 · <360px: 1. Same edges as the filters above. */
.bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1024px) {
    /* 2.0.272: 18px like the resource cards of the same page (was 16px:
       columns 2 and 3 moved 1–2px when switching 专题 ⇄ 资源). */
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 599px) {
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 359px) {
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: minmax(0, 1fr); }
}

/* 2.0.189: resource cards on topic pages and on category "资源列表" use the
   same columns as the topic grids (2.0.183). B2's mobile.css forces every
   b2_gap list to 50% with !important up to 1180px, which left tablets (and
   1025–1180px) on 2 columns. Textbook shelves keep their own grid. */
@media (min-width: 1025px) and (max-width: 1180px) {
    .bukids-series-native-resources .post-1.post-list ul.b2_gap > li,
    .bk2-category .post-1.post-list ul.b2_gap > li { width: 25% !important; }
}
@media (min-width: 600px) and (max-width: 1024px) {
    .bukids-series-native-resources .post-1.post-list ul.b2_gap > li,
    .bk2-category .post-1.post-list ul.b2_gap > li { width: 33.333333% !important; }
}
@media (min-width: 360px) and (max-width: 599px) {
    .bukids-series-native-resources .post-1.post-list ul.b2_gap > li,
    .bk2-category .post-1.post-list ul.b2_gap > li { width: 50% !important; }
}
.bukids-series-native-resources .bk2-textbook-native .post-1.post-list ul.b2_gap > li { width: auto !important; }
/* 2.0.263/2.0.264: small bilingual sets (1–2 resources per version). Cards
   are always the site's standard card size:
   - computers: 英文版 | 中文版 side by side, two cards each = the 4-column grid
     (271.5px cards, 18px gaps);
   - tablets (600–1180): the versions stack, each in the standard 3-column
     grid (side by side would make the cards larger or smaller than elsewhere);
   - phones 360–599: side by side, one card each = the standard 2-column grid;
   - phones under 360: stacked, one card per row, like every other topic. */
@media (min-width: 1181px) {
    .bukids-series-layout .bukids-series-native-resources.bk2-compact-versions {
        --bk-cv-gap: 18px; --bk-cv-cols: 2;
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--bk-cv-gap); row-gap: 0; align-items: start; margin-top: 20px;
    }
    .bukids-series-layout .bk2-compact-versions > .bk2-version-section { margin-top: 0; min-width: 0; }
    .bukids-series-layout .bk2-compact-versions .bk2-version-heading { margin: 0 0 12px; min-height: 45px; box-sizing: border-box; }
    .bukids-series-layout .bk2-compact-versions .post-1.post-list ul.b2_gap {
        display: grid; grid-template-columns: repeat(var(--bk-cv-cols), minmax(0, 1fr)); gap: var(--bk-cv-gap); margin: 0; width: 100%;
    }
    .bukids-series-layout .bk2-compact-versions .post-1.post-list ul.b2_gap > li { width: 100% !important; margin: 0; padding: 0; }
    .bukids-series-layout .bk2-compact-versions .post-1.post-list .post-list-item > .item-in { margin: 0 !important; width: 100%; box-sizing: border-box; }
}
/* 2.0.291: phones put the versions side by side only for one resource each
   (7 Bears). When a version has two (Addison 2 + 1, Adventure Time: Side
   Quests), phones stack them like Pinky Malinky: 英文版 row, then 中文版 row,
   in the standard 2-column grid. Computers keep both side by side. */
@media (min-width: 360px) and (max-width: 599px) {
    .bukids-series-layout .bukids-series-native-resources.bk2-compact-versions:not(.bk2-compact-multi) {
        --bk-cv-gap: 18px; --bk-cv-cols: 2;
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--bk-cv-gap); row-gap: 0; align-items: start; margin-top: 20px;
    }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) > .bk2-version-section { margin-top: 0; min-width: 0; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-version-heading { margin: 0 0 12px; min-height: 45px; box-sizing: border-box; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .post-1.post-list ul.b2_gap {
        display: grid; grid-template-columns: repeat(var(--bk-cv-cols), minmax(0, 1fr)); gap: var(--bk-cv-gap); margin: 0; width: 100%;
    }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .post-1.post-list ul.b2_gap > li { width: 100% !important; margin: 0; padding: 0; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .post-1.post-list .post-list-item > .item-in { margin: 0 !important; width: 100%; box-sizing: border-box; }
}
@media (min-width: 360px) and (max-width: 599px) {
    .bukids-series-layout .bukids-series-native-resources.bk2-compact-versions:not(.bk2-compact-multi) { --bk-cv-gap: 12px; --bk-cv-cols: 1; margin-top: 16px; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-version-heading { min-height: 52px; margin-bottom: 10px; padding: 6px 0; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-version-heading > div { flex-direction: column; align-items: flex-start; gap: 2px; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-version-heading h2 { font-size: 14px; line-height: 20px; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-version-heading span { font-size: 12px; line-height: 18px; }
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .post-list .post-info { padding: 10px; }
}

/* 2.0.254: roomy touch tablets show equal action buttons alongside one another.
   Keep the existing phone-short-landscape layout and other topics untouched. */
@media (any-pointer: coarse) and (min-width: 768px) and (max-width: 1366px) and (min-height: 600px) {
    .bukids-series-layout:has(.bk2-compact-versions) .bukids-series-actions {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
    }
    .bukids-series-layout:has(.bk2-compact-versions) .bukids-series-actions > a {
        display: inline-flex; align-items: center; justify-content: center;
        width: 100%; min-width: 0; min-height: 44px; height: auto; box-sizing: border-box;
        margin: 0; padding: 10px 12px; line-height: 22px;
    }
}

/* Desktop-only enhancement; native selects remain available without JS and
   on touch devices. Popup is positioned inside the existing filter column. */
body .bk2-flat-controls .bk2-select { position: relative; }
body .bk2-flat-controls .bk2-select-native { display: none !important; }
body .bk2-flat-controls .bk2-select-button {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; min-width: 0; height: 44px; min-height: 44px; margin: 0; padding: 0 12px;
    box-sizing: border-box; border: 1px solid var(--bk-ui-line-strong, #d0d5dd); border-radius: var(--bk-ui-r-sm, 6px);
    background: #fff; color: var(--bk-ui-ink, #1d2433); font: inherit; font-size: 14px;
    font-weight: 400; line-height: 1.4; text-align: left; cursor: pointer; box-shadow: none;
}
.bk2-select-button > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bk2-select-arrow { flex: 0 0 7px; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); }
body .bk2-flat-controls .bk2-select-button:hover { border-color: var(--bk-ui-faint, #98a2b3); background: #fff; color: var(--bk-ui-ink, #1d2433); }
body .bk2-flat-controls .bk2-select-button:focus-visible,
body .bk2-flat-controls .bk2-select-button[aria-expanded="true"] {
    outline: 0; border-color: var(--bk-ui-brand, var(--b2color, #fd4c4c));
    box-shadow: inset 0 0 0 1px var(--bk-ui-brand, var(--b2color, #fd4c4c));
}
body .bk2-flat-controls .bk2-select-button:disabled { opacity: .55; cursor: not-allowed; }
body .bk2-flat-controls .bk2-select-button[hidden] { display: none !important; }
body .bk2-flat-controls .bk2-select-menu {
    position: absolute; left: 0; top: calc(100% + 6px); z-index: 30;
    width: 100%; min-width: 0; max-height: 280px; margin: 0; padding: 4px; box-sizing: border-box;
    overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--bk-ui-line-strong, #d0d5dd); border-radius: var(--bk-ui-r-sm, 6px);
    background: #fff; color: var(--bk-ui-ink, #1d2433); box-shadow: 0 4px 14px rgba(24,32,51,.09);
}
body .bk2-flat-controls .bk2-select-menu[hidden] { display: none !important; }
body .bk2-flat-controls .bk2-select-menu[data-up] { top: auto; bottom: calc(100% + 6px); }
body .bk2-flat-controls .bk2-select-option {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    min-height: 40px; margin: 0; padding: 8px; box-sizing: border-box;
    font: inherit; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; cursor: pointer;
}
.bk2-select-option[aria-selected="true"] { background: var(--bk-ui-brand-soft, #fff1f1); }
.bk2-select-option[aria-selected="true"]::after {
    content: ''; flex: 0 0 5px; width: 5px; height: 9px; margin-right: 3px;
    border: solid var(--bk-ui-brand, var(--b2color, #fd4c4c)); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg);
}
.bk2-select-option:not([aria-selected="true"]):hover,
.bk2-select-option:not([aria-selected="true"])[data-active] { background: var(--bk-ui-subtle, #f5f6f8); }
.bk2-select-option[data-active] { box-shadow: inset 2px 0 var(--bk-ui-brand, var(--b2color, #fd4c4c)); }
.bk2-select-option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
@media (min-width: 1181px) {
    /* A lone category filter sits alongside search instead of consuming a row. */
    body .bk2-category form.bk2-flat-controls:has(.bk2-filter-row > .bk2-filter:only-child) {
        display: grid; grid-template-columns: minmax(0, 1fr) 200px; align-items: start; column-gap: 12px;
    }
    body .bk2-category form.bk2-flat-controls:has(.bk2-filter-row > .bk2-filter:only-child) > .bk2-search-row { margin: 0; }
    body .bk2-category form.bk2-flat-controls:has(.bk2-filter-row > .bk2-filter:only-child) > .bk2-inline-filters { margin: 0; }
    body .bk2-category form.bk2-flat-controls:has(.bk2-filter-row > .bk2-filter:only-child) > .bk2-reset-actions { grid-column: 1 / -1; }
}
/* The card lists pull 12–18px past the right edge to absorb their gutters;
   on phones and tablets that made the page a few pixels wider than the
   screen (it could be nudged sideways). Clip it without a scroll box. */
.bukids-series-native-resources,
.bk2-category .post-list { overflow-x: clip; }

/* 2.0.230: with scripts on (html.bk-js, set in <head>), show the scripted state
   from the first paint: selects apply on change, so no "应用筛选" button, and
   phone filters start folded (catalog.js opens them when a filter is active). */
.bk-js form:has(:is(.bk2-filter, .bukids-filter-field, .bukids-sort-field) select) :is(.bk2-mobile-apply, .bukids-filter-actions button[type="submit"]) { display: none !important; }
@media (max-width: 768px) {
    .bk-js .bk2-mobile-filters:not(.bk-ready) > :not(summary),
    .bk-js .bukids-filter-details:not(.bk-ready):not([data-active-filters="true"]) > :not(summary) { display: none !important; }
}

/* 2.0.236 search: recognised conditions and note */
.bk2-search-intent { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.bk2-search-intent-name { font-size:14px; font-weight:500; color:var(--bk-ui-ink, #1d2433); margin-right:2px; }
.bk2-search-chip { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border:1px solid var(--bk-ui-line-strong, #d0d5dd); border-radius:var(--bk-ui-r-sm, 6px); background:#fff; color:var(--bk-ui-text, #475467); font-size:13px; line-height:1; text-decoration:none; transition:border-color .15s, color .15s; }
.bk2-search-chip > span[aria-hidden] { font-size:15px; color:var(--bk-ui-faint, #98a2b3); }
.bk2-search-chip:hover { border-color:var(--bk-ui-brand, #fd4c4c); color:var(--bk-ui-brand, #fd4c4c); }
.bk2-search-chip:hover > span[aria-hidden] { color:inherit; }
.bk2-search-note { margin:10px 0 0; font-size:13px; line-height:1.6; color:var(--bk-ui-muted, #667085); }
@media (max-width:768px) {
    .bk2-search-intent { gap:6px; }
    }

/* 2.0.255: detail toolbar B — versions left, meaningful sorting right.
   Same 44px target and shared outer edges; no extra panel or filled tabs. */
body .bukids-series-layout .bk2-version-controls .bk2-filter-row {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
}
body .bukids-series-layout .bk2-version-controls .bk2-version-tabs {
    display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center;
    gap: 4px 8px; min-width: 0; max-width: 100%; margin: 0; padding: 0; order: -1;
}
body .bukids-series-layout .bk2-version-tabs > a {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; box-sizing: border-box; margin: 0; padding: 9px 12px;
    border: 0; border-bottom: 2px solid transparent; border-radius: 0;
    background: transparent; color: var(--bk-ui-ink, #1d2433);
    font: inherit; font-size: 14px; font-weight: 400; line-height: 24px;
    text-decoration: none; white-space: nowrap; box-shadow: none;
}
/* 2.0.257: the site's own red for the current tab; hover changes text only. */
body .bukids-series-layout .bk2-version-tabs > a[aria-current="page"] {
    color: var(--bk-ui-brand, var(--b2color, #fd4c4c));
    border-bottom-color: var(--bk-ui-brand, var(--b2color, #fd4c4c));
}
body .bukids-series-layout .bk2-version-tabs > a:hover { background: transparent; color: var(--bk-ui-brand, var(--b2color, #fd4c4c)); }
body .bukids-series-layout .bk2-version-tabs > a:focus-visible {
    outline: 2px solid var(--bk-ui-brand, var(--b2color, #fd4c4c)); outline-offset: -2px;
}
@media (max-width: 599px) {
    body .bukids-series-layout .bk2-version-controls .bk2-filter-row { gap: 8px 12px; }
    body .bukids-series-layout .bk2-version-controls .bk2-version-tabs { flex-basis: 100%; }
    body .bukids-series-layout .bk2-version-controls .bk2-filter-row > .bk2-filter { flex: 1 1 calc(50% - 6px); }
    body .bukids-series-layout .bk2-version-tabs > a { padding-inline: 10px; }
}
@media (max-width: 359px) {
    body .bukids-series-layout .bk2-version-controls .bk2-filter-row > .bk2-filter { flex-basis: 100%; }
}
/* 2.0.256: without sorting, the library search has two columns on every device.
   No leftover grid track, full-width input row or orphan submit button. */
body .bukids-library .bukids-search-row { grid-template-columns: minmax(0, 1fr) auto; }
body .bukids-library .bukids-search-field { grid-column: auto; }
/* 2.0.298: the 2×2 tablet layout for four resources is gone — its cards were
   half again as large as the next version's (Twirlywoos: 英文版 399px beside
   中文版 266px). Every version uses the standard 3-column tablet grid. */
@media (any-pointer: coarse) and (min-width: 600px) and (max-width: 1366px) and (min-height: 600px) {
    .bukids-series-layout .bukids-series-actions {
        display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px;
    }
    .bukids-series-layout .bukids-series-actions > a {
        display: inline-flex; align-items: center; justify-content: center;
        flex: 0 1 auto; width: auto; min-width: 112px; min-height: 44px;
        box-sizing: border-box; margin: 0; padding: 10px 16px; line-height: 22px;
    }
}


/* 2.0.257: the facts line under the names uses the same grey as the English
   name above it (was the parent's #666 beside the site's #667085). */
body .bukids-card .bukids-card-stats,
body .bukids-card .bukids-card-stats > span { color: var(--bk-ui-muted, #667085); }

/* 2.0.301: film topics list their resources with the search page's card
   (.bukids-card, inc/catalog.php bukids_catalog_film_cards). Same columns as
   the other topic cards: 4 / 3 (600–1024) / 2 (phones) / 1 (<360); small
   bilingual films keep 英文版 | 中文版 side by side as before. */
.bukids-series-native-resources .bk2-film-cards { margin: 0 0 18px; }
@media (min-width: 600px) and (max-width: 1024px) {
    .bukids-series-native-resources .bk2-film-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 599px) {
    .bukids-series-native-resources .bk2-film-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
}
@media (max-width: 359px) {
    .bukids-series-native-resources .bk2-film-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1181px) {
    .bukids-series-layout .bk2-compact-versions .bk2-film-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (min-width: 360px) and (max-width: 599px) {
    .bukids-series-layout .bk2-compact-versions:not(.bk2-compact-multi) .bk2-film-cards { grid-template-columns: minmax(0, 1fr); }
}
/* The letter placeholder only shows when there is no cover (2.0.302: it was
   drawn over every film cover, because [hidden] lost to display:flex). */
.bukids-series-native-resources .bk2-film-cards .bukids-card-placeholder[hidden],
.bukids-series-native-resources .bk2-film-cards .bukids-card-media img[hidden] { display: none !important; }
/* 2.0.305: "你是不是要找" links on a fuzzy search. */
.bk2-search-fuzzy a { color: var(--b2color, #fd4c4c); font-weight: 600; text-decoration: none; }
.bk2-search-fuzzy a:hover { text-decoration: underline; }
/* 2.0.330: computers (≥1181px) too: resource lists use the 4-column topic
   grid (B2's per-category list setting gave some categories 3 columns). */
@media (min-width: 1181px) {
    .bukids-series-native-resources .post-1.post-list ul.b2_gap > li,
    .bk2-category .post-1.post-list ul.b2_gap > li { width: 25% !important; }
}

/* bukids-typography */
/* Title hierarchy only. Do not override body fonts or article prose/headings. */
body.single-post .entry-header > h1,
body.single-post .post-style-2-top-header h1,
body.single-post .post-style-3-title > h1 {
    font-size:22px; font-weight:400; line-height:1.45;
    overflow-wrap:anywhere;
}
body #content .bukids-series-hero .bk2-series-heading > h1,
body #content .bukids-series-hero > h1 {
    font-size:22px; font-weight:400; line-height:1.45;
    overflow-wrap:anywhere;
}
body #content .post-list .post-info :is(h2, h3),
body #content .b2-widget-post-title :is(h2, .bk-wt),
body #content .bukids-card-content h3{
    font-size:14px; font-weight:400; line-height:1.5;
    display:block; height:auto; min-height:0; max-height:none;
    overflow:visible; -webkit-line-clamp:unset; white-space:normal;
    overflow-wrap:anywhere;
}
body #content .post-list .post-info :is(h2, h3) a,
body #content .b2-widget-post-title :is(h2, .bk-wt) a{
    font-size:inherit; font-weight:inherit; line-height:inherit;
}
body #content .bukids-series-hero .bukids-series-cn-name {
    font-weight:400;
}
/* B2 fixes compact widget rows at 92px; full titles need an auto-height row. */
body #content .b2-widget-hot li.widget-post-small,
body #content .b2-widget-hot li.widget-post-none {
    height:auto; min-height:92px; margin-top:0;
}
body #content .widget-post-small .b2-widget-post-thumb {
    width:100%; min-width:0;
}
body #content .widget-post-small .b2-widget-post-title,
body #content .widget-post-none .b2-widget-post-title {
    height:auto; min-height:60px; min-width:0;
}
body #content .b2-widget-post-title :is(h2, .bk-wt) {
    word-break:normal;
}
body #content .b2-widget-post-title time {
    display:block;
}
/* Image-overlay widgets cannot expand beyond their fixed image frame. */
body #content .widget-post-big .b2-widget-post-title :is(h2, .bk-wt) {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
    overflow:hidden;
}
body #content .bukids-card-cn {
    font-size:12px; font-weight:400; line-height:1.5;
}
body #content .bukids-card-stats {
    font-size:12px; font-weight:400; line-height:1.65;
}
@media (max-width:768px) {
    body.single-post .entry-header > h1,
    body.single-post .post-style-2-top-header h1,
    body.single-post .post-style-3-title > h1 { font-size:19px; }
    body #content .bukids-series-hero .bk2-series-heading > h1,
    body #content .bukids-series-hero > h1 { font-size:19px; }
    body #content .post-list .post-info :is(h2, h3),
    body #content .b2-widget-post-title :is(h2, .bk-wt),
    body #content .bukids-card-content h3{ font-size:14px; }
}

/* 2.0.224: the page title is always the largest, strongest heading. Article
   text used 18–20px bold sub-headings under a 19–22px regular-weight title,
   so "教材介绍" or "1.《闪电狗》…" looked bigger than the title itself.
   Title: 22px / 19px, semibold. Text headings step down from it. (Blog posts
   are B2's own typography: a 26px title, 20px sub-headings — already in order.) */
/* 2.0.233: the owner prefers the original regular-weight title; it stays the
   largest heading by size (22 / 19px against 19 / 17px sub-headings). */
body.single-post .entry-header > h1,
body.single-post .post-style-2-top-header h1,
body.single-post .post-style-3-title > h1 { font-weight: 400; color: var(--bk-ui-ink, #1d2433); }
body.single-post .single-article .entry-content h2:not([class*="bk-"]):not(.bk-related-topics *) { font-size: 19px; font-weight: 600; line-height: 1.5; }
body.single-post .single-article .entry-content h3:not([class*="bk-"]):not(.bk-related-topics *) { font-size: 17px; font-weight: 600; line-height: 1.55; }
body.single-post .single-article .entry-content h4:not([class*="bk-"]):not(.bk-related-topics *) { font-size: 16px; font-weight: 600; line-height: 1.6; }
body.single-post .single-article .entry-content :is(h5, h6):not([class*="bk-"]):not(.bk-related-topics *) { font-size: 15px; font-weight: 600; line-height: 1.6; }
@media (max-width: 768px) {
    body.single-post .single-article .entry-content h2:not([class*="bk-"]):not(.bk-related-topics *) { font-size: 17px; }
    body.single-post .single-article .entry-content h3:not([class*="bk-"]):not(.bk-related-topics *) { font-size: 16px; }
    body.single-post .single-article .entry-content :is(h4, h5, h6):not([class*="bk-"]):not(.bk-related-topics *) { font-size: 15px; }
}

/* bukids-public-metrics */
/* Presentation only: retain counters, APIs and ordering data. Front-end enqueue only.
 * Hide the whole item, not the icon alone. Never target all eye/heart icons:
 * the login password visibility control and favourites must remain available.
 */
body .post-list-meta-like,
body .post-list-meta-views,
body .single-like,
body .single-eye,
body .single-date,
body .post-list-meta-date,
body .post-6-date,
body #content .b2-widget-post-title time,
body .post-list time.b2timeago,
body .post-list .list-footer > span,
body .post-list .post-info > h2 + span,
body .realte-post-meta > span:first-child,
body .announcement-date,
body .comment-floor,
body .comment-info .date,
body .topic-author-meta > .date,
body.single-document .site-main .post-meta,
body .circle-single > .entry-header > time,
body .i-date,
body span.topic-date:not(.topic-circle),
body .sah-date,
body .ask-aks-date,
body .news-item-date,
body .content-footer-zan-cai,
body .comment-vote-hidden,
body .hot-comment-up,
body .news-vote-up,
body .link-up,
body .realte-post-meta > span:has(> .b2-eye-fill),
body .comment-footer button:has(> .b2-thumb-up-line) {
    display:none !important;
}

/* Lists containing only the removed counters must not leave an empty row. */
body .post-list-meta:not(:has(> :not(.post-list-meta-like, .post-list-meta-views, .post-list-meta-date))),
body .post-meta:not(:has(> :not(.single-like, .single-eye, .single-date))) {
    display:none !important;
}

/* A hidden first item must not leave the next visible item indented. */
body .post-list-meta > :nth-child(1 of :not(.post-list-meta-like, .post-list-meta-views, .post-list-meta-date)),
body .post-meta > :nth-child(1 of :not(.single-like, .single-eye, .single-date)) {
    margin-left:0;
}

/* Date-free widget titles should not retain the old gap above the date. */
body #content .b2-widget-post-title :is(h2, .bk-wt) { margin-bottom:0; }
body .post-list .list-footer:has(> span):not(:has(> :not(span))) { display:none; }

/* bukids-fonts */
/* Bukids Sans: OPPO Sans 4.0 subset (2.0.160). Generated; do not edit by hand.
   core = ASCII, Latin-1, punctuation, full-width forms, 3755 GB2312 level-1 hanzi.
   ext  = every other glyph of the original font; downloaded only when a page uses one. */
@font-face{font-family:"Bukids Sans";src:url("https://1855453048.cdn.123clouddisk.com/1855453048/Website/fonts/bukids-sans-core.woff2") format("woff2");font-style:normal;font-display:swap;unicode-range:U+20-7E,U+A0-FF,U+2002-200A,U+2010-2022,U+2025-2027,U+2030-2037,U+2039-203A,U+203C,U+2042-2044,U+2047-2049,U+204E,U+2051-2052,U+2055,U+2103,U+2116,U+2160-2164,U+3000-3003,U+3007-3017,U+301D-301E,U+4E00-4E01,U+4E03,U+4E07-4E0B,U+4E0D-4E0E,U+4E11,U+4E13-4E14,U+4E16,U+4E18-4E1D,U+4E22,U+4E24-4E25,U+4E27,U+4E2A-4E2B,U+4E2D,U+4E30,U+4E32,U+4E34,U+4E38-4E3B,U+4E3D-4E3E,U+4E43,U+4E45,U+4E48-4E49,U+4E4B-4E50,U+4E52-4E54,U+4E56,U+4E58-4E59,U+4E5D-4E61,U+4E66,U+4E70-4E71,U+4E73,U+4E7E,U+4E86,U+4E88-4E89,U+4E8B-4E8C,U+4E8E-4E8F,U+4E91-4E92,U+4E94-4E95,U+4E9A-4E9B,U+4EA1-4EA2,U+4EA4-4EA9,U+4EAB-4EAE,U+4EB2,U+4EBA,U+4EBF-4EC1,U+4EC5-4EC7,U+4ECA-4ECB,U+4ECD-4ECE,U+4ED1,U+4ED3-4ED9,U+4EDF,U+4EE3-4EE5,U+4EEA,U+4EEC,U+4EF0,U+4EF2,U+4EF6-4EF7,U+4EFB,U+4EFD,U+4EFF,U+4F01,U+4F0A,U+4F0D-4F11,U+4F17-4F1A,U+4F1E-4F20,U+4F24,U+4F26,U+4F2A,U+4F2F-4F30,U+4F34,U+4F36,U+4F38,U+4F3A,U+4F3C,U+4F43,U+4F46,U+4F4D-4F51,U+4F53,U+4F55,U+4F59,U+4F5B-4F5C,U+4F60,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F7F,U+4F84,U+4F88,U+4F8B,U+4F8D,U+4F97,U+4F9B,U+4F9D,U+4FA0,U+4FA3,U+4FA5-4FA9,U+4FAE-4FAF,U+4FB5,U+4FBF,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDD-4FDE,U+4FE1,U+4FE9,U+4FED-4FEF,U+4FF1,U+4FFA,U+500D,U+5012,U+5014,U+5018-501A,U+501F,U+5021,U+5026,U+502A,U+503A,U+503C,U+503E,U+5047,U+504F,U+505A,U+505C,U+5065,U+5076-5077,U+507F-5080,U+5085,U+5088,U+508D,U+50A3,U+50A8,U+50AC,U+50B2,U+50BB,U+50CF,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+513F,U+5141,U+5143-5146,U+5148-5149,U+514B,U+514D,U+5151,U+5154,U+515A,U+515C,U+5162,U+5165,U+5168,U+516B-516D,U+5170-5171,U+5173-5179,U+517B-517D,U+5180,U+5185,U+5188-5189,U+518C-518D,U+5192,U+5195,U+5197,U+5199,U+519B-519C,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B2-51B3,U+51B5-51B7,U+51BB,U+51C0,U+51C4,U+51C6,U+51C9,U+51CB-51CC,U+51CF,U+51D1,U+51DB,U+51DD,U+51E0-51E1,U+51E4,U+51ED,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51FB,U+51FD,U+51FF-5201,U+5203,U+5206-5207,U+520A,U+5211-5212,U+5217-521B,U+521D,U+5220,U+5224,U+5228-5229,U+522B,U+522E,U+5230,U+5236-523B,U+523D,U+5241-5243,U+524A,U+524D,U+5250-5251,U+5254,U+5256,U+5265,U+5267,U+5269-526A,U+526F,U+5272,U+527F,U+5288,U+529B,U+529D-52A1,U+52A3,U+52A8-52AB,U+52B1-52B3,U+52BF,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+52FE-5300,U+5305-5306,U+5308,U+5316-5317,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+5339-533B,U+533F,U+5341,U+5343,U+5347-534A,U+534E-534F,U+5351-5353,U+5355-5357,U+535A,U+535C,U+535E,U+5360-5362,U+5364,U+5367,U+536B,U+536F-5371,U+5373-5375,U+5377-5378,U+537F,U+5382,U+5384-5386,U+5389,U+538B-538C,U+5395,U+5398,U+539A,U+539F,U+53A2,U+53A6,U+53A8-53A9,U+53BB,U+53BF,U+53C1-53C2,U+53C8-53CD,U+53D1,U+53D4,U+53D6-53D9,U+53DB,U+53E0,U+53E3-53E6,U+53EA-53F0,U+53F2-53F3,U+53F6-53F9,U+53FC,U+5401,U+5403-5404,U+5408-540A,U+540C-5411,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5426-5429,U+542B-542F,U+5431,U+5434-5435,U+5438-5439,U+543B-543C,U+543E,U+5440,U+5446,U+5448,U+544A,U+5450,U+5455,U+5458,U+545B-545C,U+5462,U+5468,U+5473,U+5475,U+5478,U+547B-547D,U+5480,U+5486,U+548B-548C,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0-54C1,U+54C4,U+54C6-54C9,U+54CD-54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54EA,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+5524,U+552C,U+552E-552F,U+5531,U+553E,U+5543-5544,U+5546,U+554A,U+5561,U+5564-5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5582,U+5584,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+5668,U+566A,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56CA,U+56DA-56DB,U+56DE,U+56E0,U+56E2,U+56E4,U+56ED,U+56F0-56F1,U+56F4,U+56FA,U+56FD-56FE,U+5703,U+5706,U+5708,U+571F,U+5723,U+5728,U+572D,U+5730,U+573A,U+573E,U+5740,U+5747,U+574A,U+574D-5751,U+5757,U+575A-575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5782-5784,U+578B,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AB,U+57AE,U+57C2-57C3,U+57CB,U+57CE,U+57D4,U+57DF-57E0,U+57F9-57FA,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+584C,U+5851,U+5854,U+5858,U+585E,U+586B,U+5883,U+5885,U+5892-5893,U+5899,U+589E-589F,U+58A8-58A9,U+58C1,U+58D5,U+58E4,U+58EB-58EC,U+58EE,U+58F0,U+58F3,U+58F6,U+58F9,U+5904,U+5907,U+590D,U+590F,U+5915-5916,U+591A,U+591C,U+591F,U+5927,U+5929-592B,U+592E-592F,U+5931,U+5934,U+5937-593A,U+5944,U+5947-5949,U+594B,U+594E-594F,U+5951,U+5954,U+5956-5957,U+5960,U+5962,U+5965,U+5973-5974,U+5976,U+5978-5979,U+597D,U+5982,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59CB,U+59D0-59D1,U+59D3-59D4,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+59FF,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A31,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A92,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B50,U+5B54-5B55,U+5B57-5B59,U+5B5C-5B5D,U+5B5F,U+5B63-5B64,U+5B66,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B83,U+5B85,U+5B87-5B89,U+5B8B-5B8C,U+5B8F,U+5B97-5B9E,U+5BA0-5BA4,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB3-5BB6,U+5BB9,U+5BBD-5BBF,U+5BC2,U+5BC4-5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDF,U+5BE1,U+5BE5,U+5BE8,U+5BF8-5BFC,U+5BFF,U+5C01,U+5C04,U+5C06,U+5C09-5C0A,U+5C0F,U+5C11,U+5C14,U+5C16,U+5C18,U+5C1A,U+5C1D,U+5C24,U+5C27,U+5C31,U+5C38-5C3A,U+5C3C-5C42,U+5C45,U+5C48-5C4B,U+5C4E-5C4F,U+5C51,U+5C55,U+5C5E,U+5C60-5C61,U+5C65,U+5C6F,U+5C71,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5D4C,U+5DCD,U+5DDD-5DDE,U+5DE1-5DE2,U+5DE5-5DE9,U+5DEB,U+5DEE,U+5DF1-5DF4,U+5DF7,U+5DFE,U+5E01-5E03,U+5E05-5E06,U+5E08,U+5E0C,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E26-5E27,U+5E2D-5E2E,U+5E38,U+5E3D,U+5E42,U+5E45,U+5E4C,U+5E55,U+5E62,U+5E72-5E74,U+5E76,U+5E78,U+5E7B-5E7D,U+5E7F,U+5E84,U+5E86-5E87,U+5E8A,U+5E8F-5E90,U+5E93-5E95,U+5E97,U+5E99-5E9A,U+5E9C,U+5E9E-5E9F,U+5EA6-5EA7,U+5EAD,U+5EB6-5EB8,U+5EC9-5ECA,U+5ED3,U+5ED6,U+5EF6-5EF7,U+5EFA,U+5F00,U+5F02-5F04,U+5F0A,U+5F0F,U+5F13,U+5F15,U+5F17-5F18,U+5F1B,U+5F1F-5F20,U+5F25-5F27,U+5F2F,U+5F31,U+5F39-5F3A,U+5F52-5F53,U+5F55,U+5F5D,U+5F62,U+5F64,U+5F66,U+5F69-5F6A,U+5F6C-5F6D,U+5F70-5F71,U+5F79,U+5F7B-5F7C,U+5F80-5F81,U+5F84-5F85,U+5F88,U+5F8A-5F8B,U+5F90,U+5F92,U+5F97-5F98,U+5FA1,U+5FAA,U+5FAE,U+5FB7,U+5FBD,U+5FC3,U+5FC5-5FC6,U+5FCC-5FCD,U+5FD7-5FD9,U+5FE0,U+5FE7,U+5FEB,U+5FF1,U+5FF5,U+5FFB,U+5FFD,U+5FFF-6002,U+600E,U+6012,U+6014-6016,U+601C-601D,U+6020,U+6025,U+6027-6028,U+602A,U+602F,U+603B,U+6043,U+604B,U+604D,U+6050,U+6052,U+6055,U+6062,U+6064,U+6068-6069,U+606B-606D,U+606F-6070,U+6073,U+6076,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AC,U+60AF,U+60B2,U+60B8,U+60BC,U+60C5,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60F0,U+60F3,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+610F,U+611A,U+611F,U+6124,U+6127,U+613F,U+6148,U+614C,U+614E,U+6151,U+6155,U+6162,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C2,U+61C8,U+61CA,U+61D2,U+61E6,U+6208,U+620A,U+620C-6212,U+6216,U+6218,U+621A,U+622A,U+622E,U+6233-6234,U+6237,U+623F-6241,U+6247,U+624B,U+624D-624E,U+6251-6254,U+6258,U+625B,U+6263,U+6266-6267,U+6269,U+626B-6270,U+6273,U+6276,U+6279,U+627C,U+627E-6280,U+6284,U+6289-628A,U+6291-6293,U+6295-6298,U+629A-629B,U+62A0-62A2,U+62A4-62A5,U+62A8,U+62AB-62AC,U+62B1,U+62B5,U+62B9,U+62BC-62BD,U+62BF,U+62C2,U+62C4-62C9,U+62CC-62CE,U+62D0,U+62D2-62D4,U+62D6,U+62D8-62D9,U+62DB-62DC,U+62DF,U+62E2-62E3,U+62E5-62E9,U+62EC-62ED,U+62EF,U+62F1,U+62F3-62F4,U+62F7,U+62FC-62FF,U+6301-6302,U+6307,U+6309,U+630E,U+6311,U+6316,U+631A-631B,U+631D-6321,U+6323-6325,U+6328,U+632A-632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+6355,U+635E-635F,U+6361-6363,U+6367,U+636E,U+6376-6377,U+637B,U+6380,U+6382,U+6387-6389,U+638C,U+638F-6390,U+6392,U+6396,U+6398,U+63A0,U+63A2-63A3,U+63A5,U+63A7-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63CF-63D0,U+63D2,U+63D6,U+63E1,U+63E3,U+63E9-63EA,U+63ED,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641C,U+641E,U+642A,U+642C-642D,U+643A,U+643D,U+6444,U+6446-6448,U+644A,U+6454,U+6458,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6491-6492,U+6495,U+649E,U+64A4,U+64A9,U+64AC-64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64CD-64CE,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+652F,U+6536,U+6539,U+653B,U+653E-653F,U+6545,U+6548,U+654C,U+654F,U+6551,U+6556,U+6559,U+655B,U+655D-655E,U+6562-6563,U+6566,U+656C,U+6570,U+6572,U+6574,U+6577,U+6587,U+658B-658C,U+6591,U+6597,U+6599,U+659C,U+659F,U+65A1,U+65A4-65A5,U+65A7,U+65A9,U+65AD,U+65AF-65B0,U+65B9,U+65BD,U+65C1,U+65C5,U+65CB,U+65CF,U+65D7,U+65E0,U+65E2,U+65E5-65E9,U+65EC-65ED,U+65F1,U+65F6-65F7,U+65FA,U+6602,U+6606,U+660C,U+660E-660F,U+6613-6614,U+661F-6620,U+6625,U+6627-6628,U+662D,U+662F,U+663C,U+663E,U+6643,U+664B-664C,U+6652-6653,U+6655,U+665A,U+6664,U+6666,U+6668,U+666E-6670,U+6674,U+6676,U+667A,U+667E,U+6682,U+6687,U+6691,U+6696-6697,U+66AE,U+66B4,U+66D9,U+66DD,U+66F0,U+66F2-66F4,U+66F9,U+66FC,U+66FE-6700,U+6708-6709,U+670B,U+670D,U+6714,U+6717,U+671B,U+671D,U+671F,U+6728,U+672A-672D,U+672F,U+6731,U+6734-6735,U+673A,U+673D,U+6740,U+6742-6743,U+6746,U+6749,U+674E-6751,U+6756,U+675C,U+675F-6761,U+6765,U+6768,U+676D,U+676F-6770,U+677E-677F,U+6781,U+6784,U+6789,U+6790,U+6795,U+6797,U+679A,U+679C-679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B6-67B7,U+67C4,U+67CF-67D4,U+67DC,U+67DE,U+67E0,U+67E5,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6807-6808,U+680B,U+680F,U+6811,U+6813,U+6816-6817,U+6821,U+682A,U+6837-6839,U+683C-683D,U+6842-6843,U+6845-6846,U+6848,U+684C,U+6850-6851,U+6853-6854,U+6863,U+6865,U+6868-6869,U+6876,U+6881,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF-68B0,U+68B3,U+68C0,U+68C9,U+68CB,U+68CD,U+68D2,U+68D5,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68F5,U+68FA,U+6905,U+690D-690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+697C,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+69FD,U+6A0A,U+6A1F,U+6A21,U+6A2A,U+6A31,U+6A47,U+6A59,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20-6B23,U+6B27,U+6B32,U+6B3A,U+6B3E,U+6B47,U+6B49,U+6B4C,U+6B62-6B67,U+6B6A,U+6B79,U+6B7B-6B7C,U+6B83,U+6B86,U+6B89-6B8B,U+6B96,U+6BB4-6BB5,U+6BB7,U+6BBF,U+6BC1,U+6BC5,U+6BCB,U+6BCD,U+6BCF,U+6BD2,U+6BD4-6BD7,U+6BD9,U+6BDB,U+6BE1,U+6BEB,U+6BEF,U+6C0F,U+6C11,U+6C13-6C14,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C34,U+6C38,U+6C40-6C42,U+6C47,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C61,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88-6C89,U+6C8F,U+6C99,U+6C9B,U+6C9F,U+6CA1,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB3,U+6CB8-6CB9,U+6CBB-6CBF,U+6CC4-6CC5,U+6CC9-6CCA,U+6CCC,U+6CD5,U+6CDB,U+6CDE,U+6CE1-6CE3,U+6CE5,U+6CE8,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D01,U+6D0B,U+6D12,U+6D17,U+6D1B,U+6D1E,U+6D25,U+6D2A,U+6D31-6D32,U+6D3B-6D3E,U+6D41,U+6D45-6D47,U+6D4A-6D4B,U+6D4E,U+6D51,U+6D53,U+6D59-6D5A,U+6D66,U+6D69-6D6A,U+6D6E,U+6D74,U+6D77-6D78,U+6D82,U+6D85,U+6D88-6D89,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6D9F,U+6DA1,U+6DA3-6DA4,U+6DA6-6DAA,U+6DAF,U+6DB2,U+6DB5,U+6DB8,U+6DC0,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE1,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF1,U+6DF3,U+6DF7,U+6DF9,U+6DFB,U+6E05,U+6E0A,U+6E0D,U+6E10,U+6E14,U+6E17,U+6E1D,U+6E20-6E21,U+6E23-6E24,U+6E29,U+6E2D,U+6E2F,U+6E34,U+6E38,U+6E3A,U+6E43,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E-6E7F,U+6E83,U+6E85,U+6E89,U+6E90,U+6E9C,U+6EA2,U+6EAA,U+6EAF,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED1,U+6ED3-6ED4,U+6EDA,U+6EDE,U+6EE1,U+6EE4-6EE6,U+6EE8-6EE9,U+6EF4,U+6F02,U+6F06,U+6F0F,U+6F13-6F14,U+6F20,U+6F2B,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5C,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F8E,U+6F9C,U+6FA1,U+6FB3,U+6FC0,U+6FD2,U+7011,U+704C,U+706B,U+706D,U+706F-7070,U+7075-7076,U+7078,U+707C,U+707E-707F,U+7089-708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8-70B9,U+70BC-70BD,U+70C1-70C3,U+70C8,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70ED,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7126,U+7130,U+7136,U+714C,U+714E,U+715E,U+7164,U+7167,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+7206,U+722A,U+722C,U+7231,U+7235-7239,U+723D,U+7247-7248,U+724C,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7269,U+7272,U+7275,U+7279-727A,U+7280-7281,U+728A,U+72AC,U+72AF,U+72B6,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E0-72E1,U+72EC-72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7387,U+7389,U+738B,U+7396,U+739B,U+73A9,U+73AB,U+73AF-73B0,U+73B2,U+73BB,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7403,U+7405-7406,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7470,U+7476,U+7483,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+751F,U+7525,U+7528-7529,U+752B,U+752D,U+7530-7533,U+7535,U+7537-7538,U+753B,U+7545,U+754C,U+754F,U+7554,U+7559,U+755C,U+7565-7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7591,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+767D-767E,U+7682,U+7684,U+7686-7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CA,U+76CE-76D2,U+76D4,U+76D6-76D8,U+76DB,U+76DF,U+76EE-76EF,U+76F2,U+76F4,U+76F8,U+76FC,U+76FE,U+7701,U+7709,U+770B,U+771F-7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+773C,U+7740-7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77AC,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77E5,U+77E9,U+77EB,U+77ED-77EE,U+77F3,U+77FD-77FF,U+7801-7802,U+780C-780D,U+7812,U+7814,U+7816,U+781A,U+7827,U+7830,U+7834,U+7837-7838,U+783E,U+7840,U+7845,U+7852,U+7855,U+785D,U+786B-786C,U+786E,U+7877,U+787C,U+7889,U+788C-788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B0-78B1,U+78B3-78B4,U+78BE,U+78C1,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78E8,U+78F7,U+78FA,U+7901,U+793A,U+793C,U+793E,U+7941,U+7948,U+7956,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7981,U+7984,U+798F,U+79B9,U+79BB,U+79BD-79BE,U+79C0-79C1,U+79C3,U+79C6,U+79C9,U+79CB,U+79CD,U+79D1-79D2,U+79D8,U+79DF,U+79E4,U+79E6-79E7,U+79E9,U+79EF-79F0,U+79F8,U+79FB,U+79FD,U+7A00,U+7A0B,U+7A0D-7A0E,U+7A17,U+7A1A,U+7A20,U+7A33,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A76-7A77,U+7A7A,U+7A7F,U+7A81,U+7A83-7A84,U+7A8D,U+7A91-7A92,U+7A96-7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7ACB,U+7AD6,U+7AD9,U+7ADE-7AE0,U+7AE3,U+7AE5,U+7AED,U+7AEF,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B11,U+7B14,U+7B1B,U+7B26,U+7B28,U+7B2C,U+7B3A,U+7B3C,U+7B49,U+7B4B,U+7B4F-7B52,U+7B54,U+7B56,U+7B5B,U+7B77,U+7B79,U+7B7E,U+7B80,U+7B8D,U+7B94-7B95,U+7B97,U+7BA1,U+7BA9,U+7BAD,U+7BB1,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C27,U+7C3F,U+7C4D,U+7C73,U+7C7B,U+7C7D,U+7C89,U+7C92,U+7C95,U+7C97-7C98,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CBE,U+7CCA,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7CFB,U+7D0A,U+7D20,U+7D22,U+7D27,U+7D2B,U+7D2F,U+7D6E,U+7E41,U+7E82,U+7EA0,U+7EA2,U+7EA4,U+7EA6-7EA7,U+7EAA-7EAC,U+7EAF,U+7EB1-7EB3,U+7EB5-7EBA,U+7EBD,U+7EBF,U+7EC3-7EC8,U+7ECA,U+7ECD-7ECF,U+7ED1-7ED3,U+7ED5,U+7ED8-7EDA,U+7EDC-7EDF,U+7EE2-7EE3,U+7EE5-7EE7,U+7EE9-7EEA,U+7EED,U+7EF0,U+7EF3-7EF5,U+7EF7-7EF8,U+7EFC-7EFD,U+7EFF-7F00,U+7F04-7F06,U+7F09,U+7F0E,U+7F13-7F16,U+7F18,U+7F1A,U+7F1D,U+7F20,U+7F28-7F29,U+7F2E,U+7F34,U+7F38,U+7F3A,U+7F50-7F51,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F69-7F6A,U+7F6E,U+7F72,U+7F8A,U+7F8C,U+7F8E,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FA4,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFB-7FFC,U+8000-8001,U+8003,U+8005,U+800C-800D,U+8010,U+8015,U+8017-8019,U+802A,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804C,U+8054,U+8058,U+805A,U+806A,U+8083-8084,U+8086-8087,U+8089,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80B2,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CC,U+80CE,U+80D6,U+80DA,U+80DC,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F6,U+80F8,U+80FA,U+80FD,U+8102,U+8106,U+8109-810A,U+810F-8111,U+8113,U+8116,U+811A,U+812F,U+8131,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817E-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81EA,U+81ED,U+81F3-81F4,U+81FB-81FC,U+8200,U+8205-8206,U+820C-820D,U+8212,U+8214,U+821C,U+821E-821F,U+822A,U+822C,U+8230-8231,U+8235-8237,U+8239,U+8247,U+8258,U+826F-8270,U+8272-8273,U+827A,U+827E,U+8282,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B1,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D4,U+82D7,U+82DB,U+82DE-82DF,U+82E5-82E6,U+82EB,U+82EF,U+82F1,U+82F9,U+8301-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8361,U+8363-8364,U+8367,U+836B,U+836F,U+8377,U+8386,U+8389,U+838E,U+83AB,U+83B1-83B2,U+83B7,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83DC,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424-8425,U+8427-8428,U+843D,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+8499,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DD,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+8584,U+859B,U+85AA,U+85AF,U+85C9,U+85CF-85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8651,U+865A,U+865E,U+866B,U+8671,U+8679,U+867D-867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+878D,U+879F,U+87BA,U+87F9,U+8815,U+8822,U+8840,U+8845,U+884C-884D,U+8854,U+8857,U+8859,U+8861,U+8863,U+8865,U+8868,U+886B-886C,U+8870,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AB,U+88AD,U+88B1,U+88C1-88C2,U+88C5,U+88D4-88D5,U+88D9,U+88E4,U+88F3-88F4,U+88F8-88F9,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+897F,U+8981,U+8986,U+89C1-89C2,U+89C4-89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8A00,U+8A79,U+8A89-8A8A,U+8A93,U+8B66,U+8B6C,U+8BA1-8BA5,U+8BA8-8BA9,U+8BAB,U+8BAD-8BB0,U+8BB2-8BB3,U+8BB6,U+8BB8-8BBA,U+8BBC-8BC1,U+8BC4-8BC6,U+8BC8-8BCA,U+8BCC-8BCD,U+8BD1,U+8BD5,U+8BD7,U+8BDA-8BDB,U+8BDD-8BDE,U+8BE1-8BE3,U+8BE5-8BE7,U+8BEB-8BED,U+8BEF,U+8BF1-8BF2,U+8BF4-8BF5,U+8BF7-8BF8,U+8BFA-8BFB,U+8BFD-8BFE,U+8C01,U+8C03,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C10,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C22-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C30-8C31,U+8C34,U+8C37,U+8C41,U+8C46,U+8C4C,U+8C61-8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1D-8D1F,U+8D21-8D31,U+8D34-8D35,U+8D37-8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D44,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D56,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D64,U+8D66,U+8D6B,U+8D70,U+8D74-8D77,U+8D81,U+8D85,U+8D8A-8D8B,U+8D9F,U+8DA3,U+8DB3-8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEA,U+8DEF,U+8DF3,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29-8E2A,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAB-8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F66-8F69,U+8F6C,U+8F6E-8F70,U+8F74,U+8F7B,U+8F7D,U+8F7F,U+8F83,U+8F85-8F86,U+8F88-8F8A,U+8F90-8F91,U+8F93,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA8-8FA9,U+8FAB,U+8FB0-8FB1,U+8FB9,U+8FBD-8FBE,U+8FC1-8FC2,U+8FC4-8FC5,U+8FC7-8FC8,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDF,U+8FE2,U+8FEA-8FEB,U+8FED,U+8FF0,U+8FF7-8FF9,U+8FFD,U+9000-9003,U+9006,U+9009-900A,U+900F-9010,U+9012,U+9014,U+9017,U+901A-901B,U+901D-9020,U+9022,U+902E,U+9038,U+903B-903C,U+903E,U+9041-9042,U+9047,U+904D,U+904F,U+9053,U+9057,U+9063,U+9065,U+906D-906E,U+9075,U+907F-9080,U+9091,U+9093,U+90A2-90A3,U+90A6,U+90AA,U+90AE-90AF,U+90B1,U+90B5,U+90B9,U+90BB,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7-90E8,U+90ED,U+90F4,U+90F8,U+90FD,U+9102,U+9119,U+9149,U+914B-914D,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9178,U+917F,U+9187,U+9189,U+918B,U+9192,U+919A-919B,U+91C7,U+91C9-91CA,U+91CC-91CF,U+91D1,U+91DC,U+9274,U+9488-9489,U+948E,U+9492-9493,U+9499,U+949D-94A2,U+94A5-94A9,U+94AE,U+94B1,U+94B3,U+94B5,U+94BB,U+94BE,U+94C0-94C3,U+94C5-94C6,U+94DC-94DD,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+94FA,U+94FE,U+9500-9501,U+9504-9505,U+9508,U+950B-950C,U+9510-9511,U+9517,U+9519-951A,U+9521,U+9523-9526,U+9528,U+952D-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+955C,U+9563,U+956D,U+9570,U+9576,U+957F,U+95E8,U+95EA,U+95ED-95F0,U+95F2,U+95F4,U+95F7-95FB,U+95FD,U+9600-9602,U+9605,U+9609,U+960E,U+9610-9611,U+9614,U+961C,U+961F,U+962E,U+9632-9636,U+963B,U+963F-9640,U+9644-9648,U+964B-964D,U+9650,U+9655,U+965B,U+9661-9662,U+9664,U+9668-966A,U+9675-9677,U+9685-9686,U+968B,U+968F-9690,U+9694,U+9698-9699,U+969C,U+96A7,U+96B6,U+96BE,U+96C0-96C1,U+96C4-96C7,U+96CC-96CD,U+96CF,U+96D5,U+96E8,U+96EA,U+96F6-96F7,U+96F9,U+96FE,U+9700,U+9704,U+9707,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9732,U+9738-9739,U+9752,U+9756,U+9759,U+975B,U+975E,U+9760-9762,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F3,U+97F5-97F6,U+9875-9877,U+9879-987B,U+987D-987F,U+9881-9882,U+9884-9888,U+988A,U+9890-9891,U+9893,U+9896-9898,U+989C-989D,U+98A0,U+98A4,U+98A7,U+98CE,U+98D8,U+98DE-98DF,U+9910,U+9965,U+996D-9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+9988,U+998B,U+998F,U+9992,U+9996,U+9999,U+9A6C-9A71,U+9A73-9A74,U+9A76,U+9A79,U+9A7B-9A7C,U+9A7E,U+9A82,U+9A84,U+9A86-9A87,U+9A8B-9A8C,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AA4,U+9AA8,U+9AB8,U+9AD3,U+9AD8,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9C9C,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED1,U+9ED4,U+9ED8,U+9F0E,U+9F13,U+9F20,U+9F3B,U+9F50,U+9F7F,U+9F84,U+9F8B,U+9F99-9F9A,U+9F9F,U+FF01-FF5E,U+FFE0-FFE5}
@font-face{font-family:"Bukids Sans";src:url("https://1855453048.cdn.123clouddisk.com/1855453048/Website/fonts/bukids-sans-ext.woff2") format("woff2");font-style:normal;font-display:swap;unicode-range:U+100-17F,U+18F,U+192,U+1A0-1A1,U+1AF-1B0,U+1CD-1DC,U+1E5,U+1E7,U+1E9,U+1EF-1F0,U+1F9-1FF,U+218-21B,U+21F,U+232-233,U+237,U+251,U+259,U+261,U+292,U+2BC,U+2C6-2C7,U+2C9-2CB,U+2D8-2DD,U+2F3,U+300-304,U+306-30C,U+30F,U+312,U+31B,U+323,U+326-329,U+334-335,U+337-338,U+374-375,U+37E,U+384-38A,U+38C,U+38E-3A1,U+3A3-3CE,U+3D1-3D4,U+3D6,U+400-45F,U+462-463,U+46B,U+472-475,U+490-49D,U+4A0-4A5,U+4AA-4AB,U+4AE-4B3,U+4B6-4BB,U+4C0,U+4C3-4C4,U+4C7-4C8,U+4CA,U+4D0-4D3,U+4D6-4DF,U+4E2-4EB,U+4EE-4F5,U+4F8-4F9,U+E3F,U+1E00-1E03,U+1E0A-1E0B,U+1E1E-1E1F,U+1E3E-1E41,U+1E56-1E57,U+1E6A-1E6B,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+1F4D,U+1FDE,U+2070,U+2074-208E,U+20A1-20A4,U+20A6-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BC-20BD,U+20BF,U+2105,U+2109,U+2113-2114,U+2117,U+211E,U+2120-2122,U+2126,U+212E,U+2153-215F,U+2165-2179,U+2180-2182,U+2190-2193,U+2196-2199,U+21C4,U+2202,U+2205-2206,U+2208,U+220F,U+2211-2212,U+2215,U+221A,U+221D-2220,U+2223,U+2225,U+2227-222B,U+222E,U+2234-2237,U+223D,U+2248,U+224C,U+2252,U+2260-2261,U+2264-2267,U+226E-226F,U+2295,U+2299,U+22A5,U+22BF,U+2500-254B,U+2550-2573,U+2581-258F,U+2593-2595,U+25A0-25A1,U+25B2-25B3,U+25BC-25BD,U+25C6-25C7,U+25CA-25CB,U+25CE-25CF,U+25E2-25E5,U+2605-2606,U+2609,U+2640,U+2642,U+2713,U+2715,U+275B-275E,U+2780-2788,U+278A-2792,U+27E8-27E9,U+2FF0-2FFB,U+30FB,U+3105-3129,U+3231,U+32A3,U+338E-338F,U+339C-339E,U+33A1,U+33C4,U+33CE,U+33D1-33D2,U+33D5,U+4E0C,U+4E10,U+4E15,U+4E1E,U+4E28,U+4E2C,U+4E36,U+4E3F,U+4E47,U+4E5C,U+4E69,U+4E8D,U+4E93,U+4E98,U+4E9F-4EA0,U+4EB3,U+4EB5,U+4EBB,U+4EC2-4EC4,U+4EC9,U+4EDD-4EDE,U+4EE1,U+4EE8,U+4EEB,U+4EF3,U+4EF5,U+4F09,U+4F1B,U+4F22,U+4F25,U+4F27,U+4F2B,U+4F32,U+4F3D,U+4F57-4F58,U+4F5A,U+4F5D-4F5F,U+4F64-4F65,U+4F67,U+4F74,U+4F76,U+4F7B-4F7C,U+4F7E,U+4F83,U+4F89,U+4F8F,U+4F91,U+4F94,U+4FAA,U+4FAC,U+4FC5,U+4FCE,U+4FD1,U+4FDA,U+4FDC,U+4FDF,U+4FE3,U+4FE6,U+4FE8,U+4FEA,U+4FF3,U+4FF8,U+4FFE,U+500C,U+500F,U+501C,U+5025,U+5028-5029,U+502C-502E,U+5043,U+5048,U+504C,U+504E,U+5055,U+506C,U+507B,U+507E,U+50A5,U+50A7,U+50A9,U+50BA,U+50D6,U+50E6,U+50EC-50EE,U+5106-5107,U+510B,U+5140,U+5155-5156,U+516E,U+5181-5182,U+5196,U+51A2,U+51A5,U+51AB,U+51B1,U+51BC-51BD,U+51C7,U+51EB,U+51F5,U+51FC,U+5202,U+5208,U+520D-520E,U+5216,U+522D,U+5233,U+523F-5240,U+524C,U+525C,U+525E,U+5261,U+527D,U+5281-5282,U+5290,U+5293,U+52A2,U+52AC-52AD,U+52BE,U+52D0,U+52D6,U+52F0,U+52F9,U+530D,U+530F-5310,U+5315,U+531A,U+5326,U+532E,U+533E,U+5345,U+535F,U+5363,U+5366,U+5369,U+536E,U+537A,U+538D,U+539D,U+53A3,U+53A5,U+53AE,U+53B6,U+53DF,U+53E8-53E9,U+53F1,U+53F5,U+53FB,U+53FD,U+5406,U+5412,U+5416,U+5421,U+5423,U+5432,U+5443,U+544B,U+5452-5454,U+5456-5457,U+5459,U+5464,U+5466,U+5471-5472,U+5476-5477,U+5482,U+5484,U+5494,U+549A-549B,U+549D,U+54A3-54A4,U+54A6-54A7,U+54A9-54AB,U+54AD,U+54B4,U+54BB,U+54BF,U+54C2,U+54CC,U+54CF-54D0,U+54D2-54D5,U+54D9-54DA,U+54DC-54DE,U+54E7,U+54F3,U+54FD,U+54FF,U+550F,U+5511,U+5514,U+551B,U+5520,U+5522-5523,U+5527,U+552A,U+5530,U+5533,U+5537,U+553C,U+553F,U+5541,U+5549,U+5550,U+5555-5556,U+555C,U+5567,U+556C-556D,U+5575-5577,U+557B,U+557E,U+5581,U+5583,U+5588,U+558B,U+558F,U+5591,U+5594,U+5599,U+559F,U+55B1,U+55B5,U+55B9,U+55BD-55BE,U+55C4,U+55C9,U+55CC-55CD,U+55D1-55D2,U+55D4,U+55D6,U+55DD,U+55DF,U+55E4-55E6,U+55E8,U+55EA-55EC,U+55EF,U+55F2-55F3,U+55F5,U+55F7,U+55FE,U+5600-5601,U+5608,U+560C,U+560F,U+561E-561F,U+5623-5624,U+5627,U+562C-562D,U+5639,U+564C-564D,U+5654,U+5657-5659,U+565C,U+5662,U+5664,U+5669,U+566B,U+5671,U+567B-567C,U+5685-5686,U+5693,U+56AF,U+56D4,U+56D7,U+56DD,U+56DF,U+56E1,U+56EB,U+56F5,U+56F9,U+56FF,U+5704,U+5709-570A,U+571C,U+5729-572A,U+572C,U+572E-572F,U+5733,U+5739,U+573B,U+5742,U+574C,U+575C,U+5768-5769,U+576B,U+576D,U+5773,U+5776,U+577B-577C,U+5785-5786,U+578C,U+5793,U+57A0-57A1,U+57A4,U+57A7,U+57A9,U+57AD,U+57B2,U+57B4,U+57B8,U+57CF,U+57D2,U+57D5,U+57D8-57DA,U+57DD,U+57E4,U+57ED,U+57EF,U+57F4,U+57F8,U+57FD,U+5800,U+5807,U+580B,U+580D,U+5819,U+581E,U+5820,U+5844,U+584D,U+5865,U+586C,U+587E,U+5880-5881,U+5889,U+589A,U+58BC,U+58C5,U+58D1,U+5902,U+5914,U+5919,U+5924-5925,U+592D,U+593C,U+5941-5942,U+5955,U+5958,U+595A,U+5981,U+5983,U+598D,U+5997,U+599E,U+59A3-59A4,U+59A9-59AB,U+59AF,U+59B2,U+59BE,U+59CA,U+59D2,U+59D7-59D8,U+59DD,U+59E3,U+59F9,U+5A05-5A06,U+5A08-5A09,U+5A0C,U+5A11,U+5A13,U+5A23,U+5A32,U+5A34,U+5A3C,U+5A40,U+5A4A,U+5A55,U+5A62,U+5A67,U+5A75,U+5A77,U+5A7A,U+5A9B,U+5AAA,U+5AB2,U+5AB5,U+5AB8,U+5ABE,U+5AD2,U+5AD4,U+5AD6,U+5AD8,U+5ADC,U+5AE0,U+5AE3,U+5AE6,U+5AEB,U+5AF1,U+5B09,U+5B16-5B17,U+5B32,U+5B34,U+5B37,U+5B40,U+5B51,U+5B53,U+5B5A-5B5B,U+5B62,U+5B65,U+5B6C,U+5B71,U+5B73,U+5B80,U+5B84,U+5B93,U+5B95,U+5BA5,U+5BB8,U+5BE4,U+5BEE,U+5BF0,U+5C15,U+5C1C,U+5C22,U+5C25,U+5C2C,U+5C34,U+5C3B,U+5C50,U+5C59,U+5C63,U+5C66,U+5C6E,U+5C7A,U+5C88,U+5C8C-5C8D,U+5C90-5C91,U+5C96,U+5C98-5C9A,U+5C9C,U+5CA2-5CA3,U+5CAB-5CAC,U+5CB1,U+5CB5,U+5CB7,U+5CBD,U+5CC1,U+5CC4,U+5CCB,U+5CD2,U+5CE4-5CE5,U+5D02-5D03,U+5D06,U+5D1B,U+5D1E,U+5D24,U+5D26-5D27,U+5D2E,U+5D34,U+5D3D-5D3E,U+5D47,U+5D4A-5D4B,U+5D58,U+5D5B,U+5D5D,U+5D69,U+5D6B-5D6C,U+5D6F,U+5D74,U+5D82,U+5D99,U+5D9D,U+5DB7,U+5DC5,U+5DDB,U+5DEF,U+5DFD,U+5E0F,U+5E11,U+5E14,U+5E19,U+5E31,U+5E37,U+5E3B-5E3C,U+5E44,U+5E54,U+5E5B,U+5E5E,U+5E61,U+5E7A,U+5E80,U+5E8B,U+5E91,U+5E96,U+5EA0,U+5EA5,U+5EB3,U+5EB5,U+5EB9,U+5EBE,U+5ED1-5ED2,U+5EDB,U+5EE8,U+5EEA,U+5EF4,U+5EFE-5EFF,U+5F01,U+5F08,U+5F0B,U+5F11,U+5F29-5F2A,U+5F2D,U+5F3C,U+5F40,U+5F50,U+5F56-5F58,U+5F61,U+5F73,U+5F77,U+5F82,U+5F87,U+5F89,U+5F8C,U+5F95,U+5F99,U+5F9C,U+5FA8,U+5FAD,U+5FB5,U+5FBC,U+5FC4,U+5FC9,U+5FCF-5FD2,U+5FD6,U+5FDD,U+5FE1,U+5FE4,U+5FEA,U+5FED-5FEE,U+5FF8,U+5FFE,U+6003-6006,U+600A,U+600D,U+600F,U+6019,U+601B,U+6021,U+6026,U+6029,U+602B,U+6035,U+603C,U+603F,U+6041-6042,U+6059-605A,U+605D,U+6063,U+6067,U+606A,U+6078-607B,U+607D,U+6083,U+608C,U+6092,U+6096,U+609A-609B,U+609D,U+60AB,U+60AD,U+60B1,U+60B4,U+60BB,U+60C6,U+60D8,U+60DA,U+60DD,U+60EC,U+60F4,U+6100,U+6106,U+610D-610E,U+6115,U+6120,U+6123,U+6126,U+612B,U+614A,U+615D,U+6175,U+6194,U+619D,U+61A7,U+61A9,U+61AC,U+61B7,U+61CB,U+61D1,U+61D4,U+61F5,U+61FF,U+6206,U+620B,U+6215,U+6217,U+621B,U+621F,U+6221-6222,U+6224-6225,U+622C,U+623D-623E,U+6243,U+6248-6249,U+624C,U+626A,U+629F,U+62BB,U+62CA,U+62D7,U+62DA,U+62EE,U+62F6,U+6308,U+6322,U+6332,U+6339,U+6343,U+634B,U+6369,U+636D,U+6371,U+637A,U+638A,U+638E,U+63AC-63AE,U+63B0,U+63B4,U+63BC,U+63BE,U+63C4,U+63C6,U+63CE,U+63DE,U+63E0,U+63F2,U+63F6,U+63F8,U+63FF,U+640B-640C,U+641B,U+6420-6421,U+6426,U+6434,U+643F,U+6441,U+6445,U+6452,U+645E,U+646D,U+647A,U+6484,U+6496,U+6499,U+64B7-64B8,U+64BA,U+64C0,U+64D0,U+64D7-64D8,U+64E2,U+64E4,U+6509,U+6525,U+652E,U+6534-6535,U+6538,U+6549,U+6555,U+656B,U+6590,U+6593,U+659B,U+65AB,U+65BC,U+65C3-65C4,U+65C6,U+65CC,U+65CE,U+65D2,U+65D6,U+65EE-65F0,U+6600,U+6603,U+660A,U+6615,U+6619,U+661D,U+6631,U+6634-6636,U+6641,U+664F,U+6654,U+6656-6657,U+665F,U+6661,U+6677,U+6684,U+668C,U+669D,U+66A7-66A8,U+66B9,U+66BE,U+66DB-66DC,U+66E6,U+66E9,U+66F7,U+670A,U+6710,U+6715,U+6726,U+6748,U+674C,U+6753,U+675E,U+6769-676A,U+6772-6773,U+6775,U+6777,U+677C,U+6787,U+678B,U+6798,U+679E,U+67A5,U+67A7-67A8,U+67AD,U+67B0,U+67B3,U+67B5,U+67B8,U+67C1,U+67C3,U+67D8-67DA,U+67DD,U+67E2,U+67E9,U+67F0,U+67FD,U+6800,U+6809-680A,U+680C,U+680E,U+681D,U+6829,U+6832-6833,U+683E,U+6840-6841,U+6844,U+6849-684A,U+684E,U+6855,U+6860-6862,U+6864,U+6866-6867,U+686B,U+6874,U+6877,U+6883,U+688F,U+6893,U+68B5,U+68C2,U+68E3,U+68F0,U+68F9,U+68FC,U+6901,U+690B,U+6910,U+691F-6920,U+6924,U+6934,U+6939,U+6942,U+6957,U+695D,U+6960,U+6963,U+6966,U+696B,U+696E,U+6971,U+6978-6979,U+6980,U+6984,U+6987-6989,U+698D,U+6995,U+6998,U+699B,U+69A7,U+69AB,U+69AD,U+69B1,U+69BB,U+69C1,U+69CA,U+69CC,U+69CE,U+69D4,U+69DF-69E0,U+69ED,U+69F2,U+69FF,U+6A17-6A18,U+6A28,U+6A2F,U+6A35,U+6A3D-6A3E,U+6A44,U+6A50,U+6A58,U+6A5B,U+6A65,U+6A79,U+6A7C,U+6A8E,U+6A90-6A91,U+6A97,U+6AA0,U+6AA9,U+6AAB,U+6B24,U+6B37,U+6B39,U+6B43,U+6B46,U+6B59,U+6B81-6B82,U+6B84,U+6B87,U+6B8D,U+6B92-6B93,U+6B9A-6B9B,U+6BA1,U+6BAA,U+6BB3,U+6BC2,U+6BD3,U+6BEA,U+6BF3,U+6BF5,U+6BF9,U+6BFD,U+6C05-6C07,U+6C0D,U+6C10,U+6C15,U+6C18-6C1A,U+6C21,U+6C24,U+6C29-6C2A,U+6C32,U+6C35,U+6C3D,U+6C46,U+6C4A,U+6C54,U+6C5C,U+6C68-6C69,U+6C74,U+6C76,U+6C85-6C86,U+6C8C,U+6C90,U+6C93-6C94,U+6CA3,U+6CA9,U+6CAD,U+6CB1-6CB2,U+6CD0,U+6CD3-6CD4,U+6CD6-6CD7,U+6CE0,U+6CEB,U+6CEE-6CEF,U+6CF1,U+6CF6-6CF8,U+6CFA,U+6CFE,U+6D04,U+6D07,U+6D0C,U+6D0E,U+6D19-6D1A,U+6D27,U+6D2B,U+6D2E,U+6D33,U+6D35,U+6D39,U+6D43,U+6D48,U+6D4D,U+6D4F,U+6D52,U+6D54,U+6D5C,U+6D5E,U+6D60,U+6D63,U+6D6F,U+6D7C,U+6D91,U+6D93-6D94,U+6D9E,U+6DA0,U+6DAB,U+6DAE,U+6DBF,U+6DC5,U+6DC7,U+6DD9,U+6DDD-6DDE,U+6DE0,U+6DE6,U+6DFC,U+6E0C,U+6E0E,U+6E11,U+6E16,U+6E1A,U+6E25,U+6E2B,U+6E32,U+6E44,U+6E4E,U+6E53-6E54,U+6E5F,U+6E6B,U+6E6E,U+6E86,U+6E8F,U+6E98,U+6E9F,U+6EA5,U+6EA7,U+6EB1-6EB2,U+6EB4,U+6EB7,U+6EBB,U+6EBD,U+6EC2,U+6ECF,U+6ED5,U+6ED7,U+6EDF-6EE0,U+6EE2,U+6EF9,U+6F09,U+6F15,U+6F24,U+6F29-6F2A,U+6F2D,U+6F2F,U+6F36,U+6F46-6F47,U+6F4B,U+6F62,U+6F72,U+6F74,U+6F78,U+6F7A,U+6F7C,U+6F89,U+6F8C-6F8D,U+6FA7,U+6FB6,U+6FB9,U+6FC2,U+6FC9,U+6FD1,U+6FDE,U+6FE0-6FE1,U+6FEE-6FEF,U+701A-701B,U+7023,U+7035,U+7039,U+704F,U+705E,U+706C,U+7080,U+7085,U+7096,U+709C-709D,U+70AB,U+70B1,U+70B7,U+70BB,U+70C0,U+70CA,U+70E8,U+7110,U+7113,U+7116,U+7118,U+712F,U+7131,U+7145,U+714A,U+715C,U+7166,U+7168,U+7172-7173,U+7178,U+717A,U+7198,U+71A0,U+71A8,U+71B3,U+71B5,U+71B9,U+71D4,U+71E0,U+71E7,U+71EE,U+71F9,U+721D,U+7228,U+7230,U+723B,U+723F,U+724D,U+7252,U+7256,U+725D,U+7266,U+726E-726F,U+727E-727F,U+7284,U+728B,U+728D,U+728F,U+7292,U+729F,U+72AD,U+72B0,U+72B4,U+72B7-72B8,U+72C1,U+72C3,U+72CD-72CE,U+72D2,U+72E8-72E9,U+72EF,U+72F2-72F4,U+72F7,U+72FA-72FB,U+7301,U+7303,U+730A,U+7313,U+7315,U+7317,U+731D-731E,U+7321-7322,U+7325,U+732C,U+7331,U+7337-7339,U+734D,U+7350,U+7352,U+7357,U+7360,U+736C,U+736F,U+737E,U+738E,U+7391,U+739F,U+73A2,U+73AE,U+73B3,U+73B7,U+73BA,U+73C0,U+73C2,U+73C8-73C9,U+73CF,U+73D1,U+73D9,U+73DE,U+73E5,U+73E7,U+73E9,U+73F2,U+740A,U+740F,U+741A-741B,U+7425-7426,U+7428,U+742A,U+742C,U+742E,U+7430,U+7441,U+7455,U+7457,U+7459,U+745B-745C,U+746D,U+7477,U+747E,U+7480-7481,U+7487,U+748B,U+748E,U+7490,U+749C,U+749E,U+74A7-74A9,U+74BA,U+74D2,U+74DE,U+74E0,U+74EF,U+74F4,U+74FF,U+750D,U+750F,U+7511,U+7513,U+7519,U+752C,U+752F,U+753A,U+753E,U+7540,U+7548,U+754B,U+754E,U+755A-755B,U+7572,U+7579,U+757F,U+7583,U+758B,U+7592,U+7594,U+7596,U+759D,U+75A0,U+75A3,U+75AC,U+75B0-75B1,U+75B3-75B4,U+75B8,U+75C2-75C4,U+75CD,U+75D6,U+75E3-75E4,U+75E6-75E8,U+75EB,U+75F1,U+75FC,U+75FF-7600,U+7603,U+7605,U+760A,U+760C,U+7610,U+7615,U+7617-7619,U+761B,U+7620,U+7622,U+7625,U+762D,U+7630,U+7633,U+7635,U+763C,U+763E-7640,U+7643,U+764D,U+7654,U+7656,U+765C,U+765E,U+766B,U+766F,U+7688,U+768E,U+7693,U+7699,U+76A4,U+76B2,U+76B4,U+76CD,U+76E5,U+76F1,U+76F9,U+7704,U+7707-7708,U+770D,U+7719-771A,U+7722,U+7726,U+772D,U+7735,U+7738,U+7743,U+7747,U+7750-7751,U+775A,U+7762,U+7765,U+7768,U+777D-7780,U+778C-778D,U+7791,U+779F-77A0,U+77A2,U+77B0,U+77B5,U+77BD,U+77BF,U+77CD,U+77DC,U+77E7,U+77EC,U+77F6,U+77F8,U+7800,U+7809,U+7811,U+7817-7818,U+781C-781D,U+781F,U+7823,U+7825-7826,U+7829,U+782C-782D,U+7839-783C,U+7847,U+784C,U+784E,U+7850,U+7856-7857,U+786A,U+786D,U+7887,U+7893,U+789A-789C,U+78A1,U+78A3,U+78A5,U+78B2,U+78B9,U+78C9,U+78D4,U+78D9,U+78EC,U+78F2,U+78F4,U+7905,U+7913,U+791E,U+7924,U+7934,U+793B,U+7940,U+7946,U+7949,U+7953,U+7957,U+795A-795C,U+7960,U+7962,U+7967,U+796F,U+797A,U+7980,U+7985,U+798A,U+799A,U+79A7,U+79B3,U+79BA,U+79D5,U+79E3,U+79EB,U+79ED,U+7A02-7A03,U+7A06,U+7A14,U+7A1E,U+7A23,U+7A37,U+7A39,U+7A51,U+7A70,U+7A78-7A79,U+7A80,U+7A86,U+7A88,U+7A95,U+7AA0,U+7AA6,U+7AA8,U+7AAC-7AAD,U+7AB3,U+7AE6,U+7AFA,U+7AFD,U+7B03-7B04,U+7B08,U+7B0A,U+7B0F,U+7B15,U+7B19,U+7B1E,U+7B20,U+7B24-7B25,U+7B2A-7B2B,U+7B2E,U+7B31,U+7B33,U+7B38,U+7B3E,U+7B45,U+7B47,U+7B4C,U+7B58,U+7B5A,U+7B5D,U+7B60,U+7B62,U+7B6E,U+7B71-7B72,U+7B75,U+7B7B,U+7B85,U+7B90,U+7B9C-7B9D,U+7BA2,U+7BA6-7BA8,U+7BAA-7BAC,U+7BB4,U+7BB8,U+7BC1,U+7BCC,U+7BD1,U+7BDA,U+7BDD,U+7BE5-7BE6,U+7BEA,U+7BFC,U+7BFE,U+7C0B-7C0C,U+7C0F,U+7C16,U+7C1F,U+7C26,U+7C2A,U+7C38,U+7C40-7C41,U+7C74,U+7C7C,U+7C91,U+7C9C-7C9E,U+7CA2,U+7CB2,U+7CBC-7CBD,U+7CC1,U+7CC5,U+7CC7-7CC8,U+7CCC-7CCD,U+7CD7,U+7CE8,U+7CF8,U+7D77,U+7DA6,U+7DAE,U+7E3B,U+7E47,U+7E9B,U+7E9F,U+7EA1,U+7EA3,U+7EA5,U+7EA8-7EA9,U+7EAD,U+7EB0,U+7EBE,U+7EC0-7EC2,U+7EC9,U+7ECB-7ECC,U+7ED0,U+7ED4,U+7ED7,U+7EDB,U+7EE0-7EE1,U+7EE8,U+7EEB,U+7EEE-7EEF,U+7EF1-7EF2,U+7EF6,U+7EFA-7EFB,U+7EFE,U+7F01-7F03,U+7F07-7F08,U+7F0B-7F0D,U+7F0F,U+7F11-7F12,U+7F17,U+7F19,U+7F1B-7F1C,U+7F1F,U+7F21-7F27,U+7F2A-7F2D,U+7F2F-7F33,U+7F35-7F36,U+7F42,U+7F44-7F45,U+7F54,U+7F58,U+7F5F,U+7F61,U+7F68,U+7F71,U+7F74,U+7F79,U+7F7E,U+7F81,U+7F9D,U+7F9F,U+7FA7,U+7FAF-7FB0,U+7FB2,U+7FB8,U+7FBC,U+7FBF,U+7FCA,U+7FCE,U+7FD5,U+7FE1,U+7FE5-7FE6,U+7FE9,U+7FEE,U+7FF3,U+8004,U+8006,U+800B,U+8012,U+8014,U+8016,U+801C,U+8020,U+8022,U+8025-8029,U+8031,U+8035,U+8037,U+8043,U+8046,U+804D,U+8052,U+8069,U+8071,U+807F-8080,U+8093,U+809C,U+809F,U+80AB,U+80AD,U+80B1,U+80B4,U+80B7,U+80BC-80BD,U+80C2,U+80C4,U+80CD,U+80D7,U+80D9,U+80DB,U+80DD,U+80E4-80E5,U+80E7-80ED,U+80F1-80F2,U+80F4,U+80FC,U+810D-810E,U+8112,U+8114,U+8118,U+811E,U+812C,U+8132,U+8136,U+8148,U+814C,U+8153,U+8159-815A,U+8160,U+8167,U+8169,U+816D,U+8171,U+8174,U+817C-817D,U+8182,U+8188,U+8191,U+81A3,U+81A6,U+81AA,U+81BA-81BB,U+81C1,U+81CA,U+81CC,U+81E7,U+81EC,U+81FE,U+8201-8202,U+8204,U+8210,U+821B,U+8221-8223,U+8228,U+822B,U+822D,U+822F,U+8233-8234,U+8238,U+823B,U+823E,U+8244,U+8249,U+824B,U+824F,U+825A,U+825F,U+8268,U+826E,U+8274,U+8279,U+827D,U+827F,U+8284,U+8288,U+828A,U+828E-828F,U+8291,U+8297-8299,U+829F,U+82A1,U+82A4,U+82A8-82AB,U+82AE,U+82B0,U+82B4,U+82B7-82B8,U+82BE,U+82C1,U+82C4,U+82C8,U+82CA-82CC,U+82CE,U+82D2-82D3,U+82D5,U+82D8,U+82DC,U+82E0-82E1,U+82E3-82E4,U+82F4,U+82F7,U+82FB,U+8306-8309,U+830C,U+830F,U+8311,U+8314-8315,U+8317,U+831A-831C,U+832D,U+832F,U+8331,U+8333-8334,U+833A,U+833C,U+8340,U+8343,U+8347,U+834F,U+8351,U+835B-835C,U+835E-8360,U+8365-8366,U+8368-836A,U+836C-836E,U+8378,U+837B-837D,U+8385,U+8392-8393,U+8398,U+839B-839C,U+839E,U+83A0,U+83A8-83AA,U+83B0,U+83B3-83B4,U+83B6,U+83B8,U+83BA,U+83BC,U+83C0-83C1,U+83C5,U+83D4,U+83D6,U+83D8,U+83DD,U+83DF,U+83E1,U+83E5,U+83EA,U+83F0,U+83F8-83F9,U+83FD,U+8401,U+8403,U+8406,U+840B,U+840F,U+8411,U+8418,U+841C,U+8426,U+8431,U+8438,U+843C,U+8446,U+8451,U+8459-845A,U+845C,U+8469,U+846D,U+8473,U+8476,U+8478,U+847A,U+8487-8489,U+848C,U+848E,U+8497,U+84A1,U+84AF,U+84B4,U+84B9-84BA,U+84BD,U+84BF,U+84C1,U+84CA,U+84CD,U+84D0,U+84D3,U+84E0,U+84E3,U+84E5-84E6,U+84F0,U+84FC,U+84FF,U+850C,U+851F,U+8538-853B,U+8543,U+8548,U+8556,U+8559,U+855E,U+8564,U+8568,U+8572,U+8579-857B,U+8585,U+8587,U+858F,U+859C,U+85A4,U+85A8,U+85AE,U+85B0,U+85B7,U+85B9,U+85C1,U+85D3,U+85DC,U+85FF,U+8605,U+8616,U+8627,U+8629,U+863C,U+864D,U+8654,U+8662,U+866C,U+866E,U+867A-867C,U+867F,U+868B,U+868D,U+8693,U+869D,U+86A3,U+86A7-86AA,U+86AC,U+86AF-86B1,U+86B4-86B6,U+86BA,U+86C4,U+86C9,U+86CE-86D1,U+86D8,U+86DE-86DF,U+86E9,U+86ED,U+86F1-86F4,U+86F8,U+8703,U+8707-870A,U+870D,U+8713,U+871A,U+871E,U+8722-8723,U+8725,U+8729,U+872E,U+8731,U+8734,U+8737,U+873B,U+873E-873F,U+8748,U+874C,U+8753,U+8759,U+8760,U+8763-8765,U+876E,U+8770,U+877B-877E,U+8782-8783,U+8785,U+8788,U+878B,U+8793,U+8797,U+87A8,U+87AB-87AD,U+87AF,U+87B3,U+87B5,U+87BD,U+87C0,U+87C6,U+87CA-87CB,U+87D1-87D3,U+87DB,U+87E0,U+87E5,U+87EA,U+87EE,U+87FE,U+8803,U+880A,U+8813,U+8816,U+881B,U+8821,U+8832,U+8839,U+883C,U+8844,U+8862,U+8864,U+8869,U+886E,U+8872,U+887D-887F,U+8882,U+8885,U+8888,U+88A2,U+88A4,U+88B7,U+88BC,U+88C6,U+88C9,U+88CE,U+88D2,U+88D8,U+88DF,U+88E2-88E3,U+88E5,U+88E8,U+88F0-88F1,U+88FC,U+88FE,U+890A,U+8913,U+8919-891B,U+8921,U+892B,U+8930,U+8934,U+8936,U+8941,U+895E,U+8966,U+897B,U+8983,U+89C7,U+89CA-89CC,U+89CE-89D1,U+89D6,U+89DA,U+89DC,U+89DE,U+89E5,U+89EB,U+89EF,U+89F3,U+8A07,U+8A3E,U+8A48,U+8B07,U+8B26,U+8BA0,U+8BA6-8BA7,U+8BAA,U+8BB4-8BB5,U+8BB7,U+8BC2-8BC3,U+8BCB,U+8BCE-8BCF,U+8BD2-8BD4,U+8BD6,U+8BD8-8BD9,U+8BDC,U+8BDF-8BE0,U+8BE4,U+8BE8-8BE9,U+8BEE,U+8BF0,U+8BF3,U+8BF6,U+8BF9,U+8BFC,U+8BFF-8C00,U+8C02,U+8C04,U+8C07,U+8C0C,U+8C0F,U+8C11-8C12,U+8C14-8C16,U+8C18-8C19,U+8C1B,U+8C1D,U+8C1F-8C21,U+8C25,U+8C27,U+8C2A-8C2B,U+8C2E-8C2F,U+8C32-8C33,U+8C35-8C36,U+8C47,U+8C49,U+8C55,U+8C5A,U+8C73,U+8C78,U+8C82,U+8C85,U+8C8A,U+8C94,U+8C98,U+8D32-8D33,U+8D36,U+8D3B,U+8D3D,U+8D40,U+8D45-8D49,U+8D4D,U+8D53,U+8D55,U+8D59,U+8D5C-8D5D,U+8D67,U+8D6D,U+8D73,U+8D84,U+8D91,U+8D94,U+8DB1,U+8DB5,U+8DB8,U+8DBA,U+8DBC,U+8DBF,U+8DC4,U+8DC6,U+8DCE-8DCF,U+8DD6-8DD7,U+8DDA-8DDB,U+8DDE,U+8DE3-8DE4,U+8DEB-8DEC,U+8DF7-8DF9,U+8DFB,U+8DFD,U+8E05,U+8E09,U+8E14,U+8E1D,U+8E1F,U+8E23,U+8E2C,U+8E2E-8E2F,U+8E31,U+8E35,U+8E39-8E3A,U+8E3D,U+8E40-8E42,U+8E47,U+8E49-8E4A,U+8E51-8E52,U+8E59,U+8E69,U+8E6F-8E70,U+8E74,U+8E76,U+8E7C,U+8E85,U+8E8F-8E90,U+8E94,U+8E9C,U+8E9E,U+8ECE,U+8F6B,U+8F6D,U+8F71-8F73,U+8F75-8F7A,U+8F7C,U+8F7E,U+8F81-8F82,U+8F84,U+8F87,U+8F8B,U+8F8D-8F8F,U+8F94,U+8F98,U+8F9A,U+8FB6,U+8FD3,U+8FD5,U+8FE4-8FE6,U+8FE8-8FE9,U+8FEE,U+8FF3,U+9004-9005,U+900B,U+900D,U+9011,U+9016,U+9021,U+9026,U+902D,U+902F,U+9035-9036,U+9044,U+9050-9052,U+9058,U+905B,U+9062,U+9068,U+9074,U+907D,U+9082-9083,U+9088,U+908B,U+9095,U+9097,U+9099,U+909B,U+909D,U+90A1,U+90AC,U+90B0,U+90B3-90B4,U+90B6,U+90B8,U+90BA,U+90BE,U+90C4-90C5,U+90C7,U+90CF-90D0,U+90D3,U+90D7,U+90DB-90DC,U+90E2,U+90E6,U+90EB,U+90EF,U+90FE,U+9104,U+911E,U+9122-9123,U+912F,U+9131,U+9139,U+9143,U+9146,U+914A,U+914E-9150,U+9161-9162,U+9164,U+9169,U+916F-9170,U+9172,U+9174,U+9179,U+917D-917E,U+9185,U+918C-918D,U+9190-9191,U+91A2-91A3,U+91AA,U+91AD-91AF,U+91B4-91B5,U+91BA,U+928E,U+92AE,U+92C8,U+933E,U+936A,U+938F,U+93CA,U+93D6,U+943E,U+946B,U+9485-9487,U+948A-948D,U+948F-9490,U+9494-9495,U+9497,U+949A-949C,U+94A3-94A4,U+94AA-94AD,U+94AF-94B0,U+94B2,U+94B4,U+94B6-94BA,U+94BC-94BD,U+94BF,U+94C4,U+94C8-94CE,U+94D0-94D2,U+94D5-94D9,U+94DB,U+94DE-94E0,U+94E2,U+94E4-94E5,U+94E7-94EB,U+94EE-94EF,U+94F3-94F5,U+94F7,U+94F9,U+94FC-94FD,U+94FF,U+9502-9503,U+9506-9507,U+9509-950A,U+950D-950F,U+9512-9516,U+9518,U+951B,U+951D-951F,U+9522,U+9529-952C,U+9531-9532,U+9534-9538,U+953A,U+953C,U+953E-953F,U+9542,U+9544-9546,U+9549,U+954C,U+954E-954F,U+9552-9554,U+9556-9559,U+955B,U+955D-955F,U+9561-9562,U+9564-956C,U+956F,U+9571-9573,U+95E9,U+95EB,U+95F1,U+95F3,U+95F5-95F6,U+95FC,U+95FE,U+9603-9604,U+9606,U+9608,U+960A-960D,U+960F,U+9612,U+9615-9617,U+9619-961A,U+961D,U+9621-9622,U+962A,U+9631,U+963C-963D,U+9642,U+9649,U+9654,U+965F,U+9667,U+966C,U+9672,U+9674,U+9688,U+968D,U+9697,U+96B0,U+96B3,U+96B9,U+96BC-96BD,U+96C9,U+96CE,U+96D2,U+96E0,U+96E9,U+96EF,U+96F3,U+9701,U+9706,U+9708,U+970E-970F,U+972A,U+972D,U+9730,U+973E,U+9753,U+9765,U+977C,U+9785,U+9791-9792,U+9794,U+97A3,U+97AB,U+97AF,U+97B2,U+97B4,U+97EA-97EC,U+9878,U+987C,U+9880,U+9883,U+9889,U+988C-988D,U+988F,U+9894,U+989A-989B,U+989E-989F,U+98A1-98A2,U+98A5-98A6,U+98D1-98D3,U+98D5,U+98D9-98DA,U+98E7-98E8,U+990D,U+992E,U+9954-9955,U+9963,U+9967-996C,U+9974,U+9977,U+997D,U+9980,U+9984,U+9987,U+998A,U+998D,U+9990-9991,U+9993-9995,U+9997-9998,U+99A5,U+99A8,U+9A75,U+9A77-9A78,U+9A7A,U+9A7D,U+9A7F-9A81,U+9A85,U+9A88,U+9A8A,U+9A90,U+9A92-9A93,U+9A96,U+9A98,U+9A9B-9AA0,U+9AA2-9AA3,U+9AA5,U+9AA7,U+9AB0-9AB1,U+9AB6-9AB7,U+9ABA,U+9ABC,U+9AC0-9AC2,U+9AC5,U+9ACB-9ACC,U+9AD1,U+9ADF,U+9AE1,U+9AE6,U+9AEB,U+9AED,U+9AEF,U+9AF9,U+9AFB,U+9B08,U+9B0F,U+9B13,U+9B1F,U+9B23,U+9B2F,U+9B32,U+9B3B,U+9B43,U+9B45,U+9B47-9B49,U+9B4D,U+9B51,U+9C7F,U+9C82,U+9C85-9C88,U+9C8B,U+9C8E,U+9C90-9C92,U+9C94-9C95,U+9C9A-9C9B,U+9C9E-9CA3,U+9CA5-9CA9,U+9CAB,U+9CAD-9CAE,U+9CB0-9CB7,U+9CBA-9CBD,U+9CC4-9CC7,U+9CCA-9CD0,U+9CD3-9CD5,U+9CD7-9CD9,U+9CDC-9CDD,U+9CDF,U+9CE2,U+9E20,U+9E22,U+9E28-9E2C,U+9E31-9E32,U+9E36-9E3A,U+9E3E,U+9E41-9E42,U+9E44,U+9E46-9E49,U+9E4B-9E4C,U+9E4E,U+9E51,U+9E55,U+9E57-9E58,U+9E5A-9E5C,U+9E5E,U+9E63,U+9E66-9E6D,U+9E71,U+9E73,U+9E7E,U+9E82,U+9E87-9E88,U+9E8B,U+9E92,U+9E9D,U+9E9F,U+9EB4,U+9EB8,U+9EBD-9EBE,U+9EC9,U+9ECF,U+9EDB-9EDD,U+9EDF-9EE0,U+9EE2,U+9EE5,U+9EE7,U+9EE9-9EEA,U+9EEF,U+9EF9,U+9EFB-9EFC,U+9EFE,U+9F0B,U+9F0D,U+9F10,U+9F17,U+9F19,U+9F22,U+9F2C,U+9F2F,U+9F37,U+9F39,U+9F3D-9F3E,U+9F44,U+9F51,U+9F80,U+9F83,U+9F85-9F8A,U+9F8C,U+9F9B,U+9FA0,U+9FCD-9FEF,U+FB01-FB02,U+FE10-FE19,U+FE30-FE31,U+FE33-FE44,U+FE49-FE52,U+FE54-FE57,U+FE59-FE66,U+FE68-FE6B}
body,button,select,input,textarea{font-family:"Bukids Sans",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif}

/* bukids-site-repairs */
/* Suppress only retired placeholder tiles. Elementor editor remains untouched. */
body.home:not(.elementor-editor-active) .elementor-element.e-child:has(.bk2-home-unavailable) { display:none; }
/* Keep original click targets and Vue bindings; only replace glyph paint. */
:is(.site-header,#mobile-footer-menu) .b2font.b2-search-line::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%227.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%205%205%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%227.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%205%205%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
:is(.site-header,#mobile-footer-menu) .b2font.b2-account-circle-line::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%2019c0-6%2012-6%2012%200%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M6%2019c0-6%2012-6%2012%200%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
:is(.site-header,#mobile-footer-menu) .b2font.b2-user-heart-line::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-3c0-6%2016-6%2016%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-3c0-6%2016-6%2016%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
:is(.site-header,#mobile-footer-menu) .b2font.b2-menu-fill::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
:is(.site-header,#mobile-footer-menu) .b2font.b2-add-line::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v16M4%2012h16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v16M4%2012h16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
:is(.site-header,#mobile-footer-menu) .b2font.b2-rocket-2-line::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%207-7%207%207M12%205v16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%207-7%207%207M12%205v16%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }

/* bukids-topic-widget */
/* Shared only by the two topic adapters; no native widget/global overrides. */
.bk-hot-topics { padding:0 0 8px; color:var(--bk-ui-ink,#202630); }
.bk-hot-topics-heading h2 { margin:0 0 18px; padding:0; font:inherit; font-size:16px; font-weight:400; color:inherit; }
.bk-hot-topic-list { display:grid; gap:16px; }
.bk-hot-topic { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; align-items:center; padding:0; color:inherit; text-decoration:none; border:0; box-shadow:none; }
.bk-hot-topic-cover { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; overflow:hidden; border-radius:6px; background:var(--bk-ui-subtle, #f5f6f8); color:var(--bk-ui-text, #475467); font-size:13px; }
.bk-hot-topic-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.bk-hot-topic-copy { display:grid; gap:3px; min-width:0; text-align:left; }
.bk-hot-topic-name { font-family:inherit; font-size:14px; font-weight:400; line-height:1.6; overflow-wrap:anywhere; word-break:normal; text-autospace:normal; }
.bk-hot-topic-en { font-family:inherit; font-size:13px; font-weight:400; line-height:1.55; color:var(--bk-ui-text, #475467); overflow-wrap:anywhere; word-break:normal; text-autospace:normal; }
.bk-hot-topic:hover .bk-hot-topic-name { color:var(--bk-ui-brand,var(--b2color,#fd4c4c)); }
.bk-hot-topic:focus-visible { outline:2px solid #586579; outline-offset:4px; border-radius:4px; }
.bk-hot-topics--textbook .bk-hot-topic,
.bk-hot-topics--book .bk-hot-topic { grid-template-columns:72px minmax(0,1fr); }
.bk-hot-topics--textbook .bk-hot-topic-cover,
.bk-hot-topics--book .bk-hot-topic-cover { aspect-ratio:auto; background:transparent; }
.bk-hot-topics--textbook .bk-hot-topic-cover img,
.bk-hot-topics--book .bk-hot-topic-cover img { height:auto; max-height:112px; object-fit:contain; }

/* bukids-polish */
/* Bukids flat UI layer (2.0.159) -----------------------------------------------
   Loaded after every other stylesheet. Flat means: no drop shadows, no lift or
   zoom on hover, no decorative gradients. Surfaces are separated by a 1px line
   or a light fill; interaction is shown by colour and border only.
   Layout, links, scripts and data are unchanged.
   Roll back: remove the bukids-polish enqueue in functions.php. */

:root {
    --bk-ui-brand: var(--b2color, #fd4c4c);
    --bk-ui-brand-dark: #e8403f;
    --bk-ui-brand-soft: #fff1f1;
    --bk-ui-ink: #1d2433;
    --bk-ui-text: #475467;
    --bk-ui-muted: #667085;
    --bk-ui-faint: #98a2b3;
    --bk-ui-line: #e6e9ef;
    --bk-ui-line-strong: #d0d5dd;
    --bk-ui-line-soft: #f0f2f5;  /* hairlines inside cards (2.0.259) */
    --bk-ui-surface: #fff;
    --bk-ui-subtle: #f5f6f8; /* hover states only; no gray surfaces (2.0.222) */
    --bk-ui-r-sm: 6px;   /* controls, buttons, chips */
    --bk-ui-r-md: 8px;   /* cards */
    --bk-ui-r-lg: 8px;   /* panels = cards since 2.0.223 (one card radius) */
    --bk-ui-focus: #475467;
}

.bukids-library,
.bukids-series-page,
.bukids-series-layout,
.bk2-category {
    --bk-radius: var(--bk-ui-r-md);
    --bk-line: var(--bk-ui-line);
    --bk-ink: var(--bk-ui-ink);
    --bk-muted: var(--bk-ui-muted);
    --bk-primary: var(--bk-ui-brand);
    --bk-primary-dark: var(--bk-ui-brand-dark);
    --bk-primary-soft: var(--bk-ui-brand-soft);
}

/* ---------------------------------------------------------------------------
   B2 shell: header, boxes, widgets, mobile bar, modals.
   --------------------------------------------------------------------------- */
body .site .site-header-in,
body .site-header-in {
    box-shadow: none;
    border-bottom: 1px solid var(--bk-ui-line);
}
body .box,
body .single-article.b2-radius,
body .widget,
body .b2-widget-box,
body .modal-content .box,
body .jubao-type > div,
body .pay-my-money > span.b2-radius,
body:where(:not(.home)) .elementor-button,
body #content .post-list .item-in { box-shadow: none; }
/* Dropdowns keep a clear edge with a 1px line instead of a blur. */
body .header .top-style.animateIn,
body .header .top-style.animateOut { box-shadow: none; border-bottom: 1px solid var(--bk-ui-line); }
body .ym-menu .sub-menu,
body .has_children .sub-menu,
body .b2-menu-3 .sub-menu-0 li:hover ul,
body .top-menu-ul .box,
body .top-user-box-drop {
    box-shadow: none;
    border: 1px solid var(--bk-ui-line);
}
body .top-submit .button,
body .social-top .top-submit button,
body .tags-page ul li a:hover,
body .link-in:hover { box-shadow: none; }
body #mobile-footer-menu.mobile-footer-menu {
    box-shadow: none;
    border-top: 1px solid var(--bk-ui-line);
}

/* Mobile menu icon: B2 plays its closing animation on every page load, so the
   icon flashes "✕" before settling on "≡". Animate only real toggles. */
body .menu-icon:not(.active) .line-1,
body .menu-icon:not(.active) .line-2,
body .menu-icon:not(.active) .line-3 { -webkit-animation: none; animation: none; }

/* B2's narrow-screen header menu: hide the permanent Windows scrollbar. */
body .ym-menu ul { overflow-x: auto; scrollbar-width: none; }
body .ym-menu ul::-webkit-scrollbar { display: none; }

/* Header search. */
body .site-header .top-search .mobile-search-input[role="search"] {
    border-radius: var(--bk-ui-r-sm);
    transition: border-color .15s ease;
}
@media (hover: hover) and (pointer: fine) {
    body .site-header .top-search .mobile-search-input[role="search"]:hover { border-color: var(--bk-ui-line-strong); }
}

/* Traditional-Chinese switch (plugin): flat chip, kept clear of the phone bar. */
body #StranLink.wencode {
    box-shadow: none;
    border: 1px solid var(--bk-ui-line);
    border-radius: var(--bk-ui-r-sm);
    color: var(--bk-ui-text);
}
@media (max-width: 1180px) {
    body #StranLink.wencode {
        right: 12px;
        bottom: calc(68px + env(safe-area-inset-bottom, 0px));
        padding: 2px 10px;
        font-size: 12px;
        line-height: 22px;
        opacity: .92;
    }
}

/* Player paywall buttons and the poster button: solid fills, no gradients. */
body .video-view-button .button,
body .video-view-button button {
    background-image: none;
    background-color: #f3d27a;
    box-shadow: none;
}
/* Poster share (2.0.168): exactly like its siblings 收藏 / 举报 — a plain
   icon in the inline row, a white 48px disc with B2's soft shadow in the
   floating left column. No coloured fill or gradient. */
body .content-footer-poster button.poster-span {
    padding: 0;
    color: inherit;
    background: none;
    border-radius: 0;
    box-shadow: none;
}
body .post-content-footer .content-footer-poster button.poster-span {
    display: block;
    width: 48px;
    height: 48px;
    padding: 0;
    line-height: 48px;
    text-align: center;
    background: #fff;
    border-radius: 100%;
    box-shadow: 0 4px 16px 0 rgb(13 39 91 / 6%);
}
/* B2 greys the sibling icons (#6c6e72) in the floating column; match it. */
body .post-content-footer .content-footer-poster button.poster-span i { color: #6c6e72; }

/* ---------------------------------------------------------------------------
   Cards: topic cards, B2 resource cards, related topics.
   --------------------------------------------------------------------------- */
body .bukids-card,
body .entry-content .bk-related-topics .bukids-card,
body .bk2-category .post-list .post-list-item > .item-in,
body .bukids-series-native-resources .post-list .post-list-item > .item-in {
    border: 1px solid var(--bk-ui-line);
    border-radius: var(--bk-ui-r-md);
    box-shadow: none;
    transform: none;
    overflow: hidden;
    transition: border-color .15s ease;
}
body .bk2-category .post-list .post-module-thumb,
body .bukids-series-native-resources .post-list .post-module-thumb {
    border-radius: calc(var(--bk-ui-r-md) - 1px) calc(var(--bk-ui-r-md) - 1px) 0 0;
}
body .bukids-card-media { background: #fff; }
body .bukids-card-media img { transform: none; transition: none; }
body .bukids-card-content h3,
body .entry-content .bk-related-topics .bukids-card-content h3 {
    color: var(--bk-ui-ink);
    font-weight: 400;
    transition: color .15s ease;
}
body .bukids-card-cn,
body .entry-content .bk-related-topics .bukids-card-cn { color: var(--bk-ui-muted); }
/* Topic names only: primary/secondary stay together, long names remain complete.
   Leave article H1 and authored prose untouched; keep existing naming rules. */
body #content .bukids-card-content h3 {
    margin:0; line-height:1.6; text-align:left; word-break:normal; text-autospace:normal;
}
body #content .bukids-card-cn {
    margin:3px 0 0; font-size:13px; line-height:1.55; text-align:left;
    white-space:normal; overflow:visible; overflow-wrap:anywhere; word-break:normal;
    text-autospace:normal;
}
body #content .bukids-series-hero .bk2-series-heading > h1 {
    margin:0; line-height:1.5; letter-spacing:0; word-break:normal; text-autospace:normal;
}
body #content .bukids-series-hero .bukids-series-cn-name {
    margin:4px 0 0; color:var(--bk-ui-muted); font-size:14px; line-height:1.6;
    font-weight:400; white-space:normal; overflow-wrap:anywhere; word-break:normal;
    text-autospace:normal;
}
body .bukids-card-stats,
body .entry-content .bk-related-topics .bukids-card-stats { color: var(--bk-ui-muted); }
body .bukids-card-placeholder { color: #b4bcc8; }
body .bukids-card-link:focus-visible,
body .entry-content .bk-related-topics .bukids-card-link:focus-visible {
    outline: 2px solid var(--bk-ui-focus);
    outline-offset: -2px;
    border-radius: var(--bk-ui-r-md);
}
@media (hover: hover) and (pointer: fine) {
    body .bukids-card:hover,
    body .entry-content .bk-related-topics .bukids-card:hover,
    body .bk2-category .post-list .post-list-item:hover > .item-in,
    body .bukids-series-native-resources .post-list .post-list-item:hover > .item-in {
        border-color: var(--bk-ui-line-strong);
        box-shadow: none;
        transform: none;
        background: var(--bk-ui-surface);
    }
    body .entry-content .bk-related-topics .bukids-card-link:hover { background: var(--bk-ui-surface); }
    body .bukids-card:hover .bukids-card-content h3,
    body .bk-related-topics .bukids-card:hover .bukids-card-content h3 { color: var(--bk-ui-brand); }
    body .bukids-card:hover .bukids-card-media img { transform: none; }
}

/* ---------------------------------------------------------------------------
   Panels and controls.
   --------------------------------------------------------------------------- */
body .bukids-library .bukids-library-form,
body .bukids-series-layout .bukids-series-controls,
body .bukids-series-layout .bukids-series-hero,
body .bk2-category .bukids-series-page > form.bk2-search {
    border-color: var(--bk-ui-line);
    border-radius: var(--bk-ui-r-lg);
    box-shadow: none;
}
body .bukids-series-layout .bukids-series-cover { border-radius: var(--bk-ui-r-md); }

body .bukids-library input,
body .bukids-library select,
body .bukids-library button,
body .bukids-library .bukids-search-field,
body .bukids-library .bukids-sort-field,
body .bukids-series-controls input,
body .bukids-series-controls select,
body .bukids-series-controls button,
body .bk2-category .bk2-search input,
body .bk2-category .bk2-search select,
body .bk2-category .bk2-search-row button,
body .bk2-category .bk2-reset,
body .bukids-series-layout .bukids-series-actions > a,
body .bukids-series-layout .bukids-series-actions > button {
    border-radius: var(--bk-ui-r-sm);
    box-shadow: none;
}
body .bukids-library .bukids-search-field input,
body .bukids-library .bukids-sort-field select { border-radius: 0; }
body .bukids-library select,
body .bukids-series-controls select,
body .bukids-series-controls input,
body .bk2-category .bk2-search select,
body .bk2-category .bk2-search input {
    border-color: var(--bk-ui-line-strong);
    transition: border-color .15s ease;
}
@media (hover: hover) and (pointer: fine) {
    body .bukids-library select:hover,
    body .bukids-series-controls select:hover,
    body .bukids-series-controls input:hover,
    body .bk2-category .bk2-search select:hover,
    body .bk2-category .bk2-search input:hover,
    body .bukids-library .bukids-search-field:hover,
    body .bukids-library .bukids-sort-field:hover { border-color: var(--bk-ui-faint); }
}
body .bukids-library select:focus-visible,
body .bukids-series-controls select:focus-visible,
body .bukids-series-controls input:focus-visible,
body .bk2-category .bk2-search select:focus-visible,
body .bk2-category .bk2-search input:focus-visible {
    border-color: var(--bk-ui-focus);
    outline: 2px solid var(--bk-ui-focus);
    outline-offset: 1px;
}
body .bukids-primary-button,
body .bukids-library .bukids-search-row > button,
body .bukids-series-controls button[type="submit"],
body .bk2-category .bk2-search-row button {
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease;
}

/* Disclosure rows ("筛选条件", "筛选与排序"): one chevron style everywhere. */
body .bukids-library .bukids-filter-details > summary,
body .bk2-mobile-filters > summary { list-style: none; }
body .bukids-library .bukids-filter-details > summary::-webkit-details-marker,
body .bk2-mobile-filters > summary::-webkit-details-marker { display: none; }
body .bukids-library .bukids-filter-details > summary::after,
body .bk2-mobile-filters > summary::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
    transition: transform .2s ease;
    vertical-align: middle;
}
body .bukids-library .bukids-filter-details[open] > summary::after,
body .bk2-mobile-filters[open] > summary::after { transform: translateY(1px) rotate(-135deg); }

/* Alphabet index: a single framed strip; scroll buttons sit inside it. */
body .bukids-alphabet {
    border-color: var(--bk-ui-line);
    border-radius: var(--bk-ui-r-lg);
    box-shadow: none;
}
body .bukids-alphabet a { border-radius: var(--bk-ui-r-sm); transition: background-color .15s ease, color .15s ease; }
body .bukids-alphabet a.is-active,
body .bukids-alphabet a[aria-current="page"] { box-shadow: none; }
body .bk2-alphabet-wrap {
    gap: 0;
    overflow: hidden;
    background: var(--bk-ui-surface);
    border: 1px solid var(--bk-ui-line);
    border-radius: var(--bk-ui-r-lg);
    box-shadow: none;
}
body .bk2-alphabet-wrap .bukids-alphabet { border: 0; border-radius: 0; }
body .bk2-alphabet-wrap > button {
    flex-basis: 36px;
    border: 0;
    border-radius: 0;
    background: var(--bk-ui-surface);
    color: var(--bk-ui-text);
    box-shadow: none;
}
body .bk2-alphabet-wrap > button:first-child { border-right: 1px solid var(--bk-ui-line); }
body .bk2-alphabet-wrap > button:last-child { border-left: 1px solid var(--bk-ui-line); }
@media (hover: hover) and (pointer: fine) {
    body .bk2-alphabet-wrap > button:not(:disabled):hover { background: var(--bk-ui-subtle); color: var(--bk-ui-ink); }
}
@media (max-width: 768px) { body .bk2-alphabet-wrap > button { flex-basis: 44px; } }

body .bk2-tabs a[aria-current] { color: var(--bk-ui-ink); }

/* Related topics heading on resource articles. */
body .entry-content .bk-related-topics > h2 { color: var(--bk-ui-ink); font-weight: 600; }

/* Membership page styles live in assets/css/membership.css (2.0.163). */

@media (prefers-reduced-motion: reduce) {
    body .bukids-card,
    body .bk2-category .post-list .post-list-item > .item-in,
    body .bukids-series-native-resources .post-list .post-list-item > .item-in { transition: none; }
}

/* 2.0.165 SEO helpers ------------------------------------------------------ */
/* Text for search engines and screen readers only (front-page H1). */
.bk-sr {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
/* Sidebar post titles were <h2>; now <div class="bk-wt"> with the same look. */
.b2-widget-post-title .bk-wt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 0 0 8px;
    color: #222;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    word-break: break-all;
}
.widget-post:hover .b2-widget-post-title .bk-wt { text-decoration: underline; }
.b2-widget-products .b2-widget-post-title .bk-wt { font-size: 12px; }

/* 2.0.195: one side gutter on tablets and phones (≤1180px).
   The logo and the first menu row sit 12px from the screen edge, but B2 puts
   page content 6px in (categories, topics, articles, Blog) while the search
   and library pages added another 12px (18px). Everything now lines up at
   12px, the same edge as the logo. Desktop is unchanged. */
@media (max-width: 1180px) {
    /* 2.0.28: the home content keeps its Elementor/B2 template spacing. */
    body:where(:not(.home)) .site-content { margin-left: 12px; margin-right: 12px; }
    body .bukids-library > .wrapper,
    body.search .bk2-search-container { margin-left: 0; margin-right: 0; width: auto; max-width: none; }
    /* Video articles: B2 pulls the player 6px past its card on both sides. */
    body .post-style-5-video-box { margin-left: 0; margin-right: 0; }
}

/* 2.0.198: B2 prints "查询 12 次，耗时 0.40 秒" (database queries / render
   time) in every footer. Debug information, not for visitors. */
body #colophon .footer-bottom-right,
body .footer .footer-bottom-right { display: none; }

/* 2.0.205: the copyright line is for computers only. Below 1181px the footer
   keeps just the room for B2's fixed bottom tab bar (56px), so page content
   never ends underneath it. */
@media (max-width: 1180px) {
    body #colophon .site-footer-nav { display: none; }
    body #colophon { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
}

/* 2.0.218: search page is the reference for every public search control.
   Keep the header compact; use 44px controls in content/dialogs. No route changes. */
:root { --bk-search-line:#d9dee5; --bk-search-radius:var(--bk-ui-r-sm, 6px); --bk-search-height:44px; }
body .site-header .top-search .mobile-search-input[role="search"],
body .bukids-library .bukids-search-field {
    position:relative; box-sizing:border-box; margin:0; min-width:0;
    border:1px solid var(--bk-search-line); border-radius:var(--bk-search-radius);
    background:var(--bk-ui-surface); box-shadow:none; overflow:visible;
}
body .bukids-library .bukids-search-field { height:var(--bk-search-height); min-height:var(--bk-search-height); }
body .site-header .top-search .mobile-search-input[role="search"] input,
body .bukids-library .bukids-search-field input {
    box-sizing:border-box; min-width:0; margin:0; border:0; border-radius:3px;
    color:var(--bk-ui-ink); background:transparent; font-family:inherit; font-weight:400;
    -webkit-appearance:none; appearance:none; box-shadow:none;
}
body .bukids-library .bukids-search-field input { height:100%; min-height:0; font-size:14px; padding:0 12px; }
body .site-header .top-search .mobile-search-input[role="search"]:focus-within,
body .bukids-library .bukids-search-field:focus-within {
    background:var(--bk-ui-surface); border-color:var(--bk-ui-brand); outline:0; box-shadow:none;
}
body .site-header .top-search .mobile-search-input[role="search"]:focus-within::after,
body .bukids-library .bukids-search-field:focus-within::after {
    content:""; position:absolute; inset:-1px; z-index:1; pointer-events:none;
    border:2px solid var(--bk-ui-brand); border-radius:inherit;
}
body .site-header .top-search .mobile-search-input[role="search"] input:focus,
body .bukids-library .bukids-search-field input:focus {
    outline:0; box-shadow:none; background:transparent;
}
body .bk2-search-row input[type="search"],
body .widget_search input.search-field,
body .wp-block-search .wp-block-search__input,
body:where(:not(.home)) .elementor-search-form input.elementor-search-form__input{
    box-sizing:border-box; min-width:0; max-width:100%; height:var(--bk-search-height); min-height:var(--bk-search-height);
    margin:0; padding:0 12px; border:1px solid var(--bk-search-line); border-radius:var(--bk-search-radius);
    color:var(--bk-ui-ink); background:var(--bk-ui-surface); font:inherit; font-size:14px; line-height:22px;
    -webkit-appearance:none; appearance:none; box-shadow:none;
}
body .bk2-search-row input[type="search"]:focus,
body .widget_search input.search-field:focus,
body .wp-block-search .wp-block-search__input:focus,
body:where(:not(.home)) .elementor-search-form input.elementor-search-form__input:focus{
    border-color:var(--bk-ui-brand); outline:0; box-shadow:inset 0 0 0 1px var(--bk-ui-brand); background:var(--bk-ui-surface);
}
body .bukids-library .bukids-search-row > button,
body .bk2-search-row > button[type="submit"]{
    display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    height:var(--bk-search-height); min-height:var(--bk-search-height); margin:0; padding:0 18px;
    border-radius:var(--bk-search-radius); font:inherit; font-size:14px; font-weight:400; line-height:22px; box-shadow:none;
}
body .bukids-library .bukids-search-row > button,
body .bk2-search-row > button[type="submit"] {
    border:1px solid var(--bk-ui-brand); background:var(--bk-ui-brand); color:#fff;
}
body .bk2-search-row .bk2-reset { min-height:var(--bk-search-height); height:var(--bk-search-height); }
@media (hover:hover) and (pointer:fine) {
    body .bukids-library .bukids-search-field:not(:focus-within):hover,
    body .site-header .top-search .mobile-search-input[role="search"]:not(:focus-within):hover { border-color:var(--bk-ui-faint); }
}
@media (max-width:1180px) {
    body .bukids-library .bukids-search-field input,
    body .bk2-search-row input[type="search"],
    body .widget_search input.search-field,
    body .wp-block-search .wp-block-search__input,
    body:where(:not(.home)) .elementor-search-form input.elementor-search-form__input{ font-size:16px; }
}

/* Download box styles live in resource.css (2.0.224): resource posts are the
   only posts with a B2 download box. */

/* ===========================================================================
   2.0.223 one site style. Every page follows the same few rules:
     surfaces   white; a 1px #e6e9ef line separates; no shadows, no gradients
                and no gray or pastel panels
     radius     6px controls / buttons / chips, 8px cards and panels
     primary    solid brand red; secondary = white with a 1px line
   Only appearance changes here: no layout, links or scripts.
   =========================================================================== */
/* 2.0.233: header actions in three levels, all 36px and on one centre line
   with the 36px search box: 登录 = text, 免费注册 = red outline,
   成为会员 = solid red. 14px text, 6px corners, 12px apart.
   2.0.235: computers only — on phones the !important display brought
   B2's hidden "免费注册" back over the logo. */
@media (min-width: 1181px) {
    body .site-header .bk2-member-actions { display: flex; align-items: center; gap: 12px; }
    body .site-header .login-button,
    body .site-header .header-login-button { display: flex; align-items: center; gap: 12px; margin: 0; }
    body .site-header .header-login-button button,
    body .site-header .bk2-member-cta {
        box-sizing: border-box; display: inline-flex !important; align-items: center; justify-content: center;
        width: auto !important; min-width: 0 !important; height: 36px !important; min-height: 36px !important; margin: 0 !important; padding: 0 16px !important;
        border-radius: var(--bk-ui-r-sm) !important; box-shadow: none !important;
        font-family: inherit; font-size: 14px !important; font-weight: 400 !important; line-height: 1 !important; white-space: nowrap;
    }
    body .site-header .header-login-button button.empty {
        padding: 0 6px !important; border: 0 !important; background: transparent !important; color: var(--bk-ui-text) !important;
    }
    body .site-header .header-login-button button:not(.empty) {
        border: 1px solid var(--bk-ui-brand) !important; background: #fff !important; color: var(--bk-ui-brand) !important;
    }
    body .site-header .bk2-member-cta { border: 0 !important; background: var(--bk-ui-brand) !important; color: #fff !important; font-weight: 500 !important; }
    @media (hover: hover) and (pointer: fine) {
        body .site-header .header-login-button button.empty:hover { color: var(--bk-ui-brand) !important; }
        body .site-header .header-login-button button:not(.empty):hover { background: var(--bk-ui-brand-soft) !important; }
    }
    body .site-header .top-search .mobile-search-input[role="search"] { height: 36px; border-radius: var(--bk-ui-r-sm); }
}
/* Right-hand B2 tool bar and the "解锁会员权限" tab: flat. */
body .aside-bar .bar-footer, body .aside-bar .bar-middle, body .gdd-quick-link-buy-vip { box-shadow: none !important; }
body .aside-bar .bar-footer { border-left: 1px solid var(--bk-ui-line); }
body .gdd-quick-link-buy-vip__popover { border-radius: var(--bk-ui-r-md) !important; box-shadow: none !important; border: 0 !important; overflow: hidden; }
/* Search page controls (were 4px). */
.search .bk2-topic-search .bukids-search-field,
.search .bk2-topic-search .bukids-primary-button,
.search .bk2-topic-search .bukids-search-row > .bukids-primary-button { border-radius: var(--bk-ui-r-sm) !important; }
/* 2.0.28: home buttons use their saved Elementor normal/hover styles.
   Other Elementor pages retain the shared button treatment. */
body:where(:not(.home)) .elementor .elementor-button { border-radius: var(--bk-ui-r-sm) !important; box-shadow: none !important; }
/* /animation: pastel testimonial cards (mint / yellow / pink, 20px) → white cards. */
body .elementor-element-2593241,
body .elementor-element-5138d69,
body .elementor-element-2015fe4 {
    background: #fff !important; border: 1px solid var(--bk-ui-line) !important; border-radius: var(--bk-ui-r-md) !important; box-shadow: none !important;
}
/* 404 (Bukids Core template): shadowed 20px card, gray search box and buttons. */
body .bukids-404-card { box-shadow: none !important; border: 1px solid var(--bk-ui-line) !important; border-radius: var(--bk-ui-r-md) !important; background: #fff !important; }
body .bukids-404-search-form { background: #fff !important; border: 1px solid var(--bk-ui-line-strong) !important; border-radius: var(--bk-ui-r-sm) !important; box-shadow: none !important; }
body .bukids-404-search-form button, body .bukids-404-btn { border-radius: var(--bk-ui-r-sm) !important; box-shadow: none !important; }
body .bukids-404-back { background: #fff !important; border: 1px solid var(--bk-ui-line-strong) !important; color: var(--bk-ui-text) !important; }
body .bukids-404-links a { background: #fff !important; border: 1px solid var(--bk-ui-line) !important; border-radius: var(--bk-ui-r-sm) !important; color: var(--bk-ui-text) !important; }
body .bukids-404-links a:hover { border-color: var(--bk-ui-brand) !important; color: var(--bk-ui-brand) !important; }
/* Resource cards inside a topic: B2 prints "视频 共52节 / 下载 1个资源" in white
   on the cover plus a play icon; the card text already says "第1季 · 全52集".
   Clean covers, like every other card on the site. */
body .bukids-series-layout .post-module-thumb .post-pay-type,
body .bukids-series-layout .post-module-thumb .thumb-link > .b2font { display: none !important; }

/* 2.0.224: the header search dialog keeps B2's own layout (title, one wide
   field, the button centred below), refined: 6px corners, a 48px field with
   16px text (no iOS zoom), a white field with a red edge while typing, and a
   button as wide as the field on phones. */
/* 2.0.230: the title line is gone; keep the logo-to-field spacing. */
body .search-box-content > form.search-form-normal { margin-top: 24px; }
body .search-box-content .search-input {
    box-sizing: border-box; height: 48px; padding: 0 14px; border: 1px solid transparent; border-radius: var(--bk-ui-r-sm);
    background: var(--bk-ui-subtle, #f5f6f8); color: var(--bk-ui-ink); font: inherit; font-size: 16px; line-height: 46px;
    -webkit-appearance: none; appearance: none; box-shadow: none; transition: border-color .15s ease, background-color .15s ease;
}
body .search-box-content .search-input::placeholder { color: var(--bk-ui-faint); opacity: 1; }
body .search-box-content .search-input:focus { outline: 0; border-color: var(--bk-ui-brand); background: #fff; }
body .search-box-content .search-button { margin: 16px 0 8px; }
body .search-box-content .search-button button {
    min-width: 160px; min-height: 44px; padding: 0 40px; border-radius: var(--bk-ui-r-sm); font-size: 16px; box-shadow: none;
}
@media (max-width: 768px) {
    body .search-box-content .search-button button { width: 100%; min-width: 0; }
}

/* 2.0.228: B2's user-menu and message names are no longer <h2> (see
   seo-boost.php); keep B2's original look for the new blocks. */
.top-user-info-box-name .bk-uname { margin-bottom: 2px; color: #121212; font-size: 17px; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.top-user-info-box-name .bk-uname span { margin-left: 10px; color: #999; font-size: 13px; font-weight: 400; }
.new-dmsg-content .bk-uname { padding-left: 23px; font-size: 14px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }

/* 2.0.229: DPlayer's default light-blue theme (#b7daff, set inline) on the
   progress bar, its knob and the volume bar: use the site red. */
.dplayer .dplayer-bar-wrap .dplayer-bar .dplayer-played,
.dplayer .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb,
.dplayer .dplayer-volume-bar-inner,
.dplayer .dplayer-volume-bar-inner .dplayer-thumb { background: var(--bk-ui-brand, var(--b2color, #fd4c4c)) !important; }

/* 2.0.231: phones — a compact 繁體 switch. 2.0.232: the page end keeps 24px
   (B2's footer already reserves the bottom bar); a pager, the one control that
   reaches the right edge at the very end, gets its own room below the switch. */
@media (max-width: 1180px) {
    body:where(:not(.home)) .site-content { padding-bottom: 24px; }
    body #StranLink.wencode { padding: 0 8px; font-size: 12px; line-height: 24px; }
    body :is(.bukids-pagination, .b2-pagenav) { margin-bottom: 36px; }
}
/* 2.0.232: section rules in article text: 24px above and below on phones
   (B2's 40px made each rule an 80px gap, 6–9 times per article). */
@media (max-width: 768px) {
    body .entry-content > hr,
    body .entry-content > .wp-block-separator,
    body .bk-video-intro-full > :is(hr, .wp-block-separator) { margin-top: 24px !important; margin-bottom: 24px !important; }
}
/* 2.0.281: keep the home closing-logo visibility from 2.0.272.
   Only the logo block is hidden at <=768px; Elementor controls wider screens. */
@media (max-width: 768px) {
    body.home .elementor-element-0518b13 { display: none !important; }
}

/* ===========================================================================
   2.0.232: one pager for the whole site.
   - Catalogue, topic, library and search: WordPress's list (.bukids-pagination,
     printed by bukids_paginate()).
   - Blog and other B2 lists: B2's ajax pager (.b2-pagenav).
   Both: 40px items (44px on phones), 6px corners, white with a hairline,
   the current page solid red, "上一页 / 下一页" in words.
   Phones: "上一页 · 2 / 73 · 下一页" in one row.
   =========================================================================== */
body .bukids-pagination,
body .b2-pagenav { margin: 28px 0 0; }
body .bukids-pagination > .page-numbers,
body .b2-pagenav .ajax-pagenav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
body .bukids-pagination > .page-numbers > li { margin: 0; padding: 0; }
body .bukids-pagination > .page-numbers > li > *,
body .bukids-pagination .bk-pager-step,
body .b2-pagenav .ajax-pagenav button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin: 0; padding: 0 12px;
    border: 1px solid var(--bk-ui-line) !important; border-radius: var(--bk-ui-r-sm) !important; background: #fff !important; box-shadow: none !important;
    color: var(--bk-ui-text) !important; font: inherit; font-size: 14px !important; font-weight: 400 !important; line-height: 1; font-variant-numeric: tabular-nums;
    text-decoration: none; white-space: nowrap; cursor: pointer;
}
body .bukids-pagination > .page-numbers .current,
body .b2-pagenav .ajax-pagenav .btn-group button.selected {
    border-color: var(--bk-ui-brand) !important; background: var(--bk-ui-brand) !important; color: #fff !important; font-weight: 600 !important; cursor: default; opacity: 1 !important;
}
body .bukids-pagination > .page-numbers .dots,
body .b2-pagenav .ajax-pagenav .btn-group button.bordernone { border-color: transparent !important; background: transparent !important; color: var(--bk-ui-faint) !important; cursor: default; }
body .b2-pagenav .ajax-pagenav button[disabled]:not(.selected):not(.bordernone),
body .bukids-pagination .bk-pager-step[aria-disabled="true"] { opacity: .45; cursor: default; }
@media (hover: hover) and (pointer: fine) {
    body .bukids-pagination > .page-numbers a:hover,
    body .b2-pagenav .ajax-pagenav button:not([disabled]):hover { border-color: var(--bk-ui-brand) !important; color: var(--bk-ui-brand) !important; }
}
body .bukids-pagination a:focus-visible,
body .b2-pagenav button:focus-visible { outline: 2px solid var(--bk-ui-brand); outline-offset: 2px; }
/* B2: prev / next arrows → words on the two ends of the row; the page box
   ("前往第 _ 页") is not needed beside the numbers. */
body .b2-pagenav .ajax-pagenav .btn-group { display: contents; }
body .b2-pagenav .ajax-pagenav .btn-pager { display: contents; }
body .b2-pagenav .ajax-pagenav .btn-group button { order: 2; }
body .b2-pagenav .ajax-pagenav .btn-pager > button { font-size: 0 !important; }
body .b2-pagenav .ajax-pagenav .btn-pager > button:first-child { order: 1; }
body .b2-pagenav .ajax-pagenav .btn-pager > button:last-child { order: 4; }
body .b2-pagenav .ajax-pagenav .btn-pager > button:first-child::before { content: "上一页"; font-size: 14px; }
body .b2-pagenav .ajax-pagenav .btn-pager > button:last-child::before { content: "下一页"; font-size: 14px; }
body .b2-pagenav .ajax-pagenav .pager-center { order: 3; display: none !important; }
/* Phones row (WordPress lists carry it as .bk-pager-m). */
body .bukids-pagination .bk-pager-m { display: none; }
@media (max-width: 768px) {
    body .bukids-pagination > .page-numbers { display: none; }
    body .bukids-pagination .bk-pager-m,
    body .b2-pagenav .ajax-pagenav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; max-width: 360px; margin: 0 auto; }
    body .bukids-pagination .bk-pager-step,
    body .b2-pagenav .ajax-pagenav .btn-pager > button { height: 44px; width: 100%; }
    body .bukids-pagination .bk-pager-pos,
    body .b2-pagenav .ajax-pagenav .pager-center { color: var(--bk-ui-muted); font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
    /* B2: numbers hidden; its page box reads as "2 / 9 页" in the middle. */
    body .b2-pagenav .ajax-pagenav .btn-group button { display: none !important; }
    body .b2-pagenav .ajax-pagenav .btn-pager > button:first-child { grid-column: 1; }
    body .b2-pagenav .ajax-pagenav .pager-center { grid-column: 2; display: inline-flex !important; align-items: center; gap: 2px; margin: 0; }
    body .b2-pagenav .ajax-pagenav .btn-pager > button:last-child { grid-column: 3; }
    body .b2-pagenav .ajax-pagenav .pager-center input {
        width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--bk-ui-line-strong); border-radius: 0;
        background: transparent; color: var(--bk-ui-ink); font: inherit; font-size: 16px; text-align: center;
    }
}

/* 2.0.259 site review -------------------------------------------------- */

/* Breadcrumbs: one look everywhere, text on the content edge (the white
   breadcrumb "box" was invisible on the white page, so its 16px inner
   padding only pushed the text off the edge). */
body .bukids-series-layout .bukids-breadcrumbs,
body .newsflashes-breadcrumb { padding-left: 0 !important; padding-right: 0 !important; }
.bk-article-crumbs-wrap { box-sizing: border-box; }
.bk-article-crumbs { margin: 0 0 12px; padding: 11px 0; font-size: 13px; line-height: 1.5; color: #8590a6; min-width: 0; }
.bk-article-crumbs ol { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.bk-article-crumbs li { flex: 0 1 auto; min-width: 0; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-article-crumbs li.bk-crumb-sep { flex: 0 0 auto; color: #bfc5ce; user-select: none; }
.bk-article-crumbs a { color: inherit; text-decoration: none; }
.bk-article-crumbs a:hover { color: var(--bk-ui-brand); }
.bk-article-crumbs .bk-crumb-current { flex: 1 1 auto; color: var(--bk-ui-ink); font-weight: 500; }
.bk-article-crumbs .bk-crumb-current span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Phones: the title is right below, so the trail stops at the topic. */
@media (max-width: 768px) {
    .bk-article-crumbs :is(.bk-crumb-current, .bk-crumb-current-sep) { display: none; }
}
/* Blog article: a long title in the last crumb is cut with "…". */
.newsflashes-breadcrumb :is(ol, ul) { min-width: 0; }
.newsflashes-breadcrumb li:last-child { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.newsflashes-breadcrumb li:last-child > * { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Articles: the white article card sits on a white page, so its side
   padding read as a second, deeper margin (title at 24px on phones while
   the logo and every other page start at 12px). Content now starts on the
   page edge, level with the breadcrumb and the logo. */
body:is(.single-post, .single-newsflashes) .single-article { padding-left: 0 !important; padding-right: 0 !important; }
/* Video articles print the title in a separate header under the player. */
@media (max-width: 1180px) {
    body.single-post.post-style-5 .site-content .box > .entry-header.wrapper { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Larger tap areas for breadcrumbs and the separate navigation-menu button.
   Header-row controls share their non-overlapping hit areas in nav.css. */
@media (max-width: 1180px) {
    :is(.bukids-breadcrumbs, .newsflashes-breadcrumb, .bk-article-crumbs) a { position: relative; }
    body .site-header .menu-icon::after { content: ""; position: absolute; inset: -10px; }
    :is(.bukids-breadcrumbs, .newsflashes-breadcrumb, .bk-article-crumbs) a::after { content: ""; position: absolute; inset: -12px -4px; }
    body #StranLink.wencode::after { content: ""; position: absolute; inset: -9px -4px; }
}

/* Sidebar covers that are mostly white no longer vanish into the page. */
.bk-hot-topic-cover img { outline: 1px solid rgba(16, 24, 40, .08); outline-offset: -1px; }


/* 2.0.264 other devices ------------------------------------------------ */

/* Landscape phones (short screens): the fixed header (92px) and bottom bar
   (56px) took 38% of the height and the player was taller than the screen.
   The header now scrolls away with the page, the bottom bar is hidden (its
   菜单 / 搜索 / 我的 are in the header), and the player fits one screen. */
@media (max-width: 1180px) and (orientation: landscape) and (max-height: 500px) {
    body .site-header .site-header-in { position: relative !important; top: auto !important; }
    body #mobile-footer-menu.mobile-footer-menu { display: none !important; }
    body:where(:not(.home)) .site-content { padding-bottom: 24px !important; }
    body.post-style-5 .post-style-5-top .post-style-5-video-box { width: 100%; max-width: calc((100vh - 24px) * 16 / 9); margin-left: auto; margin-right: auto; }
    body.post-style-5 .post-style-5-top { background: #17181a; }
}
/* Tablets in landscape: title and episodes start within the first screen. */
@media (min-width: 769px) and (max-width: 1180px) and (orientation: landscape) and (min-height: 501px) {
    body.post-style-5 .post-style-5-top .post-style-5-video-box { width: 100%; max-width: calc(62vh * 16 / 9); margin-left: auto; margin-right: auto; }
    body.post-style-5 .post-style-5-top { background: #17181a; }
}

/* VIP page on phones: the floating 繁體 sat on the plan prices; it moves into
   the header row, left of the search and account icons. */
@media (max-width: 599px) {
    html body.bukids-vip-page #StranLink.wencode { top: 9px !important; bottom: auto !important; right: 80px !important; transition: none; }
}
/* 繁體 is 12px (was 11px on phones): no text below 12px on the site. */

/* Tablets (no sidebar): article text ran 62–71 characters per line. Blog
   articles become one centred 760px reading column (breadcrumb included);
   resource articles keep their full-width player, cards and grids, and
   only long paragraphs stop at ~44 characters. */
@media (min-width: 769px) and (max-width: 1180px) {
    body.single-newsflashes .b2-single-content > #primary-home { float: none !important; width: 100% !important; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
    body.single-post .single-article .entry-content p { max-width: 44em; }
    /* 2.0.299: not inside the introduction card — the 3-line summary filled
       only ~60% of the card on iPad landscape, leaving a blank right side. */
    body.single-post .single-article .entry-content :is(.bk-video-intro, .bk-resource-overview) p { max-width: none; }
}

/* 2.0.265 language switcher (WP Chinese Converter, Bukids profile) ---------
   First item on the right of the header: left of the search box on
   computers, left of the search / 我的 / 菜单 icons on phones and tablets. */
.bk-lang { position: relative; flex: 0 0 auto; display: flex; align-items: center; margin-right: 12px; }
.bk-lang-btn { display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; height: 36px; margin: 0; padding: 0 10px; border: 1px solid var(--bk-search-line, #d9dee5); border-radius: var(--bk-ui-r-sm); background: #fff; color: var(--bk-ui-text); font: inherit; font-size: 13px; line-height: 1; cursor: pointer; transition: border-color .15s, color .15s; }
.bk-lang-btn:focus-visible { outline: 2px solid var(--bk-ui-brand); outline-offset: 1px; }
.bk-lang.is-open .bk-lang-btn { border-color: var(--bk-ui-line-strong); color: var(--bk-ui-ink); }
@media (hover: hover) and (pointer: fine) {
    .bk-lang-btn:hover { border-color: var(--bk-ui-line-strong); color: var(--bk-ui-ink); }
}
.bk-flag { display: block; flex: 0 0 auto; width: 21px; height: 14px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(16, 24, 40, .1); }
.bk-lang-mark { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 4px; background: var(--bk-ui-subtle); color: var(--bk-ui-ink); font-size: 12px; font-weight: 500; }
.bk-lang-caret { width: 10px; height: 6px; color: var(--bk-ui-faint); transition: transform .15s; }
.bk-lang.is-open .bk-lang-caret { transform: rotate(180deg); }
.bk-lang-menu { display: none; position: absolute; top: calc(100% + 6px); right: 0; z-index: 1001; min-width: 148px; margin: 0; padding: 4px; list-style: none; box-sizing: border-box; border: 1px solid var(--bk-ui-line); border-radius: var(--bk-ui-r-md); background: #fff; }
.bk-lang.is-open .bk-lang-menu { display: block; }
.bk-lang-menu li { margin: 0; padding: 0; }
.bk-lang-menu a { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 10px; border-radius: var(--bk-ui-r-sm); color: var(--bk-ui-ink); font-size: 14px; line-height: 1; text-decoration: none; white-space: nowrap; }
.bk-lang-menu a > span { flex: 1 1 auto; }
.bk-lang-menu a[aria-current] { color: var(--bk-ui-brand); }
.bk-lang-check { width: 16px; height: 16px; flex: 0 0 auto; }
@media (hover: hover) and (pointer: fine) {
    .bk-lang-menu a:hover { background: var(--bk-ui-subtle); }
}
/* One-time hint for Taiwan / Hong Kong browsers on a Simplified page. */
.bk-lang-tip { position: absolute; top: calc(100% + 6px); right: 0; z-index: 1000; display: flex; align-items: center; gap: 2px; padding: 0 0 0 12px; border: 1px solid var(--bk-ui-line); border-radius: var(--bk-ui-r-md); background: #fff; font-size: 13px; line-height: 1; white-space: nowrap; }
.bk-lang-tip a { padding: 11px 0; color: var(--bk-ui-brand); text-decoration: none; }
.bk-lang-tip button { width: 34px; height: 36px; margin: 0; padding: 0; border: 0; background: none; color: var(--bk-ui-faint); font-size: 18px; line-height: 1; cursor: pointer; }
.bk-lang.is-open .bk-lang-tip { display: none; }
/* Phones and tablets: the flag only, sized like the header icons. */
@media (max-width: 1180px) {
    .bk-lang { margin-right: 0; }
    .bk-lang-btn { width: 24px; height: 24px; justify-content: center; padding: 0; border: 0; background: none; }
    .bk-lang-label, .bk-lang-caret { display: none; }
    .bk-lang-menu, .bk-lang-tip { top: calc(100% + 14px); right: 0; left: auto; max-width: calc(100vw - 24px); }
}

/* 2.0.266-2.0.268 phones and tablets -------------------------------------
   Header top row: language · search · 我的 · 成为会员. 菜单 keeps B2's own
   position and look (grey chip at the right end of the channel row,
   2.0.268); only its visibility changes: B2 hid it on pages without the
   second nav row (search, Blog …), it is shown on every page. */
@media (max-width: 1180px) {
    /* 2.0.287: use the same gap across nested groups in guest, regular-user
       and paid-member states; do not stack button and wrapper margins. */
    body .site-header { --bk-header-gap: 8px; }
    body .site-header .header-banner-right,
    body .site-header .bk2-member-header,
    body .site-header .bk2-member-actions { align-items: center; gap: var(--bk-header-gap); }
    body .site-header .bk-lang,
    body .site-header .header-user > .change-theme,
    body .site-header .change-theme > .mobile-show > button { margin: 0; }
    body .site-header :is(.change-theme > .mobile-show > button, .login-button > .mobile-show, .top-user-avatar) {
        display: flex; flex: 0 0 24px; align-items: center; justify-content: center;
        box-sizing: border-box; width: 24px; height: 24px; padding: 0; line-height: 24px;
    }
    body .site-header .top-user-avatar > img.avatar { width: 24px; height: 24px; object-fit: cover; }
    body.social-top .site-header .top-style-menu.mobile-show { display: block !important; }
}
@media (max-width: 599px) {
    body .site-header .header-banner-left .logo img { width: clamp(96px, calc(100vw - 205px), 141px) !important; height: auto !important; max-width: none; }
}
@media (max-width: 359px) {
    body .site-header { --bk-header-gap: 6px; }
}
/* Topic and category pages on phones: the name is the heading right below,
   so the trail stops at the parent (as on articles) instead of wrapping. */
@media (max-width: 768px) {
    :is(.bukids-series-layout, .bk2-category) .bukids-breadcrumbs :is(.bukids-breadcrumbs-current, .bukids-breadcrumbs-separator:has(+ .bukids-breadcrumbs-current)) { display: none; }
}
/* Topic card on phones: the 16:9 cover was capped at 280px and centred, so
   its edges sat 23px inside the title and buttons below. It now spans the
   card's content width (textbook covers, which are portrait, stay centred). */
@media (max-width: 599px) {
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) > .bukids-series-cover-wrap { width: 100%; max-width: none; margin-inline: 0; }
}

/* 2.0.269 computers: no 发起 (new post) or 消息 (messages) icons in the
   header. Their block (.change-theme) holds nothing else on computers (its
   search button is for phones), so the whole block is hidden. */
@media (min-width: 1181px) {
    body .site-header .header-user > .change-theme { display: none !important; }
}

/* 2.0.285: remove the complete header message slot on every device,
   including its unread badge. The adjacent mobile search slot stays intact. */
body .site-header .header-user > .change-theme > div:has(> a > .b2-notification-3-line) { display: none !important; }

/* 2.0.272 login / register: B2's field labels (#b2bac2, about 2:1 on white)
   and hints (#ccc, about 1.6:1) were hard to read. They use the site's
   muted grey (#667085, 4.8:1); placeholders and the close button stay. */
.login-box-content :is(.login-form-item b, .login-form-item span, .login-box-des, .invitation-tips, .forget-pass-info, .recaptcha-img p) { color: var(--bk-ui-muted, #667085); }

/* 2.0.289 phones and tablets: B2's mobile.css makes .sub-menu visible, which
   overrode the closed side menu's visibility:hidden, so its links (Baby Zoo
   …) sat off screen yet took Tab focus and Enter. While the menu is closed
   (no html.m-open) everything in it stays hidden; opening it is unchanged. */
@media (max-width: 1180px) {
    html:not(.m-open) .mobile-box,
    html:not(.m-open) .mobile-box * { visibility: hidden !important; }
}

/* 2.0.294: PC header search — the magnifier sits on a red rounded square. */
@media (min-width:1181px) {
    body .site-header .top-search .mobile-search-input[role="search"] .search-button-action {
        flex:0 0 28px; width:28px; height:28px; margin:0 3px 0 4px;
        border-radius:var(--bk-ui-r-sm, 6px); background:#FD4C4C; color:#fff;
        transition:background-color .15s ease;
    }
    body .site-header .top-search .mobile-search-input[role="search"] .search-button-action svg { width:16px; height:16px; stroke-width:2.2; }
    @media (hover:hover) and (pointer:fine) {
        body .site-header .top-search .mobile-search-input[role="search"] .search-button-action:hover { background:#E63F3F; }
    }
    body .site-header .top-search .mobile-search-input[role="search"] .search-button-action:active { background:#D63838; }
}

/* 2.0.295: footer copyright line centred on every page (the debug line on the
   right is already hidden, so the row holds only copyright + 备案). */
body #colophon .footer-bottom { justify-content: center; text-align: center; }
body #colophon .footer-bottom-left { justify-content: center; align-items: center; flex-wrap: wrap; gap: 0; margin: 0 auto; text-align: center; }
body #colophon .footer-bottom-left .beian:has(*) { margin-left: 12px; }

/* 2.0.297: touch screens — the 3px progress bar gets a taller invisible
   touch area, and dragging it never scrolls the page. */
@media (any-pointer: coarse) {
    .dplayer .dplayer-bar-wrap { touch-action: none; }
    .dplayer .dplayer-bar-wrap::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; bottom: -4px; }
}

/* 2.0.299: swipe across the picture to seek (assets/js/player-touch.js). */
.dplayer .dplayer-video-wrap { touch-action: pan-y; }
.dplayer .bk-seek-hint {
    position: absolute; left: 50%; top: 50%; z-index: 12; transform: translate(-50%, -50%);
    display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 18px;
    border-radius: var(--bk-ui-r-sm, 6px); background: rgba(0, 0, 0, .66); color: #fff;
    font-size: 14px; line-height: 1.4; text-align: center; white-space: nowrap;
    pointer-events: none; opacity: 0; transition: opacity .15s ease;
}
.dplayer .bk-seek-hint.is-on { opacity: 1; }
.dplayer .bk-seek-hint b { font-size: 16px; font-weight: 600; }
.dplayer .bk-seek-hint span { font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, .85); }

/* 2.0.299/2.0.300: tablets in landscape centre a narrower player; the band
   beside it is dark like the player instead of white page background.
   2.0.300: the band is a separate layer behind the player. 2.0.299 used
   clip-path + box-shadow on the player box itself, and iPad Safari then drew
   the video picture enlarged and shifted out of its frame. */
@media (min-width: 769px) and (max-width: 1180px) and (orientation: landscape) {
    body.post-style-5 .post-style-5-top { overflow-x: hidden; isolation: isolate; }
    body.post-style-5 .post-style-5-top .post-style-5-video-box { position: relative; }
    body.post-style-5 .post-style-5-top .post-style-5-video-box::before {
        content: ""; position: absolute; top: 0; bottom: 0; left: -100vw; right: -100vw; z-index: -1;
        background: #17181a; pointer-events: none;
    }
}

/* 2.0.311: dialog backdrop (search, login …). B2 paints the 50% black + blur
   on the dialog box itself, which is exactly one screen tall; when the iOS
   keyboard moves the page, a strip of page showed below it, and 2.0.310's
   extra shadow did not match the blurred part. The same black + blur now sits
   on one layer that reaches far past every edge, and nothing else is painted. */
body .modal { background-color: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
body .modal::before {
    content: ""; position: absolute; z-index: -1;
    top: -100vh; bottom: -100vh; left: -100vw; right: -100vw;
    background: rgba(0, 0, 0, .5);
    -webkit-backdrop-filter: saturate(.97) blur(41px); backdrop-filter: saturate(.97) blur(41px);
}
/* 2.0.312: the last uncovered strip was the browser's own canvas (iOS
   rubber-band / area below the page), which shows the <html> background.
   While a dialog is open on a touch screen it is the backdrop's tone and does
   not bounce. */
html.bk-dialog-open { background: #7a7a7a !important; overscroll-behavior: none; }
html.bk-dialog-open body { overscroll-behavior: none; }

/* 2.0.320 · Payment dialog (ds-box, also the QR and 积分 dialogs) ---------- */
body .ds-box .modal-content,
body .credit-pay-box .modal-content { width: 380px; max-width: calc(100vw - 24px); padding: 0; background: #fff !important; background-image: none !important; border-radius: 14px; }
body .ds-box .pay-box-title,
body .credit-pay-box .pay-box-title { padding: 16px 20px; border-bottom: 1px solid #f1f2f4; }
body .ds-box .pay-box-left,
body .credit-pay-box .pay-box-left { font-size: 15px; font-weight: 600; color: #111827; }
body .ds-box .pay-close,
body .credit-pay-box .pay-close { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #f3f4f6; color: #6b7280; font-size: 18px; line-height: 1; cursor: pointer; }
body .ds-box .pay-box-content:not(.ds):not(.cz):not(.card):not(.cg) { margin: 0; padding: 20px 20px 6px; }
body .ds-box .pay-box-content:not(.ds):not(.cz):not(.card):not(.cg) .pay-box-desc { text-align: left; margin: 0; font-size: 12px; color: #6b7280; }
body .ds-box .pay-box-content:not(.ds):not(.cz):not(.card):not(.cg) .ds-price { padding: 2px 0 0; }
body .ds-box .ds-current-money { justify-content: flex-start; padding: 0; color: #111827; font-size: 38px; font-weight: 600; letter-spacing: -.5px; line-height: 1.2; font-variant-numeric: tabular-nums; }
body .ds-box .ds-current-money i { font-size: 20px; font-weight: 500; top: 0; margin-right: 2px; align-self: center; }
/* The balance is shown inside the 余额 option now. */
body .ds-box .pay-my-money { margin: 0; text-align: left; padding: 0 20px; }
body .ds-box .pay-my-money > span { display: none; }
body .ds-box .pay-my-money p { margin: 8px 0 0; color: #b45309; }
body .ds-box .pay-type { height: auto; padding: 12px 20px 4px; }
body .ds-box .pay-type ul { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
body .ds-box .pay-type ul li { position: relative; width: 100%; }
body .ds-box .pay-type li > button { position: relative; width: 100%; height: auto; min-height: 52px; margin: 0; padding: 10px 44px 10px 14px; justify-content: flex-start; gap: 10px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; color: #111827; font-size: 14px; text-align: left; }
body .ds-box .pay-type li > button::after { content: ""; position: absolute; right: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; box-sizing: border-box; border: 1.5px solid #d1d5db; border-radius: 50%; }
body .ds-box .pay-type li > button.picked { border-color: #fd4c4c; background: #fff8f8; color: #111827; }
body .ds-box .pay-type li > button.picked::after { border: 5px solid #fd4c4c; }
body .ds-box .pay-type li > button.picked i { color: inherit; }
body .ds-box .pay-type i { font-size: 24px; margin: 0; }
body .ds-box .pay-type i.b2-alipay-fill { color: #1677ff; }
body .ds-box .pay-type i.b2-wechat-pay-fill { color: #07c160; }
body .ds-box .pay-type .ds-pay-yue,
body .ds-box .pay-type li > button.picked i.ds-pay-yue { width: 24px; height: 24px; line-height: 24px; border-radius: 6px; background: #f59e0b; color: #fff; font-size: 14px; }
body .ds-box .pay-type li > button span em { display: block; margin-top: 2px; font-style: normal; font-size: 12px; color: #9ca3af; }
body .ds-box .pay-type li > button.bk-short:disabled { background: #fafafa; color: #9ca3af; cursor: default; opacity: 1; }
body .ds-box .pay-type li > button.bk-short:disabled .ds-pay-yue { opacity: .5; }
body .ds-box .pay-type li > button.bk-short:disabled::after { display: none; }
body .ds-box .pay-type .bk-topup { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 13px; color: #fd4c4c; }
body .ds-box .pay-button,
body .credit-pay-box .pay-button { margin: 0; }
body .ds-box .pay-button > div,
body .credit-pay-box .pay-button > div { margin: 14px 20px 18px; }
body .ds-box .pay-button button,
body .ds-box .pay-button .button,
body .credit-pay-box .pay-button button { border-radius: 10px; padding: 15px 0; font-size: 15px; font-weight: 600; background: #fd4c4c; border-color: #fd4c4c; color: #fff; }
/* Not ready yet ("请选择支付方式"): a calm prompt, not a faded red button. */
body .ds-box .pay-button button:disabled,
body .ds-box .pay-button .button.disabled { background: #f3f4f6; border-color: #f3f4f6; color: #6b7280; opacity: 1; font-weight: 500; }
body .ds-box .pay-button[data-note]:not([data-note=""])::after { content: attr(data-note); display: block; margin: -8px 20px 18px; text-align: center; font-size: 11px; color: #9ca3af; }
body .ds-box.scan-box .modal-content { width: 320px; }
/* Phones: a sheet from the bottom of the screen, within thumb reach. */
@media (max-width: 768px) {
    body .ds-box,
    body .credit-pay-box { align-items: flex-end; }
    body .ds-box .modal-content,
    body .credit-pay-box .modal-content { width: 100%; max-width: 100%; margin: 0; border-radius: 18px 18px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); transform: translateY(24px); transition: transform .2s ease; }
    body .ds-box.show-modal .modal-content,
    body .credit-pay-box.show-modal .modal-content { transform: none; }
    body .ds-box .modal-content::before,
    body .credit-pay-box .modal-content::before { content: ""; display: block; width: 36px; height: 4px; margin: 8px auto 0; border-radius: 2px; background: #e5e7eb; }
    body .ds-box.scan-box { align-items: center; }
    body .ds-box.scan-box .modal-content { width: 320px; max-width: calc(100vw - 24px); border-radius: 14px; transform: none; }
    body .ds-box.scan-box .modal-content::before { display: none; }
}

/* 2.0.321 · Drawer menu added on B2's own pages: phones only. */
@media (min-width: 768px) { body .bk-menu-fallback { display: none !important; } }

/* ==== 2.0.322 · User page ===================================================
   Cover is a band; avatar and name sit under it. Flat white cards, site tokens.
   Level badges ("已注册 Lv0") hidden site-wide; VIP badges stay. */
.lv-icon.user-lv,.user-lv.lv-icon,span.user-lv{display:none!important}
body.author .gdd-quick-link-buy-vip{display:none!important}
.bk-author .user-cover-button,.bk-author .editor-avatar{display:none!important}

.bk-author .author-header{background:#fff;border:1px solid #e6e9ef;box-shadow:none;border-radius:8px;overflow:hidden}
.bk-author .mask-wrapper{height:180px;padding-top:0;background-color:#f0f2f5;background-image:linear-gradient(135deg,#fff1f1,#f5f6f8)}
.bk-author .user-panel{margin-top:0;padding:0 24px 16px;align-items:stretch}
.bk-author .user-panel .avatar{width:96px;height:96px;max-width:96px;min-width:96px;margin-top:-40px;border:4px solid #fff;border-radius:50%;background-color:#f0f2f5;cursor:default;flex-shrink:0;z-index:2}
.bk-author .user-panel-info{padding:0 0 0 16px;align-items:center;align-self:stretch;font-size:inherit;min-width:0}
.bk-author .bk-author-who{min-width:0}
.bk-author .user-panel-info h1{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:20px;line-height:1.3;font-weight:600;color:#1d2433;flex-flow:row wrap}
.bk-author .user-panel-info h1 span{margin:0}
.bk-author .user-page-lv{display:inline-flex;align-items:center}
.bk-author .user-page-lv:empty{display:none}
.bk-author .user-panel-info p.bk-author-meta{display:block;margin:4px 0 0;font-size:13px;color:#667085;font-weight:400}
.bk-author .user-panel-editor-button{position:static;margin-left:16px;flex-shrink:0}
.bk-author .user-panel-editor-button .user-follow{width:auto}
.bk-author .user-panel-editor-button button{height:34px;padding:0 14px;border:1px solid #e6e9ef;border-radius:6px;background:#fff;color:#475467;font-size:13px;font-weight:400;display:inline-flex;align-items:center;gap:4px}
.bk-author .user-panel-editor-button button:hover{border-color:#fd4c4c;color:#fd4c4c}
.bk-author-counts{display:flex;flex-wrap:wrap;gap:6px 28px;padding:0 24px 18px 136px}
.bk-author-counts a{display:inline-flex;align-items:baseline;gap:4px;color:#667085;font-size:13px;text-decoration:none}
.bk-author-counts a b{color:#1d2433;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.bk-author-counts a:hover b,.bk-author-counts a:hover{color:#fd4c4c}

.bk-author .author-table{gap:16px;align-items:flex-start}
.bk-author .author-page-right{margin:0}
.bk-author .author-page-right-in{padding:8px;gap:2px;border:1px solid #e6e9ef;box-shadow:none;border-radius:8px;background:#fff}
.bk-author .user-sidebar > div:hover{background:#f5f6f8;border-radius:6px}
.bk-author .user-sidebar-info{padding:10px 16px;border-radius:6px}
.bk-author .user-sidebar-info p{color:#475467;font-size:14px}
.bk-author .user-sidebar-info.active,.bk-author .user-sidebar > div.active:hover{background:#fff1f1}
.bk-author .user-sidebar-info.active p{color:#fd4c4c;font-weight:600}
.bk-author .author-links{border:1px solid #e6e9ef;box-shadow:none;border-radius:8px;padding:8px;gap:6px}
.bk-author .author-links li{margin:0}
.bk-author .author-links a{border-radius:6px;color:#475467}
.bk-author .author-links li.picked a{background:#fd4c4c;color:#fff}

.bk-vip-card,.bk-wallet{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#fff;border:1px solid #e6e9ef;box-shadow:none;border-radius:8px}
.bk-vip-card-main{display:flex;align-items:center;gap:12px;min-width:0}
.bk-vip-card b{display:block;font-size:15px;line-height:22px;font-weight:600;color:#1d2433}
.bk-vip-card p{margin:4px 0 0;font-size:13px;color:#667085}
.bk-vip-card-badge{display:inline-flex}
.bk-vip-card-btn{flex-shrink:0;height:36px;padding:0 18px;display:inline-flex;align-items:center;border-radius:6px;background:#fd4c4c;color:#fff!important;font-size:14px;font-weight:600;text-decoration:none}
.bk-vip-card-btn:hover{background:#e94444}
.bk-vip-card-link{flex-shrink:0;display:inline-flex;align-items:center;font-size:13px;color:#667085;text-decoration:none}
.bk-vip-card-link:hover{color:#fd4c4c}
.bk-vip-card:not(.is-member){background:#fff1f1;border-color:#ffd9d9}
.bk-wallet{flex-direction:column;align-items:stretch;gap:12px}
.bk-wallet h2{margin:0;font-size:15px;line-height:22px;font-weight:600;color:#1d2433}
.bk-wallet-row{display:flex;align-items:center;gap:32px}
.bk-wallet-item{display:flex;flex-direction:column;gap:2px;text-decoration:none}
.bk-wallet-item b{font-size:20px;font-weight:600;color:#1d2433;font-variant-numeric:tabular-nums}
.bk-wallet-item span{font-size:12px;color:#667085}
.bk-wallet-btn{margin-left:auto;height:34px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid #fd4c4c;border-radius:6px;color:#fd4c4c!important;font-size:14px;text-decoration:none}
.bk-wallet-btn:hover{background:#fff1f1}
.bk-author-links-row{display:flex;flex-wrap:wrap;gap:8px}
.bk-author-links-row a{padding:6px 12px;border-radius:6px;background:#f5f6f8;color:#475467;font-size:13px;text-decoration:none}
.bk-author-links-row a:hover{color:#fd4c4c}

/* B2 stacks the user page below 1180px: menu becomes one row of chips. */
@media (max-width:1180px){
  .bk-author .author-table{gap:0}
  .bk-author .author-page-right{width:100%;margin:0 0 12px}
  .bk-author .author-page-right-in{flex-flow:row nowrap;overflow-x:auto;gap:8px;padding:10px 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .bk-author .author-page-right-in::-webkit-scrollbar{display:none}
  .bk-author .user-sidebar,.bk-author .user-sidebar.h0.show{width:auto;flex:0 0 auto}
  .bk-author .user-sidebar-info{flex-flow:row;padding:6px 14px;background:#f5f6f8}
  .bk-author .user-sidebar-info p{flex-flow:row;font-size:13px;white-space:nowrap}
  .bk-author .user-sidebar-info.active,.bk-author .user-sidebar > div.active:hover{background:#fd4c4c}
  .bk-vip-card,.bk-wallet{padding:18px 24px}
  .bk-author .user-sidebar-info.active p{color:#fff}
}
@media (max-width:768px){
  .bk-author .mask-wrapper{height:110px;padding-top:0}
  .bk-author .user-panel{padding:0 16px 12px}
  .bk-author .user-panel .avatar{width:72px;height:72px;max-width:72px;min-width:72px;margin-top:-28px;border-width:3px}
  .bk-author .user-panel-info{padding:0 0 0 12px}
  .bk-author .user-panel-info h1{font-size:17px}
  .bk-author .user-panel-info p.bk-author-meta{display:block;font-size:12px;text-align:left}
  .bk-author .user-panel-editor-button{margin-left:8px}
  .bk-author .user-panel-editor-button button{height:30px;padding:0 10px;font-size:12px}
  .bk-author-counts{padding:0 16px 14px;gap:4px 20px}
  .bk-author .author-page-right-in{padding:10px 16px}
  .bk-vip-card,.bk-wallet{padding:16px}
  .bk-wallet-row{gap:24px}
}
@media (max-width:380px){
  .bk-author .author-page-right-in{gap:6px}
  .bk-author .user-sidebar-info{padding:6px 8px}
}
/* 2.0.326 · Name and member badge stacked, styled like the header account popup. */
.bk-author .user-panel-info h1,.bk-author .user-panel-info h1 span{font-size:17px;line-height:17px;font-weight:600;color:#121212}
.bk-author .user-panel-info h1{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:3px}
.bk-author .user-page-lv .lv-icon{display:inline-block;height:auto;margin:0;padding:0;border-radius:0;background:none;line-height:18px}
.bk-author .user-page-lv .lv-icon i{display:none}
.bk-author .user-page-lv .lv-icon b{font-size:12px;line-height:18px;font-weight:400}
/* 2.0.326 · Account popup (header avatar) and side panel: no 文章/评论/关注/粉丝 counts. */
.top-user-info-box-count,.user-w-tj{display:none!important}
/* 2.0.327 · Header account popup: no 余额 / 积分 row. */
.top-user-box-drop .user-w-gold{display:none!important}
/* 2.0.328 · Header account popup: no daily-task progress bar. */
.top-user-box-drop .user-w-rw{display:none!important}
/* 2.0.329 · No 积分 anywhere: hide every credit figure B2 prints. */
.user-credit{display:none!important}
.gold-page .gold-info > .gold-row{width:100%;flex:1 1 100%}
/* 2.0.332 · The wrapper around a hidden level badge ("已注册 Lv0") goes too, so
   flex rows (download box, popups) do not get a double gap. */
:is(span,div):has(> .lv-icon.user-lv:only-child){display:none!important}
.download-current .lv-icon{margin:0!important}
/* 2.0.338 · A clear play button in the middle of the player whenever it is
   paused (before the first play too): dark round disc, white triangle, on
   phones and computers. DPlayer only showed a bare triangle on phones, and
   nothing at all on computers. On computers a click goes through to the
   video, which plays it. */
.dplayer .dplayer-mobile-play{display:none}
.dplayer.dplayer-paused:not(.dplayer-loading) .dplayer-mobile-play{
  display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;z-index:5;
  width:68px;height:68px;margin:0;padding:0 0 0 5px;box-sizing:border-box;transform:translate(-50%,-50%);
  border:0;border-radius:50%;background:rgba(0,0,0,.55);box-shadow:0 0 0 2px rgba(255,255,255,.85);
  opacity:1;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.dplayer.dplayer-paused:not(.dplayer-loading) .dplayer-mobile-play svg{width:20px;height:40px;fill:#fff}
.dplayer.dplayer-paused:not(.dplayer-loading) .dplayer-mobile-play svg path{fill:#fff}
.dplayer:not(.dplayer-mobile).dplayer-paused .dplayer-mobile-play{pointer-events:none}
@media (max-width:768px){
  .dplayer.dplayer-paused:not(.dplayer-loading) .dplayer-mobile-play{width:56px;height:56px;padding-left:4px}
  .dplayer.dplayer-paused:not(.dplayer-loading) .dplayer-mobile-play svg{width:16px;height:32px}
}

/* bukids-nav */
/* 2.0.186 (from 2.0.185): second-level navigation, desktop row (≥1181px).
   Flat and quiet: white row, text-only items, one sliding 2px underline
   (red on the current section, ink while pointing elsewhere) — the same
   language as the logo row above. Sub-menus open as a full-width strip under
   the row: section title + "查看全部" on the left, links on the right,
   content aligned with the page wrapper. Behaviour lives in nav.js; without
   it B2's own menu remains. Tablet/phone drawer (≤1180px) is untouched. */

body .top-menu-ul > li.bk-nav-group,
body .top-menu-ul > .bk-nav-pill,
body .top-menu-ul .sub-menu > li.bk-mega-head { display: none; }

/* 2.0.186: drawer menu (≤1180px), same flat language as the desktop row:
   white sheet, hairlines instead of grey boxes, "英文 / 中文" section labels,
   sub-items lighter than their section (B2 had them bolder), 2 columns for
   the long channel lists. On tablets the drawer is a 400px side sheet
   instead of a full-width page. */
@media (max-width: 1180px) {
    body .site-header .mobile-box { background: #fff; }
    body .site-header .mobile-box .header-logo { border-bottom: 1px solid var(--bk-ui-line, #e6e9ef); }
    body .site-header .top-menu .top-menu-ul { padding: 0 0 40px; }
    body .top-menu-ul.bk-nav-grouped > li.bk-nav-group {
        display: block;
        padding: 20px 4px 6px;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: .08em;
        color: var(--bk-ui-faint, #98a2b3);
    }
    body .top-menu-ul.bk-nav-grouped > li.bk-nav-group:first-of-type { padding-top: 6px; }
    body .top-menu-ul.bk-nav-grouped .bk-nav-pre { display: none; }
    body .site-header .top-menu ul li.depth-0 {
        margin: 0;
        border: 0;
        border-bottom: 1px solid var(--bk-ui-line-soft, #f0f2f5);
        border-radius: 0;
    }
    body .site-header .top-menu ul li.depth-0 > a,
    body .site-header .top-menu-ul > li.depth-0:first-child > a {
        padding: 14px 4px !important;
        background: none;
        font-size: 16px;
        font-weight: 500;
        color: #1d2433 !important;
    }
    body .site-header .top-menu ul li.depth-0.bk-nav-current > a,
    body .site-header .top-menu ul li.depth-0.current-menu-item > a { color: var(--bk-ui-brand, #fd4c4c) !important; }
    body .site-header .top-menu-ul > li.depth-0 > a i.b2-arrow-down-s-line {
        top: 50%;
        right: 0;
        margin-top: -22px;
        padding: 12px;
        background: none;
        color: #98a2b3;
        font-size: 18px;
        line-height: 20px;
        transition: transform .22s cubic-bezier(.22, 1, .36, 1);
    }
    body .site-header .top-menu-ul > li.depth-0.show > a i.b2-arrow-down-s-line { transform: rotate(180deg); }
    body .site-header .top-menu ul li.depth-0.show .sub-menu,
    body .site-header .top-menu ul li.depth-0.b2-menu-4.show .sub-menu { margin: 0; padding: 0 0 10px; }
    body .site-header .top-menu ul li.depth-0 .sub-menu > li { margin: 0; width: auto; }
    body .site-header .top-menu ul li.depth-0 .sub-menu > li > a {
        display: block;
        margin: 0;
        padding: 10px 4px 10px 16px;
        border: 0;
        background: none;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.4;
        color: var(--bk-ui-text, #475467);
    }
    body .site-header .top-menu ul li.depth-0 .sub-menu > li.current-menu-item > a,
    body .site-header .top-menu ul li.depth-0 .sub-menu > li.bk-sub-current > a { color: var(--bk-ui-brand, #fd4c4c); font-weight: 500; }
    body .site-header .top-menu ul li.depth-0.b2-menu-4.show .sub-menu-0 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 8px;
    }
}
@media (min-width: 600px) and (max-width: 1180px) {
    body .site-header .mobile-box { width: 400px; }
    body .site-header .mobile-box.show-menu-box { transform: none; }
    body .site-header.social-top .mobile-box .header-logo,
    body .social-top .mobile-box .header-logo { margin-left: 0; }
    body .site-header .top-menu { margin-left: 0; padding: 12px 20px; }
}

@media (min-width: 1181px) {
    body .site-header .top-style-bottom {
        position: relative;
        background: #fff;
        border-top: 1px solid var(--bk-ui-line-soft, #f0f2f5);
        border-bottom: 1px solid var(--bk-ui-line, #e6e9ef);
    }
    body .site-header .top-style-bottom .top-style-blur { display: none; }

    body .top-menu .top-menu-ul.bk-nav {
        position: relative;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 4px;
        height: 55px;
    }

    /* Language groups: "英文 | 中文" said once */
    body .top-menu-ul.bk-nav > li.bk-nav-group {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        padding: 0 6px 0 0;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: .08em;
        color: var(--bk-ui-faint, #98a2b3);
        user-select: none;
    }
    body .top-menu-ul.bk-nav > li.bk-nav-group.is-second {
        position: relative;
        margin-left: 18px;
        padding-left: 28px;
    }
    body .top-menu-ul.bk-nav > li.bk-nav-group.is-second::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 1px;
        height: 14px;
        margin-top: -7px;
        background: #e3e7ed;
    }
    body .top-menu-ul.bk-nav .bk-nav-pre {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    /* Items */
    body .top-menu-ul.bk-nav > li.depth-0 { position: static; align-items: center; }
    body .top-menu-ul.bk-nav > li.depth-0 > a,
    body .social-top .top-menu-ul.bk-nav > li.depth-0 > a {
        height: 55px;
        line-height: 55px;
        padding: 0 14px;
        opacity: 1;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: .01em;
        color: var(--bk-ui-text, #475467);
        transition: color .18s ease-out;
        touch-action: manipulation;
    }
    body .top-menu-ul.bk-nav > li.depth-0:first-child > a,
    body .top-menu-ul.bk-nav > li.bk-nav-group + li.depth-0 > a { padding-left: 14px; }
    body .top-menu-ul.bk-nav > li.depth-0 > a .hob,
    body .top-menu-ul.bk-nav > li.depth-0 > a > i.b2font { display: none; }
    body .top-menu-ul.bk-nav > li.depth-0:hover > a,
    body .top-menu-ul.bk-nav > li.depth-0.bk-open > a { color: var(--bk-ui-ink, #1d2433); }
    body .top-menu-ul.bk-nav > li.depth-0.bk-nav-current > a,
    body .top-menu-ul.bk-nav > li.depth-0.current-menu-item > a {
        color: var(--bk-ui-ink, #1d2433);
        font-weight: 600;
    }
    body .top-menu-ul.bk-nav > li.depth-0 > a:focus-visible {
        outline: 2px solid var(--bk-ui-brand, #fd4c4c);
        outline-offset: -8px;
        border-radius: 8px;
    }

    /* Sliding underline, sitting on the row's bottom line */
    body .top-menu-ul.bk-nav > .bk-nav-pill {
        display: block;
        position: absolute;
        left: 0;
        bottom: -1px;
        z-index: 3;
        height: 2px;
        border-radius: 2px;
        background: var(--bk-ui-ink, #1d2433);
        clip-path: inset(0 14px);
        pointer-events: none;
        opacity: 0;
        transition: transform .32s cubic-bezier(.22, 1, .36, 1), width .32s cubic-bezier(.22, 1, .36, 1), background-color .2s ease-out, opacity .18s ease-out;
    }
    body .top-menu-ul.bk-nav > .bk-nav-pill.is-on { opacity: 1; }
    body .top-menu-ul.bk-nav > .bk-nav-pill.is-current { background: var(--bk-ui-brand, #fd4c4c); }
    body .top-menu-ul.bk-nav > .bk-nav-pill.no-anim { transition: opacity .18s ease-out; }

    /* Full-width strip panel. --bk-ul-x / --bk-vw / --bk-pad-* come from nav.js. */
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu {
        position: absolute;
        top: 100%;
        left: calc(-1 * var(--bk-ul-x, 0px));
        right: auto;
        z-index: 60;
        display: grid;
        grid-template-columns: 200px repeat(auto-fill, minmax(168px, 1fr));
        column-gap: 8px;
        row-gap: 2px;
        align-content: start;
        box-sizing: border-box;
        width: var(--bk-vw, 100vw);
        min-width: 0;
        margin: 1px 0 0;
        padding: 20px var(--bk-pad-r, 24px) 22px var(--bk-pad-l, 24px);
        background: #fff;
        backdrop-filter: none;
        border: 0;
        border-bottom: 1px solid var(--bk-ui-line, #e6e9ef);
        border-radius: 0;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        transform: none;
        clip-path: inset(0 0 100% 0);
        transition: clip-path .22s cubic-bezier(.22, 1, .36, 1), opacity .18s ease-out, visibility 0s linear .22s;
    }
    /* B2 opens on :hover; nav.js decides instead (with a short intent delay). */
    body .top-menu-ul.bk-nav > li.depth-0:hover > .sub-menu { opacity: 0; visibility: hidden; transform: none; }
    body .top-menu-ul.bk-nav > li.depth-0.bk-open > .sub-menu {
        opacity: 1;
        visibility: visible;
        clip-path: inset(0 0 0 0);
        transition: clip-path .3s cubic-bezier(.22, 1, .36, 1), opacity .12s ease-out, visibility 0s;
    }
    /* Moving between items while a panel is open: swap without replaying. */
    body .top-menu-ul.bk-nav.bk-swap > li.depth-0 > .sub-menu { transition: none; }

    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li { margin: 0; width: auto; min-width: 0; padding: 0; }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li > a {
        display: flex;
        align-items: center;
        min-height: 36px;
        margin-left: -10px;
        padding: 7px 10px;
        box-sizing: border-box;
        border: 0;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.35;
        color: #3d4554;
        white-space: normal;
        transition: background-color .14s ease-out, color .14s ease-out;
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li:not(.bk-mega-head) > a:hover,
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li:not(.bk-mega-head) > a:focus-visible {
        background: var(--bk-ui-subtle, #f5f6f8);
        color: var(--bk-ui-ink, #1d2433);
        outline: none;
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.current-menu-item > a,
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-sub-current > a {
        color: var(--bk-ui-brand, #fd4c4c);
        font-weight: 600;
    }

    /* Panel head: section title + "查看全部" */
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head {
        grid-column: 1;
        grid-row: 1 / span 20;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-right: 16px;
        padding: 6px 24px 0 0;
        border-right: 1px solid var(--bk-ui-line, #e6e9ef);
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head strong {
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: .01em;
        color: var(--bk-ui-ink, #1d2433);
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head > a {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        min-height: 0;
        margin: 0;
        padding: 0;
        font-size: 13px;
        font-weight: 400;
        color: var(--bk-ui-faint, #98a2b3);
        background: none;
        transition: color .16s ease-out;
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head > a > i {
        font-size: 14px;
        transition: transform .2s cubic-bezier(.22, 1, .36, 1);
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head > a:hover {
        background: none;
        color: var(--bk-ui-ink, #1d2433);
        text-decoration: none;
    }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head > a:hover > i { transform: translateX(2px); }
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu > li.bk-mega-head > a:focus-visible {
        outline: 2px solid var(--bk-ui-brand, #fd4c4c);
        outline-offset: 3px;
        border-radius: 4px;
    }
}

@media (min-width: 1181px) and (prefers-reduced-motion: reduce) {
    body .top-menu-ul.bk-nav > .bk-nav-pill,
    body .top-menu-ul.bk-nav > li.depth-0 > .sub-menu,
    body .top-menu-ul.bk-nav > li.depth-0.bk-open > .sub-menu { transition: none; }
}

/* 2.0.287: keep the 24px visuals and 44px-tall tap areas. Horizontal hit
   areas share the gap, so adjacent language/search/account actions cannot
   cover each other. Include the logged-in avatar and membership link. */
@media (max-width: 1180px) {
    body .site-header :is(.bk-lang-btn, .change-theme > .mobile-show > button, .login-button > .mobile-show, .top-user-avatar, .bk2-member-cta) { position: relative; }
    body .site-header :is(.bk-lang-btn, .change-theme > .mobile-show > button, .login-button > .mobile-show, .top-user-avatar, .bk2-member-cta)::after {
        content: ""; position: absolute; top: 50%; left: 50%; right: auto; bottom: auto;
        width: calc(100% + var(--bk-header-gap, 8px)); height: 44px;
        transform: translate(-50%, -50%);
    }
}

/* 2.0.224: pages without a second-level menu (B2 adds .social-no-sub, e.g.
   the membership page) indented the logo-row links by 12px more than the
   logo. Same left edge as every other page. */
@media (max-width: 1180px) {
    .site-header.social-top.social-no-sub .ym-menu { padding-left: 0; padding-right: 0; }
}

