/* 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-related-topics */
/* 2.0.250: match search cards without loading the whole catalog stylesheet on
   articles. Recommendation order and the existing 3/2-column grid stay intact. */
.entry-content .bk-related-topics { margin:28px 0; padding:0; font-family:inherit; color:inherit; }
.entry-content .bk-related-topics * { box-sizing:border-box; }
.entry-content .bk-related-topics > h2 { margin:0 0 16px; padding:0; border:0; font-size:18px; font-weight:400; line-height:1.5; color:inherit; }
.entry-content .bk-related-topics > h2::before,
.entry-content .bk-related-topics > h2::after { content:none; }
.entry-content .bk-related-topics .bukids-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; }
.entry-content .bk-related-topics .bukids-card { display:flex; min-width:0; overflow:hidden; margin:0; padding:0; background:#fff; border:1px solid #e6e9ef; border-radius:6px; box-shadow:none; }
.entry-content .bk-related-topics .bukids-card-link { display:flex; flex-direction:column; flex:1 1 auto; min-width:0; margin:0; padding:0; color:inherit; text-decoration:none; border:0; }
.entry-content .bk-related-topics .bukids-card-link:focus-visible { outline:2px solid var(--b2color,#fd4c4c); outline-offset:-3px; }
.entry-content .bk-related-topics .bukids-card-media { display:block; position:relative; flex-shrink:0; aspect-ratio:16/9; overflow:hidden; background:var(--bk-ui-subtle, #f5f6f8); }
.entry-content .bk-related-topics .bukids-card-media img { display:block; width:100%; height:100%; max-width:100%; margin:0; padding:0; border:0; border-radius:0; object-fit:cover; }
.entry-content .bk-related-topics .bk2-textbook-card .bukids-card-media img { object-fit:contain; }
.entry-content .bk-related-topics .bukids-card-placeholder { display:flex; position:absolute; inset:0; align-items:center; justify-content:center; color:#737b85; font-size:28px; font-weight:400; }
.entry-content .bk-related-topics .bukids-card-placeholder[hidden],
.entry-content .bk-related-topics .bukids-card-media img[hidden] { display:none; }
.entry-content .bk-related-topics .bukids-card-content { display:flex; flex-direction:column; flex:1 1 auto; min-width:0; padding:14px 14px 16px; }
.entry-content .bk-related-topics .bukids-card-content h3 { display:block; margin:0; padding:0; border:0; color:var(--bk-ui-ink,#1d2433); font-size:14px; font-weight:400; line-height:1.6; overflow:visible; overflow-wrap:anywhere; white-space:normal; }
.entry-content .bk-related-topics .bukids-card-content h3::before,
.entry-content .bk-related-topics .bukids-card-content h3::after { content:none; }
.entry-content .bk-related-topics .bukids-card-cn { margin:3px 0 0; padding:0; color:var(--bk-ui-muted,#667085); font-size:13px; font-weight:400; line-height:1.55; overflow-wrap:anywhere; }
.entry-content .bk-related-topics .bukids-card-stats { display:block; margin:auto 0 0; padding:12px 0 0; color:var(--bk-ui-muted,#667085); font-size:12px; font-weight:400; line-height:1.65; overflow-wrap:anywhere; }
.entry-content .bk-related-topics .bukids-card-stats > span { display:inline; max-width:100%; vertical-align:baseline; white-space:normal; font-size:inherit; }
.entry-content .bk-related-topics .bukids-card-stats > span::before { content:none; }
.entry-content .bk-related-topics .bukids-card-stats > span::after { content:none; }
@media(hover:hover) and (pointer:fine) {
    .entry-content .bk-related-topics .bukids-card-link:hover { background:#fcfcfd; }
}
@media(max-width:768px) {
    .entry-content .bk-related-topics { margin:24px 0; }
    .entry-content .bk-related-topics > h2 { margin-bottom:12px; font-size:16px; }
    .entry-content .bk-related-topics .bukids-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .entry-content .bk-related-topics .bukids-card-content { padding:11px 10px 13px; }
}
@media(max-width:370px) {
    .entry-content .bk-related-topics .bukids-card-content { padding-inline:8px; }
}

/* 2.0.189: tablets (600–768px) keep 3 related topics per row, like the other grids. */
@media (min-width:600px) and (max-width:768px) {
    .entry-content .bk-related-topics .bukids-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* 2.0.264: tablets in landscape (no sidebar, 1025–1180px): four per row,
   the same card size as topic pages at that width (was three, ~360px). */
@media (min-width:1025px) and (max-width:1180px) {
    .entry-content .bk-related-topics .bukids-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* 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-resource */
/* ===========================================================================
   Bukids resource articles (2.0.228)
   Every resource post (animation, film, series, documentary, channel,
   textbook, course, picture book): one stylesheet, loaded after polish.css,
   cached by the browser. Replaces article-page.css, video-article.css and
   resource-article.css (2.0.162 – 2.0.223), which had grown into layers that
   overrode each other.

   Page:   title → [episodes] → series switcher → introduction → download
           → feedback → related → notes
   Cards:  white, 1px line, 8px corners, a 46px title row with a hairline,
           16px inner edge (14px on phones). Only the current item is tinted.
   2.0.251: series switching is a bare control group, not another outer card.
   Native B2 / Vue nodes (player, episode rows, download box) keep their
   events and permission checks; this file only lays them out.
   =========================================================================== */

body.bk-resource-article {
    --rs-ink: var(--bk-ui-ink, #1d2433);
    --rs-text: var(--bk-ui-text, #475467);
    --rs-muted: var(--bk-ui-muted, #667085);
    --rs-faint: var(--bk-ui-faint, #98a2b3);
    --rs-line: var(--bk-ui-line, #e6e9ef);
    --rs-line-strong: var(--bk-ui-line-strong, #d0d5dd);
    --rs-hair: var(--bk-ui-line-soft, #f0f2f5);
    --rs-brand: var(--bk-ui-brand, var(--b2color, #fd4c4c));
    --rs-brand-soft: var(--bk-ui-brand-soft, #fff1f1);
    --rs-r-sm: var(--bk-ui-r-sm, 6px);
    --rs-r-md: var(--bk-ui-r-md, 8px);
    --rs-pad: 16px;
    --rs-gap: 20px;
    --rs-row: 46px;
    --rs-control: 44px;
}
@media (max-width: 768px) {
    body.bk-resource-article { --rs-pad: 14px; --rs-gap: 16px; }
}

/* 1. Title area ------------------------------------------------------------ */
body.bk-resource-article .entry-header .post-user-info { display: none !important; }
body.bk-resource-article .single-article .entry-header { margin-bottom: 0; padding-bottom: 0; }
body.bk-resource-article .single-article .entry-header .post-meta-row { align-items: center; margin-bottom: var(--rs-gap); }
/* 2.0.225: video posts keep the title outside the article; on phones B2 adds
   12px padding + 12px margin + the meta row's 16px under the chips. */
@media (max-width: 1180px) {
    body.bk-resource-article.post-style-5 .entry-header { margin-bottom: 0; padding-bottom: 12px; }
    body.bk-resource-article.post-style-5 .entry-header .post-meta-row { margin-bottom: 0; }
}
body.bk-resource-article:not(.post-style-5) .single-article > .entry-content { padding-top: 0; }
/* Category chip and "前往下载" share one height (36px) and corner. */
body.bk-resource-article .entry-header .post-list-cat { display: flex; flex-wrap: wrap; gap: 6px; }
body.bk-resource-article .post-list-cat .post-list-cat-item,
body.bk-resource-article .entry-header .post-meta .post-list-cat a {
    display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: var(--rs-r-sm);
    font-size: 13px; line-height: 1;
}
body.bk-resource-article .single-button-download button {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    box-sizing: border-box; height: 32px; min-height: 0; margin: 0; padding: 0 12px;
    border: 1px solid var(--rs-line-strong); border-radius: var(--rs-r-sm); background: #fff; color: var(--rs-text);
    font: inherit; font-size: 13px; line-height: 1; box-shadow: none;
}
body.bk-resource-article .single-button-download button::after { content: ""; position: absolute; inset: -6px 0; } /* 44px tap area */
body.bk-resource-article .single-button-download button:hover { border-color: var(--rs-brand); color: var(--rs-brand); }

/* Video posts: B2's style-5 article box has its own padding; the cards set
   the edges instead (12px from the screen on phones, like the player). */
body.bk-video-resource .single-article { padding: 0; }
body.bk-video-resource .single-article > .entry-content { padding: 0; }
/* 2.0.272: the article already sits on the 12px page edge (its title is
   there), so no extra 12px inside: intro, resource picker, download and
   recommendations line up with the title instead of starting at 24px. */
@media (max-width: 1180px) {
    body.bk-video-resource .single-article > .entry-content { padding: 0; }
    body.bk-video-resource .single-article > .bk-res { margin-left: 0; margin-right: 0; }
}

/* 2. Card base --------------------------------------------------------------- */
body.bk-resource-article .single-article .entry-content > .bk-video-intro,
body.bk-resource-article .single-article .bk-resource-overview,
body.bk-ep-v2.bk-resource-article #post-5-list {
    box-sizing: border-box; margin: 0 0 var(--rs-gap); background: #fff; color: var(--rs-ink);
    border: 1px solid var(--rs-line); border-radius: var(--rs-r-md); box-shadow: none;
}
/* Title rows: "教材介绍", "教材下载". */
body.bk-resource-article .single-article .bk-video-intro-title,
body.bk-resource-article .single-article .bk-download-heading {
    box-sizing: border-box; min-height: var(--rs-row); margin: 0; padding: 11px var(--rs-pad);
    border: 0; border-bottom: 1px solid var(--rs-line); border-radius: 0; background: #fff;
    color: var(--rs-ink); font: inherit; font-size: 15px; font-weight: 500; line-height: 24px;
}
body.bk-resource-article .single-article :is(.bk-video-intro-title, .bk-download-heading)::before { content: none; }

/* 3. Series switcher (.bk-res) ---------------------------------------------- */
body.bk-resource-article .bk-res {
    box-sizing: border-box; min-width: 0; margin: 0 0 var(--rs-gap); padding: 0;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
    color: var(--rs-ink); font-size: 14px; line-height: 1.5;
}
body.bk-resource-article .bk-res * { box-sizing: border-box; }
body.bk-resource-article a.bk-res-tab .bk-res-tab-note::after {
    content: ""; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg);
}
body.bk-resource-article :is(.bk-res-switch, .bk-res-tabs) {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0;
}
body.bk-resource-article .bk-res-switch[data-columns="1"] { grid-template-columns: minmax(0, 1fr); }
body.bk-resource-article .bk-res-tabs[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.bk-resource-article .bk-res-levels { grid-template-columns: repeat(var(--bk-res-cols, 4), minmax(0, 1fr)); }
body.bk-resource-article .bk-res-levels:is([data-columns="7"], [data-columns="8"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.bk-resource-article .bk-res-field {
    display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: stretch; min-width: 0; height: var(--rs-control);
    margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--rs-line-strong); border-radius: var(--rs-r-sm);
}
body.bk-resource-article .bk-res-field:focus-within { border-color: var(--rs-brand); }
body.bk-resource-article .bk-res-field-label {
    display: flex; align-items: center; justify-content: center; min-width: 64px; padding: 0 12px;
    color: var(--rs-muted); font-size: 13px; line-height: 1; white-space: nowrap; border-right: 1px solid var(--rs-line);
}
body.bk-resource-article .bk-res-field.is-current { border-color: var(--rs-brand); }
body.bk-resource-article .bk-res-field.is-current .bk-res-field-label { color: var(--rs-brand); background: var(--rs-brand-soft); border-right-color: rgba(253, 76, 76, .25); }
body.bk-resource-article .bk-res .bk-res-select {
    -webkit-appearance: none; appearance: none; display: block; width: 100%; min-width: 0; height: 100%; margin: 0;
    padding: 0 32px 0 12px; overflow: hidden; color: var(--rs-ink); font: inherit; font-size: 14px;
    line-height: calc(var(--rs-control) - 2px); white-space: nowrap; text-overflow: ellipsis;
    background: transparent 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") no-repeat right 12px center / 12px 12px;
    border: 0; border-radius: 0; outline: 0; box-shadow: none; cursor: pointer;
}
body.bk-resource-article .bk-res .bk-res-select:has(option[value=""]:checked) { color: var(--rs-muted); }
body.bk-resource-article .bk-res .bk-res-tab {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; height: var(--rs-control);
    padding: 0 14px; color: var(--rs-ink); font-size: 14px; line-height: 1; text-decoration: none;
    background: #fff; border: 1px solid var(--rs-line-strong); border-radius: var(--rs-r-sm);
}
body.bk-resource-article .bk-res .bk-res-levels .bk-res-tab { justify-content: center; padding: 0 8px; }
body.bk-resource-article .bk-res-tab-name { overflow: hidden; font-weight: 400; white-space: nowrap; text-overflow: ellipsis; }
body.bk-resource-article .bk-res-tab-note { display: inline-flex; align-items: center; gap: 5px; color: var(--rs-muted); font-size: 12px; white-space: nowrap; }
body.bk-resource-article .bk-res a.bk-res-tab:hover { color: var(--rs-brand); border-color: var(--rs-brand); }
body.bk-resource-article .bk-res .bk-res-tab.is-current { color: var(--rs-brand); background: var(--rs-brand-soft); border-color: var(--rs-brand); }
body.bk-resource-article .bk-res .bk-res-tab.is-current .bk-res-tab-note { color: var(--rs-brand); }

/* 4. Introduction ---------------------------------------------------------- */
body.bk-resource-article .single-article .bk-video-intro { position: relative; min-width: 0; padding: 0 0 var(--rs-pad); overflow: hidden; scroll-margin-top: 140px; }
body.bk-resource-article .single-article .bk-video-intro-title { padding-right: 112px; }
body.bk-resource-article .bk-video-intro-panel,
body.bk-resource-article .bk-video-intro-details { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
body.bk-resource-article .bk-video-summary {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
    margin: 14px var(--rs-pad) 0; padding: 0; color: var(--rs-text); font: inherit; font-size: 15px; line-height: 1.8;
    text-align: left; word-break: normal; overflow-wrap: anywhere;
}
body.bk-resource-article .bk-video-intro-panel:has(> .bk-video-intro-details[open]) > .bk-video-summary { display: none; }
/* "显示全部 / 收起介绍" sits in the title row. */
body.bk-resource-article .bk-video-intro-toggle {
    position: absolute; top: 1px; right: var(--rs-pad); display: flex; align-items: center; gap: 6px;
    min-height: var(--rs-control); margin: 0; padding: 0; border: 0; background: transparent;
    color: var(--rs-muted); font: inherit; font-size: 13px; line-height: 1.4; list-style: none; cursor: pointer;
}
body.bk-resource-article .bk-video-intro-toggle::-webkit-details-marker { display: none; }
body.bk-resource-article :is(.bk-video-intro-toggle, .bk-file-toggle)::after {
    content: ""; flex: 0 0 8px; width: 8px; height: 5px; background: currentColor;
    clip-path: polygon(0 0, 50% 70%, 100% 0, 100% 30%, 50% 100%, 0 30%);
}
body.bk-resource-article .bk-video-intro-details[open] > .bk-video-intro-toggle::after,
body.bk-resource-article [aria-expanded="true"].bk-file-toggle::after { transform: rotate(180deg); }
body.bk-resource-article .bk-video-intro-toggle .bk-intro-open-label,
body.bk-resource-article .bk-video-intro-details[open] > .bk-video-intro-toggle .bk-intro-closed-label { display: none; }
body.bk-resource-article .bk-video-intro-details[open] > .bk-video-intro-toggle .bk-intro-open-label { display: inline; }
body.bk-resource-article :is(.bk-video-intro-toggle, .bk-file-toggle, .bk-intro-collapse):hover { color: var(--rs-brand); }
body.bk-resource-article .bk-video-intro-full.entry-content { min-width: 0; max-width: 100%; margin: 14px 0 0; padding: 0 var(--rs-pad); }
body.bk-resource-article .bk-video-intro-full > :first-child { margin-top: 0; }
body.bk-resource-article .bk-video-intro-full > :last-child { margin-bottom: 0; }
body.bk-resource-article .bk-video-intro-full > :is(.eb-card, .content-excerpt),
body.bk-resource-article .single-article > .entry-content:has(.bk-video-intro) > :is(.eb-card:has(.eb-excerpt), .content-excerpt) { display: none; }
body.bk-resource-article .bk-video-intro-full :is(table, figure, img) { max-width: 100%; }
/* The full text's own first "…介绍" heading repeats the card title (hidden by article-tools.js). */
body.bk-resource-article .bk-video-intro-full > .bk-intro-dup { display: none; }
/* "收起介绍" again at the end of a long text. */
body.bk-resource-article .bk-intro-collapse {
    display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: var(--rs-control);
    margin: 16px 0 0; padding: 0; border: 0; border-top: 1px solid var(--rs-hair); border-radius: 0; background: transparent;
    color: var(--rs-muted); font: inherit; font-size: 13px; cursor: pointer;
}
body.bk-resource-article .bk-intro-collapse::after {
    content: ""; width: 8px; height: 5px; background: currentColor; transform: rotate(180deg);
    clip-path: polygon(0 0, 50% 70%, 100% 0, 100% 30%, 50% 100%, 0 30%);
}

/* Cover + introduction (textbooks, picture books): one card, cover left. */
body.bk-resource-article .single-article .bk-resource-overview {
    position: relative; display: grid; grid-template-columns: 132px minmax(0, 1fr); grid-template-rows: var(--rs-row) auto auto;
    column-gap: var(--rs-pad); row-gap: 0; align-items: start; padding: 0 0 var(--rs-pad); overflow: hidden;
}
body.bk-resource-article .bk-resource-overview :is(.bk-video-intro, .bk-video-intro-panel) { display: contents; }
body.bk-resource-article .single-article .bk-resource-overview .bk-video-intro-title { grid-column: 1 / -1; grid-row: 1; }
body.bk-resource-article .bk-resource-cover { grid-column: 1; grid-row: 2; min-width: 0; margin: 14px 0 0 var(--rs-pad); }
body.bk-resource-article .bk-resource-cover > :is(figure, p) { margin: 0; padding: 0; }
body.bk-resource-article .bk-resource-cover img {
    display: block; width: 100%; height: auto; max-height: 176px; aspect-ratio: 3 / 4; object-fit: contain; margin: 0;
    border: 0; border-radius: var(--rs-r-sm);
}
body.bk-resource-article .bk-resource-overview .bk-video-summary {
    grid-column: 2; grid-row: 2; align-self: start; margin: 14px var(--rs-pad) 0 0; -webkit-line-clamp: 5;
}
/* The cover stays; the summary stays beside it while the full text opens below. */
body.bk-resource-article .bk-resource-overview .bk-video-intro-panel:has(> .bk-video-intro-details[open]) > .bk-video-summary { display: -webkit-box; }
body.bk-resource-article .bk-resource-overview .bk-video-intro-details { grid-column: 1 / -1; grid-row: 3; }
body.bk-resource-article .bk-resource-overview .bk-video-intro-full { margin-top: var(--rs-pad); padding-top: var(--rs-pad); border-top: 1px solid var(--rs-hair); }

/* 5. Episodes (video posts) -------------------------------------------------
   Computers: B2's rail beside the player. Phones / tablets: B2's strip under
   the player. B2's tab list (#post-5-list) is not used. */
/* Permanent layout uses the server-rendered class: never wait for JS to hide
   the old tabs. Keep their Vue roots, the real episode rail and comments. */
body.bk-video-resource .post-video-table,
body.bk-video-resource #post-5-list { display: none !important; }
body.bk-video-resource .comments-box { display: block; }
/* 2.0.244: flat desktop rows; phone/tablet retain the original episode cards. */
body.bk-ep-v2 .post-video-list .post-video-list-link { position: relative; box-shadow: none; }
body.bk-ep-v2 .post-video-list .video-list-title span { font-weight: 400; text-shadow: none; }
body.bk-ep-v2 .post-video-list li[hidden] { display: none !important; }
body.bk-ep-v2 .post-video-list .video-list-play-icon { position: static; inset: auto; flex: 0 0 16px; width: 16px; margin: 0; padding: 0; }
@media (min-width: 1181px) {
    /* 2.0.233: computer rail = the white-sidebar layout, in the player's dark:
       "选集 ··· 共 52 集" with a hairline, range chips, then numbered rows
       (number · name · play mark). 2.0.245 keeps the current row unfilled,
       with a white marker and white range borders on desktop only. */
    body.bk-ep-v2 .post-video-list { display: flex; flex-direction: column; height: var(--bk-player-block-height, auto) !important; background: var(--pl-bg); }
    /* 2.0.296: until video-article.js measures the player, the rail had height
       auto and briefly grew to the full episode list (40 rows ≈ 1870px).
       contain:size gives it no height of its own, so the row takes the
       player's height and the list scrolls inside it from the first paint. */
    body.bk-ep-v2 .post-video-list { contain: size; align-self: stretch; }
    body.bk-ep-v2 .post-video-list > :is(.post-video-list-title, .bk-rail-find) { display: none !important; }
    body.bk-ep-v2 .post-video-list .bk-strip-head {
        display: flex; flex-wrap: wrap; align-items: center; flex: 0 0 auto; gap: 0 8px; margin: 0; padding: 0 16px;
    }
    body.bk-ep-v2 .post-video-list .bk-strip-title {
        flex: 1 1 auto; display: flex; align-items: center; height: 52px; margin: 0; padding: 0; border: 0;
        color: #fff; font-size: 16px; font-weight: 600; line-height: 1;
    }
    body.bk-ep-v2 .post-video-list .bk-strip-title::before { content: none; }
    body.bk-ep-v2 .post-video-list .bk-strip-meta { flex: 0 0 auto; color: var(--pl-muted); font-size: 13px; white-space: nowrap; }
    body.bk-ep-v2 .post-video-list .bk-strip-head::after { content: ""; flex: 1 0 100%; order: 2; height: 1px; margin: 0 -16px; background: var(--pl-line); }
    body.bk-ep-v2 .post-video-list .bk-strip-segs { order: 3; display: flex; flex-wrap: wrap; flex: 1 0 100%; gap: 6px; padding: 12px 0 4px; }
    body.bk-ep-v2 .post-video-list .bk-strip-segs[hidden] { display: none; }
    body.bk-ep-v2 .post-video-list .bk-strip-segs button {
        position: relative; height: 28px; margin: 0; padding: 0 10px; border: 1px solid rgba(255, 255, 255, .28); border-radius: var(--rs-r-sm);
        background: transparent; box-shadow: none; color: var(--pl-text); font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; line-height: 1; cursor: pointer;
    }
    /* 2.0.257: quiet outlines; the current range is a solid white chip. */
    body.bk-ep-v2 .post-video-list .bk-strip-segs button.is-on { border-color: #fff; background: #fff; color: var(--pl-bg, #17181a); font-weight: 500; }
    body.bk-ep-v2 .post-video-list .bk-strip-segs button.has-play::after {
        content: ""; position: absolute; top: -3px; right: -3px; width: 7px; height: 7px; border: 1.5px solid var(--pl-bg); border-radius: 50%; background: var(--rs-brand);
    }
    body.bk-ep-v2 .post-video-list > ul {
        flex: 1 1 auto; min-height: 0; height: auto !important; margin: 0; padding: 6px 8px 8px;
        scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .2) transparent;
    }
    body.bk-ep-v2 .post-video-list > ul::-webkit-scrollbar { width: 6px; }
    body.bk-ep-v2 .post-video-list > ul::-webkit-scrollbar-track { background: transparent; }
    body.bk-ep-v2 .post-video-list > ul::-webkit-scrollbar-thumb { border-radius: 3px; background: rgba(255, 255, 255, .18); }
    body.bk-ep-v2 .post-video-list > ul::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .32); }
    body.bk-ep-v2 .post-video-list li { margin: 0 !important; }
    body.bk-ep-v2 .post-video-list .post-video-list-link {
        display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 0 10px; border: 0; border-radius: 0;
        background: transparent; color: rgba(255, 255, 255, .85);
    }
    body.bk-ep-v2 .post-video-list .post-video-list-link > div:last-child { flex: 1; min-width: 0; padding: 0; }
    body.bk-ep-v2 .post-video-list .video-list-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
    body.bk-ep-v2 .post-video-list .video-list-title[data-n]::before {
        content: attr(data-n); flex: 0 0 auto; min-width: 22px; color: rgba(255, 255, 255, .4); font-size: 13px; font-variant-numeric: tabular-nums;
    }
    body.bk-ep-v2 .post-video-list .video-list-title span {
        display: block; min-width: 0; overflow: hidden; color: inherit; font-size: 14px; line-height: 1.5; white-space: nowrap; text-overflow: ellipsis;
    }
    /* Play mark on the right, as in the white sidebar. */
    body.bk-ep-v2 .post-video-list .video-list-play-icon { order: 3; flex: 0 0 16px; margin: 0 0 0 auto; color: rgba(255, 255, 255, .4); }
    /* 2.0.245: no selected-row fill; the white rail marker and the existing
       playing icon identify the current episode without changing alignment. */
    body.bk-ep-v2 .post-video-list li.picked .post-video-list-link { background: transparent; color: #fff; }
    body.bk-ep-v2 .post-video-list li.picked .post-video-list-link::after { content: ""; position: absolute; inset: 12px auto 12px 0; width: 2px; background: #fff; pointer-events: none; }
    body.bk-ep-v2 .post-video-list li.picked .video-list-title[data-n]::before { color: #fff; }
    body.bk-ep-v2 .post-video-list li.picked .video-list-play-icon { color: var(--rs-brand); }
}
@media (min-width: 1181px) and (hover: hover) and (pointer: fine) {
    body.bk-ep-v2 .post-video-list li:not(.picked) .post-video-list-link:hover { background: var(--pl-hover); color: #fff; }
    body.bk-ep-v2 .post-video-list .bk-strip-segs button:not(.is-on):hover { border-color: rgba(255, 255, 255, .6); background: transparent; color: #fff; }
}
@media (max-width: 1180px) {
    /* 2.0.244: retain B2's mobile cards and range controls, with compact insets. */
    body.bk-ep-v2 .post-style-5-top .post-video-list {
        display: block; width: auto !important; height: auto !important; max-height: none !important;
        margin: 0 !important; padding: 10px 0 12px !important; background: #fff; border-bottom: 1px solid var(--rs-line);
    }
    body.bk-ep-v2 .post-video-list :is(.post-video-list-title, .bk-rail-find) { display: none !important; }
    /* One row: "选集  共 52 集 ……… [1–30] [31–52]". */
    body.bk-ep-v2 .bk-strip-head { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 12px 10px; }
    body.bk-ep-v2 .bk-strip-title { flex: 0 0 auto; margin: 0; padding: 0; border: 0; font: inherit; font-size: 15px; font-weight: 500; line-height: 22px; color: var(--rs-ink); }
    body.bk-ep-v2 .bk-strip-title::before { content: none; }
    body.bk-ep-v2 .bk-strip-meta { flex: 0 0 auto; min-width: 0; color: var(--rs-muted); font-size: 13px; line-height: 22px; white-space: nowrap; }
    /* 2.0.228: one row again on phones (2.0.226 moved the ranges to a second
       row for 44px targets). The chip is 32px; ::before extends the tap area
       to 44px inside the scroller's own 6px padding. */
    body.bk-ep-v2 .bk-strip-segs { display: flex; flex: 0 1 auto; gap: 6px; min-width: 0; margin: -6px -12px -6px auto; padding: 6px 12px 6px 4px; overflow-x: auto; scrollbar-width: none; }
    body.bk-ep-v2 .bk-strip-segs::-webkit-scrollbar { display: none; }
    body.bk-ep-v2 .bk-strip-segs[hidden] { display: none; }
    body.bk-ep-v2 .bk-strip-segs button {
        position: relative; flex: 0 0 auto; min-width: 44px; height: 32px; margin: 0; padding: 0 10px; border: 1px solid var(--rs-line); border-radius: var(--rs-r-sm);
        background: #fff; color: var(--rs-text); font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; line-height: 1; box-shadow: none; cursor: pointer;
    }
    body.bk-ep-v2 .bk-strip-segs button::before { content: ""; position: absolute; inset: -6px -3px; }
    /* Selected range uses white text on a solid brand surface on light layouts. */
    body.bk-ep-v2 .bk-strip-segs button.is-on { border-color: var(--rs-brand); background: var(--rs-brand); color: #fff; }
    /* The range that holds the playing episode. */
    body.bk-ep-v2 .bk-strip-segs button.has-play::after {
        content: ""; position: absolute; top: -3px; right: -3px; width: 7px; height: 7px; border: 1.5px solid #fff; border-radius: 50%; background: var(--rs-brand);
    }
    body.bk-ep-v2 .post-style-5-top .post-video-list > ul {
        display: flex; flex-wrap: nowrap; align-items: stretch; gap: 8px; width: auto !important; height: auto !important; max-height: none !important;
        margin: 0; padding: 0 12px; overflow-x: auto; overflow-y: hidden; scroll-padding: 0 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    }
    body.bk-ep-v2 .post-style-5-top .post-video-list > ul::-webkit-scrollbar { display: none; }
    body.bk-ep-v2 .post-style-5-top .post-video-list > ul > li { flex: 0 0 148px; width: 148px !important; min-width: 0; max-width: none; margin: 0 !important; padding: 0 !important; float: none; }
    body.bk-ep-v2 .post-style-5-top .post-video-list .post-video-list-link {
        display: flex; align-items: flex-start; gap: 8px; box-sizing: border-box; width: 100%; height: 100%; min-height: 60px; margin: 0;
        padding: 9px 10px; border: 1px solid var(--rs-line); border-radius: var(--rs-r-sm); background: #fff; color: var(--rs-ink);
    }
    body.bk-ep-v2 .post-style-5-top .post-video-list .video-list-play-icon { margin-top: 2px; color: var(--rs-faint); }
    body.bk-ep-v2 .post-style-5-top .post-video-list .post-video-list-link > div:last-child { flex: 1 1 0; min-width: 0; padding: 0; }
    body.bk-ep-v2 .post-style-5-top .post-video-list .video-list-title { display: block; height: auto; padding: 0; overflow: visible; text-align: left; }
    body.bk-ep-v2 .post-style-5-top .post-video-list .video-list-title span {
        display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; height: auto; max-height: none;
        white-space: normal; color: inherit; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; word-break: normal;
    }
    body.bk-ep-v2 .post-style-5-top .post-video-list li.picked .post-video-list-link { border-color: var(--rs-brand); background: #fff5f5; color: var(--rs-brand); }
    /* 2.0.233: the number is split off the name (computer column); on the
       phone card it leads the name again: "01. 泥坑". */
    body.bk-ep-v2 .post-style-5-top .post-video-list .video-list-title span[data-n]::before { content: attr(data-n) ". "; }
    body.bk-ep-v2 .post-style-5-top .post-video-list li.picked .video-list-play-icon { color: var(--rs-brand); }
    /* A two-part resource has no reason to hide its distinguishing titles. */
    body.bk-ep-v2.bk-ep-pair .post-style-5-top .post-video-list > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.bk-ep-v2.bk-ep-pair .post-style-5-top .post-video-list > ul > li { width: auto !important; }
    body.bk-ep-v2.bk-ep-pair .post-style-5-top .post-video-list .video-list-title span { display: block; -webkit-line-clamp: unset; overflow: visible; }
}
@media (max-width: 1180px) and (hover: hover) and (pointer: fine) {
    body.bk-ep-v2 .post-style-5-top .post-video-list li:not(.picked) .post-video-list-link:hover { background: #f7f8fa; }
}
@media (max-width: 1180px) {
    /* 2.0.228: B2's dark player backdrop showed as a 1px edge around the white
       strip; the player box paints its own background. */
    body.bk-ep-v2 .post-style-5-top { background: transparent; }
}
@media (max-width: 359px) {
    body.bk-ep-v2 .bk-strip-meta { display: none; }
}
@media (max-width: 359px) {
    body.bk-ep-v2.bk-ep-pair .post-style-5-top .post-video-list > ul { grid-template-columns: minmax(0, 1fr); }
}
/* These must follow both rail layouts. Native B2's inline display:none for
   empty/single results is respected too; zero pending rows are not a film. */
body.bk-video-resource.bk-ep-single .post-style-5-top .post-video-list { display: none !important; }
body.bk-ep-v2 .bk-strip-segs button:focus-visible,
body.bk-ep-v2 .post-video-list li:focus-visible { outline: 2px solid var(--rs-brand); outline-offset: -3px; }

/* 2.0.230: hold the strip's place on phones while B2 loads the episode list,
   so the title and cards do not jump down ~128px when it arrives. */
@media (max-width: 1180px) {
    body.bk-ep-multi .post-style-5-top .post-video-list:not(:has(> ul > li:not([v-for]))) { box-sizing: border-box; min-height: 128px; }
}

/* 5b. Player (2.0.229) ------------------------------------------------------
   One dark surface for the player area, flat like the rest of the site:
     --pl-bg     band behind player and rail (B2 used #282828 / #262626)
     --pl-raise  hover / current row, finder field
     --pl-line   hairlines on dark
   Locked videos show their poster under a calm veil instead of 93% black, and
   no dead controls. Native nodes, Vue bindings and permission checks unchanged. */
body.bk-video-resource {
    --pl-bg: #17181a;
    --pl-raise: rgba(255, 255, 255, .08);
    --pl-hover: rgba(255, 255, 255, .05);
    --pl-line: rgba(255, 255, 255, .1);
    --pl-text: rgba(255, 255, 255, .78);
    --pl-muted: rgba(255, 255, 255, .5);
}
body.bk-video-resource .post-style-5-video-box-in,
body.bk-video-resource .post-style-5-video-box-in .dplayer { background: var(--pl-bg); }
@media (min-width: 1181px) {
    body.bk-video-resource .post-style-5-top { background: var(--pl-bg); }
}
/* Locked: poster visible under a veil; text stays readable on bright art. */
body.bk-video-resource .video-role-info.b2-show[data-bk-cta] {
    background: linear-gradient(180deg, rgba(12, 13, 15, .5) 0%, rgba(12, 13, 15, .72) 55%, rgba(12, 13, 15, .82) 100%);
}
body.bk-video-resource .video-role-info[data-bk-cta] p { text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
/* The centre notice says it already: no "会员视频" corner badge (all widths). */
body.bk-video-resource .video-role-info[data-bk-cta] .video-tips { display: none; }
/* No controls, logo or play bezel that cannot work behind the lock. */
body.bk-video-resource .video-role-box:has(> .video-role-info.b2-show) ~ .dplayer :is(.dplayer-controller, .dplayer-controller-mask, .dplayer-bezel, .dplayer-logo, .dplayer-notice) { display: none !important; }
/* Preview playing: B2's top-left chip, as a flat pill that reads as an action. */
body.bk-video-resource .video-role-title { top: 12px; left: 12px; }
body.bk-video-resource .video-role-title .video-view {
    display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 10px; border-radius: var(--rs-r-sm);
    background: var(--rs-brand); box-shadow: none; color: #fff; font-size: 12px; line-height: 1; cursor: pointer;
}
body.bk-video-resource .video-role-title .video-view i { font-size: 14px; color: inherit; }
@media (hover: hover) and (pointer: fine) {
    body.bk-video-resource .video-role-title .video-view:hover { background: #e8403f; }
}




@media (max-width: 1180px) {
    /* Full-bleed player on phones and tablets: cancel the page's 12px side
       margin; the strip keeps its content on the 12px page edge, level with
       the title (2.0.272; was 24px). */
    body.bk-video-resource .post-style-5-top { margin-left: -12px !important; margin-right: -12px !important; }
    body.bk-ep-v2 .bk-strip-head { padding-left: 12px; padding-right: 12px; }
    body.bk-ep-v2 .bk-strip-segs { margin-right: -12px; padding-right: 12px; }
    body.bk-ep-v2 .post-style-5-top .post-video-list > ul { padding-left: 12px; padding-right: 12px; scroll-padding: 0 12px; }
}

/* 6. Download --------------------------------------------------------------
   Card = "教材下载" title row + B2's box. Inside, top to bottom:
   what is included → the action (开通会员 / 已是会员？登录, or the member's
   download buttons) → "文件清单 ▾  下载权限 ▾" side by side → the opened list. */
body.bk-resource-article .single-article .bk-download-heading { margin-top: var(--rs-gap); border: 1px solid var(--rs-line); border-radius: var(--rs-r-md) var(--rs-r-md) 0 0; }
body.single-post.bk-resource-article .single-article #download-box { max-width: 100%; margin: 0 0 12px; scroll-margin-top: 70px; }
body.single-post.bk-resource-article .single-article #download-box .download-list { background: transparent !important; }
body.single-post.bk-resource-article .single-article #download-box .download-item {
    box-sizing: border-box; display: flex; flex-flow: row wrap; align-items: center; column-gap: 20px; row-gap: 0;
    min-width: 0; max-width: 100%; margin: 0; padding: 14px var(--rs-pad) 6px; background: #fff;
    border: 1px solid var(--rs-line); border-radius: var(--rs-r-md); box-shadow: none;
}
body.single-post.bk-resource-article .single-article .bk-download-heading + #download-box .download-item { border-top: 0; border-radius: 0 0 var(--rs-r-md) var(--rs-r-md); }
body.single-post.bk-resource-article .single-article #download-box .download-list > .download-item + .download-item { border-radius: 0; }
body.single-post.bk-resource-article .single-article #download-box .download-thumb,
body.single-post.bk-resource-article .single-article #download-box .bk-download-duplicate { display: none !important; }
/* Flatten the native wrappers so their parts can be ordered. */
body.single-post.bk-resource-article .single-article #download-box :is(.download-info, .download-rights, .bk-download-inventory) { display: contents; }
body.single-post.bk-resource-article .single-article #download-box .download-item > * ,
body.single-post.bk-resource-article .single-article #download-box .download-info > *,
body.single-post.bk-resource-article .single-article #download-box .download-rights > *,
body.single-post.bk-resource-article .single-article #download-box .bk-download-inventory > * { flex: 1 0 100%; min-width: 0; order: 2; }
body.single-post.bk-resource-article .single-article #download-box .download-rights-title { order: 1; margin: 0 0 8px; color: var(--rs-ink); font-size: 14px; overflow-wrap: anywhere; }
body.single-post.bk-resource-article .single-article #download-box .bk-download-inventory > p { order: 1; margin: 0 0 12px; color: var(--rs-ink); font-size: 14px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
body.single-post.bk-resource-article .single-article #download-box .download-info > ul:not(.bk-file-list) { order: 1; margin: 0 0 12px; padding: 0; }
body.single-post.bk-resource-article .single-article #download-box .download-info > ul > li { min-width: 0; padding: 6px 0; background: transparent; border: 0; border-radius: 0; color: var(--rs-text); font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
body.single-post.bk-resource-article .single-article #download-box .download-attr-name { flex-shrink: 0; color: var(--rs-muted); }
/* The action. */
body.single-post.bk-resource-article .single-article #download-box .bk-cta-download { display: block; margin: 0; padding: 0; border: 0; }
body.single-post.bk-resource-article .single-article #download-box .bk-cta-download p { margin: 0 0 12px; color: var(--rs-text); font-size: 14px; line-height: 1.7; }
body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions { display: flex; flex-flow: row wrap; align-items: center; gap: 4px 0; width: auto; justify-content: flex-start; }
body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions > .bk-cta-join {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 140px; min-height: var(--rs-control);
    margin: 0; padding: 0 22px; border-radius: var(--rs-r-sm); font-size: 14px; font-weight: 500; line-height: 1;
}
body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions > .bk-cta-login {
    order: 9; flex: 0 0 100%; display: inline-flex; align-items: center; justify-content: flex-start; min-height: 36px;
    margin: 0; padding: 0; background: transparent; color: var(--rs-text) !important; font-size: 13px;
}
body.single-post.bk-resource-article .single-article #download-box .download-button-box { display: flex; flex-wrap: wrap; gap: 10px; }
body.single-post.bk-resource-article .single-article #download-box .download-button-box button {
    display: inline-flex; align-items: center; justify-content: center; min-height: var(--rs-control); margin: 0; padding: 0 18px;
    border-radius: var(--rs-r-sm); white-space: normal; max-width: 100%;
}
/* "文件清单 ▾   下载权限 ▾" in one row under the action. */
body.single-post.bk-resource-article .single-article #download-box .bk-file-toggle {
    order: 5; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; min-height: var(--rs-control);
    margin: 4px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
    color: var(--rs-muted); font: inherit; font-size: 13px; font-weight: 400; line-height: 1.4; text-align: left; cursor: pointer;
}
body.single-post.bk-resource-article .single-article #download-box .bk-file-list { order: 7; display: grid; grid-template-columns: minmax(0, 1fr); margin: 0 0 8px; padding: 8px 0 0; border-top: 1px solid var(--rs-hair); background: transparent; }
body.single-post.bk-resource-article .single-article #download-box .bk-files-collapsed { display: none !important; }
body.single-post.bk-resource-article .single-article #download-box .bk-file-list > li { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 6px 0; font-size: 13px; }
body.single-post.bk-resource-article .single-article #download-box .bk-file-list > li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
/* Order: pitch 2 → rights line 3 → button 4 → toggles 5 / 6 → lists 7 / 8.
   2.0.225: same right for every level → one quiet line under the pitch,
   then the button; no "查看下载权限" row and no list. */
body.single-post.bk-resource-article .single-article #download-box .bk-cta-download { display: contents; }
body.single-post.bk-resource-article .single-article #download-box .bk-cta-download > * { flex: 1 0 100%; min-width: 0; order: 2; }
/* Members: the line sits under their download buttons. */
body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions { order: 4; }
@media (max-width: 768px) {
    body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions > .bk-cta-join { flex: 1 1 100%; }
    body.single-post.bk-resource-article .single-article #download-box .bk-cta-actions > .bk-cta-login { justify-content: center; }
}

/* 7. After the download ------------------------------------------------------- */
body.bk-resource-article .single-article .entry-content .bk-related-topics > h2 { margin: var(--rs-gap) 0 12px; padding: 0; font-size: 16px; font-weight: 500; line-height: 1.5; }
body.bk-resource-article .entry-content .bk-related-topics .bukids-card-cn { color: var(--bk-ui-muted, #667085) !important; }
body.bk-resource-article .entry-content .bk-related-topics :is(.bukids-card-stats, .bukids-card-stats > span) { color: var(--bk-ui-muted, #667085) !important; }
body.bk-resource-article .entry-content .bk-related-topics .bukids-card-cn { font-size: 13px; }
body.bk-resource-article .single-article .entry-content .post-note,
body.bk-resource-article .single-article .entry-content .post-note * { color: var(--rs-muted) !important; font-size: 12px; }
body.bk-resource-article .b2-widget-post-order.widget-order-2 span { color: #422a00; }

/* Stable native container: B2 removes post-content-footer on a phone's first
   load. Same in-flow, centered action group on every width, without new nodes. */
body.bk-resource-article .single-article > .content-footer {
    box-sizing: border-box; display: block !important; position: static !important;
    inset: auto !important; width: auto !important; height: auto !important; min-height: 0 !important;
    margin: var(--rs-gap) 0 0; padding: 16px 0; border-top: 1px solid var(--rs-hair); transform: none !important;
}
body.bk-resource-article .single-article > .content-footer .inner-wrapper-sticky {
    position: static !important; inset: auto !important; width: auto !important; height: auto !important; transform: none !important;
}
body.bk-resource-article .single-article > .content-footer .post-content-footer-in { display: flex; justify-content: center; align-items: center; margin: 0 !important; padding: 0; transform: none !important; }
body.bk-resource-article .single-article > .content-footer .content-footer-poster {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: min(100%, 340px); margin: 0 auto; padding: 0;
}
body.bk-resource-article .single-article > .content-footer .content-footer-poster button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0 6px; line-height: 1.4;
    border: 1px solid var(--rs-line); border-radius: var(--rs-r-sm); background: #fff; box-shadow: none;
    color: var(--rs-text); font: inherit; font-size: 13px; white-space: nowrap;
}
body.bk-resource-article .single-article > .content-footer .content-footer-poster button i { margin: 0; font-size: 16px; line-height: 1; color: inherit; }
body.bk-resource-article .single-article > .content-footer .content-footer-poster button b { display: inline !important; font-weight: 400; }
body.bk-resource-article .single-article > .content-footer .content-footer-poster button.sc { color: var(--rs-brand); border-color: var(--rs-brand); background: var(--rs-brand-soft); }
body.bk-resource-article .single-article > .content-footer .content-footer-poster button:focus-visible { outline: 2px solid var(--rs-brand); outline-offset: 2px; }
body.bk-resource-article .single-article > .content-footer .content-footer-poster button:active { background: var(--rs-brand-soft); }
body.bk-resource-article .single-article > .content-footer .comment-span,
body.bk-resource-article .single-article > .content-footer .content-footer-zan-cai,
body.bk-resource-article .single-article > .content-footer[v-cloak],
body.bk-resource-article .single-article > .content-footer button[v-cloak] { display: none !important; }
@media (hover: hover) and (pointer: fine) {
    body.bk-resource-article .single-article > .content-footer .content-footer-poster button:hover { border-color: var(--rs-brand); color: var(--rs-brand); }
}
@media (max-width: 1180px) {
    body.bk-video-resource .single-article > .content-footer { margin-inline: 12px; }
}
@media (max-width: 359px) {
    body.bk-resource-article .single-article > .content-footer .content-footer-poster { gap: 6px; }
    body.bk-resource-article .single-article > .content-footer .content-footer-poster button { gap: 4px; padding-inline: 4px; }
}

/* 8. Sidebar ------------------------------------------------------------------ */
body.bk-resource-article .bk-download-compact > .b2-widget-box { display: none; }
body.bk-resource-article .bk-download-shortcut {
    display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--rs-control); box-sizing: border-box;
    border: 1px solid var(--rs-line-strong); border-radius: var(--rs-r-sm); background: #fff; color: var(--rs-ink); font-size: 14px; text-decoration: none;
}
body.bk-resource-article .bk-download-shortcut:hover { border-color: var(--rs-brand); color: var(--rs-brand); }
/* Right-rail scrolling is shared with all other pages in sidebar.js. */

/* 9. Focus ----------------------------------------------------------------------- */
body.bk-resource-article :is(.bk-video-intro-toggle, .bk-file-toggle, .bk-intro-collapse, .single-button-download button, .bk-res-tab, .bk-strip-segs button):focus-visible {
    outline: 2px solid var(--rs-brand); outline-offset: 2px;
}

/* 10. Phones -------------------------------------------------------------------- */
@media (max-width: 599px) {
    body.bk-resource-article .bk-res-switch[data-columns] { grid-template-columns: minmax(0, 1fr); }
    body.bk-resource-article .bk-res-field-label { min-width: 62px; padding: 0 9px; font-size: 12px; }
    /* 16px stops iOS from zooming into the dropdown. */
    body.bk-resource-article .bk-res .bk-res-select { padding: 0 24px 0 9px; font-size: 16px; background-position: right 8px center; background-size: 10px 10px; }
    /* Rows of equal length: 5–6 levels in 3 columns, 7–8 in 4. */
    body.bk-resource-article .bk-res-levels:is([data-columns="5"], [data-columns="6"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.bk-resource-article .bk-res-levels:is([data-columns="7"], [data-columns="8"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body.bk-resource-article .single-article .bk-resource-overview { grid-template-columns: 96px minmax(0, 1fr); }
    body.bk-resource-article .bk-resource-cover img { max-height: 128px; }
    body.bk-resource-article .bk-resource-overview .bk-video-summary { -webkit-line-clamp: 4; font-size: 14px; line-height: 1.75; }
    body.bk-resource-article .single-article .bk-video-intro-title { padding-right: 104px; }
}
@media (max-width: 359px) {
    body.bk-resource-article .single-article .bk-resource-overview { grid-template-columns: 80px minmax(0, 1fr); }
    body.bk-resource-article .bk-res-levels { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Textbooks whose text could not be summarised keep the cover at book size. */
body.bk-textbook-post .single-article .entry-content > figure.wp-block-image:first-child { max-width: 300px; margin-right: auto; margin-left: auto; }
body.bk-textbook-post .single-article .entry-content > figure.wp-block-image:first-child img { display: block; width: 100%; height: auto; border: 1px solid var(--rs-line); border-radius: var(--rs-r-sm); }
@media (max-width: 599px) { body.bk-textbook-post .single-article .entry-content > figure.wp-block-image:first-child { max-width: 62%; } }
body.bk-resource-article .bk-video-intro-full > .bk-intro-dup + * { margin-top: 0; }

/* 2.0.260: the edition label is the link to the topic (that edition's list);
   the dropdown beside it still switches season / resource within the topic.
   No arrow (owner's choice): hover colour and the tooltip mark it. */
body.bk-resource-article .bk-res-field-label.is-link { text-decoration: none; cursor: pointer; transition: color .15s, background-color .15s; }
body.bk-resource-article .bk-res-field:not(.is-current) .bk-res-field-label.is-link:hover { color: var(--rs-brand); background: var(--rs-brand-soft); }
body.bk-resource-article .bk-res-field.is-current .bk-res-field-label.is-link:hover { background: rgba(253, 76, 76, .16); }
body.bk-resource-article .bk-res-field-label.is-link:focus-visible { outline: 2px solid var(--rs-brand); outline-offset: -2px; }

/* 2.0.263: no download-rights block (title, per-level list, summary). */
body.single-post.bk-resource-article .single-article #download-box .download-rights { display: none !important; }

/* 2.0.267 computer episode rows: B2's own look — "01. 名称" in one piece,
   the play mark on the left, the current episode on a grey rounded fill
   (no white side bar). Text size (14px) and the full-width 44px rows that
   are clicked stay as they were; the rail head and range chips unchanged. */
@media (min-width: 1181px) {
    body.bk-ep-v2 .post-video-list .post-video-list-link { gap: 10px; border-radius: var(--rs-r-sm); color: #fff; }
    body.bk-ep-v2 .post-video-list .video-list-title[data-n]::before { content: none; }
    body.bk-ep-v2 .post-video-list .video-list-title span[data-n]::before { content: attr(data-n) ". "; }
    body.bk-ep-v2 .post-video-list .video-list-play-icon { order: 0; flex: 0 0 16px; margin: 0; color: #fff; }
    body.bk-ep-v2 .post-video-list li.picked .post-video-list-link { background: rgba(255, 255, 255, .16); color: #fff; }
    body.bk-ep-v2 .post-video-list li.picked .post-video-list-link::after { content: none; }
    body.bk-ep-v2 .post-video-list li.picked .video-list-play-icon { color: #fff; }
}

/* 2.0.271 download box, members: B2's "您当前的等级为 … 您已获得下载权限"
   was a dashed box with 16px margins and the buttons sat another 20px
   lower (~36px of empty space above 下载地址). It is now one quiet line
   under the file details, 12px above the buttons. */
body.single-post.bk-resource-article .single-article #download-box .download-current { order: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0 0 12px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--rs-muted); font-size: 13px; line-height: 1.6; }
body.single-post.bk-resource-article .single-article #download-box .download-current > span { margin: 0; }
body.single-post.bk-resource-article .single-article #download-box .download-current > div { display: inline-flex; align-items: center; margin: 0; font-size: 13px; }
body.single-post.bk-resource-article .single-article #download-box .download-current > div::before { content: "·"; margin-right: 6px; color: var(--rs-faint); }
body.single-post.bk-resource-article .single-article #download-box .download-current .green { color: var(--rs-text); }
body.single-post.bk-resource-article .single-article #download-box .download-current a { margin-left: 6px; color: var(--rs-brand); }
body.single-post.bk-resource-article .single-article #download-box .download-button-box { margin: 0 0 10px; }
/* 2.0.333: less empty space above "查看文件清单": the toggle sits 12px under
   the button like the other lines (was 10px + 4px + a 44px-tall row with the
   text centred, ~27px). Touch screens keep the 44px tap height. */
body.single-post.bk-resource-article .single-article #download-box .download-button-box { margin: 0; }
body.single-post.bk-resource-article .single-article #download-box .bk-file-toggle { margin: 0; }
@media (hover: hover) and (pointer: fine) {
    body.single-post.bk-resource-article .single-article #download-box .bk-file-toggle { min-height: 28px; margin-top: 6px; }
}

/* 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; }
}

/* bukids-member-cta */
/* 2.0.198: member prompts on resource articles (see assets/js/member-cta.js). */

/* 2.0.199: no flash of B2's original prompt. Until the script has handled a
   box, its content is invisible; a delayed animation brings it back after
   2.5 s in case the script never runs, so nothing can stay hidden. */
@keyframes bk-cta-reveal { to { visibility: visible; } }
.video-role-info:not([data-bk-cta]):not([data-bk-cta-skip]) > div,
.download-item.not-allow-down:not([data-bk-cta-checked]) .download-current,
.download-item.not-allow-down:not([data-bk-cta-checked]) .download-button-box {
    visibility: hidden;
    animation: bk-cta-reveal 0s linear 2.5s forwards;
}

/* Video lock: one clear line, one red button, one quiet login link. */
.video-role-info[data-bk-cta] .video-role-list[hidden],
.video-role-info[data-bk-cta] .video-view-button[hidden] { display: none !important; }
.video-role-info[data-bk-cta] .video-tips {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 8px;
    padding: 0 10px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 12px;
}
.video-role-info[data-bk-cta] .video-tips b { font-weight: 500; }
.video-role-info[data-bk-cta] p { margin: 0 0 16px; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.5; }
.bk-cta-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; }
.bk-cta-actions .bk-cta-join {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    height: 40px;
    padding: 0 20px;
    border-radius: var(--bk-ui-r-sm, 6px);
    background: var(--b2color, #fd4c4c);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    transition: background-color .16s ease-out;
}
.bk-cta-actions .bk-cta-join:hover { background: #e8403f; }
.bk-cta-actions .bk-cta-join:focus-visible,
.bk-cta-actions .bk-cta-login:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.video-role-info[data-bk-cta] .bk-cta-login { color: rgba(255, 255, 255, .82) !important; font-size: 13px; }
.video-role-info[data-bk-cta] .bk-cta-login:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* B2's "观看预览视频" (only when the video has a preview clip), as an outline button. */
.bk-cta-actions .bk-cta-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: var(--bk-ui-r-sm, 6px);
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .16s ease-out;
}
.bk-cta-actions .bk-cta-preview i { font-size: 18px; }
.video-role-info .bk-cta-actions .bk-cta-preview,
.video-role-info .bk-cta-actions .bk-cta-preview i { color: #fff !important; }
.bk-cta-actions .bk-cta-preview:hover { background: rgba(255, 255, 255, .12); }
.bk-cta-actions .bk-cta-preview:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Download box for visitors / non-members: what membership gives + the two actions. */
.download-item[data-bk-cta-locked] .download-current,
.download-item[data-bk-cta-locked] .download-button-box { display: none !important; }
.download-item .bk-cta-download {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--bk-ui-line-soft, #f0f2f5);
}
.download-item .bk-cta-download p { margin: 0; color: #475467; font-size: 14px; line-height: 1.6; }
.download-item .bk-cta-download .bk-cta-actions { justify-content: flex-end; }
.download-item .bk-cta-download .bk-cta-login { color: #475467 !important; font-size: 13px; }
.download-item .bk-cta-download .bk-cta-login:hover { color: var(--b2color, #fd4c4c) !important; }
.download-item .bk-cta-download .bk-cta-join:focus-visible { outline-color: var(--b2color, #fd4c4c); }
@media (max-width: 600px) {
    .download-item .bk-cta-download { flex-direction: column; align-items: stretch; }
    .download-item .bk-cta-download .bk-cta-actions { justify-content: space-between; }
    .download-item .bk-cta-download .bk-cta-join { flex: 1 1 auto; }
    .video-role-info[data-bk-cta] p { font-size: 15px; margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { .bk-cta-actions .bk-cta-join { transition: none; } }

/* 2.0.206: while the lock screen is shown, B2 still prints its own small
   "查看完整视频" chip in the top-left corner (meant for preview playback).
   It repeats the buttons in the middle, so hide it until the preview plays. */
.video-role-box:has(> .video-role-info.b2-show) > .video-role-title { display: none !important; }

/* 2.0.207: "已是会员？登录" always sits on its own line under the buttons,
   centred, on every screen — not next to "开通会员" when a video has no
   preview, or at the end of the row on tablets. */
.video-role-info[data-bk-cta] .bk-cta-actions { row-gap: 6px; }
.video-role-info[data-bk-cta] .bk-cta-actions .bk-cta-login {
    order: 9;
    flex: 0 0 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    text-align: center;
}

