/* WordSmyth dictionary theme. All entry-facing rules are scoped to .maindiv.  */
.maindiv,
.root_data {
  --ws-blue: blue;
  --ws-navy: navy;
  --ws-violet: slateblue;
  --ws-violet-dark: #6557a8;
  --ws-green: green;
  --ws-muted: #687385;
  --ws-line: #e0e0e0;
  --ws-soft: #faf8ff;
  box-sizing: border-box;
  display: block;
  clear: both;
  max-width: 100%;
  color: var(--ws-navy);
  background: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.maindiv *,
.maindiv *::before,
.maindiv *::after,
.root_data *,
.root_data *::before,
.root_data *::after { box-sizing: inherit; }

.maindiv a,
.root_data a { color: var(--ws-violet); text-decoration: none; }
.maindiv a:hover,
.maindiv a:focus,
.root_data a:hover,
.root_data a:focus { color: var(--ws-blue); text-decoration: none; }
.maindiv strong,
.root_data strong { font-weight: 600; }
.maindiv img,
.maindiv object,
.root_data img,
.root_data object { max-width: 100%; border: 0; }
.maindiv .syl .spel,
.maindiv .spel .syl { display: none; }
.maindiv .search_res { background: #fbfc89; }

/* Headword and compact entry index. */
.maindiv .headtitle {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-bottom: 1px dashed var(--ws-line);
  background: #fff;
}
.maindiv .headtitle td { padding: 8px 12px 6px; }
.maindiv .headtitle td.spacer { display: none; }
.maindiv .headword {
  display: inline;
  margin: 0;
  padding: 0;
  color: var(--ws-blue);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}

.maindiv .mainlist {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: .55em;
  row-gap: .18em;
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px dashed var(--ws-line);
  background: var(--ws-soft);
  font-size: .9rem;
}
.maindiv .mainlist > dt,
.maindiv .mainlist > dd {
  float: none;
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.maindiv .mainlist > dt {
  clear: both;
  color: #555;
  font-weight: 600;
  white-space: nowrap;
}
.maindiv .mainlist > dd { color: var(--ws-navy); }
.maindiv .mainlist > dd a { font-weight: 600; }
.maindiv .mainlist .pron_dd,
.maindiv .maintable .pronunciation .data {
  color: #555;
  font-family: Tahoma, "Segoe UI", sans-serif;
}
.maindiv .stress1 { font-style: normal; font-weight: 600; text-decoration: underline; }
.maindiv .stress2 { font-style: normal; font-weight: 600; text-decoration: none; }
.maindiv .stress0 { font-style: normal; font-weight: 400; text-decoration: none; }
.maindiv a.small { font-size: .72em; vertical-align: .2em; }

/* Parts of speech, definitions, examples and relation lists. */
.maindiv .maintable {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.maindiv .maintable td {
  min-width: 0;
  padding: .18em 14px;
  border: 0;
  vertical-align: top;
}
.maindiv .maintable td.title {
  width: 2.25em;
  padding-right: 0;
  padding-left: 12px;
  text-align: left;
}
.maindiv .maintable td.data { padding-left: .55em; }
.maindiv .maintable .postitle td {
  padding-top: .72em;
  padding-bottom: .42em;
  border-top: 1px dashed var(--ws-line);
  background: #fff;
}
.maindiv .maintable .postitle:first-child td { border-top: 0; }
.maindiv .maintable .postitle td.data a {
  color: var(--ws-blue);
  font-size: 1.14rem;
  font-weight: 600;
  line-height: 1.25;
}
.maindiv .maintable .postitle td.title a { color: var(--ws-violet); font-weight: 600; }
.maindiv .maintable .definition td { padding-top: .34em; padding-bottom: .34em; }
.maindiv .maintable .definition td.data { color: var(--ws-navy); }
.maindiv .maintable .definition td.title > a[title="definitions and examples"] {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: flex-end;
  width: auto;
  min-width: 1em;
  height: 1.4em;
  padding: 0 .1em 0 0;
  border-radius: 0;
  background: transparent;
  color: var(--ws-violet);
  font-size: .88em;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
/* The source writes definition numbers as "1:", "2:", etc. Keep the number
   and interaction intact, but cover only the trailing colon in dictionary UI.
   Whitespace-only labels stay visually empty because the link has no fill. */
.maindiv .maintable .definition td.title > a[title="definitions and examples"]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: .06em;
  width: .28em;
  height: 1em;
  background: #fff;
  transform: translateY(-50%);
  pointer-events: none;
}

.maindiv .maintable .data > em,
.root_data em {
  display: table;
  position: relative;
  margin: .2em 0 .2em .3em;
  padding-left: 1em;
  color: var(--ws-green);
  font-style: italic;
}
.maindiv .maintable .data > em::before,
.root_data em::before {
  content: "●";
  position: absolute;
  top: .05em;
  left: 0;
  color: #a7a7a7;
  font-size: .58em;
  font-style: normal;
}
.maindiv em.picaudio::after { content: "\274f"; padding-left: 6px; }

.maindiv .maintable .definition .data > dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: .14em .45em;
  margin: .55em 0 .15em;
  padding: .42em .65em;
  border: 0;
  border-left: 3px solid var(--ws-violet);
  border-radius: 0 4px 4px 0;
  background: var(--ws-soft);
  font-size: .92rem;
}
.maindiv .maintable .definition .data > dl dt,
.maindiv .maintable .definition .data > dl dd {
  float: none;
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.maindiv .maintable .definition .data > dl dt {
  clear: both;
  color: #3d365f;
  font-weight: 600;
  white-space: nowrap;
}
.maindiv .maintable .definition .data > dl dt a { color: #3d365f; font-weight: 600; }
.maindiv .maintable .definition .data > dl dd a { color: var(--ws-violet); }
.maindiv .maintable .spanish,
.maindiv .maintable .spanish em { color: #bf1e2e; }

.maindiv .maintable tr:not(.definition):not(.postitle):not(.spacer) td {
  padding-top: .3em;
  padding-bottom: .3em;
}
.maindiv .tagg {
  display: inline-block;
  margin-right: .45em;
  color: var(--ws-violet-dark);
  font-weight: 600;
}
.maindiv .related_word .data { color: var(--ws-muted); }
.maindiv .maintable .spacer td {
  height: .5em;
  padding: 0;
  font-size: 0;
  line-height: 0;
}
.maindiv .maintable .pronunciation img,
.maindiv .maintable .pronunciation object,
.maindiv .pron_dd img,
.maindiv .pron_dd object { vertical-align: middle; }
.maindiv .pron_dd .sound_play img { height: 20px; }
.maindiv .delimiter { padding-right: .5em; padding-left: .5em; }

/* Word Combinations follows the reference theme's collocation panel. */
.maindiv .maintable td.collocation { padding: .45em 14px .55em; }
.maindiv .word_combination {
  margin: .25em 0;
  padding: .5em .7em;
  border: 0;
  border-left: 3px solid var(--ws-violet);
  border-radius: 0 4px 4px 0;
  background: var(--ws-soft);
}
.maindiv .word_combination .wc_title {
  margin: 0 0 .42em;
  color: var(--ws-violet-dark);
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.maindiv .word_combination .wc_title.closed { margin-bottom: 0; }
.maindiv .word_combination .wc_title a {
  padding-left: 1em;
  font-size: .88em;
  font-weight: 600;
  text-transform: none;
}
.maindiv .word_combination .message { font-weight: 400; text-transform: none; }
.maindiv .word_combination .wc_pos { margin: .3em 0 .5em; color: #3d365f; }
.maindiv .word_combination .wc_pos:last-child { margin-bottom: .1em; }
.maindiv .word_combination .wc_pos_title {
  display: block;
  margin-bottom: .12em;
  color: var(--ws-navy);
  font-weight: 600;
}
.maindiv .word_combination .wc_headword { padding-left: .25em; font-weight: 600; }
.maindiv .word_combination .wc_help { padding-left: .2em; }
.maindiv .word_combination .wc_pos span.a,
.maindiv .word_combination .wc_pos a.show_most_freq_link,
.maindiv .word_combination .wc_pos.show_all a.show_all_link { display: none; }
.maindiv .word_combination .wc_pos.show_all span.a,
.maindiv .word_combination .wc_pos.show_all a.show_most_freq_link { display: inline; }
.maindiv .word_combination .wc_pos.show_all span.a { color: var(--ws-blue); }

/* Word history and explorer. */
.maindiv .notes {
  margin: .7em 14px .45em;
  padding: .45em .7em;
  border-left: 3px solid var(--ws-violet);
  border-radius: 0 4px 4px 0;
  background: var(--ws-soft);
  color: var(--ws-navy);
}
.maindiv .notes .title {
  margin-bottom: .28em;
  padding: 0;
  color: var(--ws-violet-dark);
  font-weight: 600;
}
.maindiv div.wordexplorer {
  margin: .75em 14px .3em;
  color: var(--ws-violet-dark);
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.maindiv table.wordexplorer {
  width: calc(100% - 28px);
  margin: 0 14px .7em;
  border-collapse: collapse;
  color: var(--ws-navy);
}
.maindiv table.wordexplorer td { padding: .2em .35em; vertical-align: top; }
.maindiv table.wordexplorer td.image { width: 1.7em; padding-left: 0; }
.maindiv table.wordexplorer td.wephrase { color: #3d365f; font-weight: 600; }
.maindiv table.wordexplorer tr.shown td,
.maindiv table.wordexplorer tr:not([class]) td { border-bottom: 1px dotted #d9dce3; }
.maindiv table.wordexplorer tr.closed a.opened,
.maindiv table.wordexplorer tr.opened a.closed { display: none; }
.maindiv table.wordexplorer tr.hidden { display: none; }
.maindiv table.wordexplorer td.image > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 1.35em;
  color: var(--ws-violet);
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  vertical-align: middle;
}
.maindiv table.wordexplorer td.image > a:hover,
.maindiv table.wordexplorer td.image > a:focus { color: var(--ws-blue); }
.maindiv table.wordexplorer td.image > a img { display: none; }
.maindiv table.wordexplorer td.image > a.opened::before { content: "\25be"; }
.maindiv table.wordexplorer td.image > a.closed::before { content: "\25b8"; }
.maindiv table.wordexplorer a.current {
  border-radius: 3px;
  background: #eee9ff;
  color: var(--ws-blue);
}
.maindiv .opened .image,
.maindiv table.wordexplorer .image img { width: 15px; }

/* Word Parts entries use .root_data as a top-level node, outside .maindiv. */
.root_data,
.maindiv .wordbuilder {
  margin: .7em 14px;
  padding: .5em .7em;
  border-left: 3px solid var(--ws-violet);
  border-radius: 0 4px 4px 0;
  background: var(--ws-soft);
}
.root_data .entry_title,
.maindiv .wordbuilder .notetitle { color: var(--ws-violet-dark); font-weight: 600; }
.root_data .entry_title {
  padding-bottom: .38em;
  border-bottom: 1px dashed var(--ws-line);
  color: var(--ws-blue);
  font-size: 1.14rem;
}
.root_data .entry_title a,
.root_data .entry_title .message { padding-left: 1em; font-weight: 400; }
.root_data .subtitle:empty { display: none; }
.root_data .subtitle,
.root_data .part { margin-top: .55em; }
.root_data .part { color: var(--ws-navy); line-height: 1.55; }
.root_data .spacer { height: .1em; font-size: .1em; line-height: .1em; }
.root_data .wordform,
.root_data .function .wf { color: var(--ws-blue); font-weight: 600; }
.root_data .wordform { font-size: 1.08em; }
.root_data .origin { padding-left: 6px; color: var(--ws-muted); font-style: italic; }
.root_data .class {
  display: inline-block;
  margin-left: 6px;
  padding: 0 .42em;
  border-radius: 999px;
  background: #eee9ff;
  color: #3d365f;
  font-size: .88em;
}
.root_data .meaning { color: var(--ws-green); font-style: italic; font-weight: 600; }
.root_data .example_block,
.root_data .function_block {
  margin-top: .45em;
  padding: .42em .6em;
  border-left: 3px solid var(--ws-violet);
  border-radius: 0 4px 4px 0;
  background: #fff;
}
.root_data .example_title,
.root_data .function_title { color: var(--ws-violet-dark); font-weight: 600; }
.root_data .example_title > a,
.root_data .function_title > a {
  display: inline-block;
  width: 1.15em;
  margin-right: .18em;
  color: var(--ws-violet);
  text-align: center;
}
.root_data .example_title > a img,
.root_data .function_title > a img { display: none; }
.root_data .example_title > a.open::before,
.root_data .function_title > a.open::before { content: "\25b8"; }
.root_data .example_title > a.close::before,
.root_data .function_title > a.close::before { content: "\25be"; }
.root_data .example_list,
.root_data .function { margin: .38em 0 0 1.5em; color: var(--ws-navy); }
.root_data .example_list { line-height: 1.65; }
.root_data dl.relation {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: .15em .45em;
  margin: .5em 0 0;
  padding: .36em .55em;
  border-radius: 4px;
  background: #fff;
}
.root_data dl.relation dt,
.root_data dl.relation dd { float: none; min-width: 0; margin: 0; padding: 0; }
.root_data dl.relation dt { width: auto; color: #3d365f; font-weight: 600; }
.root_data .hw { font-style: italic; font-weight: 600; }
.root_data .function .ew { text-decoration: underline; }
.root_data .bottom_links {
  margin: .8em 0 0;
  padding-top: .45em;
  border-top: 1px dashed var(--ws-line);
  text-align: right;
}
.root_data a.selected_link { text-decoration: underline; }
.root_data .example_block.closed .example_list,
.root_data .example_block.closed a.close,
.root_data .example_block.opened a.open,
.root_data .function_block.closed .function,
.root_data .function_block.closed a.close,
.root_data .function_block.opened a.open { display: none; }
.maindiv .wordbuilder ul { margin: .35em 0; padding-left: 1.25em; }
.maindiv .wordbuilder li { font-weight: 600; }
.maindiv .wordbuilder .wbpair { font-weight: 400; }
.maindiv .wordbuilder small { padding-left: 15px; color: var(--ws-navy); font-size: 1em; font-weight: 400; }

.maindiv .thumbnail_list { display: flow-root; margin: .35em 0; }
.maindiv .thumbnail_list img { cursor: pointer; }
.maindiv .thumbnail_end { clear: both; }
.maindiv div.thumbnail_bkgnd {
  display: block;
  float: left;
  height: 90px;
  border: 1px solid #fff;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  cursor: pointer;
}

@media (max-width: 560px) {
  .maindiv { font-size: 14px; }
  .maindiv .headtitle td { padding-right: 10px; padding-left: 10px; }
  .maindiv .mainlist { grid-template-columns: 1fr; padding-right: 10px; padding-left: 10px; }
  .maindiv .mainlist > dt { margin-top: .18em; }
  .maindiv .mainlist > dd { padding-left: .65em; }
  .maindiv .maintable td { padding-right: 10px; }
  .maindiv .maintable td.title { width: 2em; padding-left: 8px; }
  .maindiv .maintable .definition .data > dl { grid-template-columns: 1fr; }
  .maindiv .maintable .definition .data > dl dd { padding-left: .55em; }
  .maindiv .maintable td.collocation { padding-right: 10px; padding-left: 10px; }
  .maindiv .notes,
  .maindiv div.wordexplorer,
  .root_data,
  .maindiv .wordbuilder { margin-right: 10px; margin-left: 10px; }
  .maindiv table.wordexplorer { width: calc(100% - 20px); margin-right: 10px; margin-left: 10px; }
}

  .maindiv  a.small.syl {
    display: none;
}

.maindiv  img.wvi {
    display: none;
}

/* Standalone WordParts index page.
   This intentionally starts from the format-native .example_list class, with
   no dependency on a dictionary application's injected wrapper or URL scheme. */
.example_list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  max-width: 1084px;
  margin: 12px auto;
  padding: 18px;
  border: 1px solid #dfe4ed;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 10px rgb(31 42 68 / 7%);
  color: transparent;
  font-family: "Segoe UI", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
  font-size: 0;
  line-height: 0;
}

.example_list::before {
  content: "Word Parts\A Prefixes, suffixes, and roots";
  display: block;
  flex: 0 0 100%;
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px dashed #dfe4ed;
  color: #2457c5;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.35;
  white-space: pre-line;
}

.example_list > a {
  display: inline-block;
  flex: 0 0 auto;
  min-width: 5.25em;
  margin: 0 7px 8px 0;
  padding: .38em 0;
  border: 1px solid #d8e1f2;
  border-radius: 6px;
  background: #f6f8fc;
  color: #2457c5;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
}

.example_list > a:hover,
.example_list > a:focus {
  border-color: #2457c5;
  background: #fff;
  color: #123d9b;
  outline: none;
}

/* In ordinary entries, example_list is nested in a Word Parts detail block.
   Restore that compact inline list so the standalone directory rules do not
   leak into entries such as hysterical. */
.root_data .example_list {
  display: block;
  max-width: none;
  margin: .38em 0 0 1.5em;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #000080;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.65;
}

.root_data .example_list::before { content: none; display: none; }

.root_data .example_list > a,
.root_data .example_list > a:hover,
.root_data .example_list > a:focus {
  display: inline;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6557a8;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

