.classic-npc { height: 429px; color: #ffe6d2; font: 6px Tahoma, Arial, sans-serif; box-shadow: none; background-position: center top, center bottom, left top 64px, right top 64px, center top; background-size: 190px 64px, 190px 45px, 21px 320px, 21px 320px, 190px 429px; background-repeat: no-repeat; }
.classic-npc:not(.npc-quest) { background-image: var(--classic-partyHeader), var(--classic-bottom), var(--classic-left), var(--classic-right), var(--classic-surface); }
.classic-npc h2 { top: 12px; left: 0; width: 190px; color: #96fff0; font: 700 6px/8px Tahoma, Arial, sans-serif; white-space: nowrap; overflow: hidden; }
.classic-npc .classic-close { left: 169px; right: auto; top: 7px; width: 13px; height: 12px; background: none; }
.classic-npc .classic-footer-exit { left: 13px; bottom: 8px; width: 36px; height: 29px; background-size: 36px 58px; }
.npc-subject, .npc-speaker, .npc-player, .npc-speech, .npc-player-words { position: absolute; margin: 0; font: 400 6px/8px Tahoma, Arial, sans-serif; white-space: pre; overflow: hidden; }
.npc-subject { top: 27px; left: 0; width: 190px; text-align: center; font-weight: 700; color: #24f2fc; }
.npc-contribution { position: absolute; left: 11px; top: 27px; width: 168px; height: 18px; background: var(--npc-contribution) 0 0 / 168px 18px no-repeat; }
.npc-contribution > span { position: absolute; left: -11px; top: 3px; width: 190px; text-align: center; font: 400 6px/8px Tahoma, Arial, sans-serif; white-space: pre; }
.npc-speaker { top: 51px; left: 13px; width: 164px; font-weight: 700; color: #ffff0a; }
.npc-speech { top: 59px; left: 13px; width: 164px; line-height: 15px; }
.npc-progress .npc-speech { top: 66px; }
.npc-player { top: 207px; left: 13px; width: 164px; font-weight: 700; color: #ffb90a; }
.npc-player-words { top: 222px; left: 13px; width: 164px; line-height: 15px; }
.npc-divider { position: absolute; left: 1px; top: 181px; width: 188px; height: 21px; background: var(--npc-line) center / 100% 100% no-repeat; }
.npc-lower { position: absolute; top: 203px; left: 11px; width: 168px; }
.npc-lower button { display: block; position: relative; width: 168px; height: 15px; border: 0; border-radius: 0; padding: 0 0 0 2px; color: inherit; font: 400 6px/15px Tahoma, Arial, sans-serif; background: transparent; text-align: left; white-space: pre; overflow: hidden; }
.npc-lower button:not(:disabled):hover, .npc-lower button:focus-visible { background: #80b34d80; outline: none; }
.npc-lower button:disabled { color: inherit; }
.npc-requirements { left: 14px; width: 156px; }
.npc-list-row { height: 13px; font: 400 6px/13px Tahoma, Arial, sans-serif; text-align: center; white-space: pre; overflow: hidden; }
.npc-page { position: absolute; top: 165px; width: 17px; height: 18px; border: 0; padding: 0; background-color: transparent; background-size: 17px 36px; background-repeat: no-repeat; background-position: 0 0; }
.npc-page:not(:disabled):active { background-position: 0 -18px; }
.npc-previous, .npc-answer-previous { left: 131px; background-image: var(--npc-previous); }
.npc-next, .npc-answer-next { left: 153px; background-image: var(--npc-next); }
.npc-progress .npc-previous, .npc-progress .npc-next { top: 168px; }
.npc-answer-previous, .npc-answer-next { top: 372px; }
.npc-complete { position: absolute; top: 362px; left: 41px; width: 108px; height: 29px; padding: 0; border: 0; font: 400 6px/29px Tahoma, Arial, sans-serif; color: #ffe6d2; background: var(--npc-button) 0 0 / 108px 87px no-repeat; }
.npc-complete:not(:disabled):hover { background-position: 0 -29px; }
.npc-complete:not(:disabled):active { background-position: 0 -58px; }
.npc-complete:disabled { color: #aaa; filter: brightness(.392); }
.classic-npc [hidden] { display: none; }
.npc-buff-icon { position: absolute; left: calc(220px * var(--classic-rx)); top: calc(19px * var(--classic-ry)); width: 20px; height: 28px; background-position: -40px 0; background-size: auto; transform: scale(var(--classic-rx), var(--classic-ry)); transform-origin: top left; pointer-events: auto; }
.npc-buff-icon[hidden] { display: none; }
.npc-buff-icon > div { position: absolute; bottom: 0; height: 2px; background: #00ff00; }
.status-buff-icon { position: absolute; left: calc(220px * var(--classic-rx)); top: calc(19px * var(--classic-ry)); width: 20px; height: 28px; background-size: auto; transform: scale(var(--classic-rx), var(--classic-ry)); transform-origin: top left; pointer-events: auto; }
.status-buff-icon[hidden] { display: none; }
.status-buff-icon > div { position: absolute; bottom: 0; height: 2px; background: #00ff00; }
