@font-face {
  font-family: 'Source Sans Pro';
  font-weight: normal;
  font-style: normal;
  src: local('Source Sans 3 Regular'), local('SourceSans3-Regular'),
       url('fonts/SourceSans3-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-weight: normal;
  font-style: italic;
  src: local('Source Sans 3 Italic'), local('SourceSans3-Italic'),
       url('fonts/SourceSans3-It.otf') format('opentype');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-weight: bold;
  font-style: normal;
  src: local('Source Sans 3 Bold'), local('SourceSans3-Bold'),
       url('fonts/SourceSans3-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-weight: bold;
  font-style: italic;
  src: local('Source Sans 3 Bold Italic'), local('SourceSans3-BoldItalic'),
       url('fonts/SourceSans3-BoldIt.otf') format('opentype');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-weight: 600;
  font-style: normal;
  src: local('Source Sans 3 Semibold'), local('SourceSans3-Semibold'),
       url('fonts/SourceSans3-Semibold.otf') format('opentype');
}

@font-face {
  font-family: 'Source Sans Pro';
  font-weight: 600;
  font-style: italic;
  src: local('Source Sans 3 Semibold Italic'), local('SourceSans3-SemiboldItalic'),
       url('fonts/SourceSans3-SemiboldIt.otf') format('opentype');
}

@font-face {
  font-family: 'PingFang SC';
  font-weight: normal;
  font-style: normal;
  src: local('PingFang SC Regular'), local('PingFangSC-Regular'),
       url('fonts/PingFang SC Regular.otf') format('opentype');
}

@font-face {
  font-family: 'PingFang SC';
  font-weight: 600;
  font-style: normal;
  src: local('PingFang SC Semibold'), local('PingFangSC-Semibold'),
       url('fonts/PingFang SC Semibold.otf') format('opentype');
}

@font-face {
  font-family: 'HMSymbol';
  font-weight: normal;
  font-style: normal;
  src: local('HMSymbol'),
       url('fonts/HMSymbol.ttf') format('truetype');
}

@font-face {
  font-family: 'Doulos SIL';
  font-weight: normal;
  font-style: normal;
  src: local('Doulos SIL Regular'), local('DoulosSIL-Regular'),
       url('fonts/DoulosSIL-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Hiragino Kaku Gothic ProN';
  font-weight: 300;
  font-style: normal;
  src: local('Hiragino Kaku Gothic ProN W3'), local('Hiragino Kaku Gothic ProN'),
       url('fonts/Hiragino Kaku Gothic ProN W3.otf') format('opentype');
}

@color blue = #2967cc;
@color red = #FF6666;
@color exblue  = #003399;
@color thesaurus = #006633;
@color wordpartnership = #660033;
@color usage = #FF9900;
@color wordlink = #003366;
@color pragmatics = #666666;
@color wordweb = #CC3300;

:root {
  --blue: #2967cc;
  --red: #FF6666;
  --exblue: #003399;
  --thesaurus: #006633;
  --wordpartnership: #660033;
  --usage: #FF9900;
  --wordlink: #003366;
  --pragmatics: #666666;
  --wordweb: #CC3300;
}

html {
	display: block
}

table {
	display: block
}

head {
	display: none
}

meta {
	display: none
}

title {
	display: none
}

link {
	display: none
}

style {
	display: none
}

script {
	display: none
}

body {
	display: block;
	margin: 8px;
	color: black;
}

p {
	display: block;
	margin: 1.0em 0px
}

div {
	display: block
}

marquee {
	display: inline-block;
	overflow: -webkit-marquee
}

blockquote {
	display: block;
	margin: 1em 40px 1em 40px
}

hr {
	display: block;
	margin: 0.5em auto;
	border-style: inset;
	border-width: 1px
}

h1 {
	display: block;
	font-size: 2em;
	margin: .67em 0 .67em 0;
	font-weight: bold
}

h2 {
	display: block;
	font-size: 1.5em;
	margin: .83em 0 .83em 0;
	font-weight: bold
}

h3 {
	display: block;
	font-size: 1.17em;
	margin: 1em 0 1em 0;
	font-weight: bold
}

h4 {
	display: block;
	margin: 1.33em 0 1.33em 0;
	font-weight: bold
}

h5 {
	display: block;
	font-size: .83em;
	margin: 1.67em 0 1.67em 0;
	font-weight: bold
}

h6 {
	display: block;
	font-size: .67em;
	margin: 2.33em 0 2.33em 0;
	font-weight: bold
}

table {
	display: table;
	/*
	border-collapse: separate;
	border-spacing: 2px;
	border-color: gray
	*/
}

thead {
	display: table-header-group;
	/*
	vertical-align: middle;
	border-color: inherit
	*/
}

tbody {
	display: table-row-group;
	/*
	vertical-align: middle;
	border-color: inherit
	*/
}

tfoot {
	display: table-footer-group;
	/*
	vertical-align: middle;
	border-color: inherit
	*/
}

table > tr {
	/*
	vertical-align: middle;
	*/
}

col {
	display: table-column
}

colgroup {
	display: table-column-group
}

tr {
	display: table-row;
	/*
	vertical-align: inherit;
	border-color: inherit
	*/
}

td, th {
	display: table-cell;
	/*
	vertical-align: inherit
	*/
}

th {
	font-weight: bold
}

caption {
	display: table-caption;
	/*
	text-align: -webkit-center
	*/
}

ul, menu, dir {
	display: block;
	list-style-type: disc;
	margin: 1em 0 1em 0;
	-webkit-padding-start: 40px
}

ol {
	display: block;
	list-style-type: decimal;
	margin: 1em 0 1em 0;
	-webkit-padding-start: 40px
}

li {
	display: list-item
}

ul ul, ol ul {
	list-style-type: circle
}

ol ol ul, ol ul ul, ul ol ul, ul ul ul {
	list-style-type: square
}

dd {
	display: block;
	-webkit-margin-start: 40px
}

dl {
	display: block;
	margin: 1em 0 1em 0
}

dt {
	display: block
}

ol ul, ul ol, ul ul, ol ol {
	margin-top: 0;
	margin-bottom: 0
}

u, ins {
	text-decoration: underline
}

strong, b {
	font-weight: bolder
}

i, cite, em, var, address {
	font-style: italic
}

tt, code, kbd, samp {
	font-family: monospace
}

pre, xmp, plaintext, listing {
	display: block;
	font-family: monospace;
	white-space: pre;
	margin: 1em 0
}

big {
	font-size: larger
}

small {
	font-size: smaller
}

s, strike, del {
	text-decoration: line-through
}

sub {
	vertical-align: sub;
	font-size: smaller
}

sup {
	vertical-align: super;
	font-size: smaller
}

nobr {
	white-space: nowrap
}

a {
	color: var(--blue);
	text-decoration: underline
}

ruby {
	display: ruby;
}

rb {
	display: ruby-base;
}

rt {
	font-size: 0.667em;
	line-height: 1.0em;
	display: ruby-text;
	text-decoration: none;
}

rp {
	display: none;
}

map {
	display: none;
}

area {
	display: none;
}

body {
	margin-top: 0.5em;
	margin-bottom: 2em;
	font-family: "Source Sans Pro", "PingFang SC";
	line-height: 1.5em;
	color: black;
	vertical-align: baseline;
}

def {
}

defgrp {
	display: block;
}

defunit {
	display: block;
}

floatbox defunit {
	display: inline;
}

/* superentry */
superentry {
	display: block;
}

entry {
	display: block;
	margin-top: 1.5em;
}

entry:first-child {
	margin-top: 0em;
}

entry-index+entry {
	margin-top: 0em;
}

subentry {
	display: block;
	margin-top: 1em;
	margin-bottom: 0.5em;
}

/* blk */
hwblk {
	display: block;
}

datablk {
	display: block;
}

hwblk + datablk {
	margin-top: 0.5em;
}

infoblk {
	display: block;
}

subentryblk {
	display: block;
}

/* hwgrp */
hwgrp {
	display: block;
}

hw {
	font-weight: bold;
	font-size: 1.5em;
	color: red;
}

hw.altform {
	font-size: 1em;
	color: black;
}

hw.altspelling {
	font-size: 1em;
}

hwy {
	font-family: "HMSymbol";
}

hwu {
	text-decoration: underline;
}

hw-num {
	margin-right: 0.25em;
}

acup, aclw {
	font-weight: 400;
	padding: 0 0.05em;
}

audio {
	vertical-align: -0.333em;
}

img.audio {
	display: gaiji;
	height: 1.1em;
	vertical-align: -0.333em;
}

img.br {
	color: var(--blue);
	filter: invert(27%) sepia(76%) saturate(1965%) hue-rotate(205deg) brightness(95%) contrast(81%) !important;
}

img.am {
	color: var(--red);
	filter: invert(37%) sepia(70%) saturate(1529%) hue-rotate(331deg) brightness(135%) contrast(101%) !important;
}

/* prongrp */
pron {
	font-family: "Doulos SIL";
	word-break: keep-all;
}

pron a {
	text-decoration: none;
}

/* inflgrp */
infl {
	font-weight: bold;
}

/* pospgrp */
pospgrp {
	font-size: 0.833em !important;
}

pospunit {
	font-weight: bold;
	color: green;
	font-size: 1em !important;  /* 添加这行，相对于父元素 pospgrp */
}

posp a {
	text-decoration: none;
	color: green;
	font-size: 1em !important;  /* 添加这行，继承父元素大小 */
}

posp {
	word-break: keep-all;
	color: green;
	font-size: 1em !important;  /* 添加这行，继承父元素大小 */
}

lbcefrb {
	color: green;
}

lbcefrb a {
	color: green;
	text-decoration: none;
}

/* 将包含_PHRASE的链接改为绿色 */
a[href*="_PHRASE"] {
	color: green;
	text-decoration: none;
}

/* 将包含_PHRASAL的链接改为绿色 */
a[href*="_PHRASAL"] {
	color: green;
	text-decoration: none;
}

lb {
	font-size: 0.85em;
}

lb.thesaurus {
	margin-left: 1em;
}

lbfreq {
	font-family: "Hiragino Kaku Gothic ProN";
	font-size: 0.7em;
	vertical-align: 0.5em;
	color: red;
	word-break: keep-all;
	-webkit-user-select: none;
}

lbfreq a {
	text-decoration: none;
	color: red;
}

/* 修复 iOS 上 small-caps 导致的字体大小不一致 */
lbgeo, lbprag, lbregister, lbsubjfld, lbtm {
	font-variant: normal !important;
	text-transform: uppercase;
	font-size: 0.833em !important;
	word-break: keep-all;  /* 防止标签内容换行 */
}

/* 同时控制这些标签内的链接 */
lbgeo a, lbprag a, lbregister a, lbsubjfld a, lbtm a {
	text-decoration: none;
	color: black;
	font-size: inherit !important;
	word-break: keep-all;  /* 链接也不换行 */
}

lbmisc {
	font-size: 0.85em;
}

lbsyntax {
	word-break: keep-all;
	color: var(--exblue);
}

cefr {
	padding: 0.03em 0.08em;
	color: red;
	border-width: 1px;
	border-color: red;
	border-style: solid; 
	font-size: 0.75em;
	font-weight: 600;
	border-radius: 0.1em;
	-webkit-user-select: none;
}

/* exmplgrp */
exmplgrp {
	display: block;
}

section exmplgrp {
	display: inline;
}

exmplunit {
	display: block;
}

floatbox exmplunit {
	display: inline;
}

exmpl {
	font-style: italic;
	color: var(--exblue);
}

exmpl-start {
	color: var(--exblue);
}

exmplunit sense {
	display: block;
	margin-left: 1em;
}

tran {
	font-family: "PingFang SC";
	font-size: 0.85em;
	color: black;
}

exmplunit tran {
	display: block;
	margin-top: 0.25em;
}

/* drvgrp */
drvgrp {
	display: block;
	margin-top: 0.5em;
}

drv {
	font-size: 1.2em;
	font-weight: bold;
	color: red;
}

/* note */
note {
	display: block;
	border: solid 1.5px var(--blue);
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	padding: 0 0.5em 0.5em 0.5em;
}

/* text */
text {
	display: block;
}

/* floatbox */
floatbox {
	margin-top: 1.5em;
	padding: 0em 0.5em;
	display: block;
}

entry > floatbox:first-child {
	margin-top: 1em;
}

float-title {
	margin-left: -0.5em;
	padding: 0.25em 1em 0.25em 0.5em;
	border: none;
	color: red;
	font-weight: 600;
	-webkit-border-bottom-right-radius: 0.5em;
}

float-body {
	display: block;
	margin-top: 0.5em;
}

floatbox hw {
	font-weight: 600;
	font-size: 1.2em;
}

float-desc hw {
	font-size: 1.5em;
}

/* thesaurus */
floatbox.thesaurus {
	border: solid 2px var(--thesaurus);
}

float-title.thesaurus {
	background-color: var(--thesaurus);
	border: solid 0.5px var(--thesaurus);
}

/* wordpartnership */
floatbox.wordpartnership {
	border: solid 2px var(--wordpartnership);
}

float-title.wordpartnership {
	background-color: var(--wordpartnership);
	border: solid 0.5px var(--wordpartnership);
}

/* usage */
floatbox.usage {
	border: solid 2px var(--usage);
}

float-title.usage {
	background-color: var(--usage);
	border: solid 0.5px var(--usage);
}

/* wordlink */
floatbox.wordlink {
	border: solid 2px var(--wordlink);
}

float-title.wordlink {
	background-color: var(--wordlink);
	border: solid 0.5px var(--wordlink);
}

/* pragmatics */
floatbox.pragmatics {
	border: solid 2px var(--pragmatics);
}

float-title.pragmatics {
	background-color: var(--pragmatics);
	border: solid 0.5px var(--pragmatics);
}

/* wordweb */
floatbox.wordweb {
	border: solid 2px var(--wordweb);
}

float-title.wordweb {
	background-color: var(--wordweb);
	border: solid 0.5px var(--wordweb);
}

/* pronunciation */
floatbox.pronunciation {
	margin-bottom: 1em;
	border: solid 2px var(--blue);
}

float-title.pronunciation {
	background-color: var(--blue);
	border: solid 0.5px var(--blue);
}

/* audio */
floatbox.audio {
	border: solid 2px var(--blue);
}

float-title.audio {
	background-color: var(--blue);
	border: solid 0.5px var(--blue);
}

/* style9 */
floatbox.style9 {
	padding: 1em 0.5em 0.5em 0.5em;
	border: solid 2px var(--blue);
	-webkit-border-radius: 0.5em;
}

float-title.style9 {
	display: block;
	margin-left: 0;
	padding: 0;
	text-align: center;
}

float-title-text {
	padding: 0.2em 1em;
	font-weight: 600;
	color: red;
	border: solid 2px red;
	background-color: white;
	-webkit-border-radius: 0.5em;
}

head2 {
	font-weight: bold;
}

part {
	display: block;
}

part + part {
	margin-top: 0.5em;
}

collgrp {
	display: block;
}

/* table */
td.pospgrp {
	width: 50px;
}

td pospgrp {
	font-size: 0.833em !important;
}

text.wordlink exmpl {
	color: black;
}

text.wordlink {
	font-weight: 600;
	font-style: italic;
}

text.wordlink exmpl rf {
	color: var(--blue);
}

/* labels */

phrgrp {
	display: block;
}

gramcat {
	display: block;
	margin-top: 0.5em;
}

gramcat:first-child {
	margin-top: 0em;
}

sensecat {
	display: block;
}

sensecat.inline {
	display: inline;
}

section {
	display: block;
}

section + section {
	margin-top: 0.5em;
}

section exmplunit {
	display: inline;
}

c {
	font-weight: 600;
}

r {
	font-weight: normal;
}

rf {
	font-weight: 600;
}

s {
	font-weight: 600;
	text-decoration: none;
}

gram-num {
	padding: 0.05em 0.15em;
	color: white;
	background-color: var(--blue);
	font-size: 1em;
	font-weight: 600;
	-webkit-user-select: none;
}

syngrp {
}

synunit {
}

syn {
	font-weight: 600;
}

xrefgrp {
}

xrhw {
	font-weight: 600;
}

xrhn {
	font-size: 0.8em;
}

xrparent {
	font-weight: 600;
}

xrsns {
	margin: 0em 0.25em;
	padding: 0.125em 0.125em;
	color: var(--blue);
	border: solid 1px var(--blue);
	font-size: 0.9em;
}

floatbox xrsns {
	margin: 0;
	padding: 0.05em 0.15em;
	font-weight: 600;
	color: white;
	background-color: var(--blue);
	border: none;
}

floatbox xrsns<a {
	text-decoration: none;
}

xrsp {
	text-decoration: none;
}

entry-index {
	display: none;
	margin: 0em 0.25em;
	padding: 0.125em 0.125em;
	border-width: 1px;
	border-color: var(--blue);
}

entry-index a {
	display: block;
}

entry-label {
	display: block;
	font-size: 0.9em;
}

text {
	display: block;
}

img.audio {
	margin: 0em 0.25em;
	height: 1em;
}

l {
	font-style: italic;
}

entry-index {
	display: inline-flex;
	flex-wrap: wrap;
	border: solid .5px #666666;
	border-radius: 0.2em;
	margin: 0 .5em .75em .5em;
	gap: .25em 0;
	padding: .25em;
}

entry-index {
	position: -webkit-sticky;
	position: static;
	/* top: 0; */
	/* z-index: 100; */
	background-color: white;
}

entry-index a {
	text-decoration: none;
	color: black;
	flex: 0 1 auto;
	padding: 0 .3em;
	border-right: 1px solid #e0e0e0;
}

entry-index a:last-child {
	border-right: none;
}

entry-index:empty {
	display: none;
}

rr {
	border: solid 1px black;
	border-radius: 0.1em;
	padding: 0;
}

list {
	display: block;
	margin: 0 auto;
	padding: .5em 1em;
}

list name {
	display: block;
	color: #666666;
	font-size: 1.2em;
	padding: .5em 0;
}

children {
	display: block;
}

children name {
	display: block;
	padding: .5em 0;
	margin-left: 1em;
	font-size: 1em;
}

list a {
	color: black;
	text-decoration: none;
	display: block;
}

list a:hover {
	text-decoration: none;
}

list > name:empty {
	padding: 0;
	border: none;
	height: 1em;
	background-color: whitesmoke;
}


details li {
	list-style-type: decimal;
}

details example {
	list-style-type: decimal;
	margin-left: inherit;
}

details li a {
	text-decoration: none;
}

list name hwblk note {
  display: none;
}

/* ========================================
   欧路词典 · Collins 词头修正
   ======================================== */

/* 关闭词头音节划分 */
hwblk hwy {
  display: none !important;
}

/* 关闭派生词中的音节划分 */
drv hwy {
  display: none !important;
}

/* Collins / 欧路:移除例句中的星号,但保留圆点 */
exmpl-start {
  font-size: 0 !important;
}

exmpl-start:before {
  content: '•';
  font-size: 15px;
}

/* 修改idiom例句字体颜色，只影响 def 内的 rf 链接，不影响其他地方 */
li > a def,
li > a def *,
gramcat def,
gramcat def * {
	color: black !important;
}