/* The printable map sheets under /passes/<slug>/map/ and /mountains/<key>/roads/map/.
   Written by scripts/gen-map-sheets.mjs. One sheet is 10.3in by 7.8in, which is letter
   landscape inside a 0.35in margin. Map sizes are in px because the generator places
   every pin and label in px. */
@page{size:letter landscape;margin:0.35in;}
*{box-sizing:border-box;}
body{margin:0;background:#e9ece8;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:#1d2a1f;}
.bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#1d2a1f;color:#fff;font-size:14px;}
.bar a{color:#cfe8dc;}
.bar .btn,.bar button{font:inherit;font-weight:700;border:0;border-radius:8px;padding:9px 16px;cursor:pointer;text-decoration:none;}
.bar .btn{background:#F5B301;color:#1d2a1f;}
.bar button{background:#33443a;color:#fff;}
.fit{margin:16px auto;}
.sheet{width:988px;height:748px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.18);overflow:hidden;position:relative;transform-origin:0 0;}

/* front */
.front.side{display:grid;grid-template-columns:700px 288px;}
.front.wide{display:grid;grid-template-rows:486px 262px;}
.mapwrap{position:relative;overflow:hidden;background:#f4f4ef;}
#map{position:absolute;inset:0;}
.labels,.over{position:absolute;inset:0;pointer-events:none;z-index:600;}
.over{z-index:590;}
.over rect{fill:rgba(245,179,1,.12);stroke:#1d2a1f;stroke-width:1.6;}
.over line{stroke:#1d2a1f;stroke-width:1.2;stroke-dasharray:4 3;}
.inset{position:absolute;z-index:620;border:2px solid #1d2a1f;background:#f4f4ef;box-shadow:0 0 0 3px #fff;}
#inset{position:absolute;inset:0;}
.inset-t{position:absolute;left:0;top:0;z-index:700;background:#1d2a1f;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;}
.scale{position:absolute;left:10px;bottom:9px;z-index:640;border:2px solid #1d2a1f;border-top:0;height:9px;font-size:10px;font-weight:700;line-height:1;text-align:center;color:#1d2a1f;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff;}
.scale::before{content:'';}
.scale{display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;}
.scale.right{left:auto;right:10px;}
.scale.sm{left:6px;bottom:6px;font-size:9px;}
.north{position:absolute;right:10px;top:10px;z-index:640;width:34px;height:42px;padding-top:4px;border-radius:6px;background:rgba(255,255,255,.88);border:1.5px solid #1d2a1f;text-align:center;font-size:11px;font-weight:800;line-height:1.1;color:#1d2a1f;}
.north.left{right:auto;left:10px;}
.north::before{content:'';display:block;margin:0 auto 1px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:16px solid #1d2a1f;}
.rl{position:absolute;transform:translate(-50%,-50%);font-size:10px;font-weight:800;line-height:1;padding:2.5px 5px;border-radius:4px;white-space:nowrap;background:#fff;color:#1d2a1f;border:1.5px solid #1d2a1f;}
.rl.i{background:#1e40af;color:#fff;border-color:#fff;box-shadow:0 0 0 1.5px #1e40af;}
.tn{position:absolute;width:0;height:0;}
.tn i{position:absolute;left:-3.5px;top:-3.5px;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #1d2a1f;}
.tn b{position:absolute;white-space:nowrap;font-size:11px;font-weight:700;line-height:16px;color:#1d2a1f;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;}
.tn.big b{font-size:12.5px;font-weight:800;}
.tn.big i{width:9px;height:9px;left:-4.5px;top:-4.5px;}
.tn.r b{left:8px;top:-8px;} .tn.l b{right:8px;top:-8px;} .tn.t b{left:0;top:-22px;transform:translateX(-50%);} .tn.b b{left:0;top:6px;transform:translateX(-50%);}
.ms{position:relative;}
.ms .pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font:800 10.5px/1 'Inter',sans-serif;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.55);}
.ms .ld{position:absolute;left:0;top:-.75px;height:1.5px;background:#1d2a1f;transform-origin:0 50%;}
.ms .dot{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#1d2a1f;border:1px solid #fff;}
.ms .note{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:3px;background:#1d2a1f;color:#fff;font:800 10.5px/1 'Inter',sans-serif;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.55);}
.key .nd{border-radius:.2em;background:#1d2a1f;}
.key li.note{margin-top:.5em;}
.ms .star{position:absolute;transform:translate(-50%,-54%);color:#F5B301;font-size:30px;line-height:1;text-shadow:0 0 2px #3a2a00,0 0 3px #3a2a00,0 0 1px #000;}
.leaflet-container{font-family:inherit;background:#f4f4ef;}

.panel{display:flex;flex-direction:column;min-height:0;min-width:0;}
.front.side .panel{padding:20px 20px 14px;border-left:2px solid #1d2a1f;}
.front.wide .panel{display:grid;grid-template-columns:225px 1fr 205px;gap:20px;padding:14px 20px 12px;border-top:2px solid #1d2a1f;}
.eyebrow{font-size:8.5pt;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#0f7a4f;}
h1{font-size:19pt;line-height:1.08;letter-spacing:-.01em;margin:4px 0 8px;font-weight:800;}
.front.wide h1{font-size:17pt;}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;}
.fact{border:1px solid #d6ddd7;border-radius:7px;padding:5px 7px;}
.fact b{display:block;font-size:11.5pt;}
.fact span{font-size:7.4pt;color:#4b5a50;line-height:1.2;display:block;}
.fact span:only-child{font-size:8pt;color:#1d2a1f;font-weight:600;line-height:1.25;}
.key{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:hidden;column-fill:auto;font-size:8.6pt;}
.front.wide .key{columns:3;column-gap:16px;height:100%;}
.key li{display:flex;gap:.6em;align-items:flex-start;margin:0 0 .42em;break-inside:avoid;}
.key .n{display:inline-flex;align-items:center;justify-content:center;width:1.75em;height:1.75em;border-radius:50%;color:#fff;font-size:.86em;font-weight:800;flex:none;}
.key .t{line-height:1.18;font-weight:600;padding-top:.12em;}
.key small{display:block;font-weight:400;font-size:.84em;color:#4b5a50;}
.legend{font-size:7.6pt;color:#33443a;line-height:1.35;}
.front.side .legend{border-top:1px solid #d6ddd7;padding-top:7px;margin-top:6px;}
.lg{display:flex;flex-wrap:wrap;gap:2px 10px;margin-bottom:4px;}
.lg span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.lg .star{color:#F5B301;text-shadow:0 0 1px #3a2a00,0 0 2px #3a2a00;font-size:11pt;line-height:1;}
.lg i{display:inline-block;width:9px;height:9px;border-radius:50%;}
.lg i.rd{width:20px;height:0;border-radius:0;border-top:4px solid #c2410c;}
.lg i.rd.h{border-color:#1d2a1f;border-top-width:3px;}
.lg i.rd.t{border-color:#5b6b60;border-top-width:1.6px;}
.foot{font-size:6.6pt;color:#5b6b60;line-height:1.3;margin-top:5px;}

/* back */
.back{display:grid;grid-template-columns:1fr 236px;gap:24px;padding:28px 30px;}
.back .main{display:flex;flex-direction:column;min-height:0;min-width:0;}
.back h2{font-size:15pt;margin:2px 0 4px;font-weight:800;letter-spacing:-.01em;}
.back .lede{font-size:9.4pt;line-height:1.38;margin:0 0 8px;max-width:60em;}
.back h3{font-size:1.1em;margin:0 0 .15em;font-weight:700;}
.back p{margin:0 0 .45em;line-height:1.36;}
.tbl{font-size:8.2pt;margin:0 0 9px;}
.tbl table{width:100%;border-collapse:collapse;margin:.3em 0 .5em;}
.tbl th,.tbl td{border:1px solid #c9d2cb;padding:3px 6px;text-align:left;vertical-align:top;line-height:1.28;}
.tbl th{background:#eef2ee;font-weight:700;}
.text{flex:1;min-height:0;columns:3;column-gap:20px;column-fill:balance;overflow:hidden;font-size:9.8pt;}
.text section{margin:0 0 .8em;}
.text h3{break-after:avoid;}
.text p{orphans:2;widows:2;}
.back aside .src{margin-top:auto;}
.back aside .src h3{font-size:.93em;color:#4b5a50;margin:0 0 2px;}
.back aside .src p{font-size:.83em;color:#4b5a50;line-height:1.3;}
.notes{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:14px;border-top:1px solid #c9d2cb;padding-top:8px;}
.notes[hidden]{display:none;}
.notes h3{font-size:9.6pt;margin:0 0 2px;}
.notes div{flex:1;min-height:0;overflow:hidden;}
.notes div i{display:block;height:27px;border-bottom:1px solid #c9d2cb;}
.back aside{border-left:2px solid #1d2a1f;padding-left:20px;display:flex;flex-direction:column;gap:1.2em;font-size:8.2pt;min-height:0;overflow:hidden;}
.back aside h3{font-size:1.17em;margin:0 0 .25em;}
.back aside p{margin:0 0 .3em;line-height:1.35;}
.qr svg{width:1.2in;height:1.2in;display:block;margin:0 0 4px -4px;}
.url{font-weight:700;}

@media print{
  body{background:#fff;}
  /* anything a site post-processor adds to the page stays off the paper */
  body>*:not(.fit){display:none!important;}
  .fit{margin:0!important;width:auto!important;height:auto!important;break-after:page;}
  .fit:last-of-type{break-after:auto;}
  .sheet{box-shadow:none;transform:none!important;}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}
