/* Oxford–Hachette bilingual dictionaries — refined semantic edition */
html, body {
  margin: 0;
  padding: 0;
  background: #f3f5f7;
}

.ohd-entry {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 0 auto;
  padding: 1.25rem 1.2rem 1.7rem;
  color: #1f2a34;
  background: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: anywhere;
}

.ohd-entry *, .ohd-entry *::before, .ohd-entry *::after {
  box-sizing: border-box;
}

.ohd-header {
  margin: 0 0 1.05rem;
  padding: 0 0 .82rem;
  border-bottom: 1px solid #dfe5ea;
}

.ohd-headword {
  margin: 0;
  color: #14324a;
  font-family: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Noto Serif", serif;
  font-size: 2.02rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.022em;
}

.ohd-homograph {
  position: relative;
  top: -.25em;
  margin-left: .08em;
  color: #6d7e8b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .48em;
  font-weight: 700;
}

.ohd-pronunciation {
  margin-top: .35rem;
  color: #637381;
  font-family: "Charis SIL", "Doulos SIL", "Noto Sans", "Segoe UI Symbol", sans-serif;
  font-size: .94rem;
  line-height: 1.45;
  letter-spacing: .015em;
}

.ohd-variant-line {
  margin-top: .42rem;
  color: #52616d;
  font-size: .9rem;
}

.ohd-body, .ohd-pos-content, .ohd-sense-content, .ohd-example-content {
  min-width: 0;
}

.ohd-pos-block {
  margin: 0;
}

.ohd-pos-block + .ohd-pos-block {
  margin-top: 1.35rem;
  padding-top: 1.1rem;
  border-top: 1px solid #e4e9ed;
}

.ohd-pos-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .42rem;
  margin: 0 0 .68rem;
  min-height: 1.45rem;
}

.ohd-part-number {
  color: #73818c;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .06em;
}

.ohd-pos {
  display: inline-block;
  margin: 0;
  padding: .14rem .48rem .16rem;
  border-radius: .28rem;
  color: #ffffff;
  background: #214f70;
  font-size: .72rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.3;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.ohd-sense-list, .ohd-example-list {
  margin: 0;
}

.ohd-sense {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  column-gap: .52rem;
  align-items: start;
  margin: .62rem 0;
}

.ohd-sense-no,
.ohd-subsense-no {
  grid-column: 1;
  padding-top: .06rem;
  color: #147178;
  font-variant-numeric: tabular-nums;
  font-size: .84rem;
  font-weight: 780;
  line-height: 1.45;
  text-align: right;
}

.ohd-subsense-no {
  color: #788792;
  font-size: .8rem;
}

.ohd-sense-content {
  grid-column: 2;
}

.ohd-sense-content > .ohd-example-list,
.ohd-sense-content > div:has(> .ohd-example) {
  margin-top: .35rem;
}

.ohd-example {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  column-gap: .45rem;
  margin: .38rem 0 .38rem 1.1rem;
  padding: .43rem .62rem .48rem;
  border-left: 3px solid #c8d6df;
  border-radius: 0 .35rem .35rem 0;
  background: #f6f8fa;
}

.ohd-example-mark {
  grid-column: 1;
  padding-top: .05rem;
  color: #8195a3;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
}

.ohd-example-content {
  grid-column: 2;
}

.ohd-example-source {
  color: #10586b;
  font-weight: 620;
}

.ohd-example-target {
  color: #334451;
}

.ohd-translation-arrow {
  display: inline-block;
  margin: 0 .42em;
  color: #9aa7b1;
  font-size: .88em;
}

.ohd-label {
  display: inline-block;
  margin: 0 .15em .08em .1em;
  padding: .08em .38em .1em;
  border: 1px solid transparent;
  border-radius: .28rem;
  font-size: .69em;
  font-style: normal;
  font-weight: 720;
  line-height: 1.35;
  letter-spacing: .035em;
  vertical-align: .12em;
}

.ohd-label-domain {
  color: #315d7a;
  background: #edf4f8;
  border-color: #d4e3ec;
  text-transform: uppercase;
}

.ohd-label-region {
  color: #5d4b73;
  background: #f4f0f7;
  border-color: #ded5e7;
  text-transform: uppercase;
}

.ohd-label-register {
  color: #875318;
  background: #fff5e3;
  border-color: #efdcb8;
}

.ohd-label-grammar {
  color: #356447;
  background: #edf6f0;
  border-color: #d4e7da;
}

.ohd-cue {
  color: #66747f;
  font-style: italic;
}

.ohd-connector {
  color: #7b8790;
  font-size: .9em;
  font-style: italic;
}

.ohd-pattern {
  color: #174f61;
  font-style: normal;
  font-weight: 650;
}

.ohd-source-phrase {
  color: inherit;
  font-style: normal;
  font-weight: inherit;
}

.ohd-headword-mark {
  color: #c4663a;
  font-weight: 800;
}

.ohd-governance {
  color: #7b4d2d;
  font-size: .9em;
  font-weight: 650;
}

.ohd-strong,
.ohd-phrase {
  color: #273946;
  font-weight: 720;
}

.ohd-subsection-title {
  display: block;
  margin: 1.05rem 0 .55rem;
  padding: .38rem .58rem;
  border-left: 3px solid #25848a;
  background: #eef6f6;
  color: #175b60;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.ohd-usage-note,
.ohd-cultural-note {
  position: relative;
  margin: .75rem 0 .9rem;
  padding: 1.65rem .78rem .7rem;
  border: 1px solid #dbe3e8;
  border-radius: .42rem;
  background: #fbfcfd;
  color: #43525e;
  font-size: .93rem;
}

.ohd-usage-note::before,
.ohd-cultural-note::before {
  position: absolute;
  top: .48rem;
  left: .75rem;
  color: #4f7188;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ohd-usage-note::before { content: "Usage note"; }
.ohd-cultural-note::before { content: "Cultural note"; }

.ohd-crossref {
  margin-top: .55rem;
  padding: .42rem .58rem;
  border-radius: .35rem;
  background: #f1f4f6;
  color: #5b6872;
  font-size: .88rem;
}

.ohd-entry a {
  color: #176b83;
  text-decoration: none;
  border-bottom: 1px solid #b6d4de;
}

.ohd-entry a:hover {
  color: #0f5063;
  border-bottom-color: #4f91a5;
}

.ohd-entry blockquote {
  margin-block-start: 0;
  margin-block-end: 0;
}

.ohd-entry sup {
  line-height: 0;
}

.ohd-entry ::selection {
  color: #132733;
  background: #d8ebef;
}

@media (max-width: 520px) {
  .ohd-entry {
    padding: 1rem .88rem 1.35rem;
    font-size: 15.5px;
    line-height: 1.6;
  }
  .ohd-headword { font-size: 1.78rem; }
  .ohd-sense {
    grid-template-columns: 1.45rem minmax(0, 1fr);
    column-gap: .4rem;
  }
  .ohd-example {
    margin-left: .25rem;
    padding: .4rem .5rem .45rem;
  }
  .ohd-example-source,
  .ohd-example-target {
    display: block;
  }
  .ohd-translation-arrow {
    display: block;
    margin: .08rem 0;
    font-size: 0;
  }
  .ohd-translation-arrow::after {
    content: "↓";
    font-size: .75rem;
  }
}

@media (prefers-color-scheme: dark) {
  html, body { background: #11171c; }
  .ohd-entry { color: #e3e8ec; background: #182027; }
  .ohd-header { border-bottom-color: #34424d; }
  .ohd-headword { color: #d4e8f5; }
  .ohd-homograph, .ohd-pronunciation, .ohd-variant-line { color: #aab7c1; }
  .ohd-pos-block + .ohd-pos-block { border-top-color: #33404a; }
  .ohd-pos { color: #eff8ff; background: #2c668c; }
  .ohd-part-number { color: #a2aeb7; }
  .ohd-sense-no { color: #67c3c7; }
  .ohd-subsense-no { color: #a4afb7; }
  .ohd-example { background: #202a32; border-left-color: #526b7a; }
  .ohd-example-mark { color: #9eb1bd; }
  .ohd-example-source { color: #8ed4e4; }
  .ohd-example-target { color: #d6dde2; }
  .ohd-translation-arrow { color: #7f909b; }
  .ohd-label-domain { color: #a9d0e7; background: #213442; border-color: #3a5669; }
  .ohd-label-region { color: #d2c0e3; background: #30293a; border-color: #51445e; }
  .ohd-label-register { color: #efc982; background: #3b3020; border-color: #604c2c; }
  .ohd-label-grammar { color: #add5ba; background: #21362a; border-color: #3d5a47; }
  .ohd-cue, .ohd-connector { color: #abb7bf; }
  .ohd-pattern { color: #9bd2dd; }
  .ohd-headword-mark { color: #efa078; }
  .ohd-governance { color: #e1ae88; }
  .ohd-strong, .ohd-phrase { color: #e6edf2; }
  .ohd-subsection-title { color: #9bd9dc; background: #203236; border-left-color: #4ca4a8; }
  .ohd-usage-note, .ohd-cultural-note { color: #c8d1d8; background: #1d272e; border-color: #384752; }
  .ohd-usage-note::before, .ohd-cultural-note::before { color: #8fb5ca; }
  .ohd-crossref { color: #b5c1c9; background: #222c33; }
  .ohd-entry a { color: #89cade; border-bottom-color: #456f7c; }
  .ohd-entry ::selection { color: #f2f7fa; background: #345968; }
}

@media print {
  html, body, .ohd-entry { color: #111; background: #fff; }
  .ohd-entry { max-width: none; padding: 0; }
  .ohd-example { background: #fff; }
}
