/* Duckuza look, matched to duckuza.com's computed styles (The7 theme):
   page = fixed #c6c6c6 + subtle_grunge layer (#page::after), menu panel = #808080 + subtle_grunge,
   title band = 147deg #02254e 26% -> #55f5dd 97%, footer = #1a1c20,
   text #85868c Roboto, headings League Spartan 700 lowercase navy "word ;". */
@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700&display=swap");

:root {
  --dz-navy: #02254e;
  --dz-teal: #55f5dd;
  --dz-accent: #1ebbf0;
  --dz-accent-2: #39dfaa;
  --dz-head: "League Spartan", Helvetica, Arial, sans-serif;
  --dz-footer: #1a1c20;
}

/* ---------- light = duckuza.com ---------- */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--dz-navy);
  --md-primary-bg-color: #ffffff;
  --md-accent-fg-color: var(--dz-accent);
  --md-typeset-a-color: var(--dz-accent);
  --md-default-bg-color: #c6c6c6;
  --md-default-fg-color: #333333;
  --md-default-fg-color--light: #6b6c72;
  --md-typeset-color: #85868c;
  --md-code-bg-color: rgba(255, 255, 255, .3);
  --md-code-fg-color: #4a4b50;
  --md-typeset-table-color: rgba(170, 170, 170, .35);
  --dz-heading: var(--dz-navy);
  --dz-strong: #5b5c62;
}
[data-md-color-scheme="default"] body,
[data-md-color-scheme="default"] .md-main,
[data-md-color-scheme="default"] .md-container {
  background: #c6c6c6 url("subtle_grunge.png") repeat fixed;
}
[data-md-color-scheme="default"] .md-typeset strong { color: var(--dz-strong); }
[data-md-color-scheme="default"] .md-typeset table:not([class]) { background: transparent; }
[data-md-color-scheme="default"] .md-typeset table:not([class]) th { background: rgba(170, 170, 170, .1); }
/* every table spans the content column */
.md-typeset__table { display: block; width: 100%; }
.md-typeset table:not([class]) { display: table; width: 100%; }
/* command info tables (Available to / Cooldown / Aliases / Status): fixed columns, same on every page.
   Who + Status are one-word columns; Aliases gets the room */
.md-typeset table:not([class]):not(:has(td:first-child > .st)):has(> thead > tr > th:nth-child(4):last-child) { table-layout: fixed; }
.md-typeset table:not([class]):not(:has(td:first-child > .st)):has(> thead > tr > th:nth-child(4):last-child) th:nth-child(1) { width: 17%; }
.md-typeset table:not([class]):not(:has(td:first-child > .st)):has(> thead > tr > th:nth-child(4):last-child) th:nth-child(2) { width: 28%; }
.md-typeset table:not([class]):not(:has(td:first-child > .st)):has(> thead > tr > th:nth-child(4):last-child) th:nth-child(3) { width: 41%; }
.md-typeset table:not([class]):not(:has(td:first-child > .st)):has(> thead > tr > th:nth-child(4):last-child) th:nth-child(4) { width: 14%; }


/* ---------- title band (header) ---------- */
.md-header {
  background: linear-gradient(147deg, var(--dz-navy) 26%, var(--dz-teal) 97%);
  color: #fff;
  box-shadow: none;
}
.md-header__inner { padding-block: .6rem; }
:root { --dz-header-h: 4.6rem; }
.md-header__title, .md-header__topic {
  font-family: var(--dz-head); font-weight: 700; text-transform: lowercase; font-size: 1.1rem;
}
.md-header__button.md-logo img { height: 2.2rem; }
.md-search__form { border-radius: 0; background: rgba(255, 255, 255, .15); }
.md-search__form:hover { background: rgba(255, 255, 255, .25); }

/* ---------- headings ---------- */
.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 {
  font-family: var(--dz-head);
  font-weight: 700;
  text-transform: lowercase;
  color: var(--dz-heading);
  letter-spacing: 0;
}
.md-typeset h1 { font-size: 1.9em; }
.md-typeset h2 { font-size: 1.15em; }
/* commands keep their real case: !reminder, $set title <title> */
.md-typeset h3, .md-typeset h4 { text-transform: none; }

/* "welcome ;" + thin accent rule to the right */
.md-typeset h2 { display: flex; align-items: baseline; gap: .5em; }
.md-typeset h2::before { content: ";"; order: 1; margin-left: -.15em; }
.md-typeset h2 .headerlink { order: 3; }
.md-typeset h2::after {
  content: ""; order: 2; flex: 1;
  border-top: 1px solid var(--dz-accent);
  transform: translateY(-.3em);
}

.md-typeset a:hover { color: var(--dz-accent-2); }

/* ---------- menu: duckuza.com's side menu, pinned to the left edge ---------- */
.md-nav--primary .md-nav__link {
  font-family: var(--dz-head);
  text-transform: lowercase;
  color: #333;
  border-radius: 0;
}
.md-nav--primary .md-nav__link,
.md-nav--primary .md-nav__link--active,
.md-nav--primary .md-nav__item--active > .md-nav__link { background: none !important; box-shadow: none; }

@media screen and (min-width: 76.25em) {
  /* menu sits in the page grid beside the content (theme default spot).
     The band scrolls away, so both sidebars stick to the very top. */
  .md-sidebar--primary, .md-sidebar--secondary { top: 0 !important; }
  .md-sidebar--primary .md-sidebar__scrollwrap { scrollbar-width: thin; scrollbar-color: rgba(51,51,51,.25) transparent; }

  /* duckuza.com's side-menu sizes (px, as approved 11-12) */
  .md-nav--primary > .md-nav__list > .md-nav__item {
    position: relative; margin: 0; padding: 0;
  }
  .md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link {
    font-size: 19px; line-height: 23px; font-weight: 700; color: #333;
    padding: 10px 0; margin: 0 .6rem;
    justify-content: space-between;
  }
  /* short white line between groups, sitting in the gap (adds no height) */
  .md-nav--primary > .md-nav__list > .md-nav__item + .md-nav__item::before {
    content: ""; position: absolute; top: -.5px; left: .6rem; width: 24px;
    border-top: 1px solid #fff;
  }
  .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon {
    background: none; width: auto; height: auto;
  }
  .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon::after {
    content: "+"; -webkit-mask: none; mask: none; background: none;
    font: 400 18px/1 var(--dz-head); color: rgba(51, 51, 51, .3);
    width: auto; height: auto; transform: none !important;
  }
  .md-nav--primary .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon::after {
    content: "\00d7"; color: rgba(51, 51, 51, .5);
  }

  /* pages inside a group */
  .md-nav--primary .md-nav__list { gap: 0; row-gap: 0; }
  .md-nav--primary .md-nav[data-md-level="1"] { margin: 0 0 0 calc(.6rem + 10px); }
  .md-nav--primary .md-nav__toggle:checked ~ .md-nav[data-md-level="1"] { margin-bottom: 8px; }
  .md-nav--primary .md-nav[data-md-level="1"] > .md-nav__list { margin-left: 0; overflow: visible; }
  .md-nav--primary .md-nav[data-md-level="1"] .md-nav__item { padding: 0; }
  .md-nav--primary .md-nav[data-md-level="1"] .md-nav__link {
    font-size: 16px; line-height: 20px; font-weight: 500; color: #333;
    margin: 0; padding: 5px 0;
  }
}

/* hover = navy; current page = navy bold + a 3px square teal bar; its group label = navy */
.md-nav--primary .md-nav__link:hover { color: var(--dz-heading) !important; }
.md-nav--primary .md-nav__link--active,
.md-nav--primary .md-nav__item--active > .md-nav__link { color: var(--dz-heading) !important; }
.md-nav--primary .md-nav__link--active { position: relative; }
.md-nav--primary .md-nav__link--active .md-ellipsis { font-weight: 700; }
.md-nav--primary .md-nav[data-md-level="1"] .md-nav__link--active::before {
  content: ""; position: absolute; left: -10px; top: 5px; bottom: 5px; width: 3px;
  background: var(--dz-accent);
}

/* right-hand "on this page" = same type and colours as the left menu:
   title like a group label, entries like the pages in a group */
.md-nav--secondary .md-nav__title {
  font: 700 19px/23px var(--dz-head); text-transform: lowercase; color: #333;
  background: none; box-shadow: none; padding: 10px .6rem;
}
.md-nav--secondary .md-nav__link {
  font: 500 16px/20px var(--dz-head); text-transform: lowercase; color: #333;
  margin: 0; padding: 5px 0; position: relative; background: none !important;
}
.md-nav--secondary .md-nav__list { gap: 0; row-gap: 0; overflow: visible; }
.md-nav--secondary > .md-nav__list { margin-left: calc(.6rem + 10px); }
.md-nav--secondary .md-nav .md-nav { margin-left: 10px; }
.md-nav--secondary .md-nav__item { padding: 0; }
.md-nav--secondary .md-nav__link:hover { color: var(--dz-heading) !important; }
.md-nav--secondary .md-nav__link--active,
.md-nav--secondary .md-nav__link--active * { color: var(--dz-heading) !important; font-weight: 700; }
.md-nav--secondary .md-nav__link--active::before {
  content: ""; position: absolute; left: -10px; top: 5px; bottom: 5px; width: 3px;
  background: var(--dz-accent);
}

/* ---------- boxes ---------- */
.md-typeset .admonition, .md-typeset details, .md-typeset pre > code,
.md-typeset table:not([class]), .md-nav__link, .md-typeset code { border-radius: 0; }
[data-md-color-scheme="default"] .md-typeset .admonition {
  background: rgba(170, 170, 170, .1);
  border: none;
  border-left: 3px solid var(--dz-accent);
  color: #6b6c72;
}
[data-md-color-scheme="default"] .md-typeset .admonition.warning { border-left-color: #c98a00; }
[data-md-color-scheme="default"] .md-typeset .admonition.danger { border-left-color: #d14343; }

/* ---------- footer = duckuza bottom bar ---------- */
.md-footer { background: var(--dz-footer); }
.md-footer-meta { background: var(--dz-footer); }
.md-footer-meta__inner { display: block; }
.dz-bottom {
  display: flex; justify-content: space-between; width: 100%;
  padding: .9rem .6rem; font-size: .65rem; font-weight: 600; color: #fff;
}

.md-footer__link { color: #fff; }
.md-footer__direction { color: #b4b5bb; }

/* ---------- content links = duckuza.com's .underline ---------- */
.md-typeset a:not(.headerlink):not(.md-button):not(.md-content__button) {
  position: relative;
  text-decoration: none;
}
.md-typeset a:not(.headerlink):not(.md-button):not(.md-content__button) code {
  text-decoration: none;
}
.md-typeset a:not(.headerlink):not(.md-button):not(.md-content__button)::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 2px;
  background-color: #f7f7f7;
  transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (hover: hover) and (pointer: fine) {
  .md-typeset a:not(.headerlink):not(.md-button):not(.md-content__button):hover::before {
    left: 0;
    right: auto;
    width: 100%;
  }
}
/* the link colour stays put on hover (the bar is the hover cue) */
.md-typeset a:hover { color: var(--md-typeset-a-color); }
/* linked commands (!12s, !badges...) = plain text, no chip box */
.md-typeset a code,
.md-typeset a:hover code,
.md-typeset a:focus code { color: inherit; background: none; box-shadow: none; padding: 0; }

/* ---------- title band = duckuza.com's page-title bar ----------
   130px gradient, breadcrumbs left (Roboto 13/600 #b4b5bb), title right (League Spartan 34/700 #333).
   Scrolls away with the page like duckuza.com; the menu sticks instead. */
.md-header.dz-band { position: relative; height: auto; }
.dz-band__inner { max-width: none; height: 130px; padding: 0; display: flex; align-items: center; }
.dz-band__main { flex: 1; min-width: 0; }
.dz-band__grid {
  display: flex; align-items: center; gap: 0;
  padding: 0 1.2rem;
}
.dz-band__topic { display: contents; }
.dz-crumbs { order: 1; }
.dz-band__search { order: 2; margin-left: .9em; display: flex; }
.dz-band__title { order: 3; margin-left: auto; padding-left: 2rem; }
.dz-crumbs {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center;
  font: 600 13px/1.4 "Roboto", Helvetica, Arial, sans-serif; color: #b4b5bb;
}
.dz-crumbs li + li::before { content: "/"; margin: 0 .55em; opacity: .7; }
.dz-crumbs a { color: #b4b5bb; text-decoration: none; }
.dz-crumbs a:hover { color: #fff; }
.dz-crumbs [aria-current] { color: #b4b5bb; }
.dz-band__title {
  font: 700 34px/1.2 var(--dz-head); color: #333; text-transform: lowercase;
  text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* the band carries the title, so the in-page one is for screen readers only */
.md-content .md-typeset h1 {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0;
}
/* so the first thing on the page starts level with the menu and "on this page" */
.md-content .md-typeset h1 + * { margin-top: 0 !important; }
.md-content .md-typeset h1 + h2 { margin-top: 12px !important; }

@media screen and (min-width: 76.25em) {
  .dz-band__drawer { display: none; }
  /* band frames the whole view: crumbs start at the menu's left edge,
     title ends at the right edge of "on this page" (same page grid) */
  .dz-band__grid { padding: 0 0 0 .6rem; }

}
@media screen and (max-width: 76.24em) {
  .dz-band__inner { height: 84px; }
  .dz-band__grid { padding: 0 .4rem; }
  .dz-band__title { font-size: 24px; }
}

/* ---------- search = a magnifier at the end of the breadcrumbs ---------- */
.dz-band__search .md-search { position: static; display: block !important; }
.dz-band__search .md-search__button {
  display: flex !important; align-items: center; justify-content: center;
  position: relative; width: 22px; height: 22px; padding: 0; margin: 0;
  background: none; border: 0; box-shadow: none; border-radius: 0;
  font-size: 0; color: #b4b5bb; cursor: pointer;
}
.dz-band__search .md-search__button::before {
  position: static !important; width: 15px !important; height: 15px !important;
  transform: none !important; background-color: currentColor;
}
.dz-band__search .md-search__button::after { display: none !important; }
.dz-band__search .md-search__button:hover, .dz-band__search .md-search__button:focus-visible { color: #fff; outline: none; }
@media screen and (max-width: 76.24em) {
  /* phones: crumbs hide, the magnifier stays */
  .dz-crumbs { display: none; }
  .dz-band__title { order: 1; }
  .dz-band__search { order: 2; margin-left: .6rem; }
  .dz-band__search .md-search__button { color: #333; }
}

/* search pop-up: square, flat, border-only lift (house modal rule) */
.md-search__inner, .md-search__form, .md-search__output, .md-search-result,
.md-search [role="dialog"] > *, .md-search__overlay + * { border-radius: 0 !important; }
.md-search__inner { box-shadow: none !important; border: 2px solid var(--dz-navy); }

/* ================= duckuza.com match pass (11-13) =================
   Numbers measured off duckuza.com (The7) with a headless browser at 2560 wide:
   rail 60px #7a7a7a fixed; slide-out 300px #808080+grunge, shade rgba(17,17,17,.4), .5s;
   band 130px beside the rail, padding 25/20, crumbs 13/23 600, title 34/44;
   body text Roboto 16/25.6 #85868c; section headings 20/30; first heading 70px under the band;
   bottom bar 60px = #1a1c20 + 10% white, text 13px 400 white.
   The Duckipedia keeps its 3 columns (Andrew 11-13), so its frame stays wider than the site's 1200. */

/* ---------- rail ---------- */
.dz-rail, .dz-site, .dz-site-shade { display: none; }
@media screen and (min-width: 76.25em) {
  body { padding-left: 60px; }
  .dz-rail {
    display: block; position: fixed; z-index: 6; left: 0; top: 0; bottom: 0; width: 60px;
    background: #7a7a7a;
  }
  .dz-rail__toggle {
    position: absolute; left: 6px; top: 10px; width: 48px; height: 38px; padding: 12px 9px;
    background: none; border: 0; cursor: pointer;
  }
  .dz-rail__toggle span {
    display: block; height: 2px; width: 24px; background: #333; margin-bottom: 4px;
    transition: width .2s linear, background-color .2s linear;
  }
  .dz-rail__toggle span:nth-child(2) { width: 30px; }
  .dz-rail__toggle:hover span, .dz-rail__toggle:focus-visible span { width: 30px; background: #55f5dd; }
  .dz-rail__toggle:focus-visible { outline: none; }
  .dz-rail__logo { position: absolute; left: 0; bottom: 10px; width: 60px; height: 45px; }
  .dz-rail__logo img { width: 60px; height: 45px; object-fit: contain; display: block; }

  /* ---------- slide-out = duckuza.com's own menu ---------- */
  .dz-site-shade {
    display: block; position: fixed; inset: 0; z-index: 7; background: rgba(17, 17, 17, .4);
    opacity: 0; pointer-events: none; transition: opacity .5s;
  }
  .dz-site {
    display: flex; flex-direction: column; position: fixed; z-index: 8; left: 0; top: 0; bottom: 0; width: 300px;
    padding: 40px 40px 45px; overflow-y: auto; scrollbar-width: thin;
    background: #808080 url("subtle_grunge.png") repeat;
    transform: translateX(-100%); transition: transform .5s; visibility: hidden;
  }
  html.dz-site-open .dz-site { transform: none; visibility: visible; }
  html.dz-site-open .dz-site-shade { opacity: 1; pointer-events: auto; }
  .dz-site { transition: transform .5s, visibility 0s .5s; }
  html.dz-site-open .dz-site { transition: transform .5s, visibility 0s; }

  .dz-site__close {
    position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; padding: 9px;
    background: none; border: 0; cursor: pointer;
  }
  .dz-site__close span {
    position: absolute; left: 8px; right: 8px; top: 16px; height: 2px; background: #333;
    transform: rotate(45deg); transition: background-color .2s;
  }
  .dz-site__close span + span { transform: rotate(-45deg); }
  .dz-site__close:hover span { background: #1ebbf0; }
  .dz-site__logo { flex-shrink: 0; }
  .dz-site__logo img { display: block; width: 190px; height: 165px; margin: 0 15px; object-fit: contain; }

  /* logo top, menu centred in the free space, socials + search pinned to the bottom (as on the site) */
  .dz-site__menu { display: contents; }
  .dz-site .dz-site__nav { margin: auto 0; padding: 30px 0; }
  .dz-site__nav, .dz-site__sub { list-style: none; margin: 0; padding: 0; }
  .dz-site__nav > li { position: relative; margin: 0; }
  .dz-site__nav > li + li::before {
    content: ""; position: absolute; top: -.5px; left: 0; width: 24px; border-top: 1px solid #fff;
  }
  .dz-site__link {
    display: flex; justify-content: space-between; align-items: center; width: 100%;
    padding: 10px 0; margin: 0; background: none; border: 0; text-align: left; cursor: pointer;
    font: 700 19px/23px var(--dz-head); text-transform: lowercase; color: #333; text-decoration: none;
  }
  .dz-site__link:hover, .dz-site__link:focus-visible,
  .dz-site__group.is-open > .dz-site__link { color: #1ebbf0; outline: none; }
  /* current page = white, like the site's current-menu-item */
  .dz-site__nav .is-current > .dz-site__link { color: #fff; }
  .dz-site__group > .dz-site__link::after {
    content: "+"; font: 400 18px/1 var(--dz-head); color: rgba(51, 51, 51, .3);
  }
  .dz-site__group.is-open > .dz-site__link::after { content: "\00d7"; color: rgba(51, 51, 51, .5); }
  .dz-site__sub { display: none; padding-left: 10px; margin-bottom: 10px; }
  .dz-site__group.is-open > .dz-site__sub { display: block; }
  .dz-site__sub .dz-site__link { font: 500 16px/20px var(--dz-head); padding: 5px 0; }

  /* site: 30px boxes, 34px pitch, 26px glyph, navy; magnifier 16px #333, 10px under the row */
  .dz-site__social { display: flex; gap: 4px; align-items: center; flex-shrink: 0; min-height: 34px; }
  .dz-site__social a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: #02254e; }
  .dz-site__social a:hover { color: #1ebbf0; }
  .dz-site__social svg { width: 26px; height: 26px; fill: currentColor; }
  .dz-site__search { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
  .dz-site__search-btn { display: flex; width: 16px; height: 16px; padding: 0; background: none; border: 0; cursor: pointer; color: #333; }
  .dz-site__search-btn:hover { color: #1ebbf0; }
  .dz-site__search-btn svg { width: 100%; height: 100%; fill: currentColor; }
  .dz-site__search input {
    display: none; flex: 1; min-width: 0; padding: 4px 6px; border: 1px solid #02254e; border-radius: 0;
    background: rgba(255, 255, 255, .3); font: 400 14px "Roboto", sans-serif; color: #333;
  }
  .dz-site__search.is-open input { display: block; }

  /* ---------- band: same inner box as duckuza.com ---------- */
  .dz-band__inner { padding: 25px 0 20px; box-sizing: border-box; }
  /* crumbs + title sit on the site's own frame (1300 wrap, 50px padding = 1200 inner, crumbs 10px in),
     whatever width the Duckipedia's columns are below */
  .dz-band__main > .dz-band__grid { max-width: 1300px; margin: 0 auto; padding: 0 50px; box-sizing: border-box; }
  .dz-crumbs { padding-left: 10px; }
  .dz-band__title { padding-left: 2rem; }
  /* crumbs sit 3px lower to match the site; the magnifier rides with them */
  .dz-crumbs, .dz-band__search { line-height: 23px; position: relative; top: 3px; }
  .dz-band__title { line-height: 44px; }
  /* first heading sits 70px under the band, level with the menus */
  .md-main__inner { margin-top: 0; padding-top: 60px; }
  .md-content__inner { padding-top: 0; }
  .md-sidebar--primary, .md-sidebar--secondary { padding-top: 0; }
  .md-content .md-typeset h1 + h2 { margin-top: 0 !important; }
}

/* ---------- body text + headings = duckuza.com ---------- */
.md-typeset { font-size: 16px; line-height: 25.6px; }
.md-typeset h2 { font-size: 20px; line-height: 30px; }

/* ---------- bottom bar = duckuza.com's (60px, #1a1c20 + 10% white, 13px white) ---------- */
.md-footer-meta { background: #313236; }
.md-footer-meta__inner { padding: 0; }
.dz-bottom { height: 60px; align-items: center; padding: 0 .6rem; font: 400 13px/18.2px "Roboto", sans-serif; color: #fff; }
