/* World map in the style of the system windows (system-ui.css): the game's own
   art from system-assets/native (Help box frame, title bar, leather plates,
   scroll bar), gold Georgia titles and Tahoma text. Loaded after map-ui.css. */
#pt-map { --ptm-gold: #ffd623; --ptm-head: #f0c419; --ptm-text: #e9e4d2; --ptm-dim: #9f9a86; --ptm-line: #a88a52;
  --ptm-line-soft: #a88a5566; --ptm-panel: #0b120df0; color: var(--ptm-text); font: 12px/1.45 Tahoma, Verdana, sans-serif; }
#pt-map, #pt-map * { cursor: url('login-assets/game-cursor.png') 0 0, auto; }
#pt-map .ptm-viewport { cursor: url('login-assets/game-cursor.png') 0 0, grab; }

/* windows: the Help box frame, its leather strip at the bottom, the title bar on top */
.ptm-window, .ptm-guide-box { background: none; border: 0; border-radius: 0; box-shadow: none; isolation: isolate; text-shadow: 0 1px 1px #000; }
.ptm-window { padding: 34px 18px 48px; }
.ptm-window::after { display: none; }
.ptm-window::before, .ptm-guide-box::before { content: ''; position: absolute; inset: 0; z-index: -1; width: auto; height: auto; top: 0; left: 0;
  background: none; transform: none; box-shadow: none; border-style: solid; border-width: 32px 64px 64px;
  border-image: url('system-assets/native/frame.png') 32 64 64 fill stretch; opacity: .97; }
.ptm-head { position: static; padding: 0 0 8px; background: none; border: 0; border-radius: 0; gap: 8px; }
.ptm-title, .ptm-guide-head h3 { position: absolute; left: 50%; top: -12px; transform: translateX(-50%); width: 210px; max-width: calc(100% - 60px); height: 28px;
  margin: 0; border-style: solid; border-width: 0 34px; border-image: url('system-assets/native/title.png') 0 34 fill stretch;
  display: grid; place-items: center; color: var(--ptm-gold); font: bold 13px/1 Georgia, serif; letter-spacing: .08em;
  text-shadow: 1px 1px 0 #1b0e00, -1px 0 0 #000; white-space: nowrap; }

/* leather plates: header buttons, zoom tools, region names */
.ptm-hbtn, .ptm-tools button, .ptm-to-world { border-style: solid !important; border-width: 0 6px !important; border-color: transparent !important;
  border-image: url('system-assets/native/plate.png') 0 6 fill stretch !important; border-radius: 0 !important; background: none !important;
  box-shadow: none !important; color: var(--ptm-gold) !important; }
.ptm-hbtn:hover, .ptm-tools button:hover, .ptm-to-world:hover { filter: brightness(1.25); }
.ptm-hbtn { width: 30px; height: 23px; }
.ptm-close { position: absolute; right: 8px; top: 6px; width: 22px !important; height: 20px !important; }
#pt-map .ptm-close svg { width: 11px; height: 11px; stroke-width: 2.4; }
.ptm-tools button { width: 30px; height: 24px; }
.ptm-to-world { position: absolute; left: 20px; bottom: 14px; height: 23px; padding: 0 10px !important; font: bold 12px/1 Georgia, serif !important;
  text-shadow: 1px 1px 0 #1b0e00; }
.ptm-place { height: 21px; min-height: 0 !important; padding: 0 9px !important; border-style: solid !important; border-width: 0 6px !important;
  border-color: transparent !important; border-image: url('system-assets/native/plate.png') 0 6 fill stretch !important; border-radius: 0;
  background: none !important; box-shadow: 0 2px 3px #0008; white-space: nowrap; max-width: none;
  font: bold var(--ptm-label)/1 Georgia, 'Times New Roman', serif !important; color: var(--ptm-gold) !important; text-shadow: 1px 1px 0 #1b0e00; }
.ptm-place:hover, .ptm-place.ptm-hover, .ptm-place:focus-visible, .ptm-place.ptm-selected { filter: brightness(1.3); box-shadow: 0 0 0 1px var(--ptm-gold), 0 2px 6px #000b; }
.ptm-dungeon { border-color: #2b1a08 !important; box-shadow: 0 0 0 1px var(--ptm-line), 0 2px 5px #000b; }

/* search: the bronze-edged field of the Help window */
.ptm-search { height: 22px; padding: 0 6px; margin-left: 0; width: min(280px, 40vw); gap: 6px; border: 1px solid var(--ptm-line); border-radius: 0;
  background: #0b120d; box-shadow: inset 0 0 0 1px #000; color: var(--ptm-dim); }
.ptm-search input { font: 11px Tahoma, sans-serif; color: var(--ptm-text); }
.ptm-open-guide { margin-left: auto; }
.ptm-results { border-radius: 0; border-color: var(--ptm-line); background: #0b120df7; }
.ptm-results b { color: var(--ptm-gold); }
.ptm-results li:hover, .ptm-results li[aria-selected="true"] { background: #a88a5530; }

/* the map area */
.ptm-world { margin: 0; border: 1px solid var(--ptm-line); border-radius: 0; box-shadow: inset 0 0 0 1px #000; }
.ptm-foot { position: absolute; left: 26px; right: 22px; bottom: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 0; color: #e2d3b0; font-size: 11px; text-shadow: 0 1px 1px #000; }
.ptm-foot span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#pt-map .ptm-done { display: block; flex: none; min-width: 74px; height: 23px; padding: 0 10px; border-style: solid; border-width: 0 6px;
  border-image: url('system-assets/native/plate.png') 0 6 fill stretch; background: none; color: var(--ptm-gold);
  font: bold 12px/1 Georgia, serif; text-shadow: 1px 1px 0 #1b0e00; }
#pt-map .ptm-done:hover { filter: brightness(1.25); }
.ptm-guide-done { position: absolute; right: 20px; bottom: 14px; }
.ptm-foot kbd { border-color: var(--ptm-line); color: var(--ptm-gold); border-radius: 0; background: #0b120d; }

/* panels over the map: dark green with a bronze edge, gold headings over the game's line */
.ptm-bosses, .ptm-legend, .ptm-tip { border-radius: 0; border: 1px solid var(--ptm-line); background: var(--ptm-panel); box-shadow: inset 0 0 0 1px #000, 0 4px 10px #000a; }
.ptm-bosses-head { color: var(--ptm-head) !important; font: bold 12px/1 Tahoma, sans-serif !important; letter-spacing: 0; border-bottom: 0 !important;
  margin: 0 8px; padding: 7px 2px 5px !important; background: url('system-assets/native/line.png') left bottom/100% 2px repeat-x; }
.ptm-collapsed .ptm-bosses-head { background: none; }
.ptm-bosses-list { scrollbar-width: auto; }
.ptm-bosses-list::-webkit-scrollbar { width: 16px; }
.ptm-bosses-list::-webkit-scrollbar-track { background: url('system-assets/native/scroll-bar.png') center/8px 100% no-repeat; }
.ptm-bosses-list::-webkit-scrollbar-thumb { min-height: 16px; background: url('system-assets/native/scroll-thumb.png') center/16px 16px no-repeat; }
.ptm-boss { border-bottom: 0; padding: 3px 8px 3px 6px; }
.ptm-boss:hover { background: #a88a521f; }
.ptm-boss-main b { color: var(--ptm-gold); font-weight: bold; }
.ptm-boss-main small, .ptm-when { color: var(--ptm-text); font-size: 11px; }
.ptm-when em { color: #b9e39a; }
.ptm-star { color: #7d6a42 !important; }
.ptm-legend h4 { margin: 0 0 6px; padding: 0 0 3px; font: bold 12px/1.2 Tahoma, sans-serif; letter-spacing: 0; text-transform: none; color: var(--ptm-head);
  background: url('system-assets/native/line.png') left bottom/100% 2px repeat-x; }
.ptm-legend-row { font-size: 11px; }
.ptm-tip b { color: var(--ptm-gold); }
.ptm-tip span { color: var(--ptm-text); font-size: 11px; }
.ptm-tip em { color: #b9e39a; }

/* guide window: the same frame, the filters above its leather strip */
.ptm-guide { background: #0006; }
.ptm-guide-box { position: relative; padding: 34px 16px 50px; }
.ptm-guide-head { padding: 0; }
.ptm-guide-head .ptm-hbtn { position: absolute; right: 8px; top: 6px; width: 22px; height: 20px; }
#pt-map .ptm-guide-head .ptm-hbtn svg { width: 11px; height: 11px; stroke-width: 2.4; }
.ptm-guide-map { border: 1px solid var(--ptm-line); border-radius: 0; box-shadow: 0 0 0 1px #000; }
.ptm-guide-name { border-radius: 0; background: #0b120d; box-shadow: 0 0 0 1px var(--ptm-line); }   /* opaque: over the drawn title */
.ptm-guide-name b { color: var(--ptm-gold); font: bold 13px/1.1 Georgia, serif; }
.ptm-here { color: #b9e39a; font-weight: bold; }
.ptm-guide-foot { padding: 8px 0 0; gap: 4px 18px; }
.ptm-check { font-size: 12px; }
.ptm-check input { width: 12px; height: 12px; border: 1px solid var(--ptm-line); border-radius: 0; background: #0b120d; box-shadow: inset 0 0 0 1px #000; }
.ptm-check input:checked { background: #0b120d; }
.ptm-check input:checked::after { content: '\2713'; width: auto; height: auto; margin: 0; border: 0; transform: none; color: var(--ptm-gold);
  font: bold 11px/1 Tahoma, sans-serif; }

/* NPC menu: leather plates, like the other windows */
.ptm-menu-acts button { min-width: 64px; height: 23px; padding: 0 8px !important; border-style: solid !important; border-width: 0 6px !important;
  border-color: transparent !important; border-image: url('system-assets/native/plate.png') 0 6 fill stretch !important; border-radius: 0 !important;
  background: none !important; font: bold 12px/1 Georgia, serif !important; text-shadow: 1px 1px 0 #1b0e00; }
.ptm-menu-acts button:hover:not(:disabled) { filter: brightness(1.25); }
