/* wow.furian.sk shared hall: fonts, tokens, base, top bar, switches, frames, chips, /way copy, footer.
   Used by the landing (with site.css) and by every guide (scripts/prepare-guides.mjs builds /guide.css). */
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/cinzel-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/cinzel-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ------------------------------------------------------------------ tokens */
:root{
  --ground:#0c0a08;--ground-2:#100d0a;--glow:#5a3a1655;--torch:#ffb44a26;
  --panel-a:#1d1913;--panel-b:#15120e;--head-a:#2a2117;--head-b:#1b1610;--edge:#3a2f22;--rule:#2a2219;
  --gold:#d8b35a;--gold-hi:#f3d98c;--gold-lo:#8a6a2a;--title:#fff3cf;--title-shadow:#3a2a0c;
  --text:#ece3cf;--mut:#b3a78f;--link:#f3d98c;
  --field:#0f0c09;--field-in:#000;
  --tip:#0a0d1a;--tip-edge:#8c8c96;--tip-text:#ffffff;--tip-gold:#ffd200;--tip-mut:#b9b9c4;
  --q1:#f2f2f2;--q2:#1eff00;--q3:#3d8fff;--q4:#b65cff;--q5:#ff8000;
  --d-gray:#9a9a9a;--d-green:#40c040;--d-yellow:#ffd200;--d-orange:#ff8040;--d-red:#ff4a3a;
  --badge:#000a;--sel:#d8b35a;--sel-text:#1a1206;--focus:#f3d98c;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .95  0 0 0 0 .8  0 0 0 0 .55  0 0 0 .16 -.02'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
  color-scheme:dark;
}
@media not all{:root:not([data-theme="dark"]){
  --ground:#e9dcc0;--ground-2:#efe4cc;--glow:#c8964a40;--torch:#fff2c860;
  --panel-a:#f8f0de;--panel-b:#f1e6cd;--head-a:#eadbb9;--head-b:#e2cfa8;--edge:#c3a874;--rule:#dccaa3;
  --gold:#7a4f0e;--gold-hi:#6b430a;--gold-lo:#a8854a;--title:#4a2f08;--title-shadow:#f8eccf;
  --text:#2a1f12;--mut:#5e4f39;--link:#7a4a08;
  --field:#fbf6ea;--field-in:#d8c7a2;
  --q1:#2a1f12;--q2:#17801a;--q3:#0a5fc4;--q4:#7d2bd0;--q5:#b35900;
  --d-gray:#615c52;--d-green:#1f6312;--d-yellow:#6b4d00;--d-orange:#b34f0c;--d-red:#b3261e;
  --badge:#fff8;--sel:#7a4f0e;--sel-text:#fff6df;--focus:#7a4a08;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .22  0 0 0 0 .08  0 0 0 .14 -.02'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
  color-scheme:light;
}}
:root[data-theme="light"]{
  --ground:#e9dcc0;--ground-2:#efe4cc;--glow:#c8964a40;--torch:#fff2c860;
  --panel-a:#f8f0de;--panel-b:#f1e6cd;--head-a:#eadbb9;--head-b:#e2cfa8;--edge:#c3a874;--rule:#dccaa3;
  --gold:#7a4f0e;--gold-hi:#6b430a;--gold-lo:#a8854a;--title:#4a2f08;--title-shadow:#f8eccf;
  --text:#2a1f12;--mut:#5e4f39;--link:#7a4a08;
  --field:#fbf6ea;--field-in:#d8c7a2;
  --q1:#2a1f12;--q2:#17801a;--q3:#0a5fc4;--q4:#7d2bd0;--q5:#b35900;
  --d-gray:#615c52;--d-green:#1f6312;--d-yellow:#6b4d00;--d-orange:#b34f0c;--d-red:#b3261e;
  --badge:#fff8;--sel:#7a4f0e;--sel-text:#fff6df;--focus:#7a4a08;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .22  0 0 0 0 .08  0 0 0 .14 -.02'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
  color-scheme:light;
}

/* ------------------------------------------------------------------ base */
*{box-sizing:border-box;margin:0}
html{background:var(--ground);scrollbar-color:var(--gold-lo) var(--ground)}
body{color:var(--text);font:17px/1.5 "Source Sans 3",system-ui,sans-serif;min-height:100vh;font-variant-numeric:tabular-nums;
  background:
    radial-gradient(ellipse 70% 520px at 50% 0,var(--glow) 0,transparent 70%),
    var(--grain) repeat,
    linear-gradient(var(--ground-2),var(--ground) 640px)}
::selection{background:var(--sel);color:var(--sel-text)}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:var(--gold-lo);border:3px solid var(--ground);border-radius:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;background:var(--gold);color:var(--sel-text);padding:8px 14px;z-index:10;font-weight:700}
.skip:focus{top:12px}
h1,h2,h3{text-wrap:balance}

/* ------------------------------------------------------------------ top bar */
.bar{border-bottom:1px solid var(--gold-lo);background:linear-gradient(var(--head-a),var(--ground-2));box-shadow:0 1px 0 #0006,0 10px 24px #0005}
.bar .wrap{display:flex;align-items:center;gap:22px;min-height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gold)}
.brand b{font-family:Cinzel,serif;font-weight:700;font-size:19px;letter-spacing:.06em;line-height:1.1}
.brand small{display:block;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.em-shield{fill:var(--panel-a);stroke:var(--gold);stroke-width:2}.em-star{fill:var(--gold)}
.nav{display:flex;gap:22px;margin-left:auto;font-weight:600;align-items:center}
.nav a{color:var(--text);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--gold-hi);border-bottom-color:var(--gold-lo)}
.theme{margin-left:4px;width:40px;height:40px;border-radius:50%;border:1px solid var(--gold-lo);background:transparent;color:var(--gold);display:grid;place-items:center;cursor:pointer}
.theme svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.theme:hover{background:var(--head-a)}
.theme[aria-pressed="true"] .i-sun,.theme[aria-pressed="false"] .i-moon{display:none}

/* ------------------------------------------------------------------ frames */
.frame{position:relative;background:linear-gradient(var(--panel-a),var(--panel-b));border:1px solid var(--edge);border-radius:4px;box-shadow:0 0 0 1px #0005,0 14px 30px #0006}
.frame:before,.frame:after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--gold);pointer-events:none}
.frame:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.frame:after{right:-3px;bottom:-3px;border-left:0;border-top:0}
.fh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--edge);background:linear-gradient(var(--head-a),var(--head-b))}
.fh h2{font:700 18px Cinzel,serif;letter-spacing:.08em;color:var(--gold)}
.fh .legend,.srcl{color:var(--mut);font-size:14px}

/* chips and difficulty colours */
.range{font-weight:700;font-size:15px;padding:2px 8px;border-radius:3px;background:var(--badge);white-space:nowrap}
.d-gray{color:var(--d-gray)}.d-green{color:var(--d-green)}.d-yellow{color:var(--d-yellow)}.d-orange{color:var(--d-orange)}.d-red{color:var(--d-red)}
.lvn{font-weight:700;font-size:14px;padding:0 6px;border-radius:3px;min-width:30px;text-align:center}

.foot{padding-bottom:40px;color:var(--mut);font-size:14px;max-width:1240px}
.foot p{max-width:90ch;border-top:1px solid var(--edge);padding-top:16px}

/* light theme: difficulty keeps the game's own colours on a dark stone chip */
@media not all{:root:not([data-theme="dark"]) .range,:root:not([data-theme="dark"]) .lvn{background:#1d1913;color:var(--chip)}}
:root[data-theme="light"] .range,:root[data-theme="light"] .lvn{background:#1d1913;color:var(--chip)}
.range.d-gray,.lvn.d-gray{--chip:#9a9a9a}.range.d-green,.lvn.d-green{--chip:#40c040}.range.d-yellow,.lvn.d-yellow{--chip:#ffd200}.range.d-orange,.lvn.d-orange{--chip:#ff8040}.range.d-red,.lvn.d-red{--chip:#ff4a3a}
@media not all{:root:not([data-theme="dark"]) .ql li a{color:var(--text)}}
:root[data-theme="light"] .ql li a{color:var(--text)}

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

/* ------------------------------------------------------------------ faction filter */
html[data-fac="horde"] [data-only="alliance"],html:not([data-fac="horde"]) [data-only="horde"]{display:none!important}

/* ------------------------------------------------------------------ switches in the top bar */
.sw{display:flex;align-items:center;gap:14px;margin-left:4px}
.fac{display:inline-flex;border:1px solid var(--gold-lo);border-radius:4px;overflow:hidden;background:var(--field);box-shadow:inset 0 1px 3px #0008}
.fb{font:600 14px/1 "Source Sans 3",system-ui,sans-serif;letter-spacing:.04em;color:var(--mut);background:transparent;border:0;padding:9px 12px;cursor:pointer;min-height:36px}
.fb+.fb{border-left:1px solid var(--gold-lo)}
.fb:hover{color:var(--gold-hi)}
.fb[aria-pressed="true"]{color:var(--title);background:linear-gradient(var(--head-a),var(--head-b));box-shadow:inset 0 -2px 0 var(--gold)}
.fb:focus-visible{outline-offset:-3px}
.lang{display:flex;gap:2px;font-weight:700;font-size:13px;letter-spacing:.1em}
.lang a,.lang span{padding:8px 6px;color:var(--mut);text-decoration:none;border-bottom:2px solid transparent}
.lang a:hover{color:var(--gold-hi)}
.lang span[aria-current]{color:var(--gold-hi);border-bottom-color:var(--gold)}
.nav a[aria-current="page"]{color:var(--gold-hi);border-bottom-color:var(--gold)}

/* ------------------------------------------------------------------ TomTom /way: click to copy */
code.way{font:600 13.5px/1.4 ui-monospace,"Cascadia Mono",Consolas,monospace;color:var(--gold-hi);background:var(--field);border:1px solid var(--edge);border-radius:3px;padding:1px 6px 1px 22px;white-space:nowrap;cursor:copy;position:relative;display:inline-block;transition:border-color .15s}
code.way:before{content:"";position:absolute;left:6px;top:50%;width:10px;height:11px;margin-top:-6px;border:1.5px solid var(--gold);border-radius:2px;box-shadow:2px -2px 0 -0.5px var(--field),3px -3px 0 0 var(--gold-lo)}
code.way:hover{border-color:var(--gold)}
code.way.copied{border-color:var(--gold-hi);box-shadow:0 0 0 1px var(--gold-hi)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:20;background:var(--tip);color:var(--tip-text);border:1px solid var(--tip-edge);border-radius:4px;padding:9px 16px;font-size:15px;box-shadow:0 0 0 1px #000,0 8px 18px #0009}

@media (max-width:640px){
  .wrap{padding:0 16px}
  .bar .wrap{flex-wrap:wrap;gap:6px 14px;padding-top:8px;padding-bottom:8px}
  .nav{order:3;width:100%;margin-left:0;gap:18px;overflow-x:auto;font-size:15px}
  .sw{margin-left:auto;gap:8px}
  .fb{padding:8px 9px;font-size:13px}
}

/* ------------------------------------------------------------------ guide pages
   Presentation of the guides' own markup (boxes, tables, quest/crate blocks, tags) in the hall's
   look. The guides' content is untouched; prepare-guides.mjs drops their old base <style> and
   links /guide.css = base.css + this file. Old variable names the guides still use map here. */
:root{--bg:var(--ground);--card:var(--panel-a);--fg:var(--text);--line:var(--rule);--acc:var(--gold);--acc2:var(--gold-hi);--warn:var(--gold-hi);--tag:var(--head-a)}

main.gd{max-width:1040px;margin:0 auto;padding:40px 24px 64px;position:relative}
main.gd:before{content:"";position:absolute;left:50%;top:0;width:min(900px,100%);height:360px;transform:translateX(-50%);background:radial-gradient(ellipse at center,var(--torch) 0,transparent 65%);pointer-events:none;z-index:-1}
.gd h1{font:800 clamp(32px,5.4vw,54px)/1.05 Cinzel,serif;letter-spacing:.02em;color:var(--gold-hi);text-shadow:0 2px 0 var(--title-shadow),0 6px 18px #0000004d;margin:0 0 8px}
.gd .sub{color:var(--mut);font-size:18px;margin:0 0 26px}
.gd h2{font:700 26px/1.2 Cinzel,serif;letter-spacing:.04em;color:var(--gold);margin:52px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--edge);scroll-margin-top:16px}
.gd h2 .lv{font:700 15px "Source Sans 3",sans-serif;letter-spacing:0;color:var(--d-yellow);background:var(--badge);padding:2px 8px;border-radius:3px;vertical-align:middle;margin-left:6px}
.gd h3{font:700 18px/1.3 Cinzel,serif;letter-spacing:.06em;color:var(--gold);margin:26px 0 10px;scroll-margin-top:16px}
.gd h4{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:16px 0 6px}
.gd p{margin:6px 0}
.gd ul,.gd ol{padding-left:22px}.gd li{margin:4px 0}
.gd a{color:var(--link)}
.gd b{color:var(--title);font-weight:700}
.gd section{scroll-margin-top:16px}

/* boxes are framed panels */
.gd .box{position:relative;background:linear-gradient(var(--panel-a),var(--panel-b));border:1px solid var(--edge);border-radius:4px;padding:14px 18px;margin:16px 0;box-shadow:0 0 0 1px #0005,0 10px 24px #0005}
.gd .box:before,.gd .box:after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--gold);pointer-events:none}
.gd .box:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.gd .box:after{right:-3px;bottom:-3px;border-left:0;border-top:0}
.gd .box>b:first-child{display:block;font:700 17px Cinzel,serif;letter-spacing:.06em;color:var(--gold);margin-bottom:6px}
.gd .box.src,.gd .src{color:var(--mut);font-size:14px;line-height:1.45}
.gd .mut,.gd .meta{color:var(--mut)}
.gd .meta{font-size:14px}

/* tables */
.gd .tw{overflow-x:auto;margin:10px 0;border:1px solid var(--edge);border-radius:4px;background:linear-gradient(var(--panel-a),var(--panel-b))}
.gd table{border-collapse:collapse;width:100%;font-size:15px}
.gd th,.gd td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.gd th{font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:linear-gradient(var(--head-a),var(--head-b));border-bottom-color:var(--edge)}
.gd tbody tr:last-child td{border-bottom:0}
.gd tbody tr:hover td{background:#ffffff06}
.gd td.r,.gd th.r{text-align:right;white-space:nowrap}
.gd td.good,.gd .good{color:var(--gold-hi);font-weight:600}
.gd .warn{color:var(--gold-hi);font-weight:600}

/* quest and crate blocks */
.gd details.crate{background:linear-gradient(var(--panel-a),var(--panel-b));border:1px solid var(--edge);border-radius:4px;margin:8px 0;padding:0 16px;scroll-margin-top:16px}
.gd details.crate[open]{border-color:var(--gold-lo);padding-bottom:12px;box-shadow:0 8px 20px #0006}
.gd details.crate>summary{cursor:pointer;padding:11px 0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;list-style:none}
.gd details.crate>summary::-webkit-details-marker{display:none}
.gd details.crate>summary:before{content:"";width:7px;height:7px;transform:rotate(45deg);border:1.5px solid var(--gold);margin-right:2px;align-self:center;transition:background .15s}
.gd details.crate[open]>summary:before{background:var(--gold)}
.gd details.crate>summary:hover .cn{text-decoration:underline}
.gd .cn{font-weight:600;font-size:17px}
.gd .cn a{text-decoration:none}
.gd .chain{border-left:2px solid var(--gold-lo);padding:2px 0 2px 12px;margin:10px 0;font-size:15px}
.gd .rw ul{list-style:none;padding-left:2px}
.gd .it{margin:4px 0}.gd .it::before{content:"• ";color:var(--mut)}
.gd .it .hn{color:var(--mut);font-size:14px}
.gd ol.route li{margin:6px 0}
.gd .top{margin-top:14px}.gd .top a{font-size:14px}

/* tags */
.gd .tag{display:inline-block;background:var(--badge);border:1px solid var(--edge);border-radius:3px;padding:0 6px;font-size:12px;font-weight:600;color:var(--mut);line-height:1.6}
.gd .tag.ok,.gd .tag.st,.gd .tag.hu{color:var(--gold)}
.gd .tag.nv{border-style:dashed;color:var(--mut);font-style:italic}
.gd .tag.fo,.gd .tag.cl,.gd .tag.ch{color:var(--gold-hi)}

/* item quality colours: game colours on dark ground */
.gd a.q0{color:#9d9d9d}.gd a.q1{color:var(--q1)}.gd a.q2{color:var(--q2)}.gd a.q3{color:var(--q3)}.gd a.q4{color:var(--q4)}.gd a.q5{color:var(--q5)}

/* class picker */
.gd .picker{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.gd .picker label b{display:inline;font:inherit;color:var(--title);letter-spacing:0}
.gd select{font:inherit;padding:6px 10px;border:1px solid var(--gold-lo);border-radius:4px;background:var(--field);color:var(--text);box-shadow:inset 0 2px 6px var(--field-in)}
.gd select:focus-visible{border-color:var(--gold)}
.gd code{font:13.5px ui-monospace,"Cascadia Mono",Consolas,monospace;background:var(--field);border:1px solid var(--edge);border-radius:3px;padding:0 5px}
.gd code.way{font-weight:600;padding-left:22px}

@media (max-width:640px){
  main.gd{padding:26px 16px 48px}
  .gd h2{font-size:22px;margin-top:40px}
  .gd .box{padding:12px 14px}
  .gd details.crate{padding:0 12px}
  .gd table{font-size:14px}
}
