/* Quest Log dialog, left tracker button, edge arrow and reward fly-text (built by hud.js; these rules were missing, so the
   log rendered below the fold and quests could not be claimed with J). */
.quest-tracker { position: fixed; left: 12px; top: 58px; z-index: 40; display: flex; flex-direction: column; gap: 6px; max-width: 260px; pointer-events: none; font-size: calc(12px * var(--ui-scale,1)); }
.quest-tracker > button, .quest-log button { pointer-events: auto; font: 700 12px/1 system-ui, sans-serif; color: var(--msh-text-gold); background: rgba(var(--msh-info-bg-rgb), 0.82); border: 1.5px solid rgba(var(--msh-focus-rgb), 0.45); border-radius: 999px; padding: 7px 12px; cursor: pointer; }
.quest-tracker > button { align-self: flex-start; }
.quest-tracker .quest-card { display: block; max-width: 260px; max-height: 32vh; overflow: auto; padding: 6px 8px; margin: 0; background: rgba(var(--msh-info-bg-rgb), 0.76); border-radius: 8px; }
.quest-tracker-row { display: block; width: 100%; margin: 3px 0; padding: 4px 6px; border: 0; background: transparent; color: var(--msh-text-hi); text-align: left; font: 600 calc(11px * var(--ui-scale,1))/1.35 system-ui,sans-serif; cursor: pointer; }
@media (max-width: 700px) { .quest-tracker { left: auto; right: max(8px, env(safe-area-inset-right)); top: calc(max(12px, env(safe-area-inset-top)) + clamp(138px, 39vw, 164px) + 62px); width: min(300px, calc(100vw - 24px)); max-width: min(300px, calc(100vw - 24px)); max-height: 36vh; } .quest-tracker .quest-card { max-width: 100%; max-height: 28vh; } }
@media (max-width: 700px), (pointer: coarse) and (max-width: 1024px) { .quest-tracker > button { box-sizing: border-box; min-width: 44px; min-height: 44px; } }
@media (max-height: 520px) { .quest-tracker .quest-card { max-height: 18vh; } }
.quest-compass { font: 600 11px/1.3 system-ui, sans-serif; color: var(--msh-text-hi); background: rgba(var(--msh-info-bg-rgb), 0.7); border-radius: 8px; padding: 4px 8px; }
.quest-compass.near { color: var(--msh-ok); }
.quest-edge { position: fixed; z-index: 35; transform: translate(-50%, -50%); color: var(--msh-focus); font-size: 22px; text-shadow: 0 0 6px var(--msh-black); pointer-events: none; }
.quest-edge[hidden], .quest-log[hidden] { display: none; }
.quest-log { position: fixed; inset: 6% max(12px, 18%); z-index: 20000; overflow: auto; background: rgba(var(--msh-bg-1-rgb), 0.97); border: 1.5px solid rgba(var(--msh-focus-rgb), 0.45); border-radius: 14px; padding: 16px 20px; color: var(--msh-white); font: 14px/1.45 system-ui, sans-serif; box-shadow: 0 12px 40px rgba(var(--msh-black-rgb), 0.55); }
.quest-log h2 { margin: 8px 0 10px; font-size: 20px; color: var(--msh-focus); }
.quest-log nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.quest-log button[aria-pressed="true"] { background: var(--msh-focus); color: var(--msh-info-bg); }
.quest-tracker { background: transparent; border: 0; box-shadow: 0 2px 5px #000b; padding: 4px 7px; }
.quest-tracker-head { color: var(--msh-text-gold); text-shadow: 0 1px 3px var(--msh-black); }
.quest-tracker-head button { min-width: 28px; min-height: 28px; color: var(--msh-text-gold); background: rgba(var(--msh-bg-1-rgb), 0.72); }
.quest-tracker .quest-card { max-height: min(30vh, 240px); }
.quest-tracker-row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 3px 2px; text-shadow: 0 1px 3px var(--msh-black); }
.quest-tracker-title { color: var(--msh-text-gold); }
.quest-tracker-objective { color: var(--msh-text-hi); }
.quest-ready, .quest-tracker-row:has(.quest-ready) .quest-tracker-objective { color: var(--msh-ok); }
.quest-log .quest-card { background: rgba(var(--msh-info-bg-rgb), 0.85); border: 1px solid rgba(var(--msh-info-text-rgb), 0.3); border-radius: 10px; padding: 10px 12px; margin: 0 0 10px; }
.quest-log .quest-card p { margin: 4px 0; color: var(--msh-slate-lt); }
.quest-log .quest-step { font-size: 13px; margin: 3px 0; }
.quest-log progress { display: block; width: 100%; height: 6px; }
.quest-log .quest-rewards { color: var(--msh-ok); font-size: 12px; }
.quest-fly { position: fixed; left: 50%; top: 38%; transform: translateX(-50%); z-index: 95; font: 800 22px/1 system-ui, sans-serif; color: var(--msh-focus); text-shadow: 0 2px 8px var(--msh-black); pointer-events: none; animation: quest-fly 2.2s ease-out forwards; }
@keyframes quest-fly { from { opacity: 1; transform: translate(-50%, 0); } to { opacity: 0; transform: translate(-50%, -60px); } }
#quest-card { cursor: pointer; }

/* Compact right-side play HUD: zone minimap, one utility row, then a text-only tracker. */
.mmo-minimap { position: fixed; z-index: 40; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); width: clamp(150px, 16vw, 220px); display: grid; gap: 5px; color: var(--msh-white); }
.mmo-zone-name { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--msh-white); font: 700 13px/1.2 system-ui,sans-serif; text-align: right; text-shadow: 0 1px 4px var(--msh-black); }
.mmo-mini-canvas { width: 100%; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--msh-info-text); border-radius: 8px; background: var(--msh-info-bg); box-shadow: 0 3px 12px #0008; }
.mmo-mini-canvas .wmu-mini { width: 100%; max-width: none; height: 100%; aspect-ratio: 1; border: 0; }
.mmo-mini-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.mmo-mini-tool { box-sizing: border-box; width: 34px; height: 30px; border: 1px solid var(--msh-grey); border-radius: 7px; background: rgba(var(--msh-info-bg-rgb), 0.94); color: var(--msh-white); font: 700 16px/1 system-ui,sans-serif; cursor: pointer; }
.quest-tracker { left: auto; right: max(12px, env(safe-area-inset-right)); top: calc(max(12px, env(safe-area-inset-top)) + clamp(150px, 16vw, 220px) + 57px); width: min(300px, calc(100vw - 24px)); max-width: min(300px, calc(100vw - 24px)); gap: 4px; padding: 7px 9px; border: 1px solid rgba(var(--msh-info-text-rgb), 0.4); border-radius: 9px; background: rgba(var(--msh-info-bg-rgb), 0.86); box-sizing: border-box; }
.quest-tracker-head { display: flex; align-items: center; justify-content: space-between; color: var(--msh-white); font-weight: 700; }
.quest-tracker-head button { pointer-events: auto; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 2px 7px; border: 1px solid var(--msh-info-text); border-radius: 6px; background: var(--msh-info-bg); color: var(--msh-white); touch-action: manipulation; }
.quest-tracker .quest-card { max-width: none; max-height: min(30vh, 240px); overflow: auto; background: transparent; padding: 0; }
.quest-tracker-row { box-sizing: border-box; width: 100%; margin: 0; padding: 5px 2px; color: var(--msh-text-hi); overflow-wrap: anywhere; }
.quest-tracker .quest-compass { padding: 2px 0; background: transparent; }
.map-toggle, .sales-toggle, .audio-toggle { display: none !important; }
@media (max-width: 700px) {
  .mmo-minimap { width: clamp(138px, 39vw, 164px); }
  .mmo-zone-name { font-size: 12px; }
  .mmo-mini-tool { width: 44px; height: 44px; touch-action: manipulation; }
  .quest-tracker { top: calc(max(12px, env(safe-area-inset-top)) + clamp(138px, 39vw, 164px) + 120px); width: min(300px, calc(100vw - 24px)); max-height: 36vh; }
  .quest-tracker .quest-card { max-height: 28vh; }
}
/* Keep the play HUD compact: the zone strip is replaced by the minimap's live zone label. */
.zs-strip { display: none !important; }

/* Bronze and parchment quest-log layout. */
.quest-log { inset: 50% auto auto 50%; transform: translate(-50%,-50%); width: min(820px,94vw); height: min(620px,86vh); box-sizing: border-box; border-radius: 5px; background: var(--msh-bg-2); border: 2px solid var(--msh-border); color: var(--msh-text-hi); }
.quest-log-title { display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--msh-border); }
.quest-log-title h2 { flex:1; color:var(--msh-text-gold); }
.quest-log-columns { display:grid; grid-template-columns:minmax(190px, .75fr) minmax(0,1.5fr); gap:14px; height:calc(100% - 110px); }
.quest-log-list,.quest-log-detail { overflow:auto; padding:10px; background:var(--msh-text-gold); color:var(--msh-bg-3); }
.quest-log-list h3 { border-bottom:1px solid var(--msh-border); text-transform:capitalize; }
.quest-log-row { display:block; width:100%; text-align:left; border:0!important; border-radius:0!important; background:transparent!important; color:var(--msh-bg-3)!important; }
.quest-log-detail .quest-card { color:var(--msh-bg-3); background:transparent; border:0; border-radius:0; }
.quest-log-detail .quest-card p { color:var(--msh-border-dim); }
.quest-log-detail footer { display:flex; gap:8px; justify-content:flex-end; border-top:1px solid var(--msh-border); padding-top:10px; }
/* Ring controls and an unboxed right-edge tracker follow the classic MMO HUD layout. */
.mmo-mini-canvas { position:relative; }
.mmo-mini-tools { position:absolute; inset:0; display:block; pointer-events:none; }
.mmo-mini-tool,.mmo-mini-zoom { position:absolute; pointer-events:auto; width:28px; height:28px; min-width:28px; min-height:28px; border-radius:50%; padding:0; }
.mmo-mini-tool:nth-child(1) { right:-10px; top:45%; }
.mmo-mini-tool:nth-child(2) { left:-10px; top:45%; }
.mmo-mini-tool:nth-child(3) { left:50%; bottom:-10px; transform:translateX(-50%); }
.mmo-mini-zoom { right:-10px; bottom:8px; display:flex; flex-direction:column; gap:2px; height:auto; background:transparent; border:0; }
.mmo-mini-zoom button { width:26px; height:26px; min-width:26px; min-height:26px; border-radius:50%; padding:0; }
.quest-tracker { top:calc(max(12px, env(safe-area-inset-top)) + clamp(150px, 16vw, 220px) + 57px); padding:3px 5px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.quest-tracker-head { color:var(--msh-text-gold); text-shadow:0 1px 3px var(--msh-black); }
.quest-tracker-head button { min-width:28px; min-height:28px; border:0; border-radius:3px; background:rgba(var(--msh-bg-1-rgb), 0.72); }
.quest-tracker .quest-card { background:transparent; }
.action-slot-empty .action-slot-icon { opacity:0 !important; }
@media (max-width:700px) { .quest-tracker { top:calc(max(12px, env(safe-area-inset-top)) + clamp(138px, 39vw, 164px) + 62px); } }
@media(max-width:650px){.quest-log-columns{grid-template-columns:1fr;height:calc(100% - 100px)}.quest-log-list{max-height:28vh}}
.quest-log{font-family:Georgia,'Times New Roman',serif;background:linear-gradient(135deg,var(--msh-bg-3),var(--msh-bg-2) 24%,var(--msh-bg-2));box-shadow:0 12px 42px #000b,inset 0 0 0 1px rgba(var(--msh-accent-rgb), 0.33)}.quest-log-title h2:before{content:'? ';color:var(--msh-accent)}.quest-log-list h3{display:flex;align-items:center;gap:6px}.quest-log-list h3 button{min-width:24px;padding:0 4px}.quest-log-row.quest-difficulty-grey{color:var(--msh-slate)!important}.quest-log-row.quest-difficulty-green{color:var(--msh-ok-lo)!important}.quest-log-row.quest-difficulty-yellow{color:var(--msh-border)!important}.quest-log-row.quest-difficulty-orange{color:var(--msh-border)!important}.quest-log-row.quest-difficulty-red{color:var(--msh-danger-lo)!important}

/* Lane 19: tracker clarity (step, count, zone, arrow target) */
.quest-tracker-step { display: block; font-size: 10px; color: var(--msh-info-text); }
.quest-tracker-count { display: inline-block; margin-top: 1px; padding: 0 5px; border-radius: 8px; background: rgba(var(--msh-bg-1-rgb), 0.8); color: var(--msh-text-gold); font-weight: 700; }
.quest-tracker-arrow { display: block; margin-top: 1px; color: var(--msh-info); font-size: 10px; }
