body.in-world{height:100dvh;overflow:hidden;background:#000}body.in-world main{display:grid;place-items:center;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;background:#000}body.in-world .game-shell.classic-world{width:min(100vw,133.333333dvh);height:auto;min-height:0;aspect-ratio:4/3;container-type:inline-size;background:#000}body.in-world .classic-world canvas#game{height:79.166667%;width:100%;image-rendering:pixelated}.classic-ui [hidden]{display:none!important}.classic-bottom{position:absolute;inset:auto 0 0;height:26.041667%;pointer-events:none}.classic-skin{position:absolute;inset:0;width:100%;height:100%;background:transparent;image-rendering:pixelated;pointer-events:none}.classic-ui .classic-hp,.classic-ui .classic-mp{position:absolute;top:14.4%;height:12%;margin:0;border:0;background:transparent;overflow:hidden;pointer-events:none}.classic-ui .classic-hp{left:20.9375%;width:23.125%}.classic-ui .classic-mp{left:53.125%;width:20.9375%}.classic-hp .meter-fill{background:#9b100c}.classic-mp .meter-fill{background:#29247c}.classic-ui .meter-label{font:1.875cqw/2.34375cqw PMingLiU,monospace;color:#fff;letter-spacing:0;text-shadow:1px 1px #000}.classic-feed{position:absolute;left:17.96875%;top:33.6%;width:57%;height:50.4%;font:1.875cqw/1.95cqw PMingLiU,monospace;color:#dfd69e;white-space:pre-wrap;overflow:hidden}.classic-level,.classic-ac,.classic-lawful,.classic-food{position:absolute;font:1.875cqw/2.3cqw PMingLiU,monospace;color:#eee}.classic-level{left:.4%;top:22.4%;width:16.5%;white-space:nowrap}.classic-ac{left:3.1%;top:40%;width:4%;text-align:center}.classic-lawful{left:11%;top:40%;width:5%;text-align:center}.classic-food{left:3%;top:56%;font-size:1.3cqw}.classic-ui .classic-hotbar{position:absolute;left:77.8125%;top:21.6%;width:22.1875%;height:55.2%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:0;pointer-events:auto}.classic-world .classic-hotbar button,.classic-world .classic-hotbar button:hover{width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;font-size:0}.classic-hotbar button small{display:none}.classic-hotbar button span{display:none}.classic-hotbar button.selected{outline:1px solid #ceb57b;outline-offset:-2px}.classic-ui .classic-menu{position:absolute;left:77.5%;top:83.2%;height:16.8%;width:22.5%;display:flex;gap:0;max-width:none;pointer-events:auto}.classic-world .classic-menu button,.classic-world .classic-menu button:hover{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;background:transparent}.classic-world .classic-menu button:hover{box-shadow:inset 0 0 4px #ffe5ad}.classic-chat{position:absolute!important;left:17.7%;bottom:0;width:2.1%!important;height:10%;padding:0!important;margin:0!important;border:0!important;background:transparent!important;pointer-events:auto}.classic-ui .ui-panel{top:2%;bottom:27%;font-size:1.5cqw}.classic-ui .ui-toast{bottom:27%;font-size:1.5cqw}.classic-ui .ui-top{display:none}.classic-ui .account-actions{display:none}

.classic-ui .classic-hp,.classic-ui .classic-mp{top:21.6%;height:10.4%}.classic-hp .meter-fill{background:linear-gradient(#a94432,#b52516 40%,#78120d 70%,#c24521)}.classic-mp .meter-fill{background:linear-gradient(#72749a,#494369 40%,#302e61 70%,#5c6084)}.classic-ui .meter-label{line-height:2.03125cqw}

.classic-ui .ui-panel.npc-native{position:absolute;left:0;right:auto;top:0;bottom:auto;width:40.15625cqw;height:52.5cqw;max-width:none;border:0;background:transparent;box-shadow:none;overflow:hidden;padding:0;display:block}.npc-native-skin{display:none}.npc-native .npc-native-skin{display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent;image-rendering:pixelated;pointer-events:none}.npc-native .panel-head{position:absolute;inset:0;border:0;background:transparent;padding:0;display:block;pointer-events:none}.npc-native .panel-head h2{display:none}.classic-world .npc-native [data-close]{position:absolute;left:88%;top:.4cqw;width:6%;height:2.3cqw;margin:0;padding:0;border:0;background:transparent;color:transparent;pointer-events:auto}.npc-native .panel-body{position:absolute;left:5.5%;top:5%;width:76.5%;height:87.5%;padding:0;margin:0;overflow-y:auto;scrollbar-width:none;scroll-behavior:auto}.npc-native .panel-body::-webkit-scrollbar{display:none}.npc-native .npc-dialogue{padding:0;background:transparent;color:#c8c8c8;font:1.875cqw/2.3cqw PMingLiU,"細明體",monospace;overflow-wrap:anywhere;white-space:normal}.npc-native .npc-dialogue p{margin:0;color:inherit;line-height:inherit}.npc-native .npc-dialogue button{font:inherit;border:0;background:transparent;color:#ddc26d;text-align:left;padding:0;margin:.5cqw 0}.npc-native .panel-body>p{font:1.875cqw/2.3cqw PMingLiU,monospace;color:#c8c8c8}.npc-native .panel-note{border:0;background:transparent}

.native-panel-skin{display:none}.classic-ui .ui-panel.panel-native{left:0;right:auto;top:0;bottom:auto;width:var(--native-width);height:var(--native-height);padding:0;border:0;background:transparent;box-shadow:none;max-width:none;overflow:hidden;display:block}.classic-ui .ui-panel.panel-native[data-native-side=right]{left:auto;right:0}.panel-native .native-panel-skin{display:block;position:absolute;inset:0;width:100%;height:100%;background:transparent;image-rendering:pixelated;pointer-events:none}.panel-native .panel-head{position:absolute;inset:0;display:block;border:0;background:transparent;padding:0;pointer-events:none}.panel-native .panel-head h2{position:absolute;left:5%;top:3%;font:1.875cqw PMingLiU,monospace;margin:0}.panel-native[data-native-kind=character] .panel-head h2,.panel-native[data-native-kind=equipment] .panel-head h2,.panel-native[data-native-kind=inventory] .panel-head h2,.panel-native[data-native-kind=skills] .panel-head h2{display:none}.classic-world .panel-native [data-close]{position:absolute;left:88%;top:.4cqw;width:6%;height:2.3cqw;margin:0;padding:0;border:0;background:transparent;color:transparent;pointer-events:auto}.classic-world .panel-native[data-native-kind=inventory] [data-close],.classic-world .panel-native[data-native-kind=skills] [data-close]{left:1%;width:12%}.panel-native .panel-body{position:absolute;left:5.5%;top:7%;width:76.5%;height:84%;padding:0;margin:0;overflow-y:auto;scrollbar-width:none;font:1.875cqw/2.3cqw PMingLiU,monospace;color:#c8c8c8}.panel-native .panel-body p{color:inherit}.panel-native .panel-body::-webkit-scrollbar{display:none}.panel-native .panel-body.native-character-body,.panel-native .panel-body.native-inventory-body,.panel-native .panel-body.native-skills-body{inset:0;width:100%;height:100%;overflow:hidden}.native-value{position:absolute;display:block;height:2.03125cqw;line-height:2.03125cqw;font:1.875cqw/2.03125cqw PMingLiU,monospace;text-align:left;white-space:nowrap;color:#eee}.native-inventory-grid{position:absolute;left:18%;top:5.5%;width:68.5%;height:87%;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:5.9cqw;align-content:start;overflow-y:auto;scrollbar-width:none}.classic-world .native-item,.classic-world .native-item:hover{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;padding:0;margin:0;border:0;background:transparent;color:#ddd;font:1.5cqw PMingLiU,monospace;cursor:pointer}.native-item img{width:85%;height:85%;object-fit:contain;image-rendering:pixelated}.native-item small{position:absolute;right:0;bottom:0;font:1.2cqw PMingLiU,monospace;color:#eee;text-shadow:1px 1px #000}.native-item-detail{position:absolute;left:18%;bottom:0;width:68%;font:1.2cqw PMingLiU,monospace;color:#dfd69e;white-space:nowrap;overflow:hidden}.classic-world .native-refresh{position:absolute;right:5%;bottom:2%;padding:0;border:0;background:transparent;color:#dec58e;font-size:2cqw}.native-equipped{position:absolute;left:57%;top:12%;width:32%;height:55%;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:7cqw;align-content:start;overflow-y:auto;scrollbar-width:none}.native-skill-list{position:absolute;left:22%;top:5.35%;width:63.2%;height:83.3%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:5.5cqw;align-content:start;overflow-y:auto;scrollbar-width:none}.native-skill-list>div{height:5.5cqw;padding-top:.7cqw;box-sizing:border-box;text-align:center;font:1.55cqw/2.1cqw PMingLiU,monospace}.panel-native .panel-note{font:1.5cqw/2cqw PMingLiU,monospace;border:0;background:transparent;padding:0}.panel-native.npc-native .native-panel-skin{display:none}.panel-native:not(.npc-native) .npc-native-skin{display:none}

.panel-native .panel-head,.npc-native .panel-head{z-index:3}.panel-native .panel-body,.npc-native .panel-body{z-index:2}.native-panel-skin,.npc-native-skin{z-index:1}

.classic-ui .ui-panel.panel-native,.classic-ui .ui-panel.npc-native{max-height:none}.npc-native .npc-dialogue *{font-family:inherit;font-size:inherit;line-height:inherit}.panel-native .native-item-detail{background:transparent;padding:0;border:0;min-height:0}

.classic-world .panel-native [data-close],.classic-world .npc-native [data-close]{background:#202126 url(/assets/client/images/515c.img.png) center/contain no-repeat;image-rendering:pixelated;}

/* Coordinates are in the original 640x480 client canvas. */
.classic-ui .classic-hp{left:21.40625%;width:22.5%;top:21.6%;height:9.6%}
.classic-ui .classic-mp{left:54.0625%;width:18.90625%;top:21.6%;height:9.6%}
.classic-ui .classic-hp .meter-label{color:#ffc4d5}
.classic-ui .classic-mp .meter-label{color:#b5a0ff}
.classic-ui .classic-level{display:flex;justify-content:space-between;left:0;top:22.4%;width:16.2%;font-size:1.875cqw}
.classic-ui .classic-food{display:none}
.native-equipped{inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}
.classic-world .native-equipped .native-weapon-slot{position:absolute;left:12.5cqw;top:26.40625cqw;width:5.625cqw;height:5.3125cqw;pointer-events:auto}
.native-weapon-slot img{width:100%;height:100%;object-fit:contain}

.classic-compose{position:absolute;left:20%;bottom:0;width:54.5%;height:11%;margin:0;pointer-events:auto}.classic-world .classic-compose input{width:100%;height:100%;padding:0 .25cqw;border:0;background:transparent;color:#dfd69e;outline:none;font:1.875cqw PMingLiU,monospace}.classic-compose:focus-within{box-shadow:inset 0 0 0 1px #695e47}

/* Original inventory frame: inner grid x=44,y=22, 37x36 pixel cells. */
.native-inventory-grid{left:6.875cqw;top:3.4375cqw;width:23.125cqw;height:45cqw;grid-template-columns:repeat(4,5.78125cqw);grid-auto-rows:5.625cqw}
.native-item img{max-width:100%;max-height:100%;object-fit:contain}
.classic-world .native-item{overflow:hidden}
.panel-native .native-item-detail{left:6.875cqw;bottom:1.5cqw;width:23.125cqw;height:2cqw;font:1.65cqw/2cqw PMingLiU,monospace;text-overflow:ellipsis}
.classic-compose{left:19.375%;top:89.6%;bottom:auto;width:55.3125%;height:9.6%}
.classic-world .classic-compose input{box-sizing:border-box;display:block;min-height:0;line-height:1.875cqw;margin:0;padding:0}
.classic-food-bar{position:absolute;left:3.125%;top:58.4%;width:13.4375%;height:5.6%;overflow:hidden;pointer-events:auto}
.classic-food-bar span{display:block;height:100%;background:linear-gradient(#efd798,#b37c39 45%,#725020);}

/* Original paired normal/pressed menu images from Sprite.pak. */
.classic-world .classic-menu button{background-image:var(--menu-image);background-size:100% 100%;background-repeat:no-repeat;image-rendering:pixelated}
.classic-world .classic-menu button:hover,.classic-world .classic-menu button[aria-pressed="true"]{background-image:var(--menu-active);background-size:100% 100%;background-repeat:no-repeat}
.classic-menu [data-panel="quests"]{--menu-image:url(/assets/client/images/394.img.png);--menu-active:url(/assets/client/images/395.img.png)}
.classic-menu [data-panel="character"]{--menu-image:url(/assets/client/images/398.img.png);--menu-active:url(/assets/client/images/399.img.png)}
.classic-menu [data-panel="skills"]{--menu-image:url(/assets/client/images/400.img.png);--menu-active:url(/assets/client/images/401.img.png)}
.classic-menu [data-panel="inventory"]{--menu-image:url(/assets/client/images/402.img.png);--menu-active:url(/assets/client/images/403.img.png)}
.classic-menu [data-panel="party"]{--menu-image:url(/assets/client/images/396.img.png);--menu-active:url(/assets/client/images/397.img.png)}
.classic-menu [data-panel="settings"]{--menu-image:url(/assets/client/images/392.img.png);--menu-active:url(/assets/client/images/393.img.png)}
.classic-menu [data-panel="chat"]{--menu-image:url(/assets/client/images/404.img.png);--menu-active:url(/assets/client/images/405.img.png)}
.classic-world .classic-chat{background:transparent url(/assets/client/images/11.img.png) center/contain no-repeat!important}

/* Native 141x20 / 136x20 status strips, clipped without stretching on HP changes. */
.classic-ui .classic-hp{left:21.40625%;top:16%;width:22.03125%;height:16%;background:url(/assets/client/images/467.img.png) 0 0/22.03125cqw 3.125cqw no-repeat;image-rendering:pixelated}
.classic-ui .classic-mp{left:53.125%;top:16%;width:21.25%;height:16%;background:url(/assets/client/images/459.img.png) 0 0/21.25cqw 3.125cqw no-repeat;image-rendering:pixelated}
.classic-ui .classic-hp .meter-fill{background:url(/assets/client/images/468.img.png) 0 0/22.03125cqw 3.125cqw no-repeat}
.classic-ui .classic-mp .meter-fill{background:url(/assets/client/images/460.img.png) 0 0/21.25cqw 3.125cqw no-repeat}
.classic-ui .classic-hp .meter-label,.classic-ui .classic-mp .meter-label{top:1.09375cqw;height:1.875cqw;line-height:1.875cqw}
.classic-compose{z-index:3}.classic-world .classic-compose input{pointer-events:auto;user-select:text;caret-color:#fff}

.npc-native .npc-dialogue .npc-action-image{display:inline-flex;align-items:center;vertical-align:middle;margin:.3cqw .6cqw;padding:0;background:transparent;border:0}.npc-native .npc-dialogue .npc-action-image img{display:block;image-rendering:pixelated;max-width:none;height:auto}

.classic-food-bar{top:72.8%}.classic-weight-bar{position:absolute;left:3.125%;top:58.4%;width:13.4375%;height:5.6%;overflow:hidden}.classic-weight-bar span{display:block;height:100%;background:linear-gradient(#efd398,#ad7928)}

.classic-clock{position:absolute;left:3.125%;top:87.2%;width:13.4375%;height:9%;color:#dfd69e;font:1.5cqw/2cqw PMingLiU,monospace;text-align:center}

.native-shop-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid #756546}.native-shop-row img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.native-shop-row span{flex:1}.native-shop-row input{width:55px}

.classic-world .native-skill-list>button{height:5.46875cqw;min-width:0;padding:.4cqw;border:0;background:transparent;color:#ddd;font:1.25cqw/1.6cqw PMingLiU,monospace;overflow:hidden;cursor:pointer}

.classic-hotbar button img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.classic-hotbar .shortcut-count{display:block!important;position:absolute;right:2%;bottom:1%;font:1.25cqw PMingLiU,monospace;color:#fff;text-shadow:1px 1px #000;pointer-events:none}.classic-hotbar .shortcut-bound span{display:block!important;font:1.15cqw PMingLiU,monospace;color:#eee}.classic-hotbar button{pointer-events:auto}
.classic-food-bar,.classic-weight-bar{left:2.8125%;width:13.75%;height:8%;}
.classic-food-bar span,.classic-weight-bar span{background:url('assets/client/images/705.img.png') left top/13.75cqw 1.5625cqw no-repeat;}
.classic-clock{left:3.125%;top:87.2%;width:12.5%;height:6.4%;background:url('assets/client/images/39.img.png') left top/100% 100% no-repeat;image-rendering:pixelated;font-size:0}
.classic-clock-sun{position:absolute;width:.78125cqw;height:.78125cqw;top:.234375cqw;image-rendering:pixelated}
.classic-clock{width:13.75%;height:8%;overflow:hidden}
.classic-alignment{position:absolute;left:7.8125%;top:40%;width:2.8125%;height:14.4%;image-rendering:pixelated}

.native-buff-strip{position:absolute;right:1cqw;top:1cqw;display:flex;flex-direction:column;gap:.4cqw;pointer-events:none;z-index:12}.native-buff-strip>div{display:flex;align-items:center;gap:.3cqw;color:#fff;text-shadow:1px 1px #000;font:1.2cqw PMingLiU}.native-buff-strip img{image-rendering:pixelated;max-width:3cqw;max-height:3cqw}

/* Original shop proportions: eight item rows and a fixed transaction footer. */
.npc-native .panel-body.native-shop-body{left:4.7%;top:4.7%;width:78.5%;height:92%;overflow:visible}
.npc-native .native-shop{height:100%;display:flex;flex-direction:column;margin:0;padding:0}
.npc-native .native-shop-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}
.npc-native .native-shop-row{position:relative;display:block;box-sizing:border-box;height:5.5cqw;background:#101114c9;border:1px solid #494b54;border-radius:.6cqw;margin:0 0 .12cqw;color:#ccc;box-shadow:inset 0 0 .3cqw #000}
.npc-native .native-shop-row.selected{background:#16254b}
.npc-native .native-shop-row img{position:absolute;left:0;top:0;width:5.25cqw;height:5.25cqw;object-fit:contain;border-right:1px solid #555;image-rendering:pixelated}
.npc-native .native-shop-name{position:absolute;left:5.65cqw;top:.2cqw;font:1.875cqw/2cqw PMingLiU,serif;white-space:nowrap}
.npc-native .native-shop-values{position:absolute;right:.2cqw;bottom:.3cqw;display:flex;align-items:center;gap:.15cqw;height:1.4cqw}
.npc-native .native-shop-price{font:1.4cqw/1.4cqw PMingLiU,serif;color:#cec7ac;white-space:nowrap}
.classic-world .npc-native .native-shop-step{width:1.25cqw;height:1.25cqw;padding:0;margin:0;border:1px solid #657185;background:linear-gradient(#354155,#070b13);border-radius:0;font:1.05cqw/1cqw serif;color:#c3c8ce;min-height:0}
.classic-world .npc-native .native-shop-values input{width:2.1cqw;height:1.4cqw;padding:0;border:0;background:transparent;color:#ccc;font:1.4cqw/1.4cqw PMingLiU,serif;text-align:center;appearance:textfield}
.native-shop-values input::-webkit-inner-spin-button{appearance:none}
.npc-native .native-shop-footer{height:2.9cqw;flex:none;display:flex;align-items:center;background:#0e111bbf;border-top:1px solid #957d4c;font:1.35cqw PMingLiU,serif;white-space:nowrap}
.npc-native .native-shop-footer output{flex:1;color:#e0dcc9}
.classic-world .npc-native .native-shop-footer button{font:bold 1.35cqw PMingLiU,serif;padding:.2cqw .8cqw;margin:0;border:0;background:#101929;color:#e1e4eb;min-height:0}
.classic-clock-sun{width:.9375cqw;height:.9375cqw}

.npc-native .panel-body.native-shop-body{height:95.3%}
.npc-native .native-shop-list{flex:none;height:46cqw}
.npc-native .native-shop-row{height:5.75cqw;margin:0}
.npc-native .native-shop-footer{position:absolute;left:-1.9cqw;bottom:0;width:37.5cqw;height:3.125cqw;border:0;background:url('/assets/client/images/600.img.png') center/100% 100% no-repeat;box-sizing:border-box;padding:0 .5cqw}
.npc-native .npc-dialogue .npc-action-image img{width:9.6875cqw;height:2.65625cqw}

.classic-clock-icon{position:absolute;left:.3125%;top:87.2%;width:1.5625%;height:8.8%;image-rendering:pixelated;background:#151820}

.npc-native .native-shop-price::before{content:'';display:inline-block;width:1.45cqw;height:1.25cqw;background:url('/assets/client/images/5.tbt.png') center/contain no-repeat;vertical-align:middle}
.classic-world .npc-native .native-shop-scroll{position:absolute;left:32.3cqw;width:2.2cqw;height:2.2cqw;background:transparent;border:0;padding:0;margin:0;color:transparent;min-height:0}
.npc-native .native-shop-scroll.up{top:0}
.npc-native .native-shop-scroll.down{top:44.5cqw}

/* Complete original day/night clock skins include the native circle and frame. */
.classic-clock{left:0;top:86.4%;width:17.34375%;height:13.6%;background:url('/assets/client/images/709.img.png') center/100% 100% no-repeat;overflow:visible}
.classic-clock-track{position:absolute;left:18.018%;top:23.529%;width:78.378%;height:47.059%;background:url('/assets/client/images/574.img.png') center/100% 100% no-repeat;image-rendering:pixelated}
.classic-clock-sun{top:0}
.classic-clock-icon{display:none}

.classic-clock,.classic-clock-icon{pointer-events:auto}.classic-feed{top:36.8%;height:47.2%;line-height:1.875cqw;box-sizing:border-box;padding-top:.15cqw}.native-skill-list button img{width:100%!important;height:100%!important;object-fit:fill}.classic-world .native-skill-list>button{padding:.08cqw}

.classic-world .native-item-tooltip{max-width:24cqw;white-space:pre-line;padding:.3cqw .5cqw;border:1px solid #999;background:#000d;color:#fff;font:1.875cqw/1.95cqw PMingLiU,monospace;box-shadow:none}
.native-drop-prompt{position:absolute;left:38%;top:40%;z-index:100;background:#111e;border:1px solid #a58c50;padding:1cqw;color:#eee;pointer-events:auto}.native-drop-prompt input{width:6cqw}.native-buff-strip img{width:4.4cqw;height:4.4cqw;max-width:none;max-height:none;mix-blend-mode:screen}.native-buff-strip>div{pointer-events:auto}.native-buff-strip>div span{display:none}

.native-buff-strip{mix-blend-mode:normal}.native-buff-strip img{mix-blend-mode:normal}

/* Values use the centers of the original frame rectangles. */
.native-character-body .native-value,.native-skills-body .native-value{text-align:center}
.classic-ui .classic-ac,.classic-ui .classic-lawful{top:39%;line-height:1.875cqw}
.native-quantity-banner{position:absolute;left:20%;bottom:13%;width:48%;box-sizing:border-box;padding:.4cqw .6cqw;border:.25cqw ridge #987246;background:#765435e8;color:#fff;font:1.875cqw/2.1cqw PMingLiU,monospace;text-shadow:1px 1px #000;pointer-events:none;z-index:4}
.native-buff-strip img{width:auto;max-width:6cqw;height:auto;max-height:5cqw;object-fit:contain}

.classic-zone{position:absolute;right:1cqw;bottom:25.7%;color:#d9e9f2;text-shadow:0 0 .3cqw #6f9bb0,1px 1px #92adc1;font: bold 2.7cqw/3cqw PMingLiU,monospace;pointer-events:none;z-index:5}

.classic-ui .classic-ac,.classic-ui .classic-lawful{top:42.4%;line-height:1.875cqw}
.classic-world .native-equipped .native-weapon-slot{left:11.875cqw;top:26.09375cqw}
.native-buff-strip{z-index:200}

.native-overhead-chat{position:absolute;transform:translate(-50%,-100%);max-width:40cqw;box-sizing:border-box;padding:.25cqw .65cqw;border:.12cqw solid #fff;border-radius:.9cqw;color:#fff;font:1.875cqw/2.1cqw PMingLiU,monospace;text-shadow:1px 1px #000,-1px -1px #000;pointer-events:none;z-index:10;white-space:pre-wrap}

.classic-world .ui-panel .native-menu-link,.classic-world .ui-panel .native-menu-link:hover{border:0;background:transparent;color:#ffffaf;font:inherit;line-height:inherit;padding:0;margin:0;min-height:0;box-shadow:none;cursor:pointer;text-align:left}
.native-menu-link img{image-rendering:pixelated;max-width:100%}.native-menu-body p{margin:0}.native-menu-body{line-height:2.1875cqw!important}.native-exit-body{inset:0!important;width:100%!important;height:100%!important}.classic-world .native-exit-button{position:absolute;border:0;background:transparent;margin:0;padding:0}.native-exit-button img{display:block;width:auto;height:3.28125cqw;image-rendering:pixelated}.native-exit-button:last-child img{height:2.34375cqw}.native-item-detail{display:none}.native-item small{display:none}.native-item.native-selected{background:url(/assets/client/images/536.img.png) center/100% 100% no-repeat}.native-lawful-label{position:absolute;left:23.125cqw;top:34.6875cqw;height:2.34375cqw;image-rendering:pixelated}.native-trash{position:absolute!important;right:5%;bottom:2%;border:0!important;background:transparent!important;width:2cqw;height:3cqw}.native-buff-strip[hidden]{display:none!important}

.classic-world .ui-panel .native-menu-body p{font:inherit;margin:0}

.native-trash img{width:100%;height:100%;image-rendering:pixelated}

.native-character-clock{position:absolute;left:23.125cqw;top:49.6875cqw;width:12.5cqw;height:1.09375cqw;background-size:100% 100%;image-rendering:pixelated}.native-character-clock img{position:absolute;top:0;width:.78125cqw;height:.78125cqw;image-rendering:pixelated}.native-character-clock-icon{position:absolute;left:21.40625cqw;top:49.6875cqw;width:.78125cqw;height:.78125cqw;image-rendering:pixelated}

.native-crest-prompt{position:absolute;left:32%;top:25%;padding:1cqw;background:#15151beb;border:2px ridge #997947;z-index:260;pointer-events:auto;color:#ffffaf}.native-crest-prompt canvas{display:block;margin:1cqw}

/* Native chat: five complete lines, seven when expanded. */
.classic-compose:focus-within{box-shadow:none}.classic-world .classic-compose input:focus-visible{outline:none;border:0;box-shadow:none}.classic-feed{height:9.375cqw;top:auto;bottom:3.125cqw;padding:0;overflow-y:auto;scrollbar-width:none;line-height:1.875cqw;font-size:1.75cqw}.native-chat-line{min-height:1.875cqw;line-height:1.875cqw;white-space:pre-wrap;overflow-wrap:anywhere}.chat-expanded .classic-feed{height:13.125cqw;background:#333039}.native-chat-expand{position:absolute!important;left:74.4%;bottom:1%;width:2.2cqw!important;height:2cqw;padding:0!important;background:transparent!important;border:0!important;color:transparent!important;z-index:5}.native-chat-expand:before{content:'▲';color:#d4d4df;font-size:1.4cqw}.chat-expanded .native-chat-expand:before{content:'▼'}.native-chat-direction{width:1.5cqw;height:1.5cqw;vertical-align:middle;display:inline-block}.classic-world .classic-chat{background-image:url(/assets/client/images/615.img.png)!important;background-size:contain!important;background-repeat:no-repeat!important}.native-scroll{position:absolute;top:6%;bottom:9%;right:5.7%;width:2.2cqw;pointer-events:auto;z-index:4}.native-scroll button{position:absolute!important;padding:0!important;background:transparent!important;border:0!important;color:transparent!important;width:100%!important;height:2.1cqw}.native-scroll .scroll-up{top:0}.native-scroll .scroll-down{bottom:0}.native-scroll-track{position:absolute;top:2.1cqw;bottom:2.1cqw;inset-inline:0;touch-action:none}.native-scroll-thumb{position:absolute;left:20%;width:60%;height:5%;border:1px solid #d8b164;background:#927445;box-sizing:border-box;min-height:1.4cqw;touch-action:none}.native-scroll[aria-disabled=true] .native-scroll-thumb{opacity:0}.native-item-tooltip{pointer-events:none}

.native-chat-direction{width:1.875cqw;height:1.875cqw;background-position:center;background-size:contain;background-repeat:no-repeat;image-rendering:pixelated;margin-right:.4cqw}.native-control-hint{position:absolute;right:0;bottom:4.7cqw;max-width:35cqw;border:1px solid #b9b8a4;background:#000d;color:#fff;font:1.875cqw/2.1cqw PMingLiU,monospace;pointer-events:none;z-index:100;padding:.15cqw .4cqw}

.classic-skin{top:auto;bottom:0}.chat-expanded .classic-feed{background:transparent}.chat-expanded .classic-hp,.chat-expanded .classic-mp{transform:translateY(-3.75cqw)}

.classic-world .native-scroll-thumb{left:0;width:100%;height:6.875cqw;min-height:0;border:0;background:transparent url(/assets/client/images/527-scroll-thumb.png) center/contain no-repeat;image-rendering:pixelated}.native-scroll[aria-disabled=true] .native-scroll-thumb{opacity:1}.native-chat-expand:before,.chat-expanded .native-chat-expand:before{content:none}.native-chat-expand{left:75.3125%;bottom:0;width:2.1875cqw!important;height:2.1875cqw;background:transparent!important}.chat-expanded .native-chat-expand{background:transparent!important}

/* Original742 basket keeps its25x27 canvas; native406/431 already draw the chat arrow. */
.native-trash{right:2%;bottom:0.5%;width:3.90625cqw;height:4.21875cqw}

/* Native hotbar cells use the full skill-button canvas. */
.classic-hotbar button img{inset:0;width:100%;height:100%}
.native-scroll[hidden]{display:none!important}
.npc-native .native-shop-row.selected{background:#101114c9}
.npc-native .native-shop-row.selected>img{background:url('/assets/client/images/536.img.png') center/100% 100% no-repeat}
.npc-native .native-shop-footer{left:-1.9cqw;width:37.5cqw;height:3.125cqw;bottom:0}
.classic-world .npc-native .native-shop-footer button[aria-label="購買"],.classic-world .npc-native .native-shop-footer button[aria-label="販售"],.classic-world .npc-native .native-shop-footer button[aria-label="取消交易"]{height:2.1875cqw;padding:0;width:3.75cqw;color:transparent;background:transparent url('/assets/client/images/550.img.png') center/contain no-repeat}
.classic-world .npc-native .native-shop-footer button[aria-label="販售"]{background-image:url('/assets/client/images/552.img.png')}
.classic-world .npc-native .native-shop-footer button[aria-label="取消交易"]{width:5.3125cqw;background-image:url('/assets/client/images/558.img.png')}
.classic-world .npc-native .native-shop-step{border:0;color:transparent;background:transparent url('/assets/client/images/556.img.png') center/contain no-repeat}
.classic-world .npc-native .native-shop-step:last-child{background-image:url('/assets/client/images/554.img.png')}

.classic-world #game{cursor:url(/assets/client/cursors/2.cur) 1 0,pointer}

/* Native hover labels follow their control instead of sharing the hotbar corner. */
.native-control-hint{right:auto;bottom:auto;max-width:none;padding:0 .15cqw;font:1.25cqw/1.4cqw PMingLiU,"細明體",monospace;white-space:nowrap;border:1px solid #b9b8a4;background:#000;color:#fff}
[data-native-hint]{pointer-events:auto}
.npc-native .npc-dialogue center{display:block;text-align:center}.npc-native .npc-dialogue .npc-action-image{vertical-align:middle;margin:0}.npc-native .npc-dialogue button{color:#ffffaf;display:inline;width:auto;height:auto;min-height:0;margin:0;vertical-align:baseline}

/* Shop rows use original 549 frame coordinates (640-pixel client space). */
.npc-native .panel-body.native-shop-body{left:2.03125cqw;top:1.5625cqw;width:30.9375cqw;height:50.9375cqw}
.npc-native .native-shop-list{height:46.25cqw}
.npc-native .native-shop-row{height:5.78125cqw;background:transparent;border:0;border-radius:0;box-shadow:none}
.npc-native .native-shop-row.selected{background:transparent}
.npc-native .native-shop-row img{width:5.625cqw;height:5.625cqw;border:0}
.npc-native .native-shop-name{left:6.25cqw;top:.3125cqw}
.npc-native .native-shop-footer{left:-2.03125cqw}
.native-shop-scroll{display:none!important}

.npc-native .npc-dialogue>br+p,.npc-native .npc-dialogue>p:has(>br:last-child)+p{margin-top:2.5cqw}

.native-meter-hover{position:absolute;inset:0;display:none;text-align:center;font:1.25cqw/1.5625cqw PMingLiU,"細明體",monospace;color:#fff;background:transparent;pointer-events:none}.classic-weight-bar:hover .native-meter-hover,.classic-food-bar:hover .native-meter-hover{display:block}

/* Keep the close hit target over the native frame's own white label. */
.classic-world .panel-native [data-close],.classic-world .npc-native [data-close]{left:35.9375cqw;top:.3125cqw;width:3.59375cqw;height:2.03125cqw;background:transparent!important;color:transparent!important;border:0;box-shadow:none;image-rendering:pixelated}
.classic-world .panel-native:is([data-native-kind=inventory],[data-native-kind=skills],[data-native-kind=exit]) [data-close]{left:1.25cqw;width:3.59375cqw}
.classic-world .panel-native[data-native-kind=character] [data-close]{background:#202126 url('/assets/client/images/515c.img.png') center/contain no-repeat!important}
.panel-native[data-native-kind=exit] .panel-head h2{display:none}

/* Native NPC rail is centred at x=224 in the original 257px frame. */
.classic-world .npc-native .native-scroll{left:33.90625cqw;right:auto;top:3.125cqw;bottom:5.3125cqw;width:2.1875cqw}
.classic-world .npc-native .native-shop-values input:focus,.classic-world .npc-native .native-shop-values input:focus-visible{outline:none;border:0;box-shadow:none}

/* Native item bitmaps retain their own dimensions within the original cells. */
.classic-hotbar button .native-item-art{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%;object-fit:contain}
.npc-native .native-shop-row .native-item-art{left:2.8125cqw;top:2.8125cqw;transform:translate(-50%,-50%);max-width:5.3125cqw;max-height:5.3125cqw;object-fit:contain}
.native-skill-list{background:#0e0e0e;grid-auto-rows:5.3125cqw;height:42.5cqw}
.classic-world .native-skill-list>button,.native-skill-list>.native-empty-skill{height:5.3125cqw;background: url('/assets/client/images/skill-cell.png') center/100% 100% no-repeat;padding:0;display:grid;place-items:center}
.native-skill-list button img{width:5cqw!important;height:5cqw!important;object-fit:contain}

/* Match the native shop's full icon-cell selection frame. */
.npc-native .native-shop-icon{position:absolute;left:0;top:0;width:5.625cqw;height:5.78125cqw;display:grid;place-items:center;box-sizing:border-box}
.npc-native .native-shop-row.selected .native-shop-icon{background:url('/assets/client/images/536.img.png') center/100% 100% no-repeat}
.npc-native .native-shop-icon .native-item-art{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:5.3125cqw;max-height:5.3125cqw;object-fit:contain}
.npc-native .native-shop-row>img{display:none}
.npc-native .native-shop-footer{background-color:transparent}

/* V48: restore the client-style selected trade row and make the list tiers legible. */
.npc-native .native-shop-row{border-bottom:1px solid rgba(143,119,73,.42);background:linear-gradient(90deg,rgba(7,8,12,.82),rgba(13,14,18,.72));}
.npc-native .native-shop-row.selected{background:linear-gradient(90deg,rgba(18,32,82,.96),rgba(17,28,70,.88) 72%,rgba(11,15,27,.82))!important;box-shadow:inset 0 0 0 1px rgba(124,156,224,.5),inset 0 0 .45cqw rgba(32,58,132,.55);}
.npc-native .native-shop-row.selected .native-shop-name,.npc-native .native-shop-row.selected .native-shop-values{color:#f0e8ce;text-shadow:1px 1px #090b12;}
.npc-native .native-shop-icon{background:linear-gradient(145deg,#171a23,#090a0e);box-shadow:inset 0 0 0 1px rgba(131,111,72,.72),inset 1px 1px 3px #000;}
.npc-native .native-shop-row.selected .native-shop-icon{background:url('/assets/client/images/536.img.png') center/100% 100% no-repeat;box-shadow:none;}
.npc-native .native-shop-values{right:.48cqw;gap:.22cqw;}
.npc-native .native-shop-price{color:#d8c88c;text-shadow:1px 1px #090909;}
.classic-world .npc-native .native-shop-values input{color:#f1ead8;text-shadow:1px 1px #080808;}

.community-motto{position:absolute;left:17.96875%;width:57%;bottom:11.25cqw;height:1.875cqw;padding:0;background:transparent;color:#eee;text-align:center;text-shadow:1px 1px #000;font:bold 1.4cqw/1.875cqw PMingLiU,serif;white-space:nowrap;pointer-events:none}
.classic-ui:not(.mobile-ui) .classic-feed{height:7.5cqw;padding:0}
.classic-ui.chat-expanded:not(.mobile-ui) .community-motto{bottom:15cqw}
.classic-ui.chat-expanded:not(.mobile-ui) .classic-feed{height:11.25cqw}

/* V28: leave the dragon crest clear and reserve the motto row. */
.classic-ui:not(.mobile-ui) .community-motto{bottom:10.7cqw}
.classic-ui:not(.mobile-ui) .classic-feed{height:6.95cqw}
.classic-ui.chat-expanded:not(.mobile-ui) .community-motto{bottom:14.45cqw}
.classic-ui.chat-expanded:not(.mobile-ui) .classic-feed{height:10.7cqw}
.native-force-attack{position:absolute;left:43.5%;top:0;width:10%;height:24%;padding:0;border:0!important;background:transparent!important;pointer-events:auto;z-index:5}
.dragon-fire{display:none;position:absolute;left:29%;top:42%;width:43%;height:24%;background:radial-gradient(ellipse at 25% 40%,#fff8ba 0 7%,#ff5518 15%,transparent 40%),radial-gradient(ellipse at 75% 40%,#fff8ba 0 7%,#ff5518 15%,transparent 40%);filter:drop-shadow(0 0 5px #f30);pointer-events:none}
.force-attack-on .dragon-fire{display:block;animation:dragon-embers .65s ease-in-out infinite alternate}
@keyframes dragon-embers{from{opacity:.7;filter:drop-shadow(0 0 3px #e20)}to{opacity:1;filter:drop-shadow(0 -3px 8px #ff6010)}}

.classic-ui:not(.mobile-ui) .native-force-attack{width:10%;height:24%;padding:0}
.classic-ui:not(.mobile-ui) .dragon-fire{top:55%}
.classic-ui.chat-expanded:not(.mobile-ui) .native-force-attack{top:-3.75cqw}

/* V29: supplied transparent classic PVP texture, 550x111 cells. */
.classic-ui:not(.mobile-ui) .dragon-fire{left:50%;top:0;width:31.25cqw;height:6.25cqw;transform:translateX(-50%);background:none;filter:none;mix-blend-mode:screen;opacity:.82;animation:none}
.mobile-ui .dragon-fire{display:none!important}

/* V30: align supplied glow slightly left/down; feed only shows full lines. */
.classic-ui:not(.mobile-ui) .dragon-fire{transform:translateX(calc(-50% - .4cqw));top:.45cqw}
.classic-ui:not(.mobile-ui):not(.chat-expanded) .classic-feed{height:5.625cqw}

/* V31: classic HP drains from the left, preserving the right end. */
.classic-ui:not(.mobile-ui) .classic-hp .meter-fill{margin-left:auto;background-position:right top}
.classic-ui:not(.mobile-ui) .dragon-fire{transform:translateX(calc(-50% - .65cqw));top:.7cqw}
.classic-ui:not(.mobile-ui) .combat-art{display:none}

/* V35 desktop chat uses complete pixel-aligned line boxes. */
.classic-ui:not(.mobile-ui) .native-chat-line{line-height:var(--desktop-chat-line,1.25cqw);min-height:var(--desktop-chat-line,1.25cqw)}
.classic-ui:not(.mobile-ui) .native-chat-direction{height:var(--desktop-chat-line,1.25cqw);width:var(--desktop-chat-line,1.25cqw);vertical-align:top}

/* V37: channel replaces native IME marker, aligned with the input baseline. */
.classic-ui:not(.mobile-ui) .classic-compose{left:17.7%;width:57%;gap:.3cqw}
.classic-ui:not(.mobile-ui) .chat-channel-select{max-width:none;width:4.4cqw;flex:0 0 4.4cqw;color:#dfd69e;background:#242728;border:0;border-radius:0;outline:none;box-shadow:none;font:1.45cqw PMingLiU,monospace}
.classic-ui:not(.mobile-ui) .classic-compose:focus-within{box-shadow:none}
.classic-ui:not(.mobile-ui) .dragon-fire{transform:translateX(calc(-50% - 1.1cqw));top:1cqw}
.classic-world [data-slot].selected{box-shadow:inset 0 0 0 1px #dcc483}

/* Native shop glyphs blend into the footer instead of adding a dark rectangle. */
.classic-world .npc-native .native-shop-footer button{background-color:transparent}
.native-shop-values input::selection{background:transparent;color:inherit}

/* V44: original two-column status panel and three persistent shortcut pages. */
.classic-ui:not(.mobile-ui) .classic-level{top:23%;left:.4%;width:16.5%}
.classic-ui:not(.mobile-ui) .classic-ac{top:43%;left:3.3%;width:4%}
.classic-mr{position:absolute;top:43%;left:10.8%;width:5.7%;font:1.65cqw/2.3cqw PMingLiU,serif;color:#eee;text-align:center}
.classic-ui:not(.mobile-ui) .classic-weight-bar{top:59%;left:3.9%;width:4%;height:10%}
.classic-ui:not(.mobile-ui) .classic-food-bar{top:59%;left:11.2%;width:5%;height:10%}
.classic-ui:not(.mobile-ui) .native-meter-hover{display:block;position:absolute;inset:0;font:1.5cqw/2.1cqw PMingLiU;color:#fff;background:transparent;opacity:1}
.classic-ui:not(.mobile-ui) .classic-lawful{top:75%;left:3.5%;width:13%;font-size:1.4cqw;white-space:nowrap}
.classic-ui:not(.mobile-ui) .classic-alignment{top:75%;left:.8%}
.classic-ui:not(.mobile-ui) .classic-clock{top:89%;left:4%;width:12.5%;height:10%}
.classic-ui:not(.mobile-ui) .classic-clock-icon{top:89%;left:.7%}
.classic-location{position:absolute;left:.5cqw;bottom:26.2%;font:1.8cqw/2.2cqw PMingLiU;color:#9fc4ff;text-shadow:1px 1px #000;pointer-events:none}
.classic-shortcut-pages{position:absolute;left:78.1%;top:12%;display:flex;gap:.25cqw;pointer-events:auto}
.classic-world .classic-shortcut-pages button{width:2.9cqw;height:2.1cqw;margin:0;padding:0;border:0;border-radius:0;background:transparent center/contain no-repeat;font-size:0}
.classic-shortcut-pages [data-shortcut-page="0"]{background-image:url(/assets/client/shortcut-page-0-0.png)!important}
.classic-shortcut-pages [data-shortcut-page="0"].selected{background-image:url(/assets/client/shortcut-page-0-1.png)!important}
.classic-shortcut-pages [data-shortcut-page="1"]{background-image:url(/assets/client/shortcut-page-1-0.png)!important}
.classic-shortcut-pages [data-shortcut-page="1"].selected{background-image:url(/assets/client/shortcut-page-1-1.png)!important}
.classic-shortcut-pages [data-shortcut-page="2"]{background-image:url(/assets/client/shortcut-page-2-0.png)!important}
.classic-shortcut-pages [data-shortcut-page="2"].selected{background-image:url(/assets/client/shortcut-page-2-1.png)!important}

.classic-ui:not(.mobile-ui) .classic-hotbar button{position:relative;overflow:hidden}
.classic-ui:not(.mobile-ui) .classic-hotbar button img{inset:9%;width:82%;height:82%;object-fit:contain}
.classic-ui:not(.mobile-ui) .classic-hotbar button .native-item-art{inset:auto;left:50%;top:50%;max-width:82%;max-height:82%;transform:translate(-50%,-50%)}
.classic-ui .classic-hotbar button.selected{outline:1px solid #ffe4a2;outline-offset:-1px}
.classic-ui button:focus:not(:focus-visible){outline:none}
.classic-ui .native-force-attack:focus{outline:none}
.classic-ui:not(.mobile-ui) .native-buff-strip{display:flex;flex-direction:column;gap:.05cqw;right:.5cqw;top:.5cqw}
.classic-ui:not(.mobile-ui) .native-buff-strip>div{justify-content:center;align-items:center}
.classic-ui:not(.mobile-ui) .classic-zone{bottom:24.1%;font: bold 2.3cqw/2.5cqw PMingLiU}
.classic-hunt-animation{position:absolute;left:50%;bottom:27%;transform:translateX(-50%);width:10cqw;height:auto;pointer-events:none;z-index:15;image-rendering:pixelated}

.classic-hunt-animation{height:5.86cqw}


.classic-ui:not(.mobile-ui) .classic-clock{background:url(/assets/client/images/709.img.png) center/100% 100% no-repeat}.classic-ui:not(.mobile-ui) .classic-clock-track{width:100%;height:100%;left:0;top:0}.classic-ui:not(.mobile-ui) .classic-clock-icon{display:none}

.classic-hunt-animation{background-image:url(/assets/client/fx/hunt-sheet.png);background-size:1000% 600%;mix-blend-mode:screen;animation:hunt-original-sheet 3.6s step-end infinite}@keyframes hunt-original-sheet{
0.0%{background-position:0.0% 0.0%}
1.66667%{background-position:11.11111111111111% 0.0%}
3.33333%{background-position:22.22222222222222% 0.0%}
5.0%{background-position:33.33333333333333% 0.0%}
6.66667%{background-position:44.44444444444444% 0.0%}
8.33333%{background-position:55.55555555555556% 0.0%}
10.0%{background-position:66.66666666666666% 0.0%}
11.66667%{background-position:77.77777777777779% 0.0%}
13.33333%{background-position:88.88888888888889% 0.0%}
15.0%{background-position:100.0% 0.0%}
16.66667%{background-position:0.0% 20.0%}
18.33333%{background-position:11.11111111111111% 20.0%}
20.0%{background-position:22.22222222222222% 20.0%}
21.66667%{background-position:33.33333333333333% 20.0%}
23.33333%{background-position:44.44444444444444% 20.0%}
25.0%{background-position:55.55555555555556% 20.0%}
26.66667%{background-position:66.66666666666666% 20.0%}
28.33333%{background-position:77.77777777777779% 20.0%}
30.0%{background-position:88.88888888888889% 20.0%}
31.66667%{background-position:100.0% 20.0%}
33.33333%{background-position:0.0% 40.0%}
35.0%{background-position:11.11111111111111% 40.0%}
36.66667%{background-position:22.22222222222222% 40.0%}
38.33333%{background-position:33.33333333333333% 40.0%}
40.0%{background-position:44.44444444444444% 40.0%}
41.66667%{background-position:55.55555555555556% 40.0%}
43.33333%{background-position:66.66666666666666% 40.0%}
45.0%{background-position:77.77777777777779% 40.0%}
46.66667%{background-position:88.88888888888889% 40.0%}
48.33333%{background-position:100.0% 40.0%}
50.0%{background-position:0.0% 60.0%}
51.66667%{background-position:11.11111111111111% 60.0%}
53.33333%{background-position:22.22222222222222% 60.0%}
55.0%{background-position:33.33333333333333% 60.0%}
56.66667%{background-position:44.44444444444444% 60.0%}
58.33333%{background-position:55.55555555555556% 60.0%}
60.0%{background-position:66.66666666666666% 60.0%}
61.66667%{background-position:77.77777777777779% 60.0%}
63.33333%{background-position:88.88888888888889% 60.0%}
65.0%{background-position:100.0% 60.0%}
66.66667%{background-position:0.0% 80.0%}
68.33333%{background-position:11.11111111111111% 80.0%}
70.0%{background-position:22.22222222222222% 80.0%}
71.66667%{background-position:33.33333333333333% 80.0%}
73.33333%{background-position:44.44444444444444% 80.0%}
75.0%{background-position:55.55555555555556% 80.0%}
76.66667%{background-position:66.66666666666666% 80.0%}
78.33333%{background-position:77.77777777777779% 80.0%}
80.0%{background-position:88.88888888888889% 80.0%}
81.66667%{background-position:100.0% 80.0%}
83.33333%{background-position:0.0% 100.0%}
85.0%{background-position:11.11111111111111% 100.0%}
86.66667%{background-position:22.22222222222222% 100.0%}
88.33333%{background-position:33.33333333333333% 100.0%}
90.0%{background-position:44.44444444444444% 100.0%}
91.66667%{background-position:55.55555555555556% 100.0%}
93.33333%{background-position:66.66666666666666% 100.0%}
95.0%{background-position:77.77777777777779% 100.0%}
96.66667%{background-position:88.88888888888889% 100.0%}
98.33333%{background-position:100.0% 100.0%}
100%{background-position:0% 0%}}

.classic-world #game:focus{outline:none}

.classic-ui:not(.mobile-ui) .native-buff-strip{direction:rtl}.native-buff-strip>div{direction:ltr}

.classic-world .classic-shortcut-pages button{background-image:none!important}.shortcut-page-art{display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}

.classic-world .classic-ui .classic-shortcut-pages button{background-image:none!important}

.classic-ui.chat-expanded:not(.mobile-ui) .classic-hunt-animation{bottom:calc(27% + 3.75cqw)}

/* Latest supplied classic-page reference: native proportions, smooth scaling. */
.classic-world .classic-ui .classic-shortcut-pages button{width:2.75cqw;height:1.86cqw;background:none!important;overflow:visible;outline:none;box-shadow:none}.shortcut-page-art{image-rendering:auto;opacity:.8}.classic-shortcut-pages button.selected .shortcut-page-art{opacity:1;filter:brightness(1.18) drop-shadow(0 0 .04cqw #d1b77c)}

/* Native alignment glyphs and complete colored strip, retaining live values. */
.classic-ui:not(.mobile-ui) .classic-lawful{top:74.4%;left:3.3%;width:13.4%;height:9%;display:flex;align-items:center;justify-content:space-between;padding:0 .25cqw;border-radius:.3cqw;box-sizing:border-box;border:1px solid #c2b9a1;box-shadow:inset 0 1px #ffffff44,inset 0 -1px #0008;line-height:normal}
.classic-lawful[data-alignment=lawful]{background:linear-gradient(#6795b1,#315e7e 45%,#173b58 80%,#426079)}
.classic-lawful[data-alignment=neutral]{background:linear-gradient(#c5c8c3,#949991 45%,#747a73 80%,#a6aaa3)}
.classic-lawful[data-alignment=chaotic]{background:linear-gradient(#ed5551,#a60707 45%,#790000 80%,#b42824)}
.classic-lawful-label{height:1.65cqw;width:auto;max-width:62%;object-fit:contain;image-rendering:auto}
.classic-lawful-value{font:bold 1.45cqw/1.6cqw PMingLiU,serif;color:#fff;text-shadow:1px 1px #000,-1px 0 #222}
.classic-ui:not(.mobile-ui) .classic-alignment{left:.3%;top:72%;width:2.5%;height:13.6%;image-rendering:auto}
.classic-ui:not(.mobile-ui) .classic-clock{left:0;top:86.4%;width:17.34375%;height:13.6%}
.classic-ui:not(.mobile-ui) .classic-clock-track{left:18.018%;top:23.529%;width:78.378%;height:47.059%}
.classic-ui:not(.mobile-ui) .classic-hunt-animation{left:47.8125%;bottom:calc(26.041667% + 2cqw);filter:saturate(1.22) drop-shadow(0 0 .14cqw #fa4b1a88)}
.classic-ui.chat-expanded:not(.mobile-ui) .classic-hunt-animation{bottom:calc(26.041667% + 5.75cqw)}

/* V44 follow-up: fit native field interiors; keep chat seam and channel selector. */
.classic-ui:not(.mobile-ui) .classic-location{bottom:24.8%}
.classic-ui:not(.mobile-ui) .classic-zone{bottom:21.7%}
.classic-ui:not(.mobile-ui) .classic-ac{left:3.3%;top:43.2%;width:4.9%}
.classic-ui:not(.mobile-ui) .classic-mr{left:11.6%;top:43.2%;width:5%}
.classic-ui:not(.mobile-ui) .classic-weight-bar{left:3.55%;top:56.5%;width:4.85%;height:9.6%}
.classic-ui:not(.mobile-ui) .classic-food-bar{left:11.8%;top:56.5%;width:4.7%;height:9.6%}
.classic-ui:not(.mobile-ui) .classic-weight-bar span{background:linear-gradient(#8e928f,#666d69 40%,#4a504d 85%,#828981)}
.classic-ui:not(.mobile-ui) .classic-weight-bar[data-overloaded=true] span,.classic-ui:not(.mobile-ui) .classic-food-bar span{background:url(/assets/client/images/705.img.png) left center/4.85cqw 1.5625cqw no-repeat}
.classic-ui:not(.mobile-ui) .native-meter-hover{display:flex;align-items:center;justify-content:center;font:bold 1.5cqw/1.7cqw PMingLiU,serif;text-shadow:1px 1px #000}
.classic-ui:not(.mobile-ui) .classic-lawful{left:3.65%;top:72.3%;width:12.7%;height:9.2%;border:0;border-radius:0;box-shadow:none;padding:0 .2cqw}
.classic-ui:not(.mobile-ui) .classic-lawful-label{height:1.6cqw;max-width:60%}
.classic-ui:not(.mobile-ui) .classic-alignment{left:.6%;top:71.8%;width:2.4%;height:13.6%}
.classic-ui:not(.mobile-ui) .classic-compose{left:17.65%;width:57.1%;z-index:6}

/* V44.2: shared native canvas material and transparent collapsed channel. */
.classic-ui:not(.mobile-ui) .chat-channel-select{background:transparent}
.classic-ui:not(.mobile-ui) .chat-channel-select option{background:#242728;color:#dfd69e}
.classic-ui:not(.mobile-ui) .classic-weight-bar{left:3%;top:57.6%;width:4.75%;height:8%}
.classic-ui:not(.mobile-ui) .classic-food-bar{left:11.75%;top:57.6%;width:4.7%;height:8%}
.classic-ui:not(.mobile-ui) .classic-lawful{left:3.35%;top:73.6%;width:13.1%;height:7.2%;padding:0 .2cqw}
.classic-ui:not(.mobile-ui) .classic-alignment{left:.3%;top:71.2%;width:2.5%;height:13.6%}

/* V44.3: measured 640px reference coordinates and original 32px shortcut art. */
.classic-ui:not(.mobile-ui) .classic-ac{left:3%;top:43.2%;width:5.1%;font:bold 1.6cqw/2cqw PMingLiU,serif;text-align:right;padding-right:.4cqw;box-sizing:border-box}
.classic-ui:not(.mobile-ui) .classic-mr{left:11.75%;top:43.2%;width:5.1%;font:bold 1.6cqw/2cqw PMingLiU,serif;text-align:right;padding-right:.4cqw;box-sizing:border-box}
.classic-ui:not(.mobile-ui) .classic-weight-bar{left:3.15%;top:58.4%;width:4.7%;height:8%}
.classic-ui:not(.mobile-ui) .classic-food-bar{left:11.9%;top:58.4%;width:4.7%;height:8%}
.classic-ui:not(.mobile-ui) .native-meter-hover{justify-content:flex-end;padding-right:.3cqw;box-sizing:border-box}
.classic-ui:not(.mobile-ui) .classic-lawful{left:3.3%;top:74.4%;width:13.45%;height:8%;padding:0 .25cqw}
.classic-ui:not(.mobile-ui) .classic-alignment{left:.15%;top:72%;width:2.5%;height:13.6%}
.classic-ui:not(.mobile-ui) .classic-hotbar button img,.classic-ui:not(.mobile-ui) .classic-hotbar button .native-item-art{inset:auto;left:50%;top:50%;width:5cqw;height:5cqw;max-width:calc(100% - .3125cqw);max-height:calc(100% - .3125cqw);transform:translate(-50%,-50%);object-fit:contain;image-rendering:pixelated}
.classic-ui:not(.mobile-ui) .classic-hotbar .shortcut-count{top:auto;left:auto;right:.25cqw;bottom:.15cqw;height:auto;line-height:1.4cqw;font:bold 1.3cqw/1.4cqw PMingLiU,serif}

/* V44.4: clip fills inside the bevelled native caps; align hotbar to actual skin grid. */
.classic-ui:not(.mobile-ui) .classic-weight-bar{left:3.125%;width:5%;top:58.4%;height:8%;border-radius:0 .7cqw .7cqw 0;overflow:hidden}
.classic-ui:not(.mobile-ui) .classic-food-bar{left:11.875%;width:5%;top:58.4%;height:8%;border-radius:0 .7cqw .7cqw 0;overflow:hidden}
.classic-ui:not(.mobile-ui) .classic-weight-bar span{border-radius:0 .5cqw .5cqw 0;background:linear-gradient(#a0a39c,#72776f 45%,#4f574e 80%,#939b8a)}
.classic-ui:not(.mobile-ui) .classic-weight-bar[data-overloaded=true] span,.classic-ui:not(.mobile-ui) .classic-food-bar span{border-radius:0 .5cqw .5cqw 0;background:linear-gradient(#f6cd89,#c08036 40%,#9d571d 80%,#dfa556)}
.classic-ui:not(.mobile-ui) .classic-lawful{left:3.125%;top:73.6%;width:13.75%;height:9.6%;border-radius:0 .8cqw .8cqw 0;overflow:hidden}
.classic-ui:not(.mobile-ui) .classic-lawful-label{display:block;width:auto;height:auto;max-width:none;font:bold 1.65cqw/1.8cqw Georgia,serif;color:#fff;text-shadow:1px 1px #000}
.classic-ui:not(.mobile-ui) .classic-hotbar{left:78.125%;top:22.4%;width:21.40625%;height:54.4%}
.classic-ui:not(.mobile-ui) .classic-hotbar button.selected{outline:1px solid #e9cf95;outline-offset:-1px}
.classic-ui:not(.mobile-ui) .meter-label{font:bold 1.55cqw/1.8cqw Arial,sans-serif;text-shadow:1px 1px #14101e,-1px 0 #3d3548;color:#e7e5f1}
.classic-ui:not(.mobile-ui) .classic-hp .meter-label{left:auto;right:4%;width:auto;text-align:right}
.classic-ui:not(.mobile-ui) .classic-mp .meter-label{left:2%;right:auto;width:auto;text-align:left}

.classic-ui:not(.mobile-ui) .meter-label{font-size:1.3cqw;line-height:1.7cqw}
.classic-ui:not(.mobile-ui) .classic-hp .meter-label{right:8%}
.classic-ui:not(.mobile-ui) .classic-lawful-label{font-size:1.4cqw;line-height:1.7cqw}
.classic-ui:not(.mobile-ui) .classic-lawful-value{font-size:1.3cqw}

/* Desktop place/zone labels share the same baseline just above the HUD. */
.classic-ui:not(.mobile-ui){--desktop-area-label-bottom:21.7%}
.classic-ui:not(.mobile-ui) .classic-location,.classic-ui:not(.mobile-ui) .classic-zone{bottom:var(--desktop-area-label-bottom);line-height:2.5cqw}

/* V44.5: keep the original 1px separators outside all eight clickable content cells. */
.classic-ui:not(.mobile-ui) .classic-hotbar{left:77.96875%;top:23.2%;width:21.25%;height:53.6%;grid-template-columns:repeat(3,5.15625cqw) 5.3125cqw;grid-template-rows:repeat(2,5.15625cqw);gap:.15625cqw}
.classic-ui:not(.mobile-ui) .classic-hotbar button img,.classic-ui:not(.mobile-ui) .classic-hotbar button .native-item-art{max-width:calc(100% - .15625cqw);max-height:calc(100% - .15625cqw)}
.classic-ui:not(.mobile-ui) .classic-hotbar button img:not(.native-item-art){clip-path:inset(.15625cqw)}

/* Native 640px layout: 32px TBTs, 35px rows, 40px columns, seven slots per column. */
.classic-ui:not(.mobile-ui) .native-buff-strip{display:grid;grid-template-rows:repeat(7,5.46875cqw);grid-auto-flow:column;grid-auto-columns:6.25cqw;justify-items:start;gap:0;right:1.25cqw;top:.78125cqw}
.classic-ui:not(.mobile-ui) .native-buff-strip>div{box-sizing:border-box;width:5cqw;height:5cqw;justify-content:center;align-items:center;border:0;background:transparent;box-shadow:none}
/* LinLogin.bin 0x47538B uses screen blending for this strip. */
.classic-ui:not(.mobile-ui) .native-buff-strip img{width:5cqw!important;height:5cqw!important;max-width:5cqw;max-height:5cqw;object-fit:contain;opacity:1;image-rendering:pixelated;mix-blend-mode:screen}

/* V45: readable compact channel selector and native shop quantity controls. */
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=safe]{color:#82bdff;text-shadow:1px 1px #263c67}
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=combat]{color:#ff6868;text-shadow:1px 1px #641616}
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=normal]{color:#fff;text-shadow:1px 1px #333}
.classic-ui:not(.mobile-ui) .chat-channel-select{width:clamp(46px,4.4cqw,64px);flex:0 0 clamp(46px,4.4cqw,64px);font-size:clamp(11px,1.45cqw,16px);padding:0;min-width:46px;box-sizing:border-box}
.classic-compose{min-height:16px}.classic-compose>input:not(.chat-recipient){min-width:0}
.classic-world .npc-native .native-shop-values input{width:5.7cqw;flex:0 0 5.7cqw;min-width:42px;font-size:clamp(9px,1.3cqw,14px);text-align:right;padding-right:.2cqw;box-sizing:border-box}
.classic-world .npc-native .native-shop-values{right:.55cqw;gap:.25cqw}
.mobile-ui .classic-zone[data-zone=safe]{color:#82bdff}.mobile-ui .classic-zone[data-zone=combat]{color:#ff6868}.mobile-ui .classic-zone[data-zone=normal]{color:#fff}

.classic-ui:not(.mobile-ui) .classic-compose{top:auto;bottom:0;height:max(16px,1.875cqw)}
.classic-world .npc-native .native-shop-values input{width:clamp(52px,7.8cqw,96px);flex:0 0 clamp(52px,7.8cqw,96px);font-variant-numeric:tabular-nums}

/* V46: native item selection lists and compact quantity spacing. */
.classic-world .npc-native .native-shop-values input{width:clamp(36px,3.6cqw,48px);flex:0 0 clamp(36px,3.6cqw,48px)}
.classic-world .npc-native .native-shop-values{right:.35cqw;gap:.2cqw}
.native-polymorph-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25cqw .6cqw}
.classic-world .native-polymorph-list button{background:transparent;border:0;text-align:left;color:#ffffaf;font:1.8cqw/2.3cqw PMingLiU,serif;margin:0;padding:.2cqw .4cqw;min-height:0}
.native-polymorph-list button:hover{color:white;background:#ffffff14}
.native-polymorph-body{overflow-y:auto!important}
.native-pet-list{display:grid;gap:8px}.native-pet-list button{min-height:36px;text-align:left}
.mobile-ui .native-polymorph-list button{font:14px/20px PMingLiU,serif;padding:4px}
.classic-world .native-polymorph-cancel{display:block;width:calc(100% - 1cqw);min-height:2.8cqw;margin:.6cqw .5cqw .2cqw;padding:.3cqw .6cqw;border:1px solid #9b8351;border-radius:.25cqw;background:linear-gradient(#30313a,#17181e);color:#fff2c2;font:1.8cqw/2.4cqw PMingLiU,serif;text-align:center;cursor:pointer}
.native-polymorph-cancel:hover{background:linear-gradient(#48444a,#28232a);color:#fff}
.mobile-ui .native-polymorph-cancel{min-height:40px;margin:8px 4px 4px;width:calc(100% - 8px);padding:8px;font:16px/22px PMingLiU,serif}

.native-pet-commands{grid-template-columns:repeat(2,minmax(0,1fr))}.native-pets-body{overflow-y:auto!important}

/* V47: native pet list rows, unobtrusive keyboard quantity editing, aligned price column. */
.native-pet-list{display:grid;gap:.35cqw;padding:.5cqw}.classic-world .native-pet-row{display:flex;align-items:center;gap:.6cqw;min-height:5.8cqw;padding:.35cqw .55cqw;border:1px solid #655943;background:#101114c9;color:#d4c88f;font:1.7cqw/2.2cqw PMingLiU,serif;text-align:left}.native-pet-row img{width:4.7cqw;height:4.7cqw;object-fit:contain;image-rendering:pixelated}.native-pet-row.pending{opacity:.65}.classic-world .npc-native .native-shop-price{position:relative;left:.8cqw}.classic-world .npc-native .native-shop-values input{caret-color:transparent}

/* V49: keep the visual price column clear of the adjacent quantity step button. */
.classic-world .npc-native .native-shop-price{left:0;margin-right:.45cqw}
/* V68: native chat log scrollbar and thumb use the original HUD track. */
.classic-bottom .native-chat-scroll{left:74.84375%;right:auto;top:auto;bottom:2.96875cqw;height:9.375cqw;width:2.1875cqw}
.classic-bottom .native-chat-scroll button{height:1.5625cqw}
.classic-bottom .native-chat-scroll .native-scroll-track{top:1.5625cqw;bottom:1.5625cqw}
.classic-bottom .native-chat-scroll .native-scroll-thumb{left:0;width:100%;height:1.40625cqw;min-height:0;border:0;background:transparent url(/assets/client/images/471-chat-thumb.png) center/contain no-repeat;image-rendering:pixelated}
.chat-expanded .classic-bottom .native-chat-scroll{height:13.125cqw}
.classic-world .panel-native .native-scroll{left:33.90625cqw;right:auto;top:3.125cqw;bottom:5.3125cqw;width:2.1875cqw}
.classic-world .panel-native:is([data-native-kind=inventory],[data-native-kind=skills],[data-native-kind=exit]) .native-scroll{left:31.40625cqw;top:4.375cqw;bottom:4.375cqw}
.classic-bottom .native-chat-scroll[aria-disabled=true] .native-scroll-thumb{opacity:1}
.classic-bottom .classic-feed{pointer-events:auto;touch-action:pan-y}

.native-skill-stats{pointer-events:none;position:absolute;left:6.875cqw;right:6.875cqw;bottom:1.25cqw;height:3.75cqw;display:grid;grid-template-columns:1fr 1fr;column-gap:2cqw;align-items:center;box-sizing:border-box}.native-skill-stat{display:grid;grid-template-columns:1fr 1fr;gap:.75cqw;min-width:0;align-items:center;color:#dfd6b0;font:1.5cqw/2.8cqw PMingLiU,monospace}.native-skill-stat>b,.native-skill-stat>output{display:block;min-width:0;height:2.8cqw;box-sizing:border-box;border:1px solid #88724b;border-radius:.45cqw;background:#111a15db;text-align:center;white-space:nowrap}.native-skill-stat>output{font-variant-numeric:tabular-nums}

/* Blend the whole status layer with the game, outside its z-index group. */
.classic-ui:not(.mobile-ui) .native-buff-strip{mix-blend-mode:screen}
.classic-ui:not(.mobile-ui) .native-buff-strip img{mix-blend-mode:normal}

/* The original 538c skin already contains S.power / M.resist labels and boxes. */
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stats{inset:0;width:100%;height:100%;display:block}
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stat{position:absolute;top:91.071429%;width:15.246637%;height:4.166667%;display:block;font:1.875cqw/1 PMingLiU,monospace}
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stat:first-child{left:33.183857%}
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stat:last-child{left:70.403587%}
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stat>b{display:none}
:is(.classic-ui:not(.mobile-ui),.native-mobile-frame) .native-skill-stat>output{display:flex;align-items:center;justify-content:center;height:100%;line-height:1;border:0;border-radius:0;background:transparent;color:#eee}

/* Status text must never intercept skill clicks or drags beneath it. */
.native-skill-stats,.native-skill-stats *{pointer-events:none!important}

/* Dialogue labels are real text; actor-name sprite fonts are unchanged. */
.native-readable-text{display:inline!important;position:static!important;width:auto!important;height:auto!important;vertical-align:baseline!important;font:inherit;text-rendering:optimizeLegibility;white-space:inherit}
.native-inventory-grid,.native-skill-list{background:#090a0d}
.classic-world .native-inventory-grid>.native-item,.native-inventory-grid>.native-empty-item,.classic-world .native-skill-list>button,.native-skill-list>.native-empty-skill{box-sizing:border-box;background-color:#090a0d;box-shadow:inset -1px -1px 0 #62553c}
.npc-native .native-shop-list{background:#0b0c10}
.npc-native .native-shop-row{background:#0b0c10;border-bottom:1px solid #61543b}
.npc-native .native-shop-row.selected{background:#14244a}
.npc-native .native-shop-icon{border-right:1px solid #61543b}
/* Desktop currencies: two clearly spaced icon/value groups at twice the old size. */
.classic-ui:not(.mobile-ui) .mobile-currencies{position:absolute;left:8px;top:6px;display:flex;align-items:center;gap:24px;pointer-events:none;z-index:16}
.classic-ui:not(.mobile-ui) .mobile-currency{display:inline-flex;align-items:center;gap:8px;color:#f0e2ae;font:28px/36px PMingLiU,serif;white-space:nowrap;text-shadow:1px 1px 2px #000}
.classic-ui:not(.mobile-ui) .mobile-currency img{width:32px;height:32px;object-fit:contain}
.classic-ui:not(.mobile-ui) .mobile-currency output{font:inherit;color:inherit}

.desktop-target-hud{position:absolute;left:50%;top:52px;transform:translateX(-50%);width:min(440px,58cqw);height:58px;pointer-events:none;z-index:14;filter:drop-shadow(0 2px 3px #000a)}
.mobile-ui .desktop-target-hud{display:none!important}.desktop-target-hud[hidden]{display:none!important}
.target-title{position:absolute;top:0;left:54px;right:4px;color:#f6e4ad;text-align:center;font:600 16px/22px 'Microsoft JhengHei',sans-serif;text-shadow:1px 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.target-badge{position:absolute;left:0;top:4px;width:58px;height:58px;z-index:2}.target-badge svg{width:100%;height:100%}
.target-track{position:absolute;left:48px;right:0;top:26px;height:23px;overflow:hidden;border:3px ridge #c1cbd2;border-radius:5px 16px 16px 5px;background:linear-gradient(#030506,#202328,#08090b);box-shadow:0 0 0 1px #1a1b1b,inset 0 1px 4px #000}
.target-fill,.target-trail{position:absolute;inset:0 auto 0 0;width:0;transition:width .14s ease-out}
.target-trail{background:linear-gradient(#fbe6ad,#cf8129);transition:width .55s ease-out .15s}
.target-fill{background:linear-gradient(#6c0008 0%,#f44048 18%,#ff626b 37%,#db0613 55%,#80000b 100%);box-shadow:inset 0 1px 0 #ffb9bc,inset 0 -2px 4px #390006}
.target-percent{position:absolute;inset:0;color:#fff;text-align:center;font:700 15px/23px Arial,sans-serif;text-shadow:1px 1px 2px #000,-1px -1px #000}
.target-reset .target-fill,.target-reset .target-trail{transition:none}

.native-skill-list>.native-empty-skill{height:100%;padding:0}
/* V121: align the native compose baseline inside the bottom frame. */
.classic-ui:not(.mobile-ui) .classic-compose{bottom:.32cqw;height:1.75cqw;min-height:16px;display:flex;align-items:center}
.classic-ui:not(.mobile-ui) .classic-compose :is(input,.chat-channel-select){height:100%;min-height:0;margin:0;padding:0 .18cqw;font-size:1.75cqw;line-height:1.75cqw;align-self:center}
.classic-ui:not(.mobile-ui) .mobile-currency output{text-shadow:0 0 3px #f2d885aa,0 0 9px #d1a14566,1px 1px 2px #000}
.mobile-ui .chat-color-toggle,.mobile-ui .chat-color-palette,.mobile-ui .desktop-announcement{display:none!important}
.chat-color-toggle{position:absolute!important;left:72.6%;bottom:.3cqw;width:1.9cqw!important;height:1.75cqw!important;min-height:0!important;margin:0!important;padding:0!important;background:#24242b!important;border:1px solid #85724c!important;color:#f2dfac;font:1.4cqw/1.6cqw PMingLiU,serif!important;z-index:7;pointer-events:auto}
.classic-ui:not(.mobile-ui) .classic-compose{width:54.7%}
.chat-color-palette{position:absolute;right:22.4%;bottom:2.6cqw;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#24252bed;padding:10px;border:1px solid #ad9255;z-index:30;pointer-events:auto}
.chat-color-palette[hidden]{display:none}
.classic-world .chat-color-palette button{width:auto;min-width:45px;margin:0;padding:6px;border:1px solid #776748;background:#12151a;color:var(--swatch);font:13px PMingLiU,serif;box-shadow:inset 0 3px var(--swatch)}
.chat-color-palette button[aria-pressed=true]{outline:2px solid #f0dfa8}
.desktop-announcement{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:min(600px,68%);height:38px;display:flex;align-items:center;gap:12px;padding:0 18px;background:linear-gradient(90deg,#14130e00,#14130ee8 8%,#14130ee8 92%,#14130e00);border-block:1px solid #a68b4166;pointer-events:none;z-index:16;color:#ffdf89;text-shadow:0 0 5px #e9bb4955,1px 1px #000;font:16px/36px PMingLiU,serif}
.desktop-announcement[hidden]{display:none}.announcement-label{flex:none;color:#e7bb59;font-size:14px}.announcement-track{flex:1;overflow:hidden;position:relative;height:100%}.announcement-track>span{display:inline-block;white-space:nowrap;position:absolute;left:0;top:0;will-change:transform}
.npc-dialogue table,.native-menu-body table{border-collapse:collapse;max-width:100%;font:inherit;color:inherit}.npc-dialogue td,.native-menu-body td{padding:0;font:inherit;color:inherit}

/* V122: allow room for both Chinese glyphs and the native select arrow. */
.classic-ui:not(.mobile-ui) .classic-compose{bottom:.25cqw;height:2.1cqw}
.classic-ui:not(.mobile-ui) .classic-compose .chat-channel-select{width:5.2cqw;flex:0 0 5.2cqw;min-width:50px;height:100%;box-sizing:border-box;font:1.4cqw/normal PMingLiU,serif;padding:0 2px;overflow:visible}

.native-crest-gallery{box-sizing:border-box;left:3%;top:3%;width:min(520px,90%);height:min(620px,90%);padding:32px 26px 24px;border:20px solid transparent;border-image:url('/assets/client/images/562.img.png') 20 stretch;background:#17191f;color:#ffffaf;display:flex;flex-direction:column;font:16px 'Microsoft JhengHei',sans-serif;box-shadow:0 8px 25px #0009}
.native-crest-gallery header,.native-crest-gallery footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.native-crest-gallery button{color:#ffffaf;background:#22252b;border:1px solid #957a49;border-radius:3px;padding:8px;cursor:pointer}.native-crest-gallery button:disabled{opacity:.4;cursor:default}.crest-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:auto;flex:1;margin:14px 0}.crest-gallery-grid button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.native-crest-gallery canvas{width:48px;height:36px;image-rendering:pixelated;margin:0}.crest-gallery-grid span{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.crest-confirm{position:absolute;inset:25% 6% auto;padding:22px;background:#17191ffa;border:2px ridge #b49a60;box-shadow:0 4px 20px #000;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px}.crest-confirm p{width:100%;text-align:center}.crest-confirm button{min-width:70px}@media(max-width:600px){.native-crest-gallery{padding:16px 8px;border-width:16px}.crest-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.native-crest-gallery button{width:auto;margin:0;font:14px Microsoft JhengHei,sans-serif}.native-crest-gallery p{color:#ffffaf}

.native-crest-gallery .crest-window-close{position:absolute;right:-14px;top:-17px;padding:0;width:52px;height:24px;min-height:0;border:1px solid #9b8654;background:#14151e;color:#eee4c8;font:14px PMingLiU,serif;z-index:2}.native-crest-gallery header{justify-content:center}.native-chat-line{cursor:pointer}.native-chat-line:hover{background:#d2c7a915}.mobile-ui .native-chat-line{user-select:none;-webkit-user-select:none;touch-action:pan-y}
.classic-ui .native-crest-gallery{overflow:visible}.crest-gallery-grid{min-height:0}

.native-bookmarks{display:flex;flex-direction:column;height:100%;gap:.45cqw;font:1.6cqw/1.45 PMingLiU,serif;color:#ddd5b5}.native-bookmarks p{margin:0;color:inherit}.native-bookmarks .bookmark-heading{font-size:1.9cqw;color:#ffffaf}.native-bookmarks .bookmark-hint,.native-bookmarks .bookmark-location{font-size:1.15cqw;color:#b2ab94}.bookmark-list{flex:1;min-height:35px;overflow:auto;border-top:1px solid #64583d;border-bottom:1px solid #64583d;scrollbar-width:thin}.bookmark-list button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #51493655;background:transparent;font:inherit;padding:.4cqw;margin:0;color:#ddd}.bookmark-list button[aria-selected=true]{background:#233556aa;box-shadow:inset 2px 0 #cab471}.bookmark-tools,.bookmark-footer{display:flex;gap:.35cqw}.native-bookmarks button{min-height:1.7cqw;cursor:pointer}.bookmark-tools button,.bookmark-footer button,.bookmark-editor button,.bookmark-delete-confirm button{width:auto;flex:1;margin:0;padding:.3cqw;border:1px solid #786442;background:#25231f;color:#e5d4a5;font:1.2cqw/1.4 PMingLiU,serif}.native-bookmarks button:disabled{opacity:.4;cursor:default}.bookmark-editor{padding:.5cqw;border:1px solid #8c7648;background:#161820}.bookmark-editor input{width:100%;padding:.4cqw;margin:0;font:1.5cqw PMingLiU,serif;background:#080a0d;color:#eee;border:1px solid #8a784e}.bookmark-colors{display:flex;gap:.4cqw;margin:.4cqw 0}.bookmark-colors button{flex:1;min-height:1.6cqw;border:1px solid #6e634d}.bookmark-colors button[aria-pressed=true]{outline:2px solid white}.bookmark-editor>div:last-child{display:flex;gap:.4cqw}.bookmark-delete-confirm{padding:.6cqw;background:#17191e;border:1px solid #96804d}.bookmark-delete-confirm p{margin-bottom:.4cqw}.mobile-ui .native-bookmarks{font-size:15px;gap:4px}.mobile-ui .native-bookmarks .bookmark-heading{font-size:17px}.mobile-ui .native-bookmarks .bookmark-hint,.mobile-ui .native-bookmarks .bookmark-location{font-size:11px}.mobile-ui .bookmark-list button{padding:5px;min-height:30px}.mobile-ui .bookmark-tools button,.mobile-ui .bookmark-footer button,.mobile-ui .bookmark-editor button,.mobile-ui .bookmark-delete-confirm button{font-size:12px;min-height:27px}.mobile-ui .bookmark-editor input{font-size:16px;padding:5px}.mobile-ui .bookmark-colors button{min-height:23px}

.native-bookmarks[data-editing=true] .bookmark-tools,.native-bookmarks[data-editing=true] .bookmark-footer{display:none}.mobile-ui .bookmark-tools button{font-size:11px;padding:2px;min-height:30px}

/* Match native panel typography and gold hardware for the auxiliary windows. */
.classic-overweight-warning{position:absolute;left:50%;top:25%;width:92%;aspect-ratio:2172/100;transform:translate(-50%,-50%);z-index:6;pointer-events:none;overflow:hidden}.classic-overweight-warning img{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;max-height:none;transform:translateY(-46.8232%);pointer-events:none}.classic-overweight-warning[hidden]{display:none!important}
.classic-ui .native-bookmarks{gap:.25cqw;font-size:1.55cqw;color:#d6ceb5}.classic-ui .native-bookmarks .bookmark-hint{padding:0 0 .25cqw;color:#9d9275;border-bottom:1px solid #756342;font-size:1.1cqw}.classic-ui .bookmark-list{border:0;scrollbar-width:none}.classic-ui .bookmark-list button{padding:.35cqw .45cqw;border-bottom:1px solid #8c79502b;color:#e1d8bf}.classic-ui .bookmark-list button[aria-selected=true]{background:#333126;box-shadow:inset 2px 0 #d3b45f}.classic-ui .native-bookmarks .bookmark-location{min-height:1.5em;color:#b4a980;font-size:1.05cqw}.classic-ui .bookmark-tools button,.classic-ui .bookmark-footer button,.classic-ui .bookmark-editor button,.classic-ui .bookmark-delete-confirm button{border:0;border-top:1px solid #796641;background:linear-gradient(#211f1b,#15161a);color:#d5c48e;font:1.2cqw/1.4 PMingLiU,serif;text-shadow:1px 1px #000}.classic-ui .bookmark-tools button:not(:disabled):hover,.classic-ui .bookmark-footer button:not(:disabled):hover{background:#373126;color:#fff0b6}.classic-ui .native-crest-gallery .crest-window-close{position:static;width:auto;height:auto;min-height:0;padding:0 4px;border:0;background:transparent;color:#ddd2b2;font:14px PMingLiU,serif;text-decoration:underline}.classic-ui .native-crest-gallery header{justify-content:space-between;border-bottom:1px solid #756342;padding-bottom:5px}.classic-ui .crest-gallery-grid{scrollbar-color:#b89a5a #17191f;scrollbar-width:thin}.classic-ui .crest-gallery-grid::-webkit-scrollbar{width:14px}.classic-ui .crest-gallery-grid::-webkit-scrollbar-track{background:#16171b url('/assets/client/images/527-scroll-thumb.png') center/contain repeat-y}.classic-ui .crest-gallery-grid::-webkit-scrollbar-thumb{border:3px solid #17191f;border-radius:2px;background:#b89a5a url('/assets/client/images/527-scroll-thumb.png') center/contain no-repeat}

.native-minimap-window{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,88vw);height:min(540px,86vh);box-sizing:border-box;padding:24px 20px 16px;border:18px solid transparent;border-image:url('/assets/client/images/562.img.png') 20 stretch;background:#17191f;color:#ddd2b2;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 28px #000b}.native-minimap-window header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid #806b43}.native-minimap-window canvas{display:block;flex:1;min-height:0;width:100%;object-fit:contain;background:#25251f}.native-minimap-window p{margin:0;color:#b8aa7b;font:14px PMingLiU,serif}.native-minimap-window button{border:0;background:transparent;color:#eee0b3;font:14px PMingLiU,serif;text-decoration:underline;cursor:pointer}

/* V134: the attack limit is 82%; one persistent warning, with no toast. */


.classic-ui .native-crest-gallery .crest-window-close{position:absolute;left:auto;right:-12px;top:-17px;width:46px;height:25px;padding:0;margin:0;border:0;border-radius:0;background:#202126 url('/assets/client/images/515c.img.png') center/contain no-repeat;color:transparent;text-decoration:none;image-rendering:pixelated;z-index:5}
.native-skill-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.native-minimap-window.original-item-map{left:0;top:0;transform:none;width:40.15625cqw;height:52.5cqw;max-width:96%;max-height:94%;padding:0;border:0;background:transparent;box-shadow:none;display:block;overflow:hidden}
.original-item-map .minimap-art{display:block;width:100%;height:100%;image-rendering:auto}
.original-item-map .minimap-close{position:absolute;left:89.5%;top:.6%;width:9%;height:4%;border:0;padding:0;background:#202126 url('/assets/client/images/515c.img.png') center/contain no-repeat;color:transparent;text-decoration:none;image-rendering:pixelated}
.original-item-map .minimap-error{position:absolute;left:8%;right:10%;top:20%;color:#ffecaa;text-align:center}
.mobile-ui .native-minimap-window.original-item-map{left:2%;top:2%;width:min(72vw,40.15625cqw);height:auto;aspect-ratio:257/336;max-height:90%}
.original-item-map .minimap-content{position:absolute;left:1.55642%;top:1.19048%;width:91.43969%;height:97.61905%;overflow:auto;touch-action:pan-x pan-y;scrollbar-color:#b89a5a #17191f;scrollbar-width:thin}.original-item-map .minimap-content>img{display:block;max-width:none;height:auto}

.classic-ui .original-item-map .minimap-close,.classic-ui .original-item-map .minimap-close:focus-visible{background:#202126 url('/assets/client/images/515c.img.png') center/contain no-repeat;outline:none}
.mobile-ui .native-minimap-window.original-item-map{width:min(82vw,calc(82vh * 257 / 336));height:min(calc(82vw * 336 / 257),82vh);aspect-ratio:257/336;max-width:none;max-height:none}
.original-item-map .minimap-player-marker{position:absolute;z-index:2;width:8.94942%;height:auto;transform:translate(-52.173913%,-52.173913%);image-rendering:pixelated;pointer-events:none}.original-item-map .minimap-player-marker[hidden]{display:none}
.npc-native .panel-body.native-pet-withdraw-body{left:2.03125cqw;top:1.5625cqw;width:30.9375cqw;height:50.9375cqw;overflow:visible}
.native-pet-withdraw-list{position:absolute;left:0;top:0;width:100%;height:46.25cqw;overflow-y:auto;scrollbar-width:none}
.native-pet-withdraw-row{position:relative;box-sizing:border-box;width:100%;height:5.78125cqw;border-bottom:1px solid rgba(143,119,73,.42);color:#ded8c8;font:1.65cqw/2cqw PMingLiU,serif}
.native-pet-withdraw-icon{position:absolute;left:0;top:0;width:5.625cqw;height:5.625cqw;display:grid;place-items:center;background:url('/assets/client/images/536.img.png') center/100% 100% no-repeat}
.native-pet-withdraw-icon img{max-width:5.2cqw;max-height:5.2cqw;object-fit:contain;image-rendering:pixelated}
.native-pet-withdraw-name{position:absolute;left:6.25cqw;top:.35cqw;right:0;max-height:3cqw;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45cqw}
.native-pet-withdraw-price{position:absolute;right:8.5cqw;bottom:.5cqw;color:#d8c88c;text-shadow:1px 1px #090909}
.native-pet-withdraw-price::before{content:'';display:inline-block;width:1.45cqw;height:1.25cqw;background:url('/assets/client/images/5.tbt.png') center/contain no-repeat;vertical-align:middle}
.native-pet-withdraw-count{position:absolute;right:.3cqw;bottom:.45cqw;height:1.5cqw;display:flex;align-items:center;gap:.15cqw}
.native-pet-withdraw-count button{width:1.3cqw;height:1.3cqw;min-height:0;padding:0;border:1px solid #786848;background:#17181d;color:#d8c88c;font:1.2cqw/1.2cqw serif}
.native-pet-withdraw-count input{box-sizing:border-box;width:2.3cqw;height:1.5cqw;padding:0;border:0;background:transparent;color:#f1ead8;text-align:center;font:1.45cqw/1.5cqw PMingLiU,serif;appearance:textfield}
.native-pet-withdraw-count input::-webkit-inner-spin-button{appearance:none}
.native-pet-withdraw-footer{position:absolute;left:-2.03125cqw;bottom:0;width:37.5cqw;height:3.125cqw;display:flex;align-items:center;box-sizing:border-box;padding:0 .5cqw;background:url('/assets/client/images/600.img.png') center/100% 100% no-repeat;font:1.35cqw PMingLiU,serif;white-space:nowrap}
.native-pet-withdraw-footer output{flex:1;color:#e0dcc9}
.native-pet-withdraw-footer button{height:2.1875cqw;min-height:0;padding:0;border:0;background-color:transparent;background-repeat:no-repeat;background-size:100% 100%;color:transparent;font-size:0}
.native-pet-withdraw-footer button:first-of-type{width:3.75cqw}
.native-pet-withdraw-footer button:last-of-type{width:6.25cqw}
.native-pet-withdraw-footer button img{display:block;width:100%;height:100%;object-fit:contain}
.mobile-ui .native-pet-withdraw-list{overflow-y:auto}
.mobile-ui .native-pet-withdraw-count input{font-size:max(12px,1.45cqw)}
/* Pet actions are plain white text on the existing frame, including hover and touch. */
.classic-world .npc-native.native-pet-withdraw :is(.native-pet-withdraw-footer,.native-shop-footer) button{background:none!important;color:#e8e8ee!important;font:bold 1.35cqw/2.1875cqw Georgia,"Times New Roman",serif!important;padding:0!important;border:0!important;box-shadow:none!important;text-shadow:0 1px 1px #171922;-webkit-tap-highlight-color:transparent;outline:none;transform:none}
.classic-world .npc-native.native-pet-withdraw :is(.native-pet-withdraw-footer,.native-shop-footer) button:active{opacity:.75}
.classic-world .npc-native.native-pet-withdraw :is(.native-pet-withdraw-footer,.native-shop-footer) button:focus-visible{text-decoration:underline}

.native-item.native-touch-dragging{opacity:.55;transform:scale(.9);filter:brightness(1.35)}

.classic-clock{position:absolute;left:3.125%;top:87.2%;width:13.4375%;height:9%;color:#dfd69e;font:1.5cqw/2cqw PMingLiU,monospace;text-align:center}

.native-shop-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid #756546}.native-shop-row img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.native-shop-row span{flex:1}.native-shop-row input{width:55px}

/* V45: readable compact channel selector and native shop quantity controls. */
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=safe]{color:#82bdff;text-shadow:1px 1px #263c67}
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=combat]{color:#ff6868;text-shadow:1px 1px #641616}
.classic-ui:not(.mobile-ui) .classic-zone[data-zone=normal]{color:#fff;text-shadow:1px 1px #333}
.classic-ui:not(.mobile-ui) .chat-channel-select{width:clamp(46px,4.4cqw,64px);flex:0 0 clamp(46px,4.4cqw,64px);font-size:clamp(11px,1.45cqw,16px);padding:0;min-width:46px;box-sizing:border-box}
.classic-compose{min-height:16px}.classic-compose>input:not(.chat-recipient){min-width:0}
.classic-world .npc-native .native-shop-values input{width:5.7cqw;flex:0 0 5.7cqw;min-width:42px;font-size:clamp(9px,1.3cqw,14px);text-align:right;padding-right:.2cqw;box-sizing:border-box}
.classic-world .npc-native .native-shop-values{right:.55cqw;gap:.25cqw}
.mobile-ui .classic-zone[data-zone=safe]{color:#82bdff}.mobile-ui .classic-zone[data-zone=combat]{color:#ff6868}.mobile-ui .classic-zone[data-zone=normal]{color:#fff}

/* V174: keep warning above announcements, with a slow readable alarm pulse. */
.classic-overweight-warning{top:18%;animation:overweight-alarm 2.4s ease-in-out infinite}
.classic-overweight-warning[hidden]{animation:none}
@keyframes overweight-alarm{0%,100%{opacity:.68;filter:brightness(.92)}50%{opacity:1;filter:brightness(1.2) drop-shadow(0 0 6px #f2313260)}}
@media(prefers-reduced-motion:reduce){.classic-overweight-warning{animation:none;opacity:1;filter:none}}

.classic-hotbar [data-slot]{touch-action:none;user-select:none;-webkit-user-select:none}

.tablet-mobile-world .native-inventory-grid [data-item]{touch-action:none;-webkit-user-select:none;user-select:none}

/* Fit item maps with the same logical panel dimensions as inventory. */
.mobile-ui.native-mobile-panels .native-mobile-frame>.original-item-map{left:0;top:0;pointer-events:auto;width:257px;height:336px;min-width:0;min-height:0;max-width:none;max-height:none;transform:none}
.tablet-mobile-world .native-inventory-grid [data-item],.tablet-mobile-world .native-inventory-grid [data-item] *{touch-action:none;-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.tablet-inventory-ghost{position:fixed;z-index:2147483647;pointer-events:none!important;width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 5px #ffda72);transform:translate(-50%,-50%)}

/* Keep inventory gestures under the shared pointer controller on every device. */
.game-shell .native-inventory-grid [data-item],.game-shell .native-inventory-grid [data-item] *{touch-action:none;-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}

/* Keep swatches visible above the native editor button background. */
.classic-ui .bookmark-editor .bookmark-colors button{background:var(--bookmark-color);border:1px solid #9b8c69;min-height:1.6cqw}
.mobile-ui .bookmark-editor .bookmark-colors button{min-height:23px}

/* Native poison status controls only the HP fill, including mobile layouts. */
.hp-poisoned .meter.hp .meter-fill{filter:hue-rotate(100deg) saturate(1.2)}
