/* Patch Notes Modal */
#patchnotes-modal { position: fixed; inset: 0; z-index: 20000; font-family: inherit; }
#patchnotes-modal .pn-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); backdrop-filter: blur(0.125rem); animation: pnFade .18s ease; }
#patchnotes-modal .pn-dialog { position: relative; width: min(40rem, 92vw); max-height: 80vh; margin: 3.75rem auto; background: #fff; border-radius: 0.625rem; box-shadow: 0 0.625rem 1.75rem -0.375rem rgba(0,0,0,.4); display: flex; flex-direction: column; overflow: hidden; animation: pnPop .24s cubic-bezier(.2,.8,.3,1); }
#patchnotes-modal.pn-hide .pn-dialog { animation: pnOut .18s ease forwards; }
#patchnotes-modal.pn-hide .pn-backdrop { animation: pnFadeOut .18s ease forwards; }
.pn-header { padding: 0.875rem 1.125rem 0.625rem; border-bottom: 0.0625rem solid #e4e4e8; background: linear-gradient(#fdfdfd,#f5f5f7); }
.pn-header h2 { margin: 0; font-size: 1.25rem; font-weight: 700; display: flex; align-items: center; gap: 0.5rem; color: #000; }
.pn-header .pn-version { font-size: 0.75rem; font-weight: 600; color: #333; }
.pn-body { padding: 0.875rem 1.125rem 0.625rem; overflow: auto; }
.pn-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.625rem; }
.pn-item-title { font-weight: 600; font-size: 0.875rem; margin-bottom: 0.125rem; color: #000; }
.pn-item-desc { font-size: 0.8125rem; line-height: 1.4; color: #333; word-break: keep-all; }
.pn-footer { border-top: 0.0625rem solid #e4e4e8; padding: 0.625rem 1rem; display: flex; gap: 0.5rem; justify-content: flex-end; background: #fafafa; }
.pn-btn { border: 0.0625rem solid #c9ccd1; background: #fff; padding: 0.375rem 0.875rem; font-size: 0.8125rem; cursor: pointer; border-radius: 0.375rem; transition: background .15s, box-shadow .15s; }
.pn-btn:hover { background: #f1f3f5; }
.pn-btn:focus { outline: 0.125rem solid #4b85ff; outline-offset: 0.0625rem; }
.pn-btn.pn-dismiss { background: #333; border-color: #222; color: #fff; }
.pn-btn.pn-dismiss:hover { background:#444; }
@media (max-width: 600px){ #patchnotes-modal .pn-dialog { margin: 1.875rem auto; width: 94vw; max-height: 84vh; } .pn-header h2 { font-size: 1.125rem; } }
@keyframes pnPop { 0% { transform: translateY(1.25rem) scale(.96); opacity:0; } 100% { transform: translateY(0) scale(1); opacity:1; } }
@keyframes pnOut { to { transform: translateY(0.625rem) scale(.98); opacity:0; } }
@keyframes pnFade { from { opacity:0;} to { opacity:1;} }
@keyframes pnFadeOut { to { opacity:0;} }
