#npc-dialogue{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-sizing:border-box;max-height:90vh;overflow:auto;margin:0;width:min(620px,92vw);max-width:620px;padding:28px 32px 30px;border:1px solid #b89b58;border-radius:7px;background:linear-gradient(135deg,#243a2af5,#0c1d16fa);box-shadow:0 0 0 3px #0a130ee8,0 0 0 4px #806c3970,0 18px 65px #0009,inset 0 0 45px #0005;color:#ead9b1;font-family:Georgia,serif}#npc-dialogue::backdrop{background:#030a062b;backdrop-filter:none}#npc-dialogue .npc-dialogue-kicker{font:10px "Segoe UI",sans-serif;letter-spacing:2.2px;color:#bda76d}#npc-dialogue h2{margin:7px 0 11px;font:30px Georgia;color:#f2dfac}#npc-dialogue .npc-dialogue-rule{display:flex;align-items:center;gap:12px;color:#b59a59;font-size:12px}#npc-dialogue .npc-dialogue-rule:before,#npc-dialogue .npc-dialogue-rule:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#b59a5977);flex:1}#npc-dialogue .npc-dialogue-rule:after{transform:scaleX(-1)}#npc-dialogue p{min-height:76px;margin:18px 0 22px;font:18px/1.6 Georgia;color:#e4d8bb}#npc-dialogue #npc-dialogue-reply{position:static;box-sizing:border-box;display:block;width:100%;padding:12px 16px;border:1px solid #a68b4b;border-radius:4px;background:linear-gradient(#3a4b2c,#24331f);color:#f4dfad;font:16px Georgia;text-align:left;transition:background .15s,border-color .15s}#npc-dialogue #npc-dialogue-reply:hover{background:#435531;border-color:#e6c67c}#npc-dialogue button:focus-visible{outline:2px solid #e6c67c;outline-offset:4px}#npc-dialogue .npc-dialogue-close{position:absolute;left:auto;right:16px;top:14px;width:30px;height:30px;padding:0;border:1px solid #8e7846;border-radius:4px;background:#15251d;color:#e0c88f;font:24px Georgia}@media(max-height:600px){#npc-dialogue{padding:20px 26px}#npc-dialogue p{min-height:0;margin:12px 0 16px;font-size:16px}}@media(prefers-reduced-motion:reduce){#npc-dialogue button{transition:none}}

#npc-dialogue[open]{animation:npc-frame-glow 5s ease-in-out infinite}
#npc-dialogue[open]::backdrop{animation:npc-backdrop-in .35s ease-out}
#npc-dialogue .npc-dialogue-rule{animation:npc-rule-glow 4s ease-in-out infinite}
#npc-dialogue #npc-dialogue-reply{cursor:pointer;position:relative;overflow:hidden;transition:transform .18s ease,background .2s,border-color .2s,box-shadow .2s;padding-right:38px}
#npc-dialogue #npc-dialogue-reply::after{content:'›';position:absolute;right:17px;top:50%;transform:translate(-5px,-50%);opacity:.45;font-size:25px;transition:transform .2s,opacity .2s}
#npc-dialogue #npc-dialogue-reply:hover{transform:translateY(-2px);box-shadow:0 5px 18px #0005,inset 0 0 18px #e6c67c12}
#npc-dialogue #npc-dialogue-reply:hover::after{transform:translate(0,-50%);opacity:1}
#npc-dialogue #npc-dialogue-reply:active{transform:translateY(1px);box-shadow:inset 0 2px 8px #0006}
#npc-dialogue .npc-dialogue-close{cursor:pointer;transition:color .2s,border-color .2s,transform .2s}
#npc-dialogue .npc-dialogue-close:hover{color:#fff0c5;border-color:#e6c67c;transform:rotate(8deg)}
@keyframes npc-frame-glow{0%,100%{border-color:#b89b58}50%{border-color:#dfc17e}}
@keyframes npc-rule-glow{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes npc-backdrop-in{from{background:#030a0600}to{background:#030a062b}}
@media(prefers-reduced-motion:reduce){#npc-dialogue[open],#npc-dialogue[open]::backdrop,#npc-dialogue .npc-dialogue-rule{animation:none}#npc-dialogue button,#npc-dialogue #npc-dialogue-reply,#npc-dialogue #npc-dialogue-reply::after{transition:none}}

#npc-dialogue [hidden]{display:none!important}
#npc-dialogue-tabs{display:flex;gap:7px;margin:18px 0 4px;border-bottom:1px solid #b59a5940;padding-bottom:9px}
#npc-dialogue #npc-dialogue-tabs button{position:static;display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid transparent;border-radius:4px;background:transparent;color:#b7b9a1;font:16px Georgia;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
#npc-dialogue #npc-dialogue-tabs button:hover{color:#ffe6af;background:#d8bc7410}
#npc-dialogue #npc-dialogue-tabs button[aria-selected="true"]{color:#f5dfaa;border-color:#aa8b4e;background:linear-gradient(#4a4c2a88,#283621)}
#npc-dialogue .npc-coin{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;border:2px solid #edc96a;border-radius:50%;background:linear-gradient(135deg,#ffdf82,#ab7326);box-shadow:inset 0 0 0 1px #7a501e,0 1px 4px #0005;color:#79531d;font:10px Georgia}
#npc-shop-panel{min-height:166px;padding:8px 0 0}#npc-shop-panel h3{font:22px Georgia;color:#ecd59c;margin:18px 0 0}#npc-shop-panel p{color:#b8bca6}
@media(prefers-reduced-motion:reduce){#npc-dialogue #npc-dialogue-tabs button{transition:none}}

#npc-dialogue .npc-dialogue-actions{display:flex;align-items:stretch;gap:10px}
#npc-dialogue .npc-dialogue-actions #npc-dialogue-reply{inset:auto;flex:1;width:auto;min-width:0}
#npc-dialogue #npc-open-shop,#npc-dialogue #npc-back-talk{position:static;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border:1px solid #a68b4b;border-radius:4px;background:linear-gradient(#4a452a,#302b1d);color:#f4dfad;font:16px Georgia;cursor:pointer;transition:transform .18s,background .2s,border-color .2s}
#npc-dialogue #npc-open-shop:hover,#npc-dialogue #npc-back-talk:hover{background:#50462b;border-color:#e6c67c;transform:translateY(-2px)}
#npc-dialogue #npc-open-shop:active,#npc-dialogue #npc-back-talk:active{transform:translateY(1px)}
@media(max-width:440px){#npc-dialogue .npc-dialogue-actions{flex-wrap:wrap}#npc-dialogue #npc-open-shop{flex:1}}
@media(prefers-reduced-motion:reduce){#npc-dialogue #npc-open-shop,#npc-dialogue #npc-back-talk{transition:none}}

#npc-dialogue .npc-dialogue-actions{flex-direction:column;align-items:stretch;gap:10px}
#npc-dialogue .npc-dialogue-actions #npc-open-shop{order:-1;box-sizing:border-box;width:100%;justify-content:flex-start;position:relative;inset:auto;padding:12px 38px 12px 16px;text-align:left;background:linear-gradient(#3a4b2c,#24331f);border:1px solid #a68b4b;color:#f4dfad;font:16px Georgia}
#npc-dialogue .npc-dialogue-actions #npc-open-shop:hover{background:#435531;border-color:#e6c67c;box-shadow:0 5px 18px #0005,inset 0 0 18px #e6c67c12}
#npc-dialogue #npc-open-shop::after{content:'›';position:absolute;right:17px;top:50%;transform:translate(-5px,-50%);opacity:.45;font-size:25px;transition:transform .2s,opacity .2s}
#npc-dialogue #npc-open-shop:hover::after{transform:translate(0,-50%);opacity:1}
#npc-dialogue .npc-coin{display:inline-block;flex:none;width:24px;height:24px;border:0;border-radius:0;box-shadow:none;color:transparent;font-size:0;background:transparent image-set(url('gold-coin-tree-24-v1.png') 1x,url('gold-coin-tree-24-v1@2x.png') 2x) center/contain no-repeat}
#npc-dialogue .npc-dialogue-actions #npc-dialogue-reply{flex:none;width:100%;min-height:50px}
@media(prefers-reduced-motion:reduce){#npc-dialogue #npc-open-shop::after{transition:none}}
