.quest-tracker[hidden],.quest-dialogue[hidden]{display:none!important}
.minimap-notices{position:absolute;top:calc(100% + 8px);right:-1px;width:calc(100% + 2px);display:grid;grid-template-columns:minmax(0,1fr);gap:8px;z-index:7}.minimap-panel.expanded .minimap-notices{display:none}.minimap-notices>.quest-tracker,.minimap-notices>.event-hud{position:static;width:100%;min-width:0;max-width:none}
.quest-tracker{position:absolute;z-index:7;top:14px;right:14px;width:min(285px,calc(100% - 16px));padding:8px;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--floating);box-shadow:var(--glass-shadow);color:#e1dfd4}.quest-tracker[data-detached]{position:fixed;right:auto;max-width:calc(100vw / var(--desktop-ui-scale,1) - 16px)}
.quest-tracker-handle{display:flex;align-items:center;justify-content:space-between;min-height:22px;gap:8px;margin-bottom:4px;color:var(--gold);cursor:move;touch-action:none;user-select:none}.quest-tracker-handle strong{font-size:11px;font-weight:600}.quest-tracker-handle button{padding:0 4px;font-size:14px;line-height:1.3}.quest-tracker-handle button[hidden]{display:none}.quest-tracker-open{display:block;width:100%;margin-top:6px;padding:5px 9px;font-size:11px}
.quest-list-row{display:flex;align-items:center;gap:9px;width:100%;min-width:0;text-align:left;padding:10px 11px;border:1px solid transparent;background:transparent;color:#e1dfd4}.quest-list-row[aria-pressed=true]{background:var(--selection);border-color:var(--surface-border);color:var(--gold)}.quest-type-icon{flex:0 0 9px;font-size:19px;font-weight:750;line-height:1}.quest-list-copy{display:block;min-width:0;flex:1}.quest-list-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.5}.quest-list-state{display:block;margin-top:3px;color:var(--muted);font-size:11px}.quest-tracker .quest-list-row{padding:5px 4px;gap:7px}.quest-tracker .quest-list-title{font-size:12px}.quest-tracker .quest-type-icon{font-size:16px}
.quest-tracker .quest-list-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere}
.quest-detail-tasks{display:grid;gap:6px;margin:0;padding:0;list-style:none}.quest-detail-task{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6}.quest-detail-task-label{min-width:0;white-space:pre-line;overflow-wrap:anywhere}.quest-detail-task-count{flex-shrink:0;color:var(--muted);font-variant-numeric:tabular-nums}.quest-detail-objective .quest-detail-task-mode{margin-bottom:7px}
.quest-detail-chat{font-size:13px;line-height:1.6;color:var(--gold);overflow-wrap:anywhere}.quest-detail-objective .quest-detail-chat{margin-top:10px}
.quest-tracker-task{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.quest-tracker .quest-list-row{align-items:flex-start}.quest-tracker .quest-type-icon{margin-top:2px}.quest-detail-objective p{white-space:pre-line}
.touch-ui .world>.quest-tracker{top:calc(max(8px,env(safe-area-inset-top)) + 120px);right:var(--safe-right,8px);width:min(220px,calc(100% - 16px))}.touch-ui .quest-tracker-handle{cursor:default}.touch-ui .world:has(.minimap-panel.expanded)>.quest-tracker{display:none}
body:has(.minimap-panel.expanded)>.quest-tracker[data-detached]{display:none}.quest-map-legend b{font-size:14px}
.quest-dialogue{position:absolute;z-index:18;top:clamp(12px,3vh,28px);left:clamp(12px,3vw,40px);width:min(740px,calc(100% - 24px));max-height:calc(100% - 28px);overflow:auto;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--floating);box-shadow:0 18px 52px #000a;color:#e1dfd4}
.quest-dialogue header,.quest-journal header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 19px;border-bottom:1px solid var(--line);background:#ffffff06}.quest-dialogue header small,.quest-journal header small{display:block;color:var(--gold);font-size:10px;letter-spacing:.08em}.quest-dialogue h2,.quest-journal h2{margin:3px 0 0;font-size:19px;font-weight:650}.quest-dialogue header button,.quest-journal header button{font-size:20px;line-height:1;padding:4px 8px}
.quest-dialogue-main{display:grid;grid-template-columns:165px minmax(0,1fr);gap:18px;padding:18px 20px 13px}.quest-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:222px;border:1px solid var(--line);border-radius:5px;background:var(--field)}.quest-portrait canvas{width:148px;height:184px;image-rendering:pixelated}.quest-portrait strong{display:block;padding:3px 0 10px;color:var(--gold);font-size:13px}
.quest-dialogue-copy{min-height:222px;display:flex;flex-direction:column;justify-content:center;padding:12px 18px;border:1px solid var(--line);border-radius:5px;background:#00000030}.quest-dialogue-copy p{margin:0 0 11px;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:keep-all}.quest-dialogue-copy p:last-child{margin-bottom:0}
.quest-dialogue-choices{display:grid;gap:7px;margin:0 20px 12px 203px}.quest-dialogue-choices[hidden]{display:none}.quest-dialogue-choice{text-align:left;border:1px solid var(--surface-border);border-radius:5px;background:#ffffff09;color:#e1dfd4;padding:10px 13px}.quest-dialogue-choice[aria-pressed=true]{border-color:var(--gold);background:var(--selection);color:var(--gold)}
.quest-dialogue-detail{margin:0 20px;padding:14px 18px;border-top:1px solid var(--surface-border);background:#ffffff05}.quest-dialogue-detail [data-status]{color:var(--gold);font-size:11px;font-weight:bold}.quest-dialogue-detail h3{margin:5px 0 9px;font-size:16px}.quest-dialogue-detail p{margin:0 0 5px;color:#c2c2b7;font-size:12px;line-height:1.55}.quest-dialogue-detail [data-objective]{color:#e1dfd4}
.quest-dialogue footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 20px 17px}.quest-dialogue footer [data-error]{margin-right:auto;color:#e5ac98;font-size:12px}.quest-dialogue footer [data-accept]{border-color:var(--gold);background:var(--selection);color:var(--gold)}
.quest-journal{width:min(860px,calc(100% - 20px));max-height:min(720px,calc(100dvh - 30px));margin:auto;padding:0;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--floating);color:#e1dfd4;box-shadow:0 18px 55px #000b}.quest-journal::backdrop{background:#02060499}.quest-journal-content{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:310px;max-height:min(580px,calc(100dvh - 130px));overflow:hidden}.quest-journal-list{min-width:0;overflow:auto;padding:10px;border-right:1px solid var(--line);background:var(--field)}.quest-journal-list .quest-list-row{margin-bottom:5px}.quest-journal-detail{min-width:0;overflow:auto;padding:20px 24px}.quest-journal-detail h3{margin:5px 0 15px;color:var(--gold);font-size:20px;line-height:1.4;overflow-wrap:anywhere}.quest-detail-meta{margin:0;color:var(--muted);font-size:11px}.quest-detail-summary{white-space:pre-wrap;font-size:13px;line-height:1.75;overflow-wrap:anywhere}.quest-detail-objective{margin:18px 0;padding:13px 15px;background:var(--field);border:1px solid var(--line);border-radius:5px}.quest-detail-objective h4{margin:0 0 7px;color:var(--gold);font-size:12px}.quest-detail-objective p{margin:0;font-size:13px;line-height:1.6}.quest-detail-npc{font-size:12px;color:var(--muted);margin:18px 0 10px}.quest-journal-detail button{min-height:34px;font-size:12px;padding:7px 12px}.quest-journal-detail button+button{margin-left:8px}.quest-empty{color:var(--muted);font-size:12px;line-height:1.6}.quest-menu-button svg{fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:700px){.quest-tracker{padding:7px}.quest-tracker .quest-list-title{font-size:11px}.quest-dialogue{top:max(8px,env(safe-area-inset-top));left:8px;width:calc(100% - 16px);max-height:calc(100dvh - 110px)}.quest-dialogue header,.quest-journal header{padding:11px 13px}.quest-dialogue h2,.quest-journal h2{font-size:16px}.quest-dialogue-main{grid-template-columns:90px minmax(0,1fr);gap:9px;padding:10px}.quest-portrait{min-height:164px}.quest-portrait canvas{width:84px;height:130px}.quest-portrait strong{font-size:11px}.quest-dialogue-copy{min-height:164px;padding:9px 11px}.quest-dialogue-copy p{font-size:12px;line-height:1.6;margin-bottom:7px}.quest-dialogue-detail{margin:0 10px;padding:10px}.quest-dialogue-detail h3{font-size:14px}.quest-dialogue footer{padding:9px 10px 12px}.quest-journal-content{grid-template-columns:minmax(110px,36%) minmax(0,1fr)}.quest-journal-list{padding:6px}.quest-journal-list .quest-list-row{padding:9px 6px;gap:6px}.quest-journal-list .quest-list-title{font-size:11px;white-space:normal;overflow-wrap:anywhere}.quest-journal-list .quest-list-state{font-size:10px}.quest-journal-detail{padding:13px}.quest-journal-detail h3{font-size:16px}.quest-detail-summary{font-size:12px}.quest-detail-objective{padding:10px}}
@media(max-width:700px){.quest-dialogue-choices{margin:0 10px 10px 109px}.quest-dialogue-choice{padding:8px 9px;font-size:11px}}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]){width:min(460px,calc(100% - 24px));max-height:46%;overflow:visible;border-color:var(--surface-border);background:var(--floating);transform:none}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"])::after,.quest-cinematic-guide[data-kind="bubble"]::after{content:"";position:absolute;top:100%;left:var(--tail-x,50%);width:15px;height:15px;background:var(--floating);border-right:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border);transform:translate(-50%,-7px) rotate(45deg)}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-portrait,.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-dialogue-detail,.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) header small{display:none}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) header{padding:10px 14px;border-bottom:0;background:none}.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) h2{font-size:14px;color:var(--gold)}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-dialogue-main{display:block;padding:0 14px}.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-dialogue-copy{min-height:78px;max-height:24vh;overflow:auto;padding:8px 0;border:0;background:none;justify-content:flex-start}.quest-dialogue-copy p{overflow-wrap:anywhere}
.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-dialogue-choices{margin:6px 14px}.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) footer{padding:7px 14px 12px}.quest-dialogue footer button{font-size:12px}
.quest-dialogue[data-mode="offer"],.quest-dialogue[data-mode="ready"]{top:24px!important;left:50%!important;transform:translateX(-50%);width:min(580px,calc(100% - 24px))}.quest-dialogue[data-mode="offer"] .quest-dialogue-main,.quest-dialogue[data-mode="ready"] .quest-portrait{display:none}.quest-dialogue[data-mode="ready"] .quest-dialogue-main{display:block}.quest-dialogue[data-mode="ready"] .quest-dialogue-copy{min-height:0}
.quest-cinematic-guide[hidden]{display:none!important}.quest-cinematic-guide{position:absolute;z-index:131;top:var(--quest-guide-top,104px);left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:var(--quest-guide-max-height,calc(100% - 120px));overflow:auto;padding:16px 19px;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--floating);box-shadow:var(--glass-shadow);color:var(--text)}.quest-cinematic-guide header{color:var(--gold);font-size:14px}.quest-cinematic-guide p{min-height:60px;max-height:28vh;overflow:auto;line-height:1.7;font-size:14px;overflow-wrap:anywhere}.quest-cinematic-guide footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}.quest-cinematic-guide [data-error]{color:#e5ac98;font-size:12px}.quest-cinematic-guide[data-kind="bubble"]{transform:none;width:min(460px,calc(100% - 24px));max-height:calc(100% - 32px)}
.quest-flashback{filter:sepia(.7) saturate(.55) contrast(.9);animation:quest-recall 700ms ease-out}@keyframes quest-recall{from{filter:brightness(0) sepia(.7) saturate(.55)}to{filter:sepia(.7) saturate(.55) contrast(.9)}}
@media(max-width:700px){.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]){max-height:48%;width:min(370px,calc(100% - 16px))}.quest-dialogue:not([data-mode="offer"]):not([data-mode="ready"]) .quest-dialogue-copy{min-height:60px;max-height:22vh}.quest-cinematic-guide{padding:12px 14px}.quest-cinematic-guide p{font-size:12px;min-height:50px}}
.quest-location-markers{position:absolute;inset:0;pointer-events:none}
.quest-location-marker{position:absolute;transform:translate(-50%,-100%);border:0;background:transparent;padding:4px 10px;font:bold 32px sans-serif;text-shadow:0 2px 3px #000;pointer-events:auto;cursor:pointer}
.quest-puzzle{position:absolute;z-index:70;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 24px));padding:20px;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--floating);color:#e1dfd4;box-shadow:0 18px 55px #000b}.quest-puzzle[hidden]{display:none}.quest-puzzle header{display:flex;justify-content:space-between;align-items:center}.quest-puzzle h3{margin:0;color:var(--gold)}.quest-puzzle p{line-height:1.6}.quest-puzzle-grid{display:grid;gap:6px;margin:15px 0}.quest-puzzle-grid button{aspect-ratio:1;font-size:23px;border:1px solid var(--line);background:var(--surface);color:#e1dfd4;border-radius:4px}.quest-puzzle-grid button:disabled:not(.quest-puzzle-blank){opacity:.7}.quest-puzzle-grid .quest-puzzle-blank{background:#0004;border-style:dashed}.quest-puzzle small{color:#aaa99d}
.dungeon-round-cue{position:absolute;z-index:120;left:50%;top:22%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;padding:14px 34px;color:#ead7a5;background:linear-gradient(90deg,transparent,#17171cea 18%,#17171cea 82%,transparent);border-block:1px solid #9c855c;pointer-events:none;text-shadow:0 2px 3px #000;min-width:220px;justify-content:center}
.dungeon-round-cue small{font-size:13px;letter-spacing:4px}.dungeon-round-cue strong{font-size:42px;font-family:Georgia,serif;font-weight:normal}.dungeon-round-cue span{font-size:14px}
.dungeon-scene-fade{position:absolute;inset:0;background:#000;z-index:130;pointer-events:none}
.dungeon-round-cue[hidden],.dungeon-scene-fade[hidden]{display:none}

/* Mobile chat and quests share one transparent, bounded HUD area. */
.mobile-info-tabs{display:none}
.mobile-info-tabs[hidden],.mobile-info-tabs button[hidden],.quest-journal [hidden]{display:none!important}
.touch-ui .mobile-info-tabs{display:flex;align-items:center;gap:8px;height:32px;flex:none;pointer-events:auto}
.touch-ui .mobile-info-tabs button{min-height:32px;padding:4px 9px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;color:#d6d6cb;font-size:11px;text-shadow:0 1px 2px #000,0 0 3px #000}
.touch-ui .mobile-info-tabs [aria-selected=true]{border-bottom-color:var(--gold);color:var(--gold)}
.touch-ui .mobile-info-tabs .mobile-quests-open{margin-left:auto;padding-inline:6px;color:var(--gold);font-size:10px}
.touch-ui #chat-overlay>.quest-tracker{position:static;width:100%;min-width:0;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:0 1px 2px #000,0 0 3px #000}
.touch-ui #chat-overlay[data-mobile-info-tab=chat]>.quest-tracker{display:none!important}
.touch-ui #chat-overlay>.quest-tracker :is(.quest-tracker-handle,.quest-tracker-open){display:none}
.touch-ui #chat-overlay .quest-tracker-list{height:var(--mobile-info-body-height,80px);max-height:var(--mobile-info-body-height,80px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent;pointer-events:auto}
.touch-ui #chat-overlay .quest-list-row{padding:3px 6px;gap:6px;border:0;border-radius:0;background:none;box-shadow:none;text-shadow:inherit}
.touch-ui #chat-overlay .quest-list-title{display:block;font-size:11px;line-height:1.5;white-space:nowrap;text-overflow:ellipsis}
.touch-ui #chat-overlay .quest-tracker-task{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:1px;color:#e1dfd4;font-size:10px;line-height:1.5;white-space:normal}
.touch-ui #chat-overlay .quest-empty{margin:4px 6px;color:#e1dfd4;font-size:11px}

/* Each mobile journal page uses the available width; only its body scrolls. */
.touch-ui .quest-journal{position:fixed;left:var(--safe-left,8px);right:var(--safe-right,8px);top:max(8px,env(safe-area-inset-top));bottom:auto;width:calc(100vw - var(--safe-left,8px) - var(--safe-right,8px));height:calc(var(--touch-height,100dvh) - max(8px,env(safe-area-inset-top)) - var(--safe-bottom,8px));max-width:none;max-height:none;margin:0;overflow:hidden}
.touch-ui .quest-journal[open]{display:flex;flex-direction:column}
.touch-ui .quest-journal header{flex:none;gap:12px;padding:8px 12px}
.touch-ui .quest-journal header>div{flex:1;min-width:0}
.touch-ui .quest-journal header button{flex:none;min-width:40px;min-height:40px;padding:7px 9px}
.touch-ui .quest-journal [data-back]{font-size:12px;color:var(--gold);background:transparent}
.touch-ui .quest-journal-content{flex:1;min-height:0;max-height:none;grid-template-columns:minmax(0,1fr)}
.touch-ui .quest-journal-list,.touch-ui .quest-journal-detail{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.touch-ui .quest-journal-list{padding:8px;border-right:0}
.touch-ui .quest-journal-list .quest-list-row{min-height:52px;padding:9px 10px;gap:9px}
.touch-ui .quest-journal-list .quest-list-title{font-size:13px;white-space:normal}
.touch-ui .quest-journal-list .quest-list-state{font-size:11px}
.touch-ui .quest-journal-detail{padding:14px 16px}
.touch-ui .quest-journal-detail h3{font-size:18px;margin-bottom:12px}
.touch-ui .quest-journal-detail button{min-height:44px;margin-top:4px}
.touch-ui .quest-detail-tasks{gap:9px}
.touch-ui .quest-detail-task{gap:12px;font-size:12px}
.touch-ui .quest-detail-summary{font-size:12px}
.touch-ui .quest-detail-objective{padding:12px}
.touch-ui .quest-dialogue:is([data-mode=offer],[data-mode=ready]){top:max(8px,env(safe-area-inset-top))!important;width:min(580px,calc(100% - var(--safe-left,8px) - var(--safe-right,8px)));max-height:calc(var(--touch-height,100dvh) - max(8px,env(safe-area-inset-top)) - var(--safe-bottom,8px));overscroll-behavior:contain}
.touch-ui .quest-dialogue:is([data-mode=offer],[data-mode=ready]) header{position:sticky;top:0;z-index:1;background:var(--floating)}
.touch-ui .quest-dialogue:is([data-mode=offer],[data-mode=ready]) footer{position:sticky;bottom:0;z-index:1;background:var(--floating)}
.touch-ui .quest-dialogue header button,.touch-ui .quest-dialogue footer button,.touch-ui .quest-dialogue-choice{min-height:40px}
