.game-dialog{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:#100b17ba;pointer-events:auto;padding:20px;color:#e3dcef}.game-window{width:min(720px,100%);max-height:90dvh;overflow:auto;background:#241a33;border:3px solid #100c19;box-shadow:0 0 0 2px #68516c,inset 0 0 0 2px #46334f;padding:16px}.game-window header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid #493450;padding-bottom:12px;margin-bottom:16px}.game-window h2{font:32px Pix;color:#f0d28e;margin:0}.game-window h3{font:20px Pix;color:#e2c88e}.game-window button{padding:10px 14px;margin:5px;background:#49334f;border:2px solid #130d1c;box-shadow:inset 0 2px #816077;color:#eadceb;cursor:pointer}.game-window button:hover:not(:disabled){background:#654354}.game-window button:disabled{opacity:.45;cursor:default}.game-window button:focus-visible{outline:2px solid #f7d77a}.game-window p{font:15px/1.6 Txt,sans-serif}.game-window small{color:#c1afcc}.npc-intro{display:flex;align-items:flex-start;gap:20px;margin-bottom:18px}.npc-face{flex:0 0 96px;width:96px;height:112px;background-repeat:no-repeat;background-size:576px 112px;image-rendering:pixelated;background-color:#191222;border-bottom:2px solid #b89b6f}#npc-hint{position:absolute;left:50%;bottom:170px;transform:translateX(-50%);background:#191222e8;border:2px solid #826582;color:#f7d77a;font:20px Pix;padding:9px;pointer-events:none}
@media(max-width:520px){.npc-intro{gap:10px}.npc-face{flex-basis:72px;width:72px;height:84px;background-size:432px 84px}.game-window h2{font-size:24px}}
#quest-tracker{position:absolute;right:12px;top:172px;width:230px;color:#d9c8df;cursor:pointer}#quest-tracker strong{font:18px Pix;color:#edcf8d}#quest-tracker div{padding:8px 0;border-top:1px solid #493450;margin-top:8px}#quest-tracker b{font:16px Pix;color:#e8d398}#quest-tracker small{display:block;font:12px/1.5 Txt;color:#bfaeca}.quest-entry{border-bottom:1px solid #594360;padding:8px 0 16px}.quest-entry h3{margin-bottom:8px}
@media(max-width:700px){#quest-tracker{width:168px;top:150px;font-size:12px}#quest-tracker div:nth-of-type(n+2){display:none}}
#wallet{position:absolute;left:0;top:100%;padding:5px 10px;background:#1c1528;border:2px solid #493450;color:#f0ce82;font:16px Pix;white-space:nowrap}#mana-potion{padding:0;cursor:pointer;color:#e3dcef}
#world-map .game-window{width:min(900px,100%)}#world-map canvas{width:100%;height:auto;image-rendering:pixelated;border:2px solid #6d536b}#world-map p{font-size:12px;color:#cdbbda}
#zone-banner{position:absolute;top:32%;left:50%;transform:translate(-50%,-50%);max-width:90%;text-align:center;color:#f0d28e;font:32px Pix;text-shadow:3px 3px #160f22,-2px -2px #160f22;pointer-events:none;padding:18px 30px;background:linear-gradient(90deg,transparent,#160f22b0,transparent)}

#hud:has(#inv:not(.hidden),#character-menu:not(.hidden),.game-dialog:not(.hidden)) #quest-tracker{display:none}
#help{display:none;top:100px;bottom:auto;z-index:95;width:min(660px,85vw);padding:16px;background:#1b1428f5;border:2px solid #806380;text-align:center;pointer-events:none}#help.help-visible{display:block}
.quest-rewards{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px;background:#17111f;border:1px solid #58415c;font:14px Txt}.quest-rewards b{width:100%;color:#ead08c}.quest-rewards span{display:inline-flex;align-items:center;gap:6px}.quest-rewards img{width:16px;height:16px;image-rendering:pixelated}.quest-tooltip{display:none;position:absolute;right:100%;width:270px;z-index:90}.quest-tooltip .quest-rewards{box-shadow:0 4px 18px #000}#quest-tracker>div:hover .quest-tooltip,#quest-tracker>div:focus .quest-tooltip{display:block}.quest-complete{max-width:410px;background:#241a33;padding:12px;border:2px solid #b39664}

#character-slots h3{color:#e4c78d;font:20px Pix;margin:0 0 10px}#character-slots h3 small{float:right;color:#b6a4bd}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.saved-slot{background:#211929;border:2px solid #77617c;padding:10px;text-align:center;min-width:0;color:#ded0e4}.saved-slot canvas{image-rendering:pixelated;float:left;width:72px;height:84px}.saved-slot h4{color:#efd294;font:23px Pix;margin:12px 0 6px}.saved-slot p{font-size:12px}.saved-slot button{padding:8px;font:14px Pix}.delete-character{color:#d5989b;background:#2c1b29;margin-left:5px}.empty-slot{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border-style:dashed;cursor:pointer}.empty-slot b{font-size:32px}.empty-slot small{color:#aa97b8}.slot-grid{margin-bottom:16px}#login{overflow-y:auto}@media(max-width:650px){.slot-grid{grid-template-columns:1fr}.saved-slot{min-height:90px}}

#status-effects{position:absolute;top:120px;left:12px;display:flex;gap:8px;color:#9dc878;font:16px Pix}#status-effects .poison{color:#c68aef}#party-bars{position:absolute;left:12px;top:160px;width:175px;pointer-events:auto}#party-bars>div{position:relative;background:#241a33;padding:8px;border:1px solid #735879;margin:5px 0;font:14px Pix}#party-bars span{display:block;font:12px Txt}#party-bars i{display:block;height:4px;background:#93b46a}#party-invite:not(:empty){position:absolute;left:50%;top:15%;transform:translateX(-50%);background:#2a2038;border:2px solid #b69861;padding:16px;pointer-events:auto;z-index:100}#party-invite button{margin:8px;padding:8px}

.hw-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.hw-reward{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;background:#191222;border:1px solid #68516c;padding:10px;min-width:0}
.hw-reward canvas{width:112px;height:112px;image-rendering:pixelated;align-self:center;background:radial-gradient(ellipse at 50% 80%,#49334f99,transparent 70%)}
.hw-reward-info{min-width:0;align-self:center}.hw-reward h4{font:18px Pix;color:#f0d28e;margin:0 0 6px}.hw-reward small{color:#ffbc70}.game-window .hw-reward p{font:12px/1.45 Txt,sans-serif;margin:6px 0}
.hw-reward-action{grid-column:1/-1}.game-window .hw-reward-action button{display:block;width:100%;margin:0;min-height:44px;font-size:14px;white-space:normal}
@media(max-width:620px){.hw-rewards{grid-template-columns:1fr}.hw-reward{gap:10px}}
@media(max-width:360px){.hw-reward{grid-template-columns:90px minmax(0,1fr);padding:8px}.hw-reward canvas{width:90px;height:90px}}
