/* Guild Road Notes — a wanderer's journal. One stylesheet, no external resources. */
:root{
  --wdl-night:#1e0f2e;
  --wdl-violet:#2f1846;
  --wdl-plum:#4a2868;
  --wdl-heather:#8a6ca6;
  --wdl-mist:#ece4f1;
  --wdl-vellum:#f6f0e4;
  --wdl-paper:#fffbf2;
  --wdl-ink:#221830;
  --wdl-soft:#55465f;
  --wdl-gold:#c9a24e;
  --wdl-gold-deep:#80601c;
  --wdl-gold-pale:#efdcae;
  --wdl-rule:#dccdb1;
  --wdl-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","URW Palladio L",P052,Palladio,Georgia,serif;
  --wdl-measure:40rem;
  --wdl-radius:.6rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--wdl-vellum);color:var(--wdl-ink);font:1.0625rem/1.65 var(--wdl-serif);
  overflow-wrap:break-word;word-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
img,svg{max-width:100%}
a{color:var(--wdl-plum);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--wdl-gold-deep)}
a:focus-visible,button:focus-visible,summary:focus-visible,.wdl-cross__wrap:focus-visible{outline:3px solid var(--wdl-gold);outline-offset:2px}
p{margin:0 0 1em}
strong{color:var(--wdl-violet)}

.wdl-skip{position:absolute;left:-999px;top:0;background:var(--wdl-gold);color:var(--wdl-night);padding:.5rem 1rem;z-index:10}
.wdl-skip:focus{left:1rem}

/* ---------- masthead */
.wdl-mast{background:var(--wdl-violet);color:var(--wdl-gold-pale);border-bottom:3px double var(--wdl-gold)}
.wdl-mast__in{max-width:72rem;margin:0 auto;padding:.75rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.wdl-brand{display:flex;align-items:center;gap:.65rem;color:var(--wdl-gold-pale);text-decoration:none;min-width:0;flex:1 1 12rem}
.wdl-brand:hover{color:#fff}
.wdl-sigil{flex:0 0 auto;border-radius:.7rem;box-shadow:0 0 0 1px var(--wdl-gold)}
.wdl-brand__words{display:flex;flex-direction:column;min-width:0}
.wdl-brand__name{font-size:1.25rem;line-height:1.15;font-weight:700;letter-spacing:.02em;color:var(--wdl-gold)}
.wdl-brand__tag{font-size:.8rem;font-style:italic;opacity:.9;line-height:1.3;margin-top:.15rem}
.wdl-burger{display:none;align-items:center;gap:.5rem;font:inherit;font-size:.95rem;background:transparent;color:var(--wdl-gold);
  border:1px solid var(--wdl-gold);border-radius:2rem;padding:.35rem .9rem;cursor:pointer}
.wdl-burger__bars,.wdl-burger__bars::before,.wdl-burger__bars::after{display:block;width:1rem;height:2px;background:currentColor;position:relative}
.wdl-burger__bars::before,.wdl-burger__bars::after{content:"";position:absolute;left:0}
.wdl-burger__bars::before{top:-5px}.wdl-burger__bars::after{top:5px}
.wdl-js .wdl-burger{display:inline-flex}
.wdl-ways{flex:1 1 100%}
.wdl-js .wdl-ways{display:none}
.wdl-js .wdl-ways.is-open{display:block}
.wdl-ways ul{list-style:none;margin:0;padding:.25rem 0;display:flex;flex-direction:column;gap:.1rem}
.wdl-ways a{display:block;color:var(--wdl-gold-pale);text-decoration:none;padding:.45rem .25rem;border-bottom:1px dashed rgba(201,162,78,.35)}
.wdl-ways a:hover,.wdl-ways a[aria-current]{color:var(--wdl-gold)}
.wdl-tongues{display:flex;align-items:center;gap:.5rem;flex:1 1 100%;font-size:.85rem}
.wdl-tongues__label{font-style:italic;opacity:.85}
.wdl-tongues ul{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0}
.wdl-tongues a{display:inline-block;min-width:2.4rem;text-align:center;padding:.15rem .45rem;border:1px solid rgba(201,162,78,.55);
  border-radius:.3rem;color:var(--wdl-gold-pale);text-decoration:none;letter-spacing:.06em}
.wdl-tongues a[aria-current]{background:var(--wdl-gold);color:var(--wdl-night);border-color:var(--wdl-gold)}

/* ---------- layout & type */
.wdl-main{max-width:72rem;margin:0 auto;padding:1.25rem 1rem 3rem}
.wdl-h1{font-size:clamp(1.7rem,5.5vw,2.75rem);line-height:1.15;margin:.2rem 0 .8rem;color:var(--wdl-violet);font-weight:700;letter-spacing:-.005em}
.wdl-h2{font-size:clamp(1.3rem,3.6vw,1.7rem);line-height:1.25;margin:2.2rem 0 .8rem;color:var(--wdl-violet);font-weight:700;
  display:flex;align-items:center;gap:.6rem}
.wdl-h2::before{content:"";flex:0 0 auto;width:1.1rem;height:1.1rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1l2.3 6.7L19 10l-6.7 2.3L10 19l-2.3-6.7L1 10l6.7-2.3z' fill='%23c9a24e'/%3E%3C/svg%3E") center/contain no-repeat}
.wdl-kicker,.wdl-waypoint__mark,.wdl-camp__mark,.wdl-byline,.wdl-routecard__head,.wdl-colophon__head{font-variant:small-caps;letter-spacing:.08em}
.wdl-kicker{color:var(--wdl-gold-deep);margin:0;font-size:1rem}
.wdl-lede{font-size:1.2rem;line-height:1.55;color:var(--wdl-soft);font-style:italic;max-width:var(--wdl-measure)}
.wdl-byline{font-size:.92rem;color:var(--wdl-soft);border-top:1px dashed var(--wdl-rule);padding-top:.5rem;max-width:var(--wdl-measure)}
.wdl-initial::first-letter{float:left;font-size:3.3em;line-height:.9;font-weight:700;color:var(--wdl-gold);background:var(--wdl-violet);
  padding:.08em .14em .02em;margin:.08em .14em 0 0;border-radius:.12em;box-shadow:inset 0 0 0 2px var(--wdl-gold)}

/* ---------- home: overture */
.wdl-overture{display:grid;gap:1rem;align-items:center;padding-bottom:.5rem}
.wdl-overture__text p{max-width:var(--wdl-measure)}
.wdl-overture__map{max-width:26rem;width:100%;justify-self:center}
.wdl-chart{display:block;width:100%;height:auto;background:var(--wdl-violet);border-radius:var(--wdl-radius);border:2px solid var(--wdl-gold)}
.wdl-chart__hill{fill:var(--wdl-plum)}
.wdl-chart__hill--far{fill:#3b2057}
.wdl-chart__road{fill:none;stroke:var(--wdl-gold);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:.5 9}
.wdl-chart__camps{fill:var(--wdl-gold)}
.wdl-chart__sky{fill:var(--wdl-gold-pale)}

/* ---------- home: criteria */
.wdl-creed__list{counter-reset:creed;list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.wdl-creed__list li{counter-increment:creed;position:relative;padding:.8rem 1rem .8rem 3.2rem;background:var(--wdl-paper);
  border:1px solid var(--wdl-rule);border-radius:var(--wdl-radius)}
.wdl-creed__list li::before{content:counter(creed,upper-roman);position:absolute;left:.7rem;top:.75rem;width:1.9rem;text-align:center;
  font-weight:700;color:var(--wdl-gold-deep);border-bottom:2px solid var(--wdl-gold)}

/* ---------- home: the trail */
.wdl-route__intro{max-width:var(--wdl-measure);color:var(--wdl-soft)}
.wdl-trail{list-style:none;margin:1.5rem 0 0;padding:0 0 0 2.9rem;position:relative}
.wdl-trail::before{content:"";position:absolute;left:.65rem;top:.4rem;bottom:.4rem;width:28px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='120' viewBox='0 0 28 120'%3E%3Cpath d='M14 0C26 30 2 90 14 120' fill='none' stroke='%23b8913f' stroke-width='3' stroke-linecap='round' stroke-dasharray='.5 9'/%3E%3C/svg%3E") top center/28px 120px repeat-y}
.wdl-camp{position:relative;margin:0 0 1.4rem}
.wdl-camp__pin{position:absolute;left:-2.55rem;top:.9rem;width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:50%;
  background:var(--wdl-violet);color:var(--wdl-gold);border:2px solid var(--wdl-gold);font-weight:700;font-size:.85rem;z-index:1}
.wdl-camp__card{background:var(--wdl-paper);border:1px solid var(--wdl-rule);border-radius:var(--wdl-radius);padding:1rem 1.1rem 1.1rem;
  box-shadow:0 1px 0 var(--wdl-rule),0 10px 24px -18px rgba(47,24,70,.45)}
.wdl-camp--client .wdl-camp__card{border-style:dashed;border-color:var(--wdl-heather)}
.wdl-camp__mark{margin:0 0 .2rem;font-size:.9rem;color:var(--wdl-soft)}
.wdl-camp__name{margin:0 0 .4rem;font-size:1.4rem;line-height:1.2}
.wdl-camp__name a{color:var(--wdl-violet);text-decoration:none}
.wdl-camp__name a:hover{color:var(--wdl-gold-deep);text-decoration:underline}
.wdl-camp__verdict{margin:0 0 .6rem}
.wdl-camp__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .7rem;font-size:.86rem}
.wdl-camp__meta span{background:var(--wdl-mist);color:var(--wdl-plum);border-radius:1rem;padding:.1rem .6rem}
.wdl-camp__more{font-weight:700;color:var(--wdl-gold-deep)}
.wdl-tag{display:inline-block;font-variant:normal;letter-spacing:.02em;font-size:.82rem;border-radius:.25rem;padding:0 .4rem;line-height:1.6}
.wdl-tag--browser{background:var(--wdl-violet);color:var(--wdl-gold-pale)}
.wdl-tag--client{background:var(--wdl-gold-pale);color:var(--wdl-night);border:1px solid var(--wdl-gold-deep)}

/* ---------- home: crossroads table */
.wdl-cross__hint{font-size:.9rem;color:var(--wdl-soft);font-style:italic}
.wdl-cross__wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--wdl-rule);border-radius:var(--wdl-radius);background:var(--wdl-paper)}
.wdl-cross__table{border-collapse:collapse;width:100%;min-width:46rem;font-size:.95rem}
.wdl-cross__table th,.wdl-cross__table td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--wdl-rule)}
.wdl-cross__table thead th{background:var(--wdl-violet);color:var(--wdl-gold);font-variant:small-caps;letter-spacing:.06em;font-weight:700}
.wdl-cross__table tbody tr:nth-child(even){background:#f8f3fa}
.wdl-cross__table tbody th a{color:var(--wdl-violet);font-weight:700}

/* ---------- home: guides & FAQ */
.wdl-kit__list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.9rem}
.wdl-kit__link{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1rem 1.1rem;text-decoration:none;color:var(--wdl-ink);
  background:var(--wdl-paper);border:1px solid var(--wdl-rule);border-top:4px solid var(--wdl-plum);border-radius:var(--wdl-radius)}
.wdl-kit__link:hover{border-top-color:var(--wdl-gold);color:var(--wdl-ink)}
.wdl-kit__name{font-size:1.15rem;font-weight:700;color:var(--wdl-violet);line-height:1.3}
.wdl-kit__text{font-size:.95rem;color:var(--wdl-soft)}
.wdl-kit__go{margin-top:auto;font-weight:700;color:var(--wdl-gold-deep)}
.wdl-fire{max-width:48rem}
.wdl-fire__q{border-bottom:1px dashed var(--wdl-rule);padding:.2rem 0}
.wdl-fire__q summary{cursor:pointer;list-style:none;padding:.7rem 2rem .7rem 0;font-weight:700;color:var(--wdl-violet);position:relative}
.wdl-fire__q summary::-webkit-details-marker{display:none}
.wdl-fire__q summary::after{content:"+";position:absolute;right:.3rem;top:.55rem;color:var(--wdl-gold-deep);font-size:1.3rem;line-height:1}
.wdl-fire__q[open] summary::after{content:"–"}
.wdl-fire__a{padding:0 0 .6rem}

/* ---------- review / guide pages */
.wdl-crumbs ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.88rem;color:var(--wdl-soft)}
.wdl-crumbs li+li::before{content:"·";margin-right:.5rem;color:var(--wdl-gold-deep)}
.wdl-crumbs a{color:var(--wdl-soft)}
.wdl-waypoint{padding:0 0 .4rem;border-bottom:3px double var(--wdl-rule);margin-bottom:1.5rem}
.wdl-waypoint__mark{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--wdl-gold-deep);margin:0;font-size:1rem}
.wdl-waypoint__num{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--wdl-violet);color:var(--wdl-gold);
  border:2px solid var(--wdl-gold);font-weight:700;font-size:.85rem;font-variant:normal;letter-spacing:0}
.wdl-leaf{display:grid;gap:1.5rem}
.wdl-entry{min-width:0;max-width:var(--wdl-measure)}
.wdl-entry--wide{max-width:44rem}
.wdl-entry__part:first-child .wdl-h2{margin-top:.4rem}
.wdl-entry ul,.wdl-entry ol{padding-left:1.3rem}
.wdl-list li{margin:0 0 .45rem}
.wdl-list--ul{list-style:none;padding-left:0}
.wdl-list--ul li{position:relative;padding-left:1.4rem}
.wdl-list--ul li::before{content:"";position:absolute;left:.2rem;top:.62em;width:.5rem;height:.5rem;background:var(--wdl-gold);transform:rotate(45deg)}
.wdl-list--ol{counter-reset:step;list-style:none;padding-left:0}
.wdl-list--ol li{counter-increment:step;position:relative;padding-left:2.2rem}
.wdl-list--ol li::before{content:counter(step);position:absolute;left:0;top:.1rem;width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;
  background:var(--wdl-violet);color:var(--wdl-gold);font-size:.8rem;font-weight:700}

.wdl-routecard{background:var(--wdl-violet);color:var(--wdl-gold-pale);border-radius:var(--wdl-radius);padding:1rem 1.1rem;border:2px solid var(--wdl-gold);align-self:start}
.wdl-routecard__head{margin:0 0 .5rem;color:var(--wdl-gold);font-weight:700}
.wdl-routecard dl{margin:0 0 1rem}
.wdl-routecard dl div{padding:.45rem 0;border-bottom:1px dashed rgba(201,162,78,.4)}
.wdl-routecard dt{font-size:.82rem;font-variant:small-caps;letter-spacing:.06em;color:var(--wdl-gold)}
.wdl-routecard dd{margin:0;line-height:1.45}
.wdl-routecard__note{font-size:.82rem;font-style:italic;opacity:.9;margin:.6rem 0 0}
.wdl-go{display:inline-block;background:var(--wdl-gold);color:var(--wdl-night);text-decoration:none;font-weight:700;padding:.6rem 1.1rem;
  border-radius:2rem;border:2px solid var(--wdl-gold);line-height:1.3}
.wdl-go:hover{background:var(--wdl-gold-pale);color:var(--wdl-night)}

.wdl-fork,.wdl-pack{display:grid;gap:.9rem}
.wdl-fork__way,.wdl-pack__side{background:var(--wdl-paper);border:1px solid var(--wdl-rule);border-radius:var(--wdl-radius);padding:.9rem 1rem}
.wdl-fork__way h3,.wdl-pack__side h3{margin:0 0 .5rem;font-size:1.05rem;color:var(--wdl-violet)}
.wdl-fork__way ul,.wdl-pack__side ul{margin:0;padding-left:1.2rem}
.wdl-fork__way li,.wdl-pack__side li{margin-bottom:.35rem}
.wdl-fork__way--yes,.wdl-pack__side--plus{border-left:5px solid var(--wdl-plum)}
.wdl-fork__way--no,.wdl-pack__side--minus{border-left:5px solid var(--wdl-gold)}
.wdl-pack__side--plus li::marker{content:"+ ";color:var(--wdl-plum);font-weight:700}
.wdl-pack__side--minus li::marker{content:"– ";color:var(--wdl-gold-deep);font-weight:700}

.wdl-seal{margin-top:2.2rem;padding:1.1rem 1.1rem 1.2rem;background:var(--wdl-paper);border:2px dashed var(--wdl-gold);border-radius:var(--wdl-radius);position:relative}
.wdl-seal::before{content:"";position:absolute;right:.8rem;top:-1.1rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--wdl-plum);
  box-shadow:0 0 0 3px var(--wdl-paper),0 0 0 5px var(--wdl-gold)}
.wdl-seal__h{margin:0 2.6rem .6rem 0;font-size:1.15rem;color:var(--wdl-violet)}
.wdl-seal ul{padding-left:1.2rem;margin:0 0 1rem}

.wdl-onward{display:grid;gap:.8rem;margin-top:2.5rem}
.wdl-onward a{display:flex;flex-direction:column;padding:.8rem 1rem;border:1px solid var(--wdl-rule);border-radius:var(--wdl-radius);
  background:var(--wdl-paper);text-decoration:none;color:var(--wdl-violet);font-weight:700}
.wdl-onward a span{font-weight:400;font-variant:small-caps;letter-spacing:.06em;color:var(--wdl-soft);font-size:.9rem}
.wdl-onward__next{text-align:right}

.wdl-lexicon{margin:0}
.wdl-term{padding:.7rem 0;border-bottom:1px dashed var(--wdl-rule)}
.wdl-term dt{font-weight:700;color:var(--wdl-violet)}
.wdl-term dd{margin:.15rem 0 0}
.wdl-further{margin-top:2.5rem;max-width:44rem}
.wdl-further ul{padding-left:1.2rem}
.wdl-post{font-size:1.3rem}
.wdl-post a{font-weight:700;color:var(--wdl-violet)}

/* ---------- 404 */
.wdl-lost{max-width:36rem;text-align:center;padding-top:3rem}
.wdl-brand--lost{justify-content:center;color:var(--wdl-violet);margin-bottom:1rem}
.wdl-brand--lost .wdl-brand__name{color:var(--wdl-violet)}
.wdl-lost__code{font-size:4.5rem;line-height:1;margin:.5rem 0;color:var(--wdl-gold);font-weight:700;letter-spacing:.1em}
.wdl-lost__langs{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1rem}

/* ---------- colophon */
.wdl-colophon{background:var(--wdl-night);color:#d8cbe3;border-top:3px double var(--wdl-gold);font-size:.95rem}
.wdl-colophon__in{max-width:72rem;margin:0 auto;padding:2rem 1rem 1rem;display:grid;gap:1.5rem}
.wdl-colophon a{color:var(--wdl-gold-pale)}
.wdl-colophon a:hover{color:var(--wdl-gold)}
.wdl-colophon__name{font-weight:700;color:var(--wdl-gold);font-size:1.1rem;margin:.5rem 0 .3rem}
.wdl-colophon__head{color:var(--wdl-gold);font-weight:700;margin:0 0 .4rem}
.wdl-colophon ul{list-style:none;margin:0;padding:0}
.wdl-colophon li{padding:.2rem 0}
.wdl-colophon__end{max-width:72rem;margin:0 auto;padding:1rem;border-top:1px dashed rgba(201,162,78,.35);font-size:.85rem;color:#b9a8c8}

/* ---------- wider screens */
@media (min-width:40rem){
  .wdl-kit__list{grid-template-columns:repeat(3,1fr)}
  .wdl-fork,.wdl-pack{grid-template-columns:1fr 1fr}
  .wdl-onward{grid-template-columns:1fr 1fr}
  .wdl-onward__next{grid-column:2}
  .wdl-creed__list{grid-template-columns:1fr 1fr}
  .wdl-colophon__in{grid-template-columns:1fr 1fr}
}
@media (min-width:54rem){
  .wdl-mast__in{flex-wrap:nowrap}
  .wdl-brand{flex:0 1 auto}
  .wdl-js .wdl-burger{display:none}
  .wdl-ways,.wdl-js .wdl-ways{display:block;flex:1 1 auto}
  .wdl-ways ul{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:.2rem 1.1rem;padding:0}
  .wdl-ways a{border:0;padding:.2rem 0;font-size:.98rem}
  .wdl-tongues{flex:0 0 auto}
  .wdl-tongues__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .wdl-overture{grid-template-columns:1.35fr 1fr;gap:2.5rem}
  .wdl-leaf{grid-template-columns:minmax(0,1fr) 18rem;grid-template-areas:"entry card";gap:2.5rem}
  .wdl-entry{grid-area:entry}
  .wdl-routecard{grid-area:card;position:sticky;top:1rem}
  .wdl-colophon__in{grid-template-columns:1.6fr 1fr 1fr 1fr}
}
@media (min-width:62rem){
  .wdl-trail{padding-left:0}
  .wdl-trail::before{left:calc(50% - 14px)}
  .wdl-camp{width:50%;padding-right:2.6rem}
  .wdl-camp:nth-child(even){margin-left:50%;padding-right:0;padding-left:2.6rem}
  .wdl-camp+.wdl-camp{margin-top:-3.2rem}
  .wdl-camp__pin{left:auto;right:-1.15rem}
  .wdl-camp:nth-child(even) .wdl-camp__pin{right:auto;left:-1.15rem}
  .wdl-creed__list{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.wdl-mast,.wdl-colophon,.wdl-onward,.wdl-go{display:none}body{background:#fff}}
