/* Oritech-ish palette: dark steel with orange accents. */
:root {
  --md-primary-fg-color: #2b2d33;
  --md-primary-fg-color--light: #3b3e46;
  --md-primary-fg-color--dark: #1c1d21;
  --md-accent-fg-color: #e6781e;
}
[data-md-color-scheme="slate"] {
  --md-default-bg-color: #1e1f23;
  --md-typeset-a-color: #ffa340;
}
.md-typeset .video { position: relative; padding-top: 56.25%; }
.md-typeset .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---- Item icons ---- */
.md-typeset img.mc-icon, .md-typeset img.mc-inline, .md-typeset img.mc-preview, .md-typeset img.mc-station {
  image-rendering: pixelated; image-rendering: crisp-edges; }
.md-typeset img.mc-inline { width: 1.4em; height: 1.4em; vertical-align: -0.35em; margin-right: .25em; }
.md-typeset h1 img.mc-title-icon { width: 1.1em; height: 1.1em; vertical-align: -0.12em; margin-right: .3em; }

/* ---- <CraftingRecipe>: a crafting-table panel in Minecraft's GUI style ---- */
.md-typeset .mc-recipe { margin: 1.2em 0; overflow-x: auto; }
.md-typeset .mc-panel {
  --mc-light: #ffffff; --mc-face: #c6c6c6; --mc-dark: #555555; --mc-slot: #8b8b8b; --mc-slot-dark: #373737;
  display: inline-block; min-width: max-content; padding: .9rem 1.1rem 1.1rem; color: #3f3f3f;
  background: var(--mc-face); border: 2px solid #000; border-radius: 6px;
  box-shadow: inset 3px 3px 0 var(--mc-light), inset -3px -3px 0 var(--mc-dark);
}
.md-typeset .mc-heading { font-weight: 700; margin: 0 0 .55rem .1rem; letter-spacing: .02em; }
.md-typeset .mc-body { display: flex; align-items: center; gap: 1.1rem; }
.md-typeset .mc-grid { display: grid; grid-template-columns: repeat(3, 2.7rem); gap: 0; }
.md-typeset .mc-slot {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 2.7rem; height: 2.7rem; background: var(--mc-slot);
  box-shadow: inset 2px 2px 0 var(--mc-slot-dark), inset -2px -2px 0 var(--mc-light);
}
.md-typeset .mc-slot img.mc-icon { width: 2.1rem; height: 2.1rem; }
.md-typeset .mc-slot .mc-label { font-size: .48rem; line-height: 1.05; text-align: center; color: #fff;
  padding: 0 .15rem; text-shadow: 1px 1px 0 #3f3f3f; overflow-wrap: anywhere; }
.md-typeset .mc-result { width: 3.6rem; height: 3.6rem; }
.md-typeset .mc-result img.mc-icon { width: 2.6rem; height: 2.6rem; }
.md-typeset .mc-count { position: absolute; right: .2rem; bottom: .05rem; color: #fff; font-weight: 700;
  font-size: .8rem; text-shadow: 2px 2px 0 #3f3f3f; }
.md-typeset .mc-mid { display: flex; flex-direction: column; align-items: center; gap: .35rem; min-width: 3rem; }
.md-typeset img.mc-station { width: 1.6rem; height: 1.6rem; }
/* Pixel arrow, like the crafting table's. */
.md-typeset .mc-arrow { width: 2.2rem; height: 1.5rem; background: #8b8b8b;
  clip-path: polygon(0 35%, 60% 35%, 60% 0, 100% 50%, 60% 100%, 60% 65%, 0 65%); }
.md-typeset .mc-tag { font-size: .55rem; text-transform: uppercase; letter-spacing: .06em; color: #555; }
.md-typeset img.mc-preview { width: 7rem; height: 7rem; margin-left: .8rem;
  filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .25)); }
@media (max-width: 40em) { .md-typeset img.mc-preview { display: none; } }

/* ---- 3D paint viewer (javascripts/paint-viewer*.js) ---- */
.md-typeset .paint-viewer { margin: 1.2em 0 1.6em; border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px; overflow: hidden; background: var(--md-code-bg-color); }
.md-typeset .pv-stage { position: relative; height: 320px; cursor: grab; touch-action: none;
  background: radial-gradient(circle at 50% 45%, rgba(230, 120, 30, .12), transparent 65%); }
.md-typeset .pv-stage:active { cursor: grabbing; }
.md-typeset .pv-stage canvas { width: 100%; height: 100%; display: block; }
.md-typeset .pv-hint { position: absolute; right: .7rem; bottom: .5rem; font-size: .6rem; opacity: .55;
  pointer-events: none; transition: opacity .4s; }
.md-typeset .pv-touched .pv-hint { opacity: 0; }
.md-typeset .pv-controls { padding: .6rem .7rem .7rem; border-top: 1px solid var(--md-default-fg-color--lightest); }
.md-typeset .pv-blocks, .md-typeset .pv-paints { display: flex; flex-wrap: wrap; gap: .35rem; }
.md-typeset .pv-paints { margin-top: .55rem; }
.md-typeset .paint-viewer button, .md-typeset .door-viewer button { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .5rem;
  font: inherit; font-size: .62rem; color: var(--md-default-fg-color); background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest); border-radius: 999px; cursor: pointer; }
.md-typeset .paint-viewer button:hover:not(:disabled), .md-typeset .door-viewer button:hover { border-color: var(--md-accent-fg-color); }
.md-typeset .paint-viewer button[aria-selected="true"], .md-typeset .paint-viewer button[aria-checked="true"],
.md-typeset .door-viewer button[aria-checked="true"] {
  border-color: var(--md-accent-fg-color); box-shadow: inset 0 0 0 1px var(--md-accent-fg-color); }
.md-typeset .paint-viewer button:disabled { opacity: .35; cursor: not-allowed; }
.md-typeset .pv-blocks img { width: 1.3rem; height: 1.3rem; image-rendering: pixelated; }
.md-typeset .pv-dot { width: .9rem; height: .9rem; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35); }
@media (max-width: 40em) { .md-typeset .pv-label { display: none; } .md-typeset .pv-blocks span { display: none; } }

/* ---- Animated hangar door (javascripts/door-viewer-core.js): reuses the paint viewer's look ---- */
.md-typeset .door-viewer { margin: 1.2em 0 1.6em; border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px; overflow: hidden; background: var(--md-code-bg-color); }
.md-typeset .door-viewer .pv-stage { height: 380px; }
.md-typeset .door-viewer .pv-blocks { align-items: center; gap: .8rem; }
.md-typeset .door-viewer .dv-toggle { font-weight: 700; padding: .3rem .8rem; }
.md-typeset .dv-count { display: inline-flex; align-items: center; gap: .45rem; font-size: .62rem; }
.md-typeset .dv-count input { accent-color: var(--md-accent-fg-color); width: 8rem; }
.md-typeset .dv-count output { min-width: 1em; font-weight: 700; }
