/* WikiRecord: a classic wiki on a clean white page.
   Layout: header with logo, search and links; a left column with the main menu and the article's contents;
   the article with its title, tabs and an infobox floated right. */
:root {
  --bg: #ffffff;
  --text: #202122;
  --text-2: #54595d;
  --text-3: #72777d;
  --border: #a2a9b1;
  --border-2: #c8ccd1;
  --line: #eaecf0;
  --box: #f8f9fa;
  --link: #3366cc;
  --link-v: #795cb2;
  --label: #d33;
  --green: #f5fffa;
  --green-h: #cef2e0;
  --green-b: #a3bfb1;
  --blue: #f5faff;
  --blue-h: #cedff2;
  --blue-b: #a3b0bf;
  --serif: "Linux Libertine", "Georgia", "Times", "Source Serif Pro", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Lato, Helvetica, Arial, sans-serif;
  --gut-l: max(16px, env(safe-area-inset-left, 0px));
  --gut-r: max(16px, env(safe-area-inset-right, 0px));
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 var(--sans); overflow-wrap: break-word; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
a:visited { color: var(--link-v); }
:focus-visible { outline: 2px solid var(--link); outline-offset: 1px; }
img { max-width: 100%; height: auto; }
button, input, select { font: inherit; color: inherit; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 50; background: var(--bg); padding: 6px 12px; border: 1px solid var(--border); }
.skip:focus { left: 16px; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sub { color: var(--text-2); }
.empty { color: var(--text-2); margin: .5em 0; }

/* ---------- header ---------- */
.hd { border-bottom: 1px solid var(--line); background: var(--bg); }
.hd-in { max-width: 1440px; margin: 0 auto; min-height: 58px; padding: 8px var(--gut-r) 8px var(--gut-l); display: flex; align-items: center; gap: 20px; }
.logo { display: flex; align-items: center; gap: 10px; color: var(--text); flex: none; }
.logo:hover, .logo:visited { text-decoration: none; color: var(--text); }
.disc { width: 40px; height: 40px; flex: none; }
.logo-n { display: block; font: 1.42rem/1 var(--serif); letter-spacing: .01em; }
.logo-s { display: block; margin-top: 3px; font-size: .74rem; line-height: 1; color: var(--text-2); }
.hd .sf { flex: 1 1 auto; max-width: 560px; margin-left: 12px; }
.hd-links { margin-left: auto; display: flex; gap: 18px; font-size: .875rem; white-space: nowrap; }
.menu-m { display: none; position: relative; flex: none; }
.menu-m summary { list-style: none; cursor: pointer; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 2px; color: var(--text); }
.menu-m summary:hover { background: var(--line); }
.menu-m summary::-webkit-details-marker { display: none; }
.menu-pop { position: absolute; left: 0; top: calc(100% + 6px); z-index: 40; width: min(260px, calc(100vw - 32px)); padding: 6px 14px 12px; background: var(--bg); border: 1px solid var(--border); border-radius: 2px; box-shadow: 0 4px 12px rgb(0 0 0 / .15); }

/* search */
.sf { position: relative; display: flex; gap: 0; }
.sf-in { flex: 1; min-width: 0; height: 34px; padding: 0 10px 0 34px; font-size: .9rem; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-right: 0; border-radius: 2px 0 0 2px; appearance: none; -webkit-appearance: none; }
.sf-in::placeholder { color: var(--text-3); }
.sf-in:focus { outline: none; border-color: var(--link); box-shadow: inset 0 0 0 1px var(--link); }
.sf-in::-webkit-search-cancel-button { -webkit-appearance: none; }
.sf-ico { position: absolute; left: 10px; top: 9px; color: var(--text-3); pointer-events: none; }
.sf-go { flex: none; height: 34px; padding: 0 12px; font-size: .875rem; font-weight: 700; color: var(--text); background: var(--box); border: 1px solid var(--border); border-radius: 0 2px 2px 0; cursor: pointer; }
.sf-go:hover { background: var(--bg); }

.sug { position: absolute; left: 0; right: 0; top: calc(100% + 2px); z-index: 45; margin: 0; padding: 0; list-style: none; background: var(--bg); border: 1px solid var(--border); border-radius: 2px; box-shadow: 0 4px 12px rgb(0 0 0 / .15); }
.sug a { display: flex; gap: 10px; align-items: center; padding: 6px 10px; color: var(--text); }
.sug a:hover, .sug li[aria-selected="true"] a { background: var(--line); text-decoration: none; }
.sug img, .sug .sug-ph { width: 36px; height: 36px; object-fit: cover; object-position: 50% 25%; flex: none; background-color: var(--line); border-radius: 2px; }
.sug-t { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.sug-t b { font-weight: 700; font-size: .9rem; }
.sug-t small { color: var(--text-2); font-size: .8rem; }
.sug .sug-all a { color: var(--link); font-size: .85rem; padding-top: 8px; padding-bottom: 8px; border-top: 1px solid var(--line); }

/* ---------- page: menu column + article ---------- */
.page { max-width: 1440px; margin: 0 auto; padding: 0 var(--gut-r) 0 var(--gut-l); display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 0 32px; }
.side { padding-top: 22px; font-size: .875rem; line-height: 1.4; }
.side h2, .menu-pop h2 { margin: 0 0 6px; padding-bottom: 6px; font-size: .875rem; font-weight: 700; color: var(--text); border-bottom: 1px solid var(--line); }
.side ul, .menu-pop ul { list-style: none; margin: 0 0 22px; padding: 0; }
.menu-pop ul { margin-bottom: 12px; }
.menu-pop h2 { margin-top: 8px; }
.side li, .menu-pop li { padding: 4px 0; font-size: .9rem; }
.side a[aria-current], .menu-pop a[aria-current] { color: var(--text); font-weight: 700; }
.side-toc { position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow: auto; padding-right: 4px; }
.side-toc ul ul { margin: 2px 0 0; padding-left: 12px; }
.side-toc a { color: var(--link); }
.side-toc a[aria-current] { color: var(--text); font-weight: 700; }
.main { min-width: 0; max-width: 1100px; padding: 18px 0 40px; }

.t { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); }
.t h1 { margin: 0; padding-bottom: 4px; font: 400 1.8rem/1.3 var(--serif); }
.tabs { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: .875rem; }
.tabs div { display: flex; gap: 16px; }
.tabs a, .tabs span { padding: 7px 0 6px; margin-bottom: -1px; color: var(--link); border-bottom: 2px solid transparent; }
.tabs [aria-current] { color: var(--text); border-bottom-color: var(--text); }
.tagline { margin: 0 0 12px; font-size: .8rem; color: var(--text-2); }

@media (max-width: 999px) {
  .page { grid-template-columns: minmax(0, 1fr); }
  .side { display: none; }
  .menu-m { display: block; }
  .hd-in { gap: 12px; }
}
@media (max-width: 720px) {
  .hd-in { flex-wrap: wrap; }
  .hd-links { display: none; }
  .hd .sf { order: 3; flex: 1 1 100%; max-width: none; margin-left: 0; }
  .tabs .tabs-r { display: none; }
  .t h1 { font-size: 1.6rem; }
}

/* ---------- article text ---------- */
.mw { font-size: 1rem; line-height: 1.6; }
.mw p { margin: .5em 0 1em; }
.mw h2 { margin: 1em 0 .25em; padding: 0; border-bottom: 1px solid var(--border); font: 400 1.5rem/1.375 var(--serif); overflow: hidden; }
.mw h3 { margin: .3em 0 0; padding-top: .5em; font-size: 1.2rem; font-weight: 700; line-height: 1.6; overflow: hidden; }
.mw h4, .mw h5, .mw h6 { margin: .3em 0 0; padding-top: .5em; font-size: 1rem; font-weight: 700; }
.mw ul, .mw ol { margin: .3em 0 .8em 1.6em; padding: 0; }
.mw li { margin-bottom: .1em; }
.mw dl { margin: .2em 0 .5em; }
.mw dt { font-weight: 700; }
.mw dd { margin: 0 0 .1em 1.6em; }
.mw blockquote { margin: 1em 0; padding: 0 1.6em; overflow: hidden; }
.mw sup, .mw sub { line-height: 1; }
.mw sup.reference { font-size: .75em; font-weight: 400; }
.mw .hatnote, .mw .dablink { margin: 0 0 .5em; padding-left: 1.6em; font-style: italic; }
.mw .nowrap { white-space: nowrap; }
.mw .plainlist ul, .mw .plainlist ol { list-style: none; margin: 0; padding: 0; }
.mw .hlist ul, .mw .hlist ol { margin: 0; padding: 0; }
.mw .hlist li { display: inline; margin: 0; }
.mw .hlist li:not(:last-child)::after { content: " · "; font-weight: 700; }
.mw .mw-references-wrap, .mw .reflist, .mw .refbegin, .mw ol.references { font-size: .9rem; }
.mw .reflist-columns, .mw .references-column-width, .mw .refbegin-columns { column-width: 30em; }
.mw ol.references li { break-inside: avoid; }
.mw cite { font-style: normal; }
.mw pre, .mw code { font-family: ui-monospace, "Courier New", monospace; font-size: .9em; background: var(--box); border: 1px solid var(--line); border-radius: 2px; }
.mw code { padding: 1px 4px; }
.mw pre { padding: 1em; overflow-x: auto; }

.mw table { border-collapse: collapse; }
.wikitable, .mw table.wikitable { margin: 1em 0; background: var(--box); color: var(--text); border: 1px solid var(--border); border-collapse: collapse; font-size: .92rem; }
.mw table.wikitable { display: block; max-width: 100%; overflow-x: auto; width: fit-content; }
.wikitable th, .wikitable td { padding: .3em .5em; border: 1px solid var(--border); vertical-align: top; }
.wikitable th { background: var(--line); text-align: center; font-weight: 700; }
.wikitable caption { padding: .2em 0; font-weight: 700; }

.mw figure { margin: 0; }
.mw figure[typeof~="mw:File/Thumb"], .mw figure[typeof~="mw:File/Frame"] { float: right; clear: right; margin: .5em 0 1.3em 1.4em; padding: 3px; background: var(--box); border: 1px solid var(--border-2); max-width: min(300px, 100%); font-size: .88rem; line-height: 1.4; }
.mw figure.mw-halign-left { float: left; clear: left; margin: .5em 1.4em 1.3em 0; }
.mw figure.mw-halign-center { float: none; display: table; margin: .5em auto 1.3em; }
.mw figure.mw-halign-none { float: none; margin-left: 0; }
.mw figure img { display: block; border: 1px solid var(--border-2); }
.mw figcaption { padding: 3px 3px 2px; }
.mw img { vertical-align: middle; }
.mw ul.gallery { display: flex; flex-wrap: wrap; gap: 12px; margin: 1em 0; padding: 0; list-style: none; }
.mw li.gallerybox { width: auto !important; margin: 0; }
.mw li.gallerybox .thumb { width: auto !important; }
.mw .gallerytext { font-size: .88rem; }
.mw .quotebox { float: right; clear: right; width: auto !important; max-width: 300px; margin: .5em 0 1em 1.4em !important; padding: .6em .8em; border: 1px solid var(--border-2) !important; background: var(--box) !important; font-size: .9rem; }
.mw .thumb.tright, .mw .tright { float: right; clear: right; margin: .5em 0 1.3em 1.4em; }
.mw .thumb.tleft, .mw .tleft { float: left; clear: left; margin: .5em 1.4em 1.3em 0; }
.mw .thumbinner { width: auto !important; max-width: 300px; padding: 3px; background: var(--box); border: 1px solid var(--border-2); font-size: .88rem; }
.mw .multiimageinner { display: flex; gap: 4px; }

/* infoboxes: Wikipedia's own on topic pages, and the record card on people */
.mw .infobox, .rc { float: right; clear: right; width: 22em; margin: .5em 0 1em 1em; padding: .2em; background: var(--box); color: var(--text); border: 1px solid var(--border); font-size: .88rem; line-height: 1.5; }
.mw .infobox { width: 22em !important; border-spacing: 3px; border-collapse: separate; }
.mw .infobox th, .mw .infobox td { padding: .2em .4em; text-align: left; vertical-align: top; }
.mw .infobox caption, .mw .infobox .infobox-above { padding: .2em; font-size: 125%; font-weight: 700; text-align: center; }
.mw .infobox .infobox-image, .mw .infobox .infobox-caption { text-align: center; }
.mw .infobox .infobox-header { text-align: center; background: var(--line); }
.mw .infobox .infobox-label { padding-right: .6em; }
.rc-hd { padding: .2em .4em .3em; text-align: center; }
.rc-name { display: block; font-size: 125%; font-weight: 700; line-height: 1.3; }
.rc-sub { display: block; color: var(--text-2); }
.rc-ph { margin: 0; padding: .2em .4em .4em; text-align: center; }
.rc-ph img { display: block; width: 100%; max-height: 420px; object-fit: cover; object-position: 50% 20%; }
.rc-ph figcaption { color: var(--text-2); font-size: .85rem; }
.rc-ph .mono { display: grid; place-items: center; width: 60%; aspect-ratio: 1; margin: 0 auto; background: var(--line); color: var(--text-3); font: 3rem/1 var(--serif); }
.rc-f { margin: 0; padding: 0 .2em; }
.rf { display: grid; grid-template-columns: 7.4em minmax(0, 1fr); gap: .6em; padding: .25em .2em; }
.rf dt { font-weight: 700; }
.rf dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.age { white-space: nowrap; }
.asof { white-space: nowrap; font-size: .9em; color: var(--text-2); }
.age::before { content: "("; }
.age::after { content: ")"; }
.rc-s { margin-top: .2em; }
.rc-h { margin: .3em 0 .2em; padding: .15em .4em; text-align: center; font-size: 1em; font-weight: 700; background: var(--line); }
.rc-rel, .rc-soc { list-style: none; margin: 0; padding: 0 .4em; }
.rc-rel li { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: .15em 0; }
.rc-rel li span { color: var(--text-2); text-align: right; }
.rc-soc li { display: grid; grid-template-columns: 6.4em minmax(0, 1fr) auto; gap: 6px; align-items: baseline; padding: .15em 0; }
.rc-soc .h { min-width: 0; overflow-wrap: anywhere; color: var(--text-2); }
.rc-soc .n { font-weight: 700; }
.rc-note { margin: .2em .4em 0; color: var(--text-2); font-size: .8rem; text-align: center; }
.rc-more { margin-top: .3em; border-top: 1px solid var(--line); }
.rc-more summary { padding: .3em .4em; color: var(--link); cursor: pointer; text-align: center; }
.rc-more .mw { font-size: .95em; }
.rc-more .mw .infobox { float: none; width: 100% !important; margin: 0; border: 0; padding: 0; }
.rc-no { margin: .3em 0 0; padding: .2em .4em; text-align: center; color: var(--text-2); font-size: .8rem; border-top: 1px solid var(--line); }

/* fan-wiki infoboxes */
.fan .portable-infobox { float: right; clear: right; width: 22em; margin: .5em 0 1em 1em; padding: .2em; background: var(--box); border: 1px solid var(--border); font-size: .88rem; line-height: 1.5; }
.fan .pi-title { margin: 0; padding: .2em; border: 0; font: 700 125%/1.3 var(--sans); text-align: center; }
.fan .pi-image { margin: 0; padding: .2em; text-align: center; }
.fan .pi-image img { display: block; width: auto; max-height: 420px; margin: 0 auto; }
.fan .pi-caption { padding: 0 .4em; text-align: center; color: var(--text-2); }
.fan .pi-item.pi-data { display: grid; grid-template-columns: 7.4em minmax(0, 1fr); gap: .6em; padding: .25em .4em; }
.fan .pi-data-label { margin: 0; font-size: 1em; font-weight: 700; border: 0; }
.fan .pi-data-value { margin: 0; min-width: 0; }
.fan .pi-header, .fan .pi-group > h2 { margin: .3em 0 .2em; padding: .15em .4em; font-size: 1em; font-weight: 700; text-align: center; background: var(--line); border: 0; }
.fan .wds-tabs__wrapper { display: none; }
.fan .wds-tab__content { display: block; }

/* category box and source note */
.cats { clear: both; margin-top: 24px; padding: 6px 10px; background: var(--box); border: 1px solid var(--border); font-size: .875rem; }
.cats b { margin-right: 4px; }
.src { margin-top: 10px; font-size: .8rem; color: var(--text-2); }
.src p { margin: 0; }
.from { margin: 0 0 .3em; font-size: .875rem; color: var(--text-2); }
.langs { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; }

/* ---------- lists and tables ---------- */
.list-hd p { margin: .4em 0 .8em; }
.ptabs { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 10px; font-size: .875rem; }
.ptabs a { padding: 3px 10px; border: 1px solid var(--border-2); border-radius: 2px; color: var(--link); background: var(--bg); }
.ptabs a[aria-current] { color: var(--text); background: var(--line); border-color: var(--border); font-weight: 700; }
.ptabs a:hover { text-decoration: none; background: var(--box); }
.ptabs .tog { margin-left: auto; }
table.wr { width: 100%; margin: .5em 0 1em; }
.wr td { vertical-align: middle; background: var(--bg); }
.wr .n { width: 3em; text-align: right; color: var(--text-2); font-variant-numeric: tabular-nums; }
.wr .num { width: 1%; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.who { display: flex; align-items: center; gap: 10px; }
.who > span { min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.who b { font-weight: 700; }
.who small { color: var(--text-2); font-size: .85rem; }
.av { width: 40px; height: 40px; flex: none; object-fit: cover; object-position: 50% 22%; background-color: var(--line); }

/* icons for things without a picture (public/icons, drawn in --text-3 gray) */
.ic { display: block; flex: none; background-color: var(--line); background-position: center; background-repeat: no-repeat; background-size: 60%; }
.ic-person { background-image: url(/icons/person.svg); background-size: 68%; background-position: 50% 100%; }
.ic-place { background-image: url(/icons/place.svg); }
.ic-film { background-image: url(/icons/film.svg); }
.ic-music { background-image: url(/icons/music.svg); }
.ic-book { background-image: url(/icons/book.svg); }
.ic-org { background-image: url(/icons/org.svg); }
.ic-nature { background-image: url(/icons/nature.svg); }
.ic-science { background-image: url(/icons/science.svg); }
.ic-event { background-image: url(/icons/event.svg); }
.ic-game { background-image: url(/icons/game.svg); }
.ic-art { background-image: url(/icons/art.svg); }
.ic-article { background-image: url(/icons/article.svg); }
.pager { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0 0; font-size: .875rem; }
.pager a, .pager span { min-width: 32px; padding: 3px 8px; text-align: center; border: 1px solid var(--border-2); border-radius: 2px; }
.pager span { background: var(--line); font-weight: 700; }
.day-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 10px; font-size: .9rem; }
.day-pick { display: flex; gap: 4px; }
.day-pick select, .day-pick button { height: 30px; padding: 0 6px; font-size: .875rem; border: 1px solid var(--border); border-radius: 2px; background: var(--bg); }
.day-pick button { font-weight: 700; background: var(--box); cursor: pointer; }
.dir { columns: 170px; column-gap: 28px; }
.dir-g { break-inside: avoid; margin-bottom: 10px; }
.dir-g h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 2px; font-size: .95rem; font-weight: 700; }
.dir-ic { width: 20px; height: 20px; border-radius: 2px; background-size: 70%; }
.dir-g ul { margin: 0 0 0 1.4em; padding: 0; }

/* the loading bar shown while the next page is on its way */
.nav-bar { position: fixed; top: 0; left: 0; z-index: 100; width: 0; height: 2px; background: #3366cc; opacity: 0; pointer-events: none; }
.nav-bar.on { width: 88%; opacity: 1; transition: width 6s cubic-bezier(.08, .8, .2, 1), opacity .1s; }
@media (prefers-reduced-motion: reduce) { .nav-bar.on { transition: opacity .1s; width: 100%; } }

/* policy pages and citations */
.cite-t { width: 100%; font-size: .9rem; }
.cite-t th { width: 90px; text-align: left; vertical-align: top; background: var(--box); }
.cite-t td { word-break: break-word; }
.cite-t code { font-size: .85rem; }
.policy-date { margin-top: 1.6em; }
.ft-ed { margin-bottom: 6px; }

/* "More on WikiRecord" at the foot of articles, styled like a Wikipedia navigation box */
.also { clear: both; margin: 18px 0 0; border: 1px solid var(--border); font-size: .875rem; }
.also-h { margin: 0; padding: 3px 8px; background: var(--line); font: 700 .875rem/1.6 var(--sans); text-align: center; border: 0; }
.also ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 6px 10px; list-style: none; }
.also li { margin: 0; white-space: nowrap; }
.also li + li::before { content: '·'; padding: 0 .55em; font-weight: 700; }

/* records from the other databases */
.hatnote { margin: 0 0 .6em; padding-left: 1.6em; font-style: italic; color: var(--text-2); }
.ia-embed { display: flow-root; max-width: 720px; margin: 0 0 1em; }
.ia-embed iframe { display: block; width: 100%; border: 1px solid var(--border-2); background: var(--box); }
.ia-video iframe { aspect-ratio: 4 / 3; background: #000; }
.ia-audio iframe { height: 200px; }
.ia-book iframe { height: 520px; }

/* site statistics (/stats) */
.st-hero { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 4px; }
.st-big { font: 600 3.4rem/1.1 var(--sans); letter-spacing: -.01em; }
.st-cap { font-size: 1.05rem; color: var(--text-2); }
.st-over { min-width: min(100%, 560px); }
.st-over th { white-space: nowrap; }
.st-over th[scope="row"] { text-align: left; font-weight: 400; background: var(--box); }
.wikitable .num, .st-over td { font-variant-numeric: tabular-nums; }
.st-days { margin: 6px 0 12px; font-size: .9rem; }
.st-days summary { cursor: pointer; color: var(--link); }
.st-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 28px; align-items: start; }
.st-box h3 { margin: 10px 0 4px; font-size: 1rem; }
.st-t { width: 100%; }
.chart { position: relative; max-width: 760px; margin: 4px 0 8px; }
.chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart .grid line { stroke: var(--line); stroke-width: 1; }
.chart text { fill: var(--text-3); font: 11px var(--sans); font-variant-numeric: tabular-nums; }
.chart .bar { fill: #3366cc; }
.chart .hit { fill: transparent; }
.chart .col { outline: none; cursor: default; }
.chart .col:hover .bar, .chart .col:focus-visible .bar { fill: #2a4b8d; }
.chart .col:focus-visible .hit { fill: rgb(51 102 204 / .08); }
@media (max-width: 720px) {
  .st-over, .st-t { display: block; max-width: 100%; overflow-x: auto; }
  .st-over th { white-space: normal; }
  .st-big { font-size: 2.6rem; }
}
.tip { position: absolute; z-index: 5; min-width: 150px; padding: 6px 10px; background: var(--bg); border: 1px solid var(--border); box-shadow: 0 2px 8px rgb(0 0 0 / .12); font-size: .8rem; line-height: 1.45; pointer-events: none; }
.tip b { display: block; font-size: .95rem; }
.tip span { display: block; color: var(--text-2); }

/* search results */
.results { list-style: none; margin: 0; padding: 0; }
.results li { display: flex; gap: 12px; padding: 8px 0 10px; }
.results .rimg { width: 60px; height: 60px; flex: none; object-fit: cover; object-position: 50% 22%; background-color: var(--line); }
.results div { min-width: 0; }
.results .rt { font-size: 1.05rem; }
.results .rd { color: var(--text-2); font-size: .85rem; }
.results .rx { font-size: .875rem; }
.results h2 { font: 400 1.3rem/1.4 var(--serif); }

/* ---------- main page ---------- */
.mp-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 4px 0 14px; padding: 14px 18px; background: var(--box); border: 1px solid var(--border-2); }
.mp-welcome h1 { margin: 0; font: 400 1.7rem/1.3 var(--serif); }
.mp-welcome p { margin: 2px 0 0; font-size: .9rem; }
.mp-portals { display: grid; grid-template-columns: repeat(2, auto); gap: 2px 26px; margin: 0; padding: 0 0 0 1.2em; font-size: .9rem; font-weight: 700; }
.mp-cols { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: 14px; align-items: start; }
.mp-col { display: grid; gap: 14px; min-width: 0; }
.mp-box { min-width: 0; padding: 0 12px 10px; border: 1px solid; font-size: .92rem; }
.mp-box h2 { margin: 0 -12px 8px; padding: 3px 12px; font: 700 1.05rem/1.5 var(--sans); border-bottom: 1px solid; }
.g { background: var(--green); border-color: var(--green-b); }
.g h2 { background: var(--green-h); border-color: var(--green-b); }
.b { background: var(--blue); border-color: var(--blue-b); }
.b h2 { background: var(--blue-h); border-color: var(--blue-b); }
.k { background: var(--box); border-color: var(--border-2); margin-top: 14px; }
.k h2 { background: var(--line); border-color: var(--border-2); }
.mp-box p { margin: 0 0 .5em; }
.mp-box ul { margin: 0 0 .4em 1.3em; padding: 0; }
.mp-box li { margin-bottom: .15em; }
.mp-box .side-pic { float: right; width: 100px; margin: 4px 0 6px 12px; border: 1px solid var(--border-2); }
.mp-more { clear: both; margin: .4em 0 0; text-align: right; font-size: .875rem; }
.mp-more a::after { content: " →"; }
@media (max-width: 860px) { .mp-cols { grid-template-columns: minmax(0, 1fr); } }

.mp-figures { color: var(--text-2); }
.mp-pic { margin: 0 0 .4em; }
.mp-pic img { display: block; width: 100%; max-height: 360px; object-fit: cover; border: 1px solid var(--border-2); }
.mp-pic figcaption { margin-top: 6px; }

/* the open-database table on the main page, and media pages */
.src-t { width: 100%; }
.src-t td { vertical-align: top; }
.src-total td { background: var(--line); }
.media-fig { margin: 0 0 1em; }
.media-fig img { display: block; max-width: 100%; max-height: 70vh; width: auto; margin: 0 auto; border: 1px solid var(--border-2); }
.media-full { display: block; width: 100%; max-width: 100%; margin: 0 0 1em; }
.mw pre.seq { white-space: pre-wrap; word-break: break-all; font-size: .8rem; }

/* the "N languages" menu beside a title */
.lm { position: relative; flex: none; margin-bottom: 6px; font-size: .875rem; }
.lm summary { list-style: none; display: flex; align-items: center; gap: 6px; padding: 4px 10px; color: var(--link); font-weight: 700; border: 1px solid transparent; border-radius: 2px; cursor: pointer; }
.lm summary::-webkit-details-marker { display: none; }
.lm summary:hover, .lm[open] summary { border-color: var(--border-2); background: var(--box); }
.lm-pop { position: absolute; right: 0; top: calc(100% + 4px); z-index: 30; width: min(560px, calc(100vw - 32px)); max-height: 60vh; overflow: auto; padding: 10px 14px; background: var(--bg); border: 1px solid var(--border); border-radius: 2px; box-shadow: 0 4px 12px rgb(0 0 0 / .15); }
.lm-pop ul { columns: 150px; column-gap: 18px; list-style: none; margin: 0; padding: 0; }
.lm-pop li { padding: 2px 0; break-inside: avoid; }

/* plain text pages */
.prose { max-width: 50em; }

/* Other wikis set fixed pixel widths on image boxes and tables; keep them inside the column. */
.mw div, .mw figure, .mw img, .mw video { max-width: 100%; }

@media (max-width: 720px) {
  .body { overflow-x: auto; }
  .mw table { display: block; max-width: 100%; overflow-x: auto; float: none !important; }
  .mw .infobox, .rc, .fan .portable-infobox { float: none; width: 100% !important; margin: .5em 0 1em; }
  .rc-ph img { max-height: 340px; width: auto; margin: 0 auto; }
  .mw figure[typeof~="mw:File/Thumb"], .mw figure[typeof~="mw:File/Frame"], .mw figure.mw-halign-left, .mw .tright, .mw .tleft, .mw .quotebox { float: none; margin: 1em auto; max-width: 100%; }
  .wr .n { width: 2em; }
}

/* link previews */
.pv { position: absolute; z-index: 60; width: 320px; overflow: hidden; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 2px; box-shadow: 0 30px 90px -20px rgb(0 0 0 / .3), 0 0 1px 1px rgb(0 0 0 / .05); font-size: .875rem; line-height: 1.5; }
.pv a, .pv a:visited { display: block; color: inherit; }
.pv a:hover { text-decoration: none; }
.pv img { display: block; width: 100%; height: 180px; object-fit: cover; object-position: 50% 22%; }
.pv-b { padding: 12px 16px 14px; }
.pv-t { font-weight: 700; font-size: 1rem; }
.pv-d { margin-bottom: 6px; color: var(--text-2); }

/* footer */
.ft { max-width: 1440px; margin: 0 auto; padding: 0 var(--gut-r) 0 var(--gut-l); }
.ft-in { margin-left: 208px; padding: 14px 0 40px; border-top: 1px solid var(--line); font-size: .8rem; color: var(--text-2); }
.ft-in p { margin: 0 0 8px; }
.ft-in nav { display: flex; flex-wrap: wrap; gap: 4px 16px; }
@media (max-width: 999px) { .ft-in { margin-left: 0; } }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* printing: the article alone, like a page of a printed encyclopedia */
@media print {
  .hd, .side, .side-toc, .tabs, .skip, .sug, .pv, .lm, .menu-m, .ia-embed, .ptabs, .pager, .also, .cats, .st-days summary { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .page { display: block; max-width: none; padding: 0; }
  .main { max-width: none; padding: 0; }
  a { color: #000; text-decoration: none; }
  .mw a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #555; word-break: break-all; }
  .rc { float: right; width: 38%; break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }
  img, table, figure { break-inside: avoid; }
  .ft { border-top: 1px solid #999; margin-top: 12pt; font-size: 8pt; }
  .ft nav { display: none; }
}
