/* Original JP panel PNGs retain their transparent silhouettes and wood/metal.
   Readable controls beside fixed boards adapt their placement to landscape. */
.desktop-client .source-window{width:640px;min-width:0;max-height:100%;border:0;background:transparent;box-shadow:none;overflow:visible}
.desktop-client #window-character.source-window{width:540px}
.desktop-client .source-window .window-header{position:absolute;inset:0 0 auto;z-index:2;height:30px;min-height:30px;border:0;background:transparent;padding:0;cursor:move}
.source-window .window-header h2{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;position:absolute}
.source-window .window-header [data-minimize]{display:none}
.desktop-client .source-window .window-header [data-close]{margin-left:auto;width:30px;height:30px;min-height:0;background:url('/assets/ui/merchant-0-0.png') -317px -3px no-repeat;border:0;color:#e6d6ac;font-size:16px}
.desktop-client .source-window .window-body{padding:0;overflow:visible}
.native-panel-layout{display:grid;grid-template-columns:var(--native-board-width,369px) minmax(190px,1fr);gap:8px;align-items:start}
.native-board-wrap{flex:none;width:369px;height:500px;margin:0;overflow:visible}
.native-character-board,.native-skills-board{position:absolute;left:0;top:0;margin:0;transform-origin:top left}
.native-skills-board{width:393px;height:437px;background:url('/assets/ui/skills-0-0.png') no-repeat}
.native-character-title,.native-skills-title{position:absolute;left:114px;top:22px;color:#f3e3bb;font:12px var(--font);text-shadow:1px 1px #000;background:#534c38}
.native-skills-title{top:30px}
.native-sidecar{box-sizing:border-box;min-width:0;max-height:min(500px,calc(100dvh - 64px));padding:34px 15px 19px;overflow:auto;border:12px solid transparent;border-image:url('/assets/ui/npc-dialog-9-0.png') 12 12 24 12 fill stretch;color:#e9ddbf;scrollbar-width:thin;overscroll-behavior:contain;font:12px var(--font)}
.native-sidecar h3{font-size:14px;color:#eed4a3;margin:12px 0 8px}
.native-sidecar p{line-height:1.65;margin:9px 0}
.native-sidecar label{display:block;line-height:1.7}
.native-sidecar input,.native-sidecar select{box-sizing:border-box;max-width:100%;width:100%;height:32px;border:1px solid #66573c;border-radius:0;background:#101510;color:#eadbb4;padding:3px 6px;font:13px var(--font)}
.desktop-client .native-sidecar button,.desktop-client #panel button{border:0;border-image:none;background:url('/assets/ui/skills-1-0.png') center/100% 100% no-repeat;color:#f3e5c0;text-shadow:1px 1px #000;min-height:30px;padding:5px 10px;font:12px var(--font);cursor:pointer}
.native-sidecar button:hover{filter:brightness(1.2)}
.native-sidecar .bag-tools{margin:0;gap:5px}
.native-sidecar .bag-tools label{flex-basis:100%}
.native-sidecar .item-detail{background:transparent;border:0;padding:0}
.native-sidecar .item-detail button{float:none;display:block;margin:12px 0}
.native-sidecar .npc-actions{display:flex;flex-direction:column;gap:8px}
.native-sidecar .npc-actions button{width:100%}
.native-sidecar .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.native-sidecar .equipment-grid button{min-width:0;overflow:hidden}
.native-skill-tabs{position:absolute;left:122px;top:68px;display:flex;gap:22px;color:#ead4a6;font:12px var(--font);background:#554d37}
.native-skill-list{position:absolute;left:65px;top:97px;width:280px;height:291px;display:grid;grid-template-rows:repeat(7,41.57px)}
.desktop-client .native-skill-list button{display:flex;align-items:center;gap:9px;background:none;border:0;padding:3px 5px;min-height:0;text-align:left;color:#f1deb3;font:12px var(--font)}
.native-skill-list button span:not(.native-item-icon){min-width:0}
.native-skill-list button small{display:block;font-size:10px;color:#d1c4a3;margin-top:3px}
.native-skill-list .native-item-icon,.native-skill-list canvas{width:28px;height:28px;flex:none}
.native-skill-list .selected{box-shadow:inset 0 0 0 1px #f8d493;background-color:#ead49719!important}
.native-skill-pages{position:absolute;left:80px;top:399px;width:255px;display:flex;align-items:center;justify-content:space-between;font:11px var(--font);color:#e8d2a2}
.desktop-client .native-skill-pages button{background:none;border:0;padding:2px 10px;min-height:0;color:#eed4a1}
.native-board .gear-slot .gear-caption{display:none}
.desktop-client #panel{border:12px solid transparent;border-image:url('/assets/ui/npc-dialog-9-0.png') 12 12 24 12 fill stretch;background:transparent;box-shadow:0 5px 15px #0004;color:#eadbb7;max-height:calc(100dvh - 24px)}
.desktop-client #panel::backdrop{background:#0001;backdrop-filter:none}
.desktop-client #panel .dialog-head{padding:4px 30px 8px 5px;background:none;border:0;min-height:30px}
.desktop-client #panel .dialog-head h2{font-size:15px;margin:0}
.desktop-client #panel .dialog-head .section-eyebrow{display:none}
.desktop-client #panel #panel-body{padding:8px 5px;overflow:auto}
.desktop-client #panel .dialog-head #close-panel{position:absolute;right:0;top:0;width:30px;height:30px;min-height:0;padding:0;background:url('/assets/ui/merchant-0-0.png') -317px -3px no-repeat}
.desktop-client #panel[data-native-panel=shop]{padding:0;border:0;border-image:none;background:transparent;width:598px;max-width:calc(100vw - 24px);height:364px;max-height:calc(100dvh - 20px);overflow:visible}
.desktop-client #panel[data-native-panel=shop] .dialog-head{position:absolute;right:2px;top:0;left:357px;padding:8px 32px 0 0;z-index:2}
.desktop-client #panel[data-native-panel=shop] .dialog-head h2{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desktop-client #panel[data-native-panel=shop] #panel-body{padding:0;overflow:visible;height:100%}
.native-shop-layout{display:grid;grid-template-columns:var(--merchant-width,349px) minmax(180px,1fr);gap:8px;height:100%;align-items:start}
.native-merchant-board{position:relative;width:349px;height:364px;background:url('/assets/ui/merchant-1-0.png') no-repeat;font:12px var(--font);color:#f1dfb4}
.native-merchant-title{position:absolute;top:8px;left:45px;width:226px;line-height:18px;background:#514736;text-align:left;color:#f4e2b5;font-size:12px}
.merchant-portrait{position:absolute;left:34px;top:34px;width:72px;height:80px;display:grid;place-items:center}
.merchant-portrait img{max-width:100%;max-height:100%;image-rendering:pixelated}
.merchant-portrait img:not([src]){display:none}
.merchant-greeting{position:absolute;left:128px;top:42px;width:181px;height:65px;line-height:1.65;overflow:auto;font-size:12px}
.merchant-gold{position:absolute;left:175px;top:116px;width:148px;text-align:right;line-height:16px;background:#121512;font-size:11px}
.merchant-meta{position:absolute;left:21px;top:146px;width:82px;height:163px;background:#101510;display:flex;flex-direction:column;gap:9px;padding:8px 3px;box-sizing:border-box;font-size:10px;overflow:auto}
.merchant-meta b{font-size:11px;color:#ecd1a0;margin-bottom:4px}
.merchant-item-list{position:absolute;left:121px;top:145px;width:202px;height:183px;display:grid;grid-template-rows:repeat(5,36.6px)}
.desktop-client #panel .merchant-item-list button{display:flex;align-items:center;gap:7px;background:none;min-height:0;padding:1px 3px;border:0;text-align:left;font-size:11px;color:#ead8b0}
.merchant-item-list button.selected{background-color:#dbb97625!important;box-shadow:inset 0 0 0 1px #d4b779}
.merchant-item-list .native-item-icon{width:31px;height:31px;flex:none}
.merchant-item-list button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.merchant-item-list small{display:block;font-size:10px;color:#bbae8e;margin-top:2px}
.merchant-pages{position:absolute;left:119px;top:330px;width:205px;display:flex;align-items:center;justify-content:space-between;font-size:11px}
.desktop-client #panel .merchant-pages button{background:none;min-height:0;padding:2px 8px}
.merchant-detail{max-height:364px;height:100%;padding-top:26px}
.merchant-detail .native-shop-tabs{display:flex;gap:8px;margin:0 0 10px}
.merchant-detail h3{font-size:13px;margin-top:12px}
.merchant-detail p{font-size:12px}
.merchant-detail [data-native-trade]{width:100%;min-height:40px!important}
.native-shop-tabs [aria-pressed=true]{filter:brightness(1.5)}
@media(max-height:500px){
 .desktop-client .client-windows,.desktop-client.touch-client .client-windows{inset:42px 62px 12px 12px}
 .desktop-client .source-window,.desktop-client.touch-client .source-window{width:600px;max-width:100%;max-height:100%}
 .desktop-client #window-character.source-window{width:510px}
 .source-window .native-sidecar{max-height:calc(100dvh - 60px);font-size:13px;padding:28px 10px 13px}
 .source-window .native-sidecar button{min-height:38px;font-size:13px}
 .source-window .native-sidecar input,.source-window .native-sidecar select{min-height:36px;font-size:16px}
 .desktop-client #panel[data-native-panel=shop]{height:calc(100dvh - 20px);max-height:364px}
 .native-merchant-board{transform-origin:top left}
 .merchant-detail{max-height:calc(100dvh - 20px);font-size:13px}

}

/* Frame fitting: preserve the 522×158 NPC panel's 18px corners and 27px foot.
   The source's centre has alpha 222, so an opaque native-colour backing belongs
   only inside the frame. Repeating rails avoids stretching rivets and grain. */
.desktop-client .source-window,
.desktop-client #window-character.source-window{background:transparent;border:0;box-shadow:none;min-width:0;transform:none}
.desktop-client .source-window .window-body,
.desktop-client #window-character.source-window .window-body{padding:0;overflow:visible}
.desktop-client .source-window .window-header,
.desktop-client #window-character.source-window .window-header{background:none;border:0;min-height:30px;height:30px;left:var(--native-board-width);pointer-events:none}
.desktop-client .source-window .window-header button{pointer-events:auto}
.desktop-client .source-window .window-header [data-close]{margin-right:7px;margin-top:4px;width:25px;height:25px;min-height:0;padding:0;font-size:14px;background-position:-317px -3px}
.native-panel-layout{gap:0;align-items:stretch;grid-template-columns:var(--native-board-width,369px) minmax(220px,1fr)}
.native-board-wrap{position:relative}
.native-sidecar{height:var(--native-board-height,500px);max-height:var(--native-board-height,500px);padding:22px 11px 9px;border-width:9px 18px 27px;border-image:url('/assets/ui/npc-dialog-9-0.png') 9 18 27 fill / 9px 18px 27px / 0 round;background:#101410;background-clip:padding-box;scrollbar-color:#817456 #171b14;scrollbar-gutter:stable;line-height:1.55}
.native-sidecar h3{line-height:1.5}
.native-sidecar label{margin-bottom:6px}
.native-sidecar p{line-height:1.6}
.native-sidecar .npc-actions{gap:7px}
.native-sidecar .character-extras{padding:0 0 10px;margin-bottom:8px;border-bottom:1px solid #65583e}
.native-sidecar .character-extras small{display:block;margin-top:4px}
/* A blank, recessed frame replaces the Japanese caption baked into skills-1.
   Its corners retain their proportions at every button width. */
.desktop-client .native-sidecar button,
.desktop-client #panel button{box-sizing:border-box;border:solid transparent;border-width:4px 7px 7px;border-image:url('/assets/ui/npc-dialog-9-0.png') 9 18 27 fill / 4px 7px 7px / 0 stretch;background:#272c20;background-clip:padding-box;min-height:32px;padding:4px 9px;line-height:1.35;color:#f3e5c0;text-shadow:1px 1px #000;font:12px var(--font)}
.desktop-client .native-sidecar button:hover:not(:disabled),
.desktop-client #panel button:hover:not(:disabled){background-color:#454833;filter:none}
.desktop-client .native-sidecar button:focus-visible,
.desktop-client #panel button:focus-visible{outline:2px solid #e6c981;outline-offset:-3px}
.desktop-client .native-sidecar button:disabled{opacity:.48;cursor:default}
.native-sidecar .bag-tools{display:flex;flex-wrap:wrap;margin:0 0 10px}
.native-sidecar .bag-tools button{flex:1}
.native-sidecar .equipment-extension{padding-top:10px;border-top:1px solid #65583e}
.native-sidecar .equipment-extension summary{cursor:pointer;line-height:1.7}
.native-sidecar .equipment-grid{margin-top:8px;gap:5px}
.native-sidecar .equipment-grid button{white-space:normal}
.native-sidecar .item-detail{margin-top:8px;min-height:60px}
.native-sidecar .item-detail button{width:100%}
.native-skills-title{left:125px;top:39px;background:transparent}
.native-skill-tabs{left:121px;top:69px;background:transparent;font-size:11px}
.native-skill-list{left:65px;top:94px;width:249px;height:294px;grid-template-rows:repeat(7,42px)}
.desktop-client .native-skill-list button{padding:3px 0;gap:13px;line-height:1.3}
.native-skill-list .native-item-icon,.native-skill-list canvas{width:31px;height:31px}
.native-skill-list button span:not(.native-item-icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.native-character-title{left:125px;top:21px;width:145px;text-align:center;background:transparent}
/* The merchant source uses translucent dark wells. Back only their interiors;
   keep the original rounded external silhouette and crest untouched. */
.native-merchant-board{background-image:url('/assets/ui/merchant-1-0.png'),linear-gradient(#101410,#101410);background-repeat:no-repeat;background-size:349px 364px,320px 321px;background-position:0 0,13px 27px;transform-origin:top left}
.native-merchant-title{top:8px;left:47px;width:218px;background:#514736;line-height:18px}
.merchant-greeting{left:126px;top:44px;width:178px;height:62px;font-size:11px;line-height:1.6;padding-right:3px}
.native-shop-layout{grid-template-columns:var(--merchant-width,349px) minmax(220px,1fr);gap:0}
.desktop-client #panel[data-native-panel=shop]{width:610px;max-width:calc(100vw - 24px);box-shadow:none}
.desktop-client #panel[data-native-panel=shop] .dialog-head{left:var(--merchant-width,349px);right:10px;top:5px;padding:5px 30px 0 21px;min-height:20px;background:none;border:0}
.desktop-client #panel[data-native-panel=shop] .dialog-head h2{font-size:11px;line-height:19px}
.desktop-client #panel .dialog-head #close-panel{border:0;border-image:none;background:url('/assets/ui/merchant-0-0.png') -317px -3px no-repeat;width:25px;height:25px;min-height:0;padding:0;font-size:14px}
.merchant-detail{height:var(--merchant-height,364px);max-height:var(--merchant-height,364px);padding:27px 9px 6px}
.merchant-detail .native-shop-tabs{gap:6px;margin-bottom:7px}
.merchant-detail .native-shop-tabs button{flex:1;min-height:32px}
.native-shop-tabs [aria-pressed=true]{filter:none;background-color:#554c32!important;color:#fff0b8!important}
.merchant-detail h3{margin:8px 0 4px;font-size:12px}
.merchant-detail p{font-size:11px;margin:6px 0;line-height:1.5}
.merchant-detail input{height:30px}
.merchant-detail [data-native-trade]{min-height:34px!important;width:100%}
.merchant-detail [data-trade-status]:empty{display:none}
.desktop-client #panel .merchant-item-list button,
.desktop-client #panel .merchant-pages button{border:0;border-image:none;background:none;min-height:0;padding:1px 3px}
.desktop-client #panel .merchant-item-list button{font-size:11px}
.desktop-client #panel .merchant-pages button{padding:2px 8px;font-size:11px}
@media(max-height:500px){
 .desktop-client .source-window,.desktop-client.touch-client .source-window{width:610px}
 .desktop-client #window-character.source-window,.desktop-client.touch-client #window-character.source-window{width:550px}
 .desktop-client .source-window .native-sidecar{height:var(--native-board-height);max-height:var(--native-board-height);padding:22px 9px 7px;font-size:12px}
 .desktop-client .source-window .native-sidecar button{min-height:34px;font-size:12px}
 .desktop-client .source-window .native-sidecar input,.desktop-client .source-window .native-sidecar select{height:34px;min-height:34px;font-size:16px}
 .desktop-client.touch-client #panel .merchant-detail input{height:34px;min-height:34px;font-size:16px}
 .desktop-client.touch-client #panel .merchant-detail button{min-height:32px;font-size:12px}
 .desktop-client.touch-client #panel .merchant-item-list button,.desktop-client.touch-client #panel .merchant-pages button{min-height:0;font-size:11px}
}
/* Cover the complete baked Japanese currency caption, not just its digits. */
.merchant-gold{left:133px;top:109px;width:190px;height:24px;line-height:24px;background:#101410}

/* Native transaction composition: MerchantFrame/0 supplies the menu and item
   description well; ItemCountDialog/0 remains a separate quantity control at
   its original 191×119 size. ScriptButton art marks the original actions. */
.desktop-client #panel[data-native-panel=shop]{width:640px}
.desktop-client #panel[data-native-panel=shop] .dialog-head{left:auto;right:8px;top:4px;width:25px;padding:0;min-height:25px}
.desktop-client #panel[data-native-panel=shop] .dialog-head h2{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.merchant-detail{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:5px;height:var(--merchant-height,364px);max-height:var(--merchant-height,364px);min-width:0;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;background:none;border:0;border-image:none;color:#eddfba;font:12px var(--font);scrollbar-width:thin;scrollbar-color:#817456 transparent}
.merchant-menu-wrap{width:100%;height:var(--merchant-menu-height,195px);flex:none;position:relative}
.native-merchant-menu{position:absolute;left:0;top:0;width:347px;height:232px;transform:scale(var(--merchant-detail-scale,.84));transform-origin:top left;background-image:url('/assets/ui/merchant-0-0.png'),linear-gradient(#101410,#101410);background-position:0 0,13px 26px;background-size:347px 232px,319px 176px;background-repeat:no-repeat}
.merchant-menu-title{position:absolute;left:30px;top:3px;width:134px;height:17px;line-height:17px;background:#514735;font-size:13px;text-shadow:1px 1px #000}
.merchant-detail .native-shop-tabs{position:absolute;left:20px;top:40px;width:95px;display:flex;flex-direction:column;gap:8px;margin:0}
.desktop-client #panel .merchant-detail .native-shop-tabs button{display:flex;align-items:center;gap:9px;width:95px;height:31px;min-height:31px;padding:4px 0;border:0;border-image:none;border-radius:0;background:none!important;color:#c8bd9a;font-size:14px;text-align:left;box-shadow:none;filter:none}
.desktop-client #panel .merchant-detail .native-shop-tabs button[aria-pressed=true]{color:#ffe6a2!important;text-shadow:0 0 5px #c79b5666}
.desktop-client #panel .merchant-detail .native-shop-tabs button[aria-pressed=true]::after{content:"";width:5px;height:5px;flex:none;background:url('/assets/ui/script-button-10-0.png') center/contain no-repeat}
.native-shop-tabs i{display:block;flex:none;width:30px;height:18px;background-position:center;background-repeat:no-repeat}
.native-shop-tabs [data-shop-mode=buy] i{background-image:url('/assets/ui/script-button-12-0.png')}
.native-shop-tabs [data-shop-mode=sell] i{background-image:url('/assets/ui/script-button-12-0.png')}
.native-shop-tabs [data-shop-mode=buy][aria-pressed=true] i{background-image:url('/assets/ui/script-button-12-1.png')}
.native-shop-tabs [data-shop-mode=sell][aria-pressed=true] i{background-image:url('/assets/ui/script-button-12-1.png')}
.merchant-detail .merchant-search{position:absolute;left:129px;top:36px;width:181px;height:28px;margin:0}
.desktop-client #panel .merchant-detail .merchant-search input{width:100%;height:28px;min-height:28px;margin:0;padding:2px 5px;border:0;border-bottom:1px solid #847555;border-radius:0;background:#151912;color:#ecdfbd;font:14px var(--font)}
.merchant-selected-icon{position:absolute;left:44px;top:127px;width:42px;height:42px;display:grid;place-items:center;background:url('/assets/ui/merchant-1-0.png') -118px -142px no-repeat}
.merchant-selected-icon .native-item-icon{width:32px;height:32px}
.merchant-selected-icon small{position:absolute;top:50px;left:-15px;width:72px;text-align:center;font-size:12px;color:#b4a88a}
.merchant-product{position:absolute;left:136px;top:80px;width:164px;height:108px;overflow:auto;scrollbar-width:thin}
.merchant-detail .merchant-product h3{margin:0 0 5px;font-size:14px;line-height:1.35;color:#f2dca6}
.merchant-detail .merchant-product p{margin:3px 0;font-size:12px;line-height:1.35}
.merchant-detail .merchant-product .merchant-description{color:#c0b796;font-size:11px;line-height:1.45}
.native-item-count{position:relative;width:191px;height:119px;flex:none;margin:0;background-image:url('/assets/ui/item-count-0-0.png'),linear-gradient(#101410,#101410);background-position:0 0,12px 29px;background-size:191px 119px,167px 57px;background-repeat:no-repeat}
.merchant-count-title{position:absolute;left:27px;top:5px;width:98px;line-height:17px;font-size:12px;background:#514735;color:#f1dfb3;text-shadow:1px 1px #000}
.merchant-detail .native-item-count .trade-total{position:absolute;left:18px;top:33px;width:155px;margin:0;background:#101410;text-align:center;line-height:17px;font-size:11px;white-space:nowrap}
.desktop-client #panel .merchant-detail .native-item-count input{position:absolute;left:56px;top:60px;width:94px;height:21px;min-height:21px;margin:0;padding:0 5px;border:0;border-radius:9px;background:#363b37;color:#fff0c9;text-align:center;line-height:21px;font:14px var(--font);appearance:textfield}
.native-item-count input::-webkit-inner-spin-button,.native-item-count input::-webkit-outer-spin-button{appearance:none;margin:0}
.desktop-client #panel .merchant-detail [data-native-quantity-step]{position:absolute;top:57px;width:27px;height:27px;min-height:27px;padding:0;border:0;border-image:none;background-color:transparent;background-position:center;background-size:18px 18px;background-repeat:no-repeat;box-shadow:none}
.desktop-client #panel .merchant-detail [data-native-quantity-step="-1"]{left:24px;background-image:url('/assets/ui/script-button-11-0.png')}
.desktop-client #panel .merchant-detail [data-native-quantity-step="1"]{right:7px;background-image:url('/assets/ui/script-button-12-0.png')}
.desktop-client #panel .merchant-detail [data-native-trade]{position:absolute;left:10px;top:90px;display:flex;align-items:center;justify-content:center;gap:8px;width:169px;height:27px;min-height:27px!important;padding:0;border:0;border-image:none;background:none;color:#332713;text-shadow:0 1px #e4d5b180;font-size:12px;font-weight:600;box-shadow:none}
.desktop-client #panel .merchant-detail [data-native-trade] i{width:18px;height:18px;background:url('/assets/ui/script-button-12-0.png') center no-repeat}
.desktop-client #panel .merchant-detail [data-native-trade]:disabled{opacity:.4}
.desktop-client #panel .merchant-detail [data-native-trade]:hover:not(:disabled){background:none;color:#0b1307;filter:brightness(1.2)}
.merchant-detail [data-trade-status]{flex:none;width:calc(100% - 24px);margin:0 0 3px;line-height:1.45;font-size:11px;text-align:center;color:#ffedbf;text-shadow:1px 1px #000;background:#101410c9}
/* A literal 83×10 crop of the blank metal in skills-1-0 (152,4)-(235,14).
   Tile this plain material only; do not stretch a window or its baked label
   into every ordinary action. */
.desktop-client .native-sidecar button,.desktop-client #panel button{border:1px solid #9b8b69;border-image:none;border-radius:2px;background:#827963 url('/assets/ui/native-control-metal.png') repeat-x center;background-size:auto 100%;color:#201d13;font-weight:600;text-shadow:0 1px #e7d7b67a;box-shadow:inset 0 1px #f0dfb24d,0 1px 2px #0005}
.desktop-client .native-sidecar button:hover:not(:disabled){background-color:#97876b;filter:brightness(1.13)}

/* Keep transaction panes below the persistent HUD and fit both native controls. */
.desktop-client #panel[data-native-panel=shop]{top:max(42px,calc(env(safe-area-inset-top,0px) + 40px));bottom:auto;margin:0 auto;max-height:calc(100dvh - 54px)}
.native-merchant-menu{left:var(--merchant-menu-left,0px)}

/* 熟練度 (2026-10-13): unmet 前置熟練度 in red; the mastery note in the skill panel. */
.item-requirement-unmet{color:#e0705a}
.skill-mastery small{opacity:.72}
