/* The artwork supplies every station, border and path. HTML only engraves its faces. */
#journey-dialog.scene-map-dialog{width:min(660px,calc(100% - 12px));background:#172e30;border-color:#ad946058;border-radius:15px}
.scene-map-dialog .map-header{background:linear-gradient(110deg,#283e3d,#142c30);border-bottom:1px solid #b8a47166;padding:10px 12px;align-items:center}
.scene-map-dialog .map-header h2{font-family:Georgia,serif;font-size:23px;font-weight:500;letter-spacing:.2px;color:#f1dfaf;text-shadow:0 1px 1px #0006}
.scene-map-dialog .map-header .eyebrow{font-size:7px;letter-spacing:1.8px;color:#c9bc91}
.scene-map-dialog .map-header p:not(.eyebrow){font-size:10px;color:#d1d8c8}
.scene-map-dialog .map-icon-button{background:transparent;border:0;box-shadow:none;color:#f1dfaf;border-radius:3px}
.scene-map-dialog #map-scroll{display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(ellipse at top,#5c6044,#172f31);padding:0;scroll-behavior:auto}
.scene-map-dialog #chapters{width:100%;height:auto!important;min-height:0;flex:none;margin:auto}
.scene-panel{position:relative;isolation:isolate;container-type:inline-size;width:min(100%,calc((100svh - 238px)*2/3));min-width:300px;aspect-ratio:2/3;margin:0 auto;box-shadow:0 0 0 1px #c5ab7655,0 0 30px #0003}
.scene-plate{display:block;width:100%;height:auto;aspect-ratio:2/3;pointer-events:none}
.scene-station{position:absolute;left:var(--station-x);top:var(--station-y);width:max(44px,var(--face-width));height:max(44px,var(--face-height));min-width:44px;min-height:44px;transform:translate(-50%,-50%);padding:0;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;outline:none;filter:none!important;cursor:pointer;z-index:1;touch-action:manipulation;color:#503318}
.scene-station .engraving{position:absolute;left:50%;top:50%;width:var(--face-width);height:var(--face-height);transform:translate(-50%,-50%) rotate(var(--face-angle));display:grid;place-items:center;overflow:hidden;pointer-events:none;line-height:1;text-shadow:0 1px 0 #fff0b9c4,0 -1px 0 #352005b0}
.station-number{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:var(--engraving-size);font-variant-numeric:lining-nums;letter-spacing:.015em}
.engraved-lock{position:absolute;right:13%;top:50%;transform:translateY(-50%);width:16%;max-width:12px;height:45%;fill:none;stroke:currentColor;stroke-width:1.8;filter:drop-shadow(0 1px 0 #ffe9ac99)}
.scene-station.current{color:#593409}.scene-station.current .engraving{text-shadow:0 1px 0 #fff0b9,0 -1px 0 #352005b0,0 0 5px #ffe6a376}
.scene-map-dialog .scene-station{outline:none;color:#503318}
.scene-station:focus-visible .engraving{outline:1px solid #fff0b0b3;outline-offset:-3px}
.scene-map-dialog .map-footer{background:linear-gradient(#213b3b,#142c30);border-color:#b5a77a66;padding:8px 12px 10px}
.scene-map-dialog .scene-selection{font:500 16px Georgia,serif;line-height:1.25;color:#f0deb5;margin:0 0 4px;min-height:20px}
.scene-pager{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px}
.scene-page-button{width:44px;height:44px;border:0;background:transparent;color:#d7c492;font-size:22px;padding:0;border-radius:0;box-shadow:none}
.scene-page-button:disabled{opacity:.3;cursor:default}#scene-page-position{font-size:10px;color:#c5cdb7;letter-spacing:.4px}
.scene-map-dialog #map-status{font-size:9px;min-height:13px;margin:0 0 6px;color:#c7d2c1}
.scene-map-dialog .map-secondary{background:transparent;border-color:#b9aa7e55;box-shadow:none;border-radius:5px}
.scene-map-dialog .map-footer .primary-button{border-radius:7px;min-height:44px}
@media(max-height:540px) and (min-width:600px){.scene-map-dialog .scene-panel{width:300px}.scene-map-dialog .map-header{padding:5px 10px}.scene-map-dialog .map-header h2{font-size:20px}.scene-map-dialog .map-footer{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:4px 12px}.scene-map-dialog .scene-selection{text-align:left;margin:0;font-size:13px;grid-column:1}.scene-map-dialog .scene-pager{grid-column:2;grid-row:1/3}.scene-map-dialog #map-status{grid-column:1;margin:0;text-align:left}.scene-map-dialog .map-footer>div{grid-column:1/3}.scene-map-dialog .map-footer .primary-button,.scene-map-dialog .map-secondary{min-height:44px}}
@media(prefers-reduced-motion:reduce){.scene-station,.scene-station *{animation:none!important;transition:none!important}}
/* A botanical atlas binding, kept outside the painted scene. */
#journey-dialog.scene-map-dialog{border:1px solid #bba570;box-shadow:0 0 0 3px #233d39,0 0 0 4px #8d785a66,0 24px 90px #001c27b8}
.scene-map-dialog .map-header{position:relative;background:repeating-linear-gradient(108deg,#bdc69006 0 1px,transparent 1px 5px),radial-gradient(ellipse at 10% 0,#54766a88,transparent 65%),linear-gradient(115deg,#274e4a,#173a3b 65%,#31544b);border-bottom:2px solid #ae9559;box-shadow:inset 0 1px 0 #dbce9c38,inset 0 -3px 0 #102c2a88}
.scene-map-dialog .map-header:after{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #d5c18b21;border-radius:5px}
.scene-map-dialog .map-header h2{color:#eddaaa;text-shadow:0 -1px 1px #0b2b29,0 1px 0 #f8edba30;font-weight:600}
.scene-map-dialog .map-header .eyebrow{color:#d3c89c;letter-spacing:1.7px}
.scene-map-dialog .map-icon-button{color:#e7d2a1;text-shadow:0 1px 0 #091f21}
.scene-map-dialog #map-scroll{background:repeating-linear-gradient(45deg,#e1d4b008 0 1px,transparent 1px 4px),radial-gradient(ellipse at top,#5c7561,#203f3c);box-shadow:inset 0 0 20px #061c2244}
.scene-map-dialog .map-footer{background:repeating-linear-gradient(13deg,#937c4906 0 1px,transparent 1px 5px),radial-gradient(ellipse at top right,#fffbedaa,transparent 65%),linear-gradient(110deg,#d8ceb0,#efe7cd 48%,#d5c9a8);border-top:2px solid #a88e57;box-shadow:inset 0 2px 0 #fff6d0ad}
.scene-map-dialog .scene-selection{color:#345047;text-shadow:0 1px 0 #fffbee;margin-top:2px;font-size:15px}
.scene-map-dialog #scene-page-position{color:#5e624e;font-size:10px}
.scene-map-dialog #map-status{color:#62624d;text-shadow:0 1px 0 #fff9e680}
.scene-map-dialog .scene-page-button{color:#625432;text-shadow:0 1px 0 #fff6d0}
.scene-map-dialog .map-footer .primary-button{border:1px solid #8e703e;background:linear-gradient(#f4e0a2,#d9b976 48%,#c3a263 51%,#e0c488);color:#44391f;text-shadow:0 1px 0 #fff3c2;box-shadow:inset 0 1px 0 #fff3cc,inset 0 -2px 0 #a1844f,0 2px 3px #79633c40;font-family:Georgia,serif;font-size:13px;font-weight:700;border-radius:5px}
.scene-map-dialog .map-secondary{background:linear-gradient(#3e6860,#244c48);border:1px solid #a39364;color:#ead9ad;text-shadow:0 -1px 0 #162e2b;box-shadow:inset 0 1px 0 #b6c4a747,0 2px 2px #79633c2e;font-family:Georgia,serif;font-size:12px}
.scene-map-dialog button:focus-visible{outline-color:#986523}.scene-map-dialog .scene-station:focus-visible{outline:none}
.scene-station[data-digits="4"] .engraving{display:flex;justify-content:center;align-items:center;gap:1px}.scene-station[data-digits="4"] .station-number{font-size:clamp(12px,var(--engraving-size),calc(var(--face-width)*.22));letter-spacing:0}.scene-station[data-digits="4"] .engraved-lock{position:static;transform:none;flex:none;width:12%;max-width:8px;height:40%}
.scene-station[data-digits="3"] .engraving{display:flex;justify-content:center;align-items:center;gap:1px}.scene-station[data-digits="3"] .engraved-lock{position:static;transform:none;flex:none;width:12%;max-width:8px;height:40%}
@media(max-height:540px) and (min-width:600px){
  #journey-dialog.scene-map-dialog{width:min(900px,calc(100% - 12px));max-width:900px}
  #journey-dialog.scene-map-dialog[open]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr}
  .scene-map-dialog #map-scroll{grid-column:1;grid-row:1/3;height:100%;align-items:center;overflow:visible;padding:0 5px;border-right:1px solid #a88e5770}
  .scene-map-dialog #chapters{width:auto;margin:0}
  .scene-map-dialog .scene-panel{width:calc((100svh - 24px)*2/3);min-width:0}
  .scene-map-dialog .map-header{grid-column:2;grid-row:1;padding:12px 16px;align-self:start;min-width:0;flex-wrap:wrap}
  .scene-map-dialog .map-header .map-heading{min-width:120px}.scene-map-dialog .map-header h2{font-size:24px}
  .scene-map-dialog .map-footer{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;padding:14px 20px;border-top:0}
  .scene-map-dialog .scene-selection{text-align:center;font-size:17px;margin:0;min-height:22px}
  .scene-map-dialog #map-status{text-align:center;font-size:11px;line-height:1.5}
  .scene-map-dialog #scene-page-position{font-size:12px}
  .scene-map-dialog .map-footer>div{gap:12px;flex-wrap:wrap}
  .scene-map-dialog .scene-pager{gap:20px}
  .scene-map-dialog .station-number{font-size:max(11px,var(--engraving-size))}
  .scene-map-dialog .scene-station[data-digits="4"] .station-number{font-size:11px;letter-spacing:-.35px}
  .scene-map-dialog .scene-station[data-digits="4"] .engraved-lock{width:11%;max-width:6px}
  .scene-map-dialog .scene-station[data-digits="4"] .engraved-lock{display:none}
}
