/* Extend the map's existing illustrated green-and-gold world. */
.world-game{--frame-gold:#b9a06a;--frame-ink:#f3e8ce;--frame-surface:#14271f;accent-color:#d8bf83;scrollbar-color:#8d997b #14271f}
.world-game ::selection{background:#d7bd7d;color:#16271f}
.world-game :focus-visible{outline:2px solid #efd497;outline-offset:4px}
.world-game :is(dialog:not(.quest-reveal-dialog),.event-sheet:not(:has(.autobattle-scene))){border:1px solid var(--frame-gold);background:var(--frame-surface);outline:1px solid #b9a06a42;outline-offset:-6px}
.world-game dialog:not(.quest-reveal-dialog)>.dialog-header{padding-bottom:18px;border-bottom:1px solid #a9966545;margin-bottom:20px}
.world-game .dialog-header h2{color:var(--frame-ink);letter-spacing:-.02em}
.world-game .button{min-height:44px}
.world-game .quest-illustration{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:12px;background:#14271f}
.world-game .quest-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.world-game .quest-card-grid .quest{margin:0;padding:0;border:0;background:none;min-width:0}
.world-game .quest-card-footer{display:grid;gap:12px;padding:14px 2px 4px}
.world-game .quest-card-footer p{margin:0}
.world-game .quest-card-footer .button{width:100%;justify-content:center}
.world-game .quest-status{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#c2d4c1;font-variant-numeric:tabular-nums}
.world-game .quest-map-hint{display:flex;align-items:center;gap:5px;padding:0;color:#b4d8e0;font-size:12px}
.world-game .quest-map-hint .icon{width:15px;height:15px}
.world-game .quest-reward,.world-game .quest-card-footer .site-reward{color:#e8d093;font-size:14px;line-height:1.5}
.world-game .quest-count{margin:0 0 16px;text-align:right;color:#c5d3bf;font-size:13px;font-variant-numeric:tabular-nums}
.edge-to-edge-map dialog.quest-journal-dialog{top:68px;max-height:calc(100dvh - 100px);width:min(710px,calc(100vw - 32px));max-width:none;padding:24px}
.edge-to-edge-map dialog.quest-journal-dialog:has(.quest:only-child){width:min(390px,calc(100vw - 32px))}
.world-game .quest-card-grid:has(>.quest:only-child){grid-template-columns:1fr}
.world-game .quest-card-grid .quest-illustration{height:min(360px,max(240px,calc(100dvh - 360px)));width:auto;max-width:100%;margin-inline:auto}
.world-game .quest-journal-dialog .quest-count{position:absolute;top:39px;right:84px;margin:0;padding:0;border:0}
.world-game .quest-art-fallback{min-height:240px;display:grid;place-content:center;padding:24px;border:1px solid #b9a06a80;border-radius:12px;text-align:center;color:#f3e8ce;background:#1b3430}
.world-game .quest-art-fallback p{font-size:18px;line-height:1.55;margin:0}
.world-game .quest-card-front:has(.site-offer){padding:0;border:0;background:transparent;box-shadow:none;border-radius:12px}
.world-game .quest-card-front:has(.site-offer) .quest-card-footer{padding:18px;background:#14271f;border:1px solid var(--frame-gold);border-radius:12px;margin-top:12px;color:#f3e8ce}
.world-game .quest-card-front:has(.site-offer) :is(p,small,.site-reward){color:#e3d7b8}
.world-game .quest-card-front:has(.site-offer) .site-reward{border:0;padding:0;margin:0}
.world-game .quest-card-front:has(.site-offer)>.quest-later{margin:10px 0 0;color:#f3e8ce;background:#14271f;border-color:#b9a06a80}
.world-game .quest-card-front:has(.site-offer) .artifact-gift{font-size:12px}
.world-game .quest-card-front:has(.site-offer) .site-offer .button{margin:0;background:#d8c08a;color:#17261e;border:0}
.world-game .quest-card-grid .quest:focus-visible{border-radius:12px}
.world-game .quest-unopened{border-color:#b5a16e;background:#163b43}
.world-game .quest-unopened h3{margin-bottom:8px}
.world-game .quest-unopened p{max-width:26ch;margin-inline:auto;color:#caddd7}
@media(max-width:700px){
 .edge-to-edge-map dialog.quest-journal-dialog,.edge-to-edge-map dialog.quest-journal-dialog:has(.quest:only-child){inset:12px 10px auto;width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}
 .world-game .quest-card-grid{gap:16px}
 .world-game .quest-status{align-items:start;flex-direction:column;gap:6px}
 .world-game .quest-journal-dialog .quest-count{top:33px;right:78px}
}
@media(max-width:480px){.world-game .quest-card-grid{grid-template-columns:1fr;max-width:330px;margin-inline:auto}}
 .boot-error {position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:28px;background:#10281f;color:#f7efd6;text-align:center}
 .boot-error h1,.boot-error p {margin:0;max-width:50ch}
 .boot-error a {min-height:44px;display:flex;align-items:center;padding:0 20px;color:#e9cd8c;text-underline-offset:5px}
