/* Frostyh Plugins docs in the Minecraft look v2 (2026-10-19, modern and dark), written by gen-docs.js.
   Dark only, on a plain dark page. The frames, the game's buttons, slots, fields and the obsidian
   come from /assets/css/mc-art.css (zeropvp.xyz's sprites as data URIs, tools/mc-art/art2.js); the
   face is McVanilla, the game's own bitmap font, with ZeroCraft as the fallback. 9 font pixels to
   the em, so text is only ever 18, 27 or 36px, and every glyph casts the game's hard shadow. */
@font-face{font-family:'McVanilla';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/mcvanilla/mcvanilla.woff') format('woff')}
@font-face{font-family:'ZeroCraft';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/zerocraft/zerocraft.woff') format('woff')}
@font-face{font-family:'Monocraft';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/monocraft/monocraft-400.woff2') format('woff2')}
:root{
  color-scheme:dark;
  --bg:#0c0d11;--line:#1d1c24;--text:#f2f1f6;--text-2:#c3c0cd;--muted:#8f8b9c;--accent:#a98bff;--accent-hi:#cdbbff;--hover:#ffffff;
  --yellow:#ffff55;--gold:#ffaa00;--green:#55ff55;--red:#ff5555;
  --font:'McVanilla','ZeroCraft','Monocraft',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --mono:'Monocraft','McVanilla',ui-monospace,Consolas,monospace;
  --shadow:.1111em .1111em 0 color-mix(in srgb,currentColor 25%,#000);
  --shadow-b:.1111em 0 0 currentColor,.1111em .1111em 0 color-mix(in srgb,currentColor 25%,#000),.2222em .1111em 0 color-mix(in srgb,currentColor 25%,#000);
  --veil:linear-gradient(rgba(16,14,23,.88),rgba(16,14,23,.88));
}
*,*::before,*::after{box-sizing:border-box;letter-spacing:0;font-synthesis:none}
html{-webkit-text-size-adjust:100%;background:var(--bg);image-rendering:pixelated;scrollbar-color:#3b3944 var(--bg)}
body{margin:0;color:var(--text);font-family:var(--font);font-size:18px;line-height:1.6;overflow-wrap:break-word;text-shadow:var(--shadow);
  font-kerning:none;font-variant-ligatures:none;-webkit-font-smoothing:none;text-rendering:optimizeSpeed;
  background:radial-gradient(90% 100% at 50% 0%,#16171f 0%,rgba(12,13,17,0) 100%) 0 0/100% 760px no-repeat,var(--bg)}
::selection{background:#a98bff;color:#fff;text-shadow:none}
:focus-visible{outline:2px solid #fff;outline-offset:2px}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#34323d;border:2px solid var(--bg)}
::-webkit-scrollbar-corner{background:var(--bg)}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
a{color:var(--accent-hi);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--hover)}
strong,b{font-weight:400;text-shadow:var(--shadow-b)}
em{font-style:normal;color:var(--text-2)}

/* top bar and footer */
header.site{position:sticky;top:0;z-index:10;background:rgba(12,13,17,.94);box-shadow:0 2px 0 #050507,0 4px 0 rgba(255,255,255,.03)}
header.site .wrap,footer.site .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px}
header.site a{text-decoration:none;font-size:18px;color:#cfccd8}
header.site a:hover{color:#fff}
header.site .brand{color:#fff}
footer.site{margin-top:72px;font-size:18px;color:var(--muted);
  background:linear-gradient(rgba(10,9,15,.9),rgba(10,9,15,.9)),var(--mc-obsidian,none) 0 0/32px 32px,#0a0a0e;
  box-shadow:0 -2px 0 #050507,0 -4px 0 rgba(255,255,255,.03)}
footer.site .wrap{padding-top:20px;padding-bottom:20px}
footer.site a{color:var(--text-2)}
footer.site a:hover{color:#fff}
footer.site .notice{flex-basis:100%;margin:6px 0 0;padding-top:12px;box-shadow:0 -2px 0 rgba(255,255,255,.04);color:var(--muted)}
.site-nav,.foot-nav{display:flex;flex-wrap:wrap;gap:4px 18px}

/* text */
main{padding-top:32px;padding-bottom:16px}
h1,h2,h3{font-weight:400;text-wrap:balance}
h1{font-size:36px;line-height:1.15;margin:.3em 0 .4em;color:#fff}
@media (min-width:640px){h1{font-size:45px}}
h2{font-size:27px;line-height:1.2;margin:2em 0 .6em;padding-top:.8em;border-top:2px solid var(--line);color:#fff}
h3{font-size:18px;line-height:1.4;margin:1.6em 0 .4em;color:var(--yellow)}
p,ul,ol,dl{margin:0 0 1em}
p,li{color:var(--text-2);line-height:1.65}
ul,ol{padding-left:1.4em}
li{margin:.3em 0}
li::marker{color:var(--accent)}
.lead{font-size:18px;color:var(--text-2)}
.subtitle{color:#fff;text-shadow:var(--shadow-b)}
.crumb{font-size:18px;color:var(--muted);margin:0}
.muted{color:var(--muted)}
.small{font-size:18px}

/* commands: the chat line; code: a dark slot in Monocraft */
code{font-family:var(--font);font-size:1em;padding:0 5px;background:rgba(0,0,0,.5);color:var(--yellow)}
pre{margin:0 0 1.2em;padding:10px 14px;overflow-x:auto;font-family:var(--mono);font-size:18px;line-height:1.5;color:#e0e0e0;
  border:2px solid transparent;border-image:var(--mc-slot) 1 fill / 2px / 0 stretch;background:#0d0c11}
pre code{font-family:var(--mono);background:none;padding:0;font-size:inherit;color:inherit;white-space:pre}
/* a config file: a dark container, the file name on an obsidian strip, the code under it */
.codefile{margin:0 0 1.2em;padding:0;border:8px solid transparent;border-image:var(--mc-gui) 4 fill / 8px / 0 stretch;background:#16151c}
.codefile-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:18px;color:var(--text);
  background:var(--veil),var(--mc-obsidian,none) 0 0/32px 32px;box-shadow:0 2px 0 #050507}
.codefile-bar span{overflow-wrap:anywhere}
.codefile pre{max-height:36rem;margin:0;border:0;border-image:none;background:none}
/* buttons: the game's button sprites */
.btn,button.copy{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;margin:0;
  border:6px solid transparent;border-radius:0;
  border-image:var(--mc-btn) 3 fill / 6px / 0 repeat;background:none;
  color:#fff;font-family:var(--font);font-size:18px;line-height:1;text-decoration:none;text-shadow:var(--shadow);white-space:nowrap;cursor:pointer;user-select:none}
.btn{border-image-source:var(--mc-btn-primary)}
.btn:hover,.btn:focus-visible{border-image-source:var(--mc-btn-primary-hover);color:#fff;outline:none}
.btn-quiet{border-image-source:var(--mc-btn)}
.btn-quiet:hover,.btn-quiet:focus-visible,button.copy:hover,button.copy:focus-visible{border-image-source:var(--mc-btn-hover);color:#fff;outline:none}
.btn:active,button.copy:active{border-image-source:var(--mc-btn-down)}
button.copy{min-height:36px;padding:0 12px}
/* tables: a dark frame, a header strip, striped rows; wide ones scroll in their own box */
.table-wrap{overflow-x:auto;margin:0 0 1.2em;border:8px solid transparent;border-image:var(--mc-gui-dark) 4 fill / 8px / 0 stretch;background:#121117}
table{border-collapse:collapse;width:100%;font-size:18px}
th,td{text-align:left;vertical-align:top;padding:8px 12px;line-height:1.5}
th{font-weight:400;color:var(--muted);background:rgba(0,0,0,.3)}
td{color:var(--text-2)}
tbody tr:nth-child(even){background:rgba(255,255,255,.025)}
tbody tr:hover{background:rgba(169,139,255,.07)}
td code{overflow-wrap:anywhere;word-break:normal}
.cmd-table td:first-child,.perm-table td:first-child,.key-table td:first-child{white-space:nowrap}
.cmd-table{min-width:900px}
.perm-table{min-width:760px}
.key-table{min-width:700px}
/* facts: rows in a dark frame */
dl.facts{display:grid;grid-template-columns:1fr;gap:0;border:8px solid transparent;border-image:var(--mc-gui-dark) 4 fill / 8px / 0 stretch;background:#121117}
dl.facts>div{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:12px;padding:8px 12px}
dl.facts>div:nth-child(even){background:rgba(255,255,255,.025)}
dl.facts dt{color:var(--muted)}
dl.facts dd{margin:0;color:var(--text-2)}
@media (max-width:520px){dl.facts>div{grid-template-columns:1fr;gap:2px}}
/* on this page: a dark container with an obsidian title strip */
.toc{margin:24px 0 8px;padding:0;border:8px solid transparent;border-image:var(--mc-gui) 4 fill / 8px / 0 stretch;background:#16151c}
.toc-title{margin:0;padding:8px 12px;font-size:18px;color:#fff;background:var(--veil),var(--mc-obsidian,none) 0 0/32px 32px;box-shadow:0 2px 0 #050507}
.toc ol{margin:0;padding:10px 12px 10px 2.4em;columns:2;column-gap:24px}
.toc li{margin:0;padding:3px 0;break-inside:avoid;color:var(--muted)}
.toc li::marker{color:var(--muted)}
.toc a{color:var(--text-2);text-decoration:none}
.toc a:hover,.toc a:focus-visible{color:#fff;text-decoration:underline}
@media (max-width:520px){.toc ol{columns:1}}
/* notes and the changelog */
.note{padding:8px 12px;border-left:4px solid var(--accent);background:rgba(169,139,255,.06);color:var(--text-2)}
details.notes{margin:0 0 1em;padding:8px 14px;border:8px solid transparent;border-image:var(--mc-gui-dark) 4 fill / 8px / 0 stretch;background:#121117}
details.notes summary{cursor:pointer;color:#fff}
details.notes summary:hover{color:var(--accent-hi)}
details.notes[open] summary{margin-bottom:8px}
.badge{display:inline-flex;align-items:center;vertical-align:middle;height:26px;padding:0 8px;font-size:18px;line-height:1;color:var(--gold);background:#0d0c11;box-shadow:inset 0 0 0 2px #6b4a00;text-shadow:var(--shadow)}
.video{position:relative;width:100%;aspect-ratio:16/9;margin:0 0 1.2em;background:#000;border:8px solid transparent;border-image:var(--mc-gui) 4 fill / 8px / 0 stretch}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* plugin cards: the dark GUI, lavender edge and a two pixel lift under the pointer */
.cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}
.card{display:flex;flex-direction:column;min-width:0;padding:12px 16px 14px;border:8px solid transparent;border-image:var(--mc-gui) 4 fill / 8px / 0 stretch;background:#16151c;transition:transform 160ms cubic-bezier(.2,.7,.2,1)}
.card:hover{border-image-source:var(--mc-gui-hover)}
@media (prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-2px)}}
.card h3{margin:0 0 .4em;color:#fff;font-size:27px;line-height:1.2}
.card h3 a{text-decoration:none;color:#fff}
.card h3 a:hover{color:var(--accent-hi)}
.card p{margin:0 0 .6em}
.card .card-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:8px}
ul.links{padding-left:1.2em}
section{scroll-margin-top:72px}
[hidden]{display:none!important}
/* the fallback colours under the frames stay inside them, so the frames' cut corners stay clear */
.codefile,.toc,.buy,.lite,.card,pre,.table-wrap,dl.facts,details.notes,.video{background-clip:padding-box}
/* buy and free boxes: a dark container, the lavender-lit frame */
.buy,.lite{margin:24px 0 8px;padding:10px 14px 14px;border:8px solid transparent;border-image:var(--mc-gui-lit,var(--mc-gui)) 4 fill / 8px / 0 stretch;background:#1b1922;color:var(--text)}
.buy p,.lite p,.buy li,.lite li{color:var(--text-2)}
.buy .muted,.lite .muted{color:var(--muted)}
.buy a:not(.btn),.lite a:not(.btn){color:var(--accent-hi)}
.buy a:not(.btn):hover,.lite a:not(.btn):hover{color:#fff}
.buy .badge,.lite .badge{color:var(--gold)}
.buy>*:last-child,.lite>*:last-child,.buy-own>*:last-child,.buy-bbb>*:last-child{margin-bottom:0}
h2.buy-title{font-size:18px;margin:0 0 .6em;padding-top:0;border-top:0;color:var(--accent)}
.buy-own:not([hidden])+.buy-bbb{margin-top:.8em;padding-top:.8em;border-top:2px solid var(--line)}
.buy-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 .6em}
.buy-price{font-size:36px;color:#fff}
