@font-face {
  font-family: lm6font;
  src: local("SourceSansPro"),
    url(fonts/SourceSansPro-Regular.ttf) format("truetype");
  font-weight: 400;
}

@font-face {
  font-family: lm6font;
  src: local("Vollkorn-Italic"),
    url(fonts/Vollkorn-Italic.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: lm6font;
  src: local("SourceSansPro-SemiBold"),
    url(fonts/SourceSansPro-SemiBold.ttf) format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: lm6font;
  src: local("Vollkorn-SemiBoldItalic"),
    url(fonts/Vollkorn-SemiBoldItalic.ttf) format("truetype");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: lm6font;
  src: local("Vollkorn-Bold"), url(fonts/Vollkorn-Bold.ttf) format("truetype");
  font-weight: 700;
}
@font-face {
  font-family: lm6font;
  src: local("Vollkorn-BoldItalic"),
    url(fonts/Vollkorn-BoldItalic.ttf) format("truetype");
  font-weight: 700;
  font-style: italic;
}

.spokensect,
.entryhead,
.sense,
.entry > .tail,
.Tail.entryk,
.category,
.phrvbentry {
  /* :root { */
  --hw: hsl(224, 68%, 36%);
  --darkred: darkred;
  --black: #222;
  --white: white;
  --gray: #808080;
  --btn-blue: #045fb4;
  --gray-blue: hsl(221, 37%, 56%);
  --head-red: hsla(358, 81%, 43%, 0.8);
  --teal: teal;
  --purple: rebeccapurple;
  --linear: linear-gradient(
    to bottom,
    hsla(224, 22%, 50%, 0) 5%,
    hsla(224, 22%, 50%, 0.25) 10%,
    hsla(224, 22%, 50%, 0.15) 30%,
    hsla(224, 22%, 50%, 0.15) 70%,
    hsla(224, 22%, 50%, 0.25) 90%,
    hsla(224, 22%, 50%, 0) 95%
  );
}

*[data-theme="dark"] .entryhead,
*[data-theme="dark"] .sense,
*[data-theme="dark"] .phrvbentry,
*[data-theme="dark"] .spokensect,
*[data-theme="dark"] .category,
*[data-theme="dark"] .tail,
.sense[data-theme="dark"],
.category[data-theme="dark"],
.Tail.entryk[data-theme="dark"],
.phrvbentry[data-theme="dark"] {
  --hw: hsl(211, 82%, 78%);
  --darkred: hsl(0, 65%, 55%);
  --black: hsl(60, 8%, 83%);
  --white: hsl(0, 0%, 0%);
  --gray: hsl(60, 5%, 60%);
  --btn-blue: hsl(209, 50%, 70%);
  --gray-blue: hsl(211, 30%, 60%);
  --head-red: hsla(358, 75%, 60%, 0.9);
  --teal: hsl(180, 40%, 60%);
  --purple: hsl(270, 35%, 65%);
  --linear: linear-gradient(
    to bottom,
    hsla(224, 42%, 100%, 0) 5%,
    hsla(224, 42%, 100%, 0.25) 10%,
    hsla(224, 42%, 100%, 0.15) 30%,
    hsla(224, 42%, 100%, 0.15) 70%,
    hsla(224, 42%, 100%, 0.25) 90%,
    hsla(224, 42%, 100%, 0) 95%
  );
}

* {
  word-wrap: break-word !important;
  color: inherit;
  font-family: lm6font, "Times New Roman", Times, sans-serif, Microsoft Yahei,
    Arial, BlinkMacSystemFont, -apple-system;
}

.spokensect,
.entryhead,
.sense,
.entry,
.tail,
.category,
.phrvbentry {
  font-size: 16.3px;
  line-height: 1.5em;
  color: var(--black);
  display: block;
}
td,
th {
  color: inherit !important;
}
img[src*="spkr_"] {
  filter: grayscale(30%) brightness(1.2);
  max-height: 0.7em;
  margin-bottom: -1px;
  margin-right: 2px;
}
*[data-theme="dark"] img[src*="spkr_"] {
  filter: grayscale(60%) brightness(1.8);
}
img[src*="spkr_g"] {
  filter: grayscale(100%) brightness(2.2);
  max-height: 0.65em;
  margin-bottom: 0;
}
*[data-theme="dark"] img[src*="spkr_g"] {
  filter: grayscale(100%) brightness(1.5);
}

a {
  font-weight: 600;
  font-size: 100%;
  text-transform: lowercase;
  color: var(--hw);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.abbr {
  font-weight: 600;
}

.ac {
  padding: 0 2.5px;
  border-radius: 4px;
  border-style: solid;
  border-width: 1px;
  font-variant: small-caps;
  font-size: 0.7em;
  font-weight: 600;
  color: var(--btn-blue);
}
.amequiv,
.brequiv {
  font-weight: 700;
  color: var(--hw);
}
.collo {
  font-weight: 600;
  display: inline;
}
.gramexa,
.colloexa {
  display: block;
  margin: 0.2em 0 0.2em 1em;
  position: relative;
}
.gramexa::after,
.colloexa::after {
  content: " ";
  position: absolute;
  left: -9px;
  top: 0px; /* 距离顶部 5px */
  bottom: 0px; /* 距离底部 10px */
  width: 3px;
  background: var(--linear);
}

.colloinexa {
  font-style: normal;
  font-weight: 600;
}
.comp {
  font-weight: 600;
}
.deriv span {
  font-weight: 400;
  color: var(--gray);
}
.deriv {
  font-weight: 700;
  font-size: 105%;
  color: var(--hw);
}
.errorbox {
  display: block;
}

.etymsense {
  display: block;
}

.etymrefhwd {
  font-style: italic;
}
.etymrefhom {
  font-size: 80%;
  vertical-align: super;
  font-style: normal;
}
.etymorigin {
  font-style: italic;
}
.etymtran {
  font-weight: 600;
}
.etymbox {
  margin-top: 0.2em;
  display: inline;
}
.example {
  display: block;
  font-style: normal;
  display: block;
  font-size: 0.95em;
  margin-left: 1em;
  color: var(--gray);
}

.gramexa .example,
.colloexa .example {
  margin-left: 0;
}
ul.exas {
  margin: 0.2em 0;
  padding-left: 1em;
  font-size: 0.98em;
}
.exas li {
  margin-bottom: 0.15em;
}
.freq {
  display: inline-block;
  line-height: 1em;
  padding: 0 4px;
  border-radius: 4px;
  color: var(--purple);
  border: 1px solid var(--purple);
  font-variant: small-caps;
  font-size: 80%;
  font-weight: 600;
}
.level {
  vertical-align: -0.07em;
  color: var(--darkred);
}
.fullform {
  font-weight: 600;
}
.geo,
span.geo {
  margin: 0 0.2em;
  font-weight: normal;
  font-style: italic;
  color: var(--purple);
}
.gloss,
.collgloss {
  font-weight: normal;
  font-style: normal;
}

.gram {
  color: var(--teal);
  font-size: 0.95em;
  margin: 0 2px 0 4px;
  font-style: italic;
}
.hint600 {
  font-weight: 600;
}
.hintitalic {
  font-style: italic;
}
.homnum {
  vertical-align: super;
  font-size: 8pt;
  color: var(--hw);
  font-weight: 600;
  margin-left: 1px;
}

.entryhead {
  display: block;
  position: relative;
  margin-bottom: 0.35em;
}
.phrvbentry .entryhead {
  margin-bottom: 0.05em;
}
.hwd,
.hyphenation {
  font-weight: 700;
  font-size: 1.2em;
  color: var(--hw);
}
.hyphenation {
  display: none;
}
.frequent {
  color: var(--hw);
}
.sense .lexunit {
  font-weight: 600;
  margin-right: 0.25em;
}
.lexvar {
  font-weight: 600;
}
.linkword {
  font-style: italic;
}
object {
  font-weight: normal;
}
.opp {
  font-weight: 700;
  color: var(--hw);
}
.orthvar {
  font-weight: 700;
  color: var(--hw);
}
.pastpart {
  font-weight: 600;
}
.pasttense {
  font-weight: 600;
}
.phrvbhwd {
  font-weight: 700;
  font-size: 1.05em;
  color: var(--hw);
}
.phrvbhwd::before {
  content: "-";
  margin-right: 0.5em;
}
.phrvbentry.entryk .phrvbhwd {
  font-size: 1.2em;
}
.phrvbentry.entryk .phrvbhwd::before {
  content: "";
  margin-right: 0;
}
.pluralform {
  font-weight: 600;
}
.pos {
  font-style: italic;
  color: var(--darkred);
  font-weight: 600;
  font-size: 0.9em;
  margin: 0 0.2em;
}
.prespart {
  font-weight: 600;
}

.propform,
.propformprep {
  font-weight: 600;
  display: inline-block;
}

.ptandpp {
  font-weight: 600;
}
.refhomnum {
  vertical-align: super;
  font-size: 60%;
  margin-left: 1px;
}
.refhwd {
  font-weight: 700;
  font-size: 100%;
  text-transform: lowercase;
  color: var(--hw);
}
.refsensenum {
  font-size: 90%;
}
.reflex {
  font-weight: 600;
}
.registerlab {
  font-style: italic;
  color: var(--purple);
}
.relatedwd {
  font-weight: 700;
  color: var(--hw);
}
.runon {
  display: block;
  margin-top: 2px;
}
.sense {
  display: block;
}
.sense ~ .sense {
  margin-top: 0.5em;
}

.subsense {
  display: block;
  margin: 0 0 0.4em 0.5em;
}

.signpost {
  display: inline;
  color: var(--white);
  background-color: var(--gray-blue);
  margin-left: 0.1em;
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: 600;
  padding: 1px 4px;
  border-radius: 5px;
}
.usagebox .heading.newline,
.grambox .heading.newline,
.f2nbox .heading.newline,
.subheading,
.secheading {
  margin-left: 0em;
  text-transform: none;
  color: var(--head-red);
  font-weight: 600;
  text-transform: capitalize;
}
.spokensect {
  display: block;
  margin-top: 0.6em;
}
.spokensecthead {
  display: block;
  margin-left: 1em;
  position: relative;
  color: var(--head-red);
  font-weight: 600;
}
.expandable > .arrow {
  display: inline-block;
  width: 1em;
  position: relative;
  font-weight: 600;
}

.arrow1,
.arrow2,
.spokensecthead::after,
.spokensecthead::before {
  content: "";
  width: 9px;
  height: 1px;
  background-color: var(--black);
  transition: 0.4s;
  position: absolute;
  top: 50%;
  left: -1em;
  transform: translateY(-50%);
}
.arrow1,
.arrow2 {
  top: -5px;
  left: 0;
}
.arrow1,
.spokensecthead::before {
  transform: rotate(-90deg);
}
.expandable.opened .arrow1,
.spokensecthead.opened::before {
  opacity: 0;
  transform: rotate(0);
}

.pronstrong {
  font-style: italic;
}
.proncodes {
  user-select: none;
  cursor: pointer;
}
.superl {
  font-weight: 600;
}

.t3perssing {
  font-weight: 600;
}
span.neutral {
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-decoration: none;
}
.cross {
  color: var(--darkred);
  font-weight: 600;
}
span.italic {
  font-style: italic;
  font-weight: normal;
}
.badexa {
  text-decoration: line-through;
  font-style: italic;
}
.hint .expl {
  display: inline;
}
span.infllab {
  font-style: italic;
  font-weight: normal;
}
span.warning {
  font-style: normal;
  font-weight: 600;
  font-size: 0.8em;
  color: var(--darkred);
}
.sensenum {
  vertical-align: 1px;
  text-align: center;
  margin-right: 0.5em;
  font-weight: 700;
  color: var(--darkred);
  border-radius: 2em;
  font-size: 0.95em;
  user-select: none;
}

.at-link .sensenum {
  display: inline-block;
  margin-right: 0;
  width: 1.3em;
  text-align: left;
}
.at-link .signpost {
  margin-left: 0;
}
.syn {
  font-weight: 700;
  color: var(--hw);
  vertical-align: 0.03em;
}
.synopp {
  padding: 0 3px;
  border-radius: 5px;
  font-variant: small-caps;
  font-size: 0.75em;
  font-weight: 600;
  color: var(--white);
  background-color: var(--btn-blue);
  margin-left: 2px;
}

.phrase,
.collocate,
.exponent {
  display: block;
  margin-bottom: 0.3em;
}
.collocate.inline {
  display: inline;
}

.exp {
  font-weight: 600;
}
.expr {
  font-weight: 600;
}
.colloc.key {
  color: var(--btn-blue);
}
span.keycollo {
  font-weight: 600;
  color: var(--btn-blue);
}
.thespropform {
  font-weight: 600;
}
.goodcollo {
  font-weight: 600;
}
.badcollo {
  text-decoration: line-through;
}
.def600 {
  font-weight: 600;
}
.thesref.newline {
  display: block;
}
.heading.newline {
  display: block;
}
.thesref span.thesaurus {
  font-weight: 600;
  font-size: 0.8em;
  color: var(--gray-blue);
  text-transform: uppercase;
}

.thesref .refhwd,
.thesref .refhomnum {
  color: var(--hw);
  font-weight: 700;
}
i {
  font-style: normal;
}
.imgholder {
  cursor: pointer;
  display: block;
  margin-top: 0.5em;
  padding: 0 0.1em;
  clear: both;
  float: right;
}
.imgholder img {
  max-width: 6em;
}
.buttons {
  display: block;
}
.popup-button {
  display: inline;
  font-weight: 600;
  font-size: 0.75em;
  border-radius: 3px;
  padding: 1px 3px;
  margin-right: 3px;
  border: 1px dotted var(--btn-blue);
  text-transform: uppercase;
  text-decoration: none;
  background-color: transparent;
  color: var(--btn-blue);
}
.popup-button.clicked {
  background-color: var(--btn-blue);
  color: var(--white);
}

.verbtable .lemma {
  display: none;
  color: var(--darkred);
  font-size: 120%;
  font-weight: 600;
}
table {
  border-collapse: collapse;
  border-spacing: 1px;
  margin: 0.4em 0;
  width: 100%;
  color: var(--black) !important;
}
table + table {
  margin-top: 1.2em;
}
.verbtable td {
  padding: 0 2px 0 2px;
}
tbody {
  border-top: 1.5px solid var(--gray);
  border-bottom: 1.5px solid var(--gray);
}
td.header {
  text-align: center;
  font-weight: 600;
  border-bottom: 1px solid var(--gray);
}
.header {
  font-weight: 600;
  font-variant: small-caps;
}
.verbtable td.col1 {
  font-weight: 600;
}
.verbtable td.col2 {
  font-style: normal;
}
.verbtable .geo {
  font-style: italic;
  font-size: 100%;
  font-weight: normal;
}
.verbtable .aux {
  font-weight: normal;
}
.verbtable .verb_form {
  color: var(--darkred);
  font-weight: 600;
}
.colloc {
  font-weight: 600;
}
.collocations .last {
  margin-bottom: 2px;
}
.collocations .colloc {
  display: block;
  font-weight: 600;
}
.exas li::marker {
  content: "";
}
.exas li::before {
  content: "•";
  margin-left: -12px;
  margin-right: 8px;
  color: var(--gray);
}
.colloboxheading {
  font-size: 0.95em;
  font-weight: 600;
}
/* .collobox,
.thesbox, */
.at-link,
.usagebox,
.grambox,
.f2nbox {
  border-radius: 8px;
  display: block;
  margin-bottom: 1ex;
  clear: both;
  margin-top: 1ex;
  -webkit-border-radius: 5px;
  border: solid var(--gray-blue) 1px;
  padding: 6px 8px 6px 10px;
}
.at-link {
  display: none;
}
/* .collobox .heading,
.thesbox .heading, */
.popverbs,
.popheader,
.usagebox > .heading,
.grambox > .heading,
.f2nbox > .heading {
  cursor: pointer;
  color: var(--btn-blue);
  display: block;
  font-weight: 600;
  margin-bottom: 0.2em;
  user-select: none;
}

.heading.closed {
  margin-bottom: 0;
}
.popverbs,
.popheader {
  text-transform: uppercase;
}
.section {
  display: block;
  margin-bottom: 0.2em;
}
.section + .section {
  margin-top: 0.8em;
}
.last {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}
.expl,
.compareword {
  display: block;
  margin: 0.2em 0 0.3em 0;
}
.expl + .expl,
.compareword + .compareword {
  display: block;
  margin-top: 0.8em;
}
.gramrefcont {
  display: none;
  text-transform: lowercase;
  font-variant: small-caps;
  padding-left: 3px;
  padding-bottom: 1px;
}
.thesaurus .sense {
  padding-left: 3px;
  padding-right: 3px;
  margin-top: 0;
}

.add_exa {
  font-style: italic;
  display: block;
}
.nodeword {
  font-weight: 600;
}
.phrase {
  display: block;
}

.expandable {
  display: block;
  user-select: none;
  cursor: pointer;
}
.expandable > * {
  font-weight: 400;
}
.expandable.opened > * {
  font-weight: 600;
}
.phrase > .phrasetext {
  position: relative;
  display: block;
  margin-left: 1.2em;
}
.phrase > .phrasetext::before {
  content: "·";
  position: absolute; /* 关键：允许伪元素独立定位 */
  left: -1.03em;
}
.expandable.opened + .content li {
  color: var(--gray);
}
.content {
  margin-bottom: 0.4em;
}
.content {
  display: none;
}
.group {
  display: block;
}

.item {
  display: block;
}
.group .pos {
  display: inline;
  margin-right: 0.8em;
  font-size: 0.98em;
}
.group .pos::after {
  content: ":";
}
.w {
  display: inline;
  font-weight: 700;
  font-size: 0.98em;
  color: var(--hw);
  margin-right: 0.4em;
}
.ws-head {
  font-weight: 700 !important;
  color: var(--btn-blue);
  font-size: 1.05em;
}
.ws-head.ref {
  display: block;
  margin-top: 2px;
}
.ws-head a {
  font-weight: 700;
}

.wswd {
  font-weight: 600;
  display: block;
}

.menuitem {
  display: block;
}

.grammar {
  display: block;
}
.str {
  font-size: large;
  font-weight: 600;
}
.etymology {
  margin-top: 2px;
}
.group {
  margin-top: 2px;
}
.entrymenu .signpost,
.entrymenu .phrv,
.entrymenu .lexunit {
  cursor: pointer;
}
.phrvbs {
  display: block;
  margin-top: 0.5em;
}
.phrvbs .heading {
  display: block;
  color: var(--darkred);
  font-weight: 600;
}
.phrvbs .menuitem {
  margin-left: 0.75em;
}
.sense .phrv {
  font-weight: 600;
}

.entry + .entry,
.verbtable + .verbtable {
  margin-top: 1em;
}
.no-sound {
  display: none;
}

.popup-button,
span[onclick*="toggle"] {
  user-select: none;
  cursor: pointer;
}
.hs0:before {
  content: "·";
}

.dict-faq img[src*="cover"] {
  max-height: 8em;
}

.entryk:not(:first-of-type) {
  margin-top: 1.5em;
}
.Tail.entryk {
  margin-top: 0.5em;
}
.phrvbentry {
  margin-top: 1.2em;
}
.phrvbentry.entryk {
  margin-top: 0;
}

.chwd {
  display: none;
}

.defcn,
expcn,
.collocn,
explcn,
.gramcn {
  display: none;
  margin-left: 5px;
  font-size: 0.9em;
}
