/* Paradise Warriors: responsive presentation; V3 rules remain in the engine. */
/* B-UI-r2 changes are grouped at the end; see docs/b-ui-r2/PLAN.md. */
:root{--next-gold:#b59b61;--next-line:#6b5c3b;--next-ink:#0c100e;--next-text:#e7ddc5}
.next-ui body{background:#090c0a;color:var(--next-text);font-size:14px}
.next-ui #game-screen:not(.hidden){display:grid!important;grid-template-columns:minmax(230px,20%) minmax(0,1fr) minmax(280px,24%);grid-template-rows:64px minmax(0,1fr);gap:10px!important;padding:0 10px 10px;overflow:hidden}
.next-ui #mobile-vitals{display:none!important}
#next-header{grid-column:1/-1;display:flex;align-items:center;gap:18px;border-bottom:2px solid var(--next-line);background:linear-gradient(110deg,#191b13,#080d0b 45%,#151911);padding:0 12px;margin:0 -10px}
.next-brand{font-family:Georgia,'Microsoft JhengHei',serif;font-size:30px;color:#e2c57d;letter-spacing:3px;text-decoration:none;line-height:1.05;white-space:nowrap}
.next-brand small{display:block;font:9px/1.8 Georgia,serif;letter-spacing:2.5px;color:#9f9169}
#next-nav{display:flex;flex:1;align-self:stretch;gap:4px}
.next-ui button,.next-ui select{touch-action:manipulation}
#next-header button,#next-mobile-nav button,#next-shortcuts button,#next-automation>button,#next-drawer-head button{border:1px solid var(--next-line);border-radius:2px;background:linear-gradient(#24271d,#0c120d);color:var(--next-text);min-height:44px;padding:8px 14px;font-size:15px;cursor:pointer}
#next-nav button{border:0;border-bottom:2px solid transparent;background:transparent;flex:1;padding:6px;white-space:nowrap}
#next-nav button:hover,#next-nav button:focus-visible{border-bottom-color:#97cc66;background:linear-gradient(transparent,#1e351a)}
.next-storage-label{font-size:12px;color:#b9c9a5;white-space:nowrap}
.next-ui :focus-visible{outline:2px solid #c2e78a;outline-offset:2px}
.next-ui #col-left,.next-ui #col-center,.next-ui #col-right{width:auto!important;min-width:0;min-height:0;gap:10px!important;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#766541 #101510}
.next-ui .panel{border:1px solid var(--next-line);border-radius:3px;background:linear-gradient(130deg,rgba(28,32,24,.98),rgba(7,12,10,.98));box-shadow:inset 0 0 0 2px #171b14,0 2px 4px #0008}
.next-ui .panel-header{background:linear-gradient(#1c2118,#10150f)!important;color:#dbc892;border-color:var(--next-line)!important;font-size:16px;padding:10px 12px;letter-spacing:1px}
.next-ui #status-panel{background-image:none!important;background-color:#0d130f!important}
.next-ui #status-panel{display:grid;grid-template-columns:76px minmax(0,1fr);align-content:start;padding:10px;gap:6px}
#next-portrait{grid-column:1;grid-row:1/3;width:76px;height:110px;object-fit:cover;object-position:top;border:1px solid #a18c51}
.next-ui #status-panel>.panel-header{grid-column:2;padding:0 4px;min-height:25px;font-size:16px;letter-spacing:0}
.next-ui #status-panel .status-compact-body{grid-column:2;padding:0 4px;gap:5px}
.next-ui #status-panel .status-defense-row{flex-direction:row;justify-content:space-between;font-size:12px;gap:10px}
.next-ui #status-panel .status-weight-row{display:flex;align-items:center;min-height:17px;color:#f0ebe2;font-size:12px;line-height:1.25;white-space:nowrap}
.next-ui #status-panel .status-weight-row[data-load-tier="1"]{color:#e4c15f}
.next-ui #status-panel .status-weight-row[data-load-tier="2"],.next-ui #status-panel .status-weight-row[data-load-tier="3"]{color:#e06b63}
.next-ui #status-panel .status-level-row,.next-ui #status-panel .status-gold-row{font-size:13px}
.next-ui #status-panel .status-vitals-row{display:grid;position:static;aspect-ratio:auto;grid-template-columns:1fr;background:none;padding:0;gap:5px}
.next-ui #status-panel .status-vitals-row>.compact-vital-bar{position:relative;inset:auto;width:100%;height:20px;min-height:20px;transform:none;border-radius:0}
.next-ui #status-panel .status-vitals-row .bar-fill{border-radius:0}
.next-ui #status-panel .status-vitals-row .bar-text,.next-ui #status-panel .status-exp-bar .bar-text{font-size:12px;line-height:20px;inset:0;transform:none}
.next-ui #status-panel .status-exp-bar{height:20px;width:100%}
#next-attributes{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px;padding-top:10px;border-top:1px solid #574d33;color:#bfaa73;font-size:14px}
#next-attributes span{display:flex;justify-content:space-between}#next-attributes b{color:#ded9c8}
.next-ui .status-compact-body{padding:14px;gap:10px}
.next-ui .bar-bg{border:1px solid #675035;border-radius:1px;min-height:19px;background:#080b08}
.next-ui .bar-text{font-size:13px;text-shadow:0 1px 3px #000}
.next-ui #bar-hp{background:linear-gradient(#ab3023,#561411)}
.next-ui #bar-mp{background:linear-gradient(#2876b2,#173454)}
.next-ui #bar-exp{background:linear-gradient(#b49535,#65501b)}
.next-ui #col-center #map-view-panel{flex:0 0 auto!important;min-height:0}
.next-ui #map-view-panel>.panel-header{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px}
.next-ui #map-view-panel>.panel-header>span{font-size:14px;justify-content:space-between}
.next-ui #map-view-panel>.panel-header>div{display:flex;flex-wrap:wrap;gap:5px}
.next-ui #map-view-panel button,.next-ui #map-view-panel select{font-size:13px;min-height:36px;padding:4px 8px;border-color:var(--next-line);background:#161d13;color:#e1d5b4;max-width:100%;min-width:0}
.next-ui #map-category{flex:0 1 80px}.next-ui #map-select{flex:1;min-width:100px!important}
.next-ui #battle-view:not(.hidden),.next-ui #town-view:not(.hidden){width:100%!important;max-width:none!important;aspect-ratio:16/9!important;height:auto!important;min-height:0;flex:0 0 auto;padding:0!important}
.next-ui #battle-view.area-fit #mob-list{height:clamp(160px,18vw,242px)!important;gap:5px!important}
.next-ui #town-npc-map{width:100%;height:100%}
#next-target{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:15;pointer-events:none;max-width:80%;width:250px;background:#071008df;border:1px solid #8b733e;padding:5px 10px;color:#eee0b6;font-size:13px;text-align:center;border-radius:3px}#next-target[hidden]{display:none}#next-target progress{display:block;width:100%;height:7px;margin-top:5px;accent-color:#bb362b}#next-target progress::-webkit-progress-bar{background:#321916}#next-target progress::-webkit-progress-value{background:#af3228}
.next-ui #col-center #log-row{flex:1 0 210px!important;min-height:210px;gap:0}
.next-ui #syslog-panel{display:none!important}.next-ui #log-row.next-world #syslog-panel{display:flex!important}
.next-ui #log-row.next-world #combat-log-panel{display:none!important}
.next-ui #combat-log-panel,.next-ui #syslog-panel{width:100%;height:100%!important;min-height:210px;flex:1!important}
.next-ui #combat-log,.next-ui #sys-log,.next-ui #world-log{font-size:14px;padding:10px!important;background:#090f0bc9}
.next-ui #combat-filter-pills{gap:4px}.next-ui .cf-pill{min-height:32px;font-size:12px}
#next-gains{display:flex;justify-content:space-around;gap:8px;padding:12px 8px;font-size:13px;flex-shrink:0}
#next-gains b{color:#dfc367}#next-gains>span{white-space:nowrap}
#next-gains.panel{flex-direction:row;align-items:center}
#next-town-services{flex-shrink:0;padding:8px 12px}#next-town-services[hidden]{display:none}#next-town-services summary{min-height:36px;line-height:36px;cursor:pointer;color:#cdbb88;font-size:13px}#next-town-services>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#next-town-services button{min-height:44px;background:#1a2516;border:1px solid #786644;padding:6px;color:#ded3b4;font-size:14px}
#next-automation{flex-shrink:0}#next-auto-controls>div{background:transparent;border:0;border-bottom:1px solid #4c452e;border-radius:0;padding:12px}
#next-auto-controls input:not([type=checkbox]),#next-auto-controls select{min-height:40px;background:#0c120d;border:1px solid #655c40;color:#e7ddc5;font-size:13px;max-width:100%}
#next-auto-controls input[type=checkbox]{width:22px;height:22px;accent-color:#6fa743}
#next-auto-controls label{min-height:44px;font-size:13px}
#next-automation>button{margin:10px;width:calc(100% - 20px)}
/* Keep wrapped status text inside its frame; the left column handles short-screen scrolling. */
#next-session{flex:1 0 auto;min-height:185px}#next-session p{margin:14px;font-size:14px}#next-battle-status{color:#99d867}.next-muted{color:#a29e8b;font-size:12px!important;line-height:1.7}
.next-ui #col-right>.tab-bar{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px}
.next-ui #col-right>.tab-bar button{background:linear-gradient(#23281e,#0b110d)!important;color:#dfd3b5!important;border:1px solid #5f593e!important;border-radius:2px;box-shadow:none!important;font-size:13px;min-height:38px;padding:4px 2px}
.next-ui #col-right>.tab-bar button.active{color:#eaf3d8!important;border-color:#92b967!important;background:linear-gradient(#293d1c,#132015)!important;box-shadow:inset 0 -3px 0 #92b967!important}
.next-ui #col-right>.tab-bar .next-modal-action::after{content:' ▣';color:#cdbd95;font-size:12px}
.next-ui #tab-content-panel{flex:1 0 340px;min-height:340px;height:auto}
.next-ui #tab-equip{position:relative;padding:0!important}
.next-ui #equipment-window.equipment-window-embedded{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2;background:#0c110d}
.next-ui #tab-content-panel.equipment-panel-host #tab-equip{visibility:hidden}
.next-ui #item-modal{z-index:160!important}.next-ui #collection-panel,.next-ui #card-book,.next-ui #equip-book,.next-ui #misc-book,.next-ui #relic-book{z-index:150!important}
.next-ui :is(#autosell-rule-modal .as-box,#autosell-preview-modal>div,#poly-modal>div,#osiris-box-modal>div,
 #summon-select-overlay>div,#pet-evo-overlay>div,#pet-gear-overlay>div,#pvp-arena-modal>div,#pvp-result-modal>div,
 #card-book>div,#equip-book>div,#misc-book>div,#relic-book>div,#collection-panel>div,#modal-compare,#item-modal>div:not(#modal-compare)){
 background:linear-gradient(#21251b,#0c120d)!important;border-color:#947d46!important;color:var(--next-text)!important}
.next-ui #modal-item-name img{width:48px!important;height:48px!important;object-fit:contain;flex-shrink:0}
.next-ui #modal-item-name>div{min-width:0;gap:8px}.next-ui #modal-item-name>div>span{overflow-wrap:anywhere}
.next-ui #st-class{min-width:44px;min-height:32px;line-height:1.5;cursor:pointer}
.next-ui #st-class:not(:has(input))::after{content:' ✎';font-size:14px;color:#c8b477}
.next-ui #st-class:focus-visible{outline:2px solid #e0c57e;outline-offset:2px}
.next-ui #status-panel>.panel-header{color:#dbc892!important}
.next-ui .tn-title{font-size:12px!important;text-shadow:0 1px 2px #000,0 0 4px #000e}
.next-ui .classic-icon-corner-value.is-count{font-size:12px!important;line-height:1.2}
.next-ui .logtab-btn,.next-ui #log-row .panel-header>button{min-height:32px;min-width:44px}
#next-town-services button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow-wrap:anywhere}
#next-town-services button strong{font-size:14px}#next-town-services button small{font-size:12px;color:#c1cbb6}
.next-ui .classic-inventory-scroll{top:auto;bottom:12px;width:24%;height:44px;min-width:44px;opacity:1;border:1px solid #786644;border-radius:4px;background:linear-gradient(#24271d,#0c120d);color:#e7ddc5;font-size:18px}
.next-ui .classic-inventory-scroll-up{left:14%;right:auto}.next-ui .classic-inventory-scroll-up::after{content:'↑'}
.next-ui .classic-inventory-scroll-down{right:14%;left:auto}.next-ui .classic-inventory-scroll-down::after{content:'↓'}
.next-ui .classic-sort-wrap{left:calc(50% - 22px);top:auto;bottom:12px;width:44px;height:44px}
.next-ui .classic-sort-menu{left:50%;top:auto;bottom:calc(100% + 8px);transform:translateX(-50%);width:180px}
.next-ui .classic-sort-menu button{min-height:44px}
.next-ui #modal-lock-icon{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #7f714e;border-radius:4px;background:#1c251b;flex-shrink:0}
.next-ui #modal-lock-icon:focus-visible{outline:2px solid #e0c57e;outline-offset:2px}
.next-ui #town-interaction-container,.next-ui .warehouse-window-frame,.next-ui #item-modal>div{background:linear-gradient(#21251b,#0c120d)!important;border-color:#947d46!important}
.next-ui .warehouse-window{z-index:170!important}
.next-ui #equipment-window-frame{left:0!important;top:0!important;width:100%!important;height:100%!important;transform:none!important;aspect-ratio:auto;padding:12px;background:radial-gradient(ellipse at 50% 35%,#333724,#0c110d 70%)}
.next-ui .equipment-window-bg{opacity:.16;object-fit:contain}
.next-ui #equipment-window-slots{position:absolute;inset:14px 12px 58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(56px,1fr);gap:8px;overflow:auto;pointer-events:auto}
.next-ui .equipment-visual-slot{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-height:56px;transform:none!important;background:#0b100dc9;border:1px solid #786640;border-radius:2px;padding:4px 4px 20px}
.next-ui .equipment-visual-slot::after{content:attr(data-slot-label);position:absolute;bottom:3px;left:0;width:100%;font:12px/1.2 'Microsoft JhengHei',sans-serif;color:#c1b184;text-align:center}
.next-ui .equipment-visual-slot img{height:40px;width:40px;object-fit:contain}
.next-ui #equipment-window-prev,.next-ui #equipment-window-next{top:auto!important;bottom:8px!important;height:40px!important;width:28%!important;color:#e2d3a2!important;border:1px solid #867344;background:#182114;font-size:14px}
.next-ui #equipment-window-prev{left:8px!important}.next-ui #equipment-window-next{left:calc(28% + 16px)!important}
.next-ui #equipment-window-prev::before{content:'裝備'!important}.next-ui #equipment-window-next::before{content:'遺物'!important}
#next-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;flex-shrink:0}
#next-mobile-nav,#next-drawer-head{display:none}#next-shade[hidden]{display:none}
.next-ui .ability-window-shell{background:none;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;width:100%;max-width:none;container-type:normal}
.next-ui .ability-primary-control{position:static;display:flex;width:auto;height:auto;min-height:40px;font:14px/1.4 Arial,sans-serif;border-bottom:1px solid #454633;gap:8px}
.next-ui .ability-primary-control label{color:#bca46c;margin-right:auto}.next-ui .ability-primary-control button{font-size:16px;min-width:28px;width:28px;height:32px}
.next-ui .ability-window-shell>div:not(.ability-primary-control):not(.hidden){position:static;width:auto;height:auto;grid-column:1/-1;font-size:14px}
.next-ui .ability-detail-column{display:flex!important;flex-direction:column;gap:0;font:14px/1.4 'Microsoft JhengHei',sans-serif!important}
.next-ui .ability-detail-column>div{min-height:30px;border-bottom:1px solid #343d2d}.next-ui .ability-detail-column strong{font:14px/1.4 Arial,sans-serif!important}.next-ui .ability-detail-column span{padding-left:0}
@media(min-width:901px) and (max-height:800px){
 .next-ui #game-screen:not(.hidden){grid-template-rows:56px minmax(0,1fr);gap:7px!important}
 #next-header{gap:10px}.next-brand{font-size:25px}.next-storage-label{display:none}
 .next-ui #col-left,.next-ui #col-center,.next-ui #col-right{gap:7px!important}
 .next-ui #col-center #log-row{min-height:180px;flex-basis:180px!important}
 .next-ui #col-center #map-view-panel{width:100%}.next-ui #battle-view:not(.hidden),.next-ui #town-view:not(.hidden){width:min(100%,calc((100dvh - 390px)*16/9))!important;max-height:none!important;align-self:center}
 #next-automation .next-attack{padding:8px 12px}#next-automation>button{margin:6px 10px}#next-auto-controls>div{padding:8px 12px}
 #next-session{min-height:145px}#next-session p{margin:9px}
  .next-ui #status-panel{padding:8px}.next-ui #status-panel .status-compact-body{gap:3px}.next-ui #status-panel .status-defense-row{display:flex}
 #next-attributes{grid-template-columns:repeat(3,1fr);gap:5px 10px;padding-top:7px;font-size:12px}
 #next-automation .panel-header{padding:8px 12px}#next-auto-controls>div{padding:6px 10px}#next-automation .next-attack{padding:6px 10px}
 #next-session{min-height:140px}#next-session .panel-header{padding:8px 12px}#next-session p{margin:8px;font-size:12px}
 .next-ui #tab-content-panel{min-height:300px;flex-basis:300px}
}
@media(max-width:900px){
 .next-ui #game-screen:not(.hidden){display:flex!important;flex-direction:column;position:absolute;inset:0;height:100dvh;width:100%;overflow-y:auto;overflow-x:hidden;padding:0 7px 78px;gap:8px!important}
 #next-header{order:-10;min-height:62px;margin:0 -7px;padding:8px 12px;gap:6px;flex-shrink:0}
 .next-brand{font-size:26px;margin-right:auto}.next-brand small{font-size:8px}
 #next-nav{display:none}.next-storage-label{font-size:10px}#next-header .next-settings{padding:5px 12px}
 .next-ui #col-left{display:contents!important}.next-ui #status-panel{order:-9;flex-shrink:0;margin:0}
 .next-ui #status-panel .panel-header{padding:8px 12px}.next-ui .status-compact-body{padding:10px;gap:7px}
 .next-ui #status-panel{grid-template-columns:64px minmax(0,1fr);padding:8px;gap:3px}
 .next-ui #status-panel>.panel-header{padding:0 4px!important}.next-ui #status-panel .status-compact-body{padding:0 4px!important;gap:3px}
 #next-portrait{width:64px;height:100px}#next-attributes{display:none}
  .next-ui #status-panel .status-defense-row{display:flex;justify-content:flex-start;gap:16px;font-size:13px}
 .next-ui #col-center{order:-8;overflow:visible;display:contents!important}
 .next-ui #map-view-panel{order:-7;width:100%;flex-shrink:0}
 .next-ui #map-view-panel>.panel-header>div{width:100%;gap:4px}
 .next-ui #map-view-panel button{flex:1 1 auto!important;min-height:44px;font-size:12px}
 .next-ui #map-view-panel select{min-height:44px;font-size:14px}
 .next-ui #map-category{flex:0 1 28%!important}.next-ui #map-select{flex:1 1 65%!important}
 .next-ui #battle-view:not(.hidden){aspect-ratio:1/1!important}
 .next-ui #battle-view.area-fit #mob-list{height:210px!important;gap:3px!important}
 .next-ui #battle-view .mob-name{font-size:12px;line-height:1.4}
 #next-gains{order:-6;font-size:12px;padding:12px 4px}
 #next-town-services{order:-6}
 #next-automation{order:-5}#next-auto-controls{display:block}
 #next-auto-controls input:not([type=checkbox]),#next-auto-controls select{font-size:16px;min-height:44px}
 #next-session{order:0;flex:0 0 auto;min-height:0}#next-session .next-muted{margin-bottom:12px}
  .next-ui #log-row{order:-4;display:flex;width:100%;height:clamp(320px,45dvh,380px);min-height:320px!important;flex:0 0 clamp(320px,45dvh,380px)!important}
  .next-ui #combat-log-panel,.next-ui #syslog-panel{height:100%!important;min-height:0!important;flex:1!important}
  .next-ui #combat-log-panel>.panel-header{display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto;min-width:0;gap:6px}
  .next-ui #combat-filter-pills{width:100%;max-width:100%;min-width:0;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .next-ui #combat-filter-pills>.cf-pill{flex:0 0 auto;white-space:nowrap}
  .next-ui #combat-log,.next-ui #sys-log{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .next-ui .logtab-btn,.next-ui .cf-pill{min-height:44px!important}.next-ui #squad-panel{order:1;flex-shrink:0}
 .next-ui #col-right{display:none!important}
 .next-ui #col-right.next-drawer{display:flex!important;position:fixed;inset:8px 7px 76px;z-index:101;width:auto!important;min-height:0;overflow:auto;background:#0c110d;padding:8px;border:1px solid #a18d56;border-radius:5px}
 #next-drawer-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-8px;background:#121b11;z-index:5;padding:8px;font-size:18px}
 #next-shade:not([hidden]){position:fixed;inset:0;z-index:100;background:#000a;border:0}
 .next-ui #col-right>.tab-bar{top:0;flex-shrink:0}.next-ui #col-right>.tab-bar button{min-height:44px;font-size:14px}
 .next-ui #tab-content-panel{height:520px;min-height:420px;flex:1 0 420px}
 .next-ui #tab-content-panel.equipment-panel-host{height:520px!important;min-height:520px!important;flex:0 0 520px!important}
 #next-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:110;height:68px;padding:5px 5px max(5px,env(safe-area-inset-bottom));gap:3px;background:#0d130efa;border-top:1px solid #ad9457}
 #next-mobile-nav button{flex:1;padding:5px 1px;font-size:13px;min-width:0}
 .next-ui #town-interaction-container:not(.hidden){max-width:calc(100vw - 14px);max-height:calc(100dvh - 90px);z-index:120}
 .next-ui #tab-automation{font-size:14px;padding:10px}.next-ui #tab-automation input:not([type=checkbox]),.next-ui #tab-automation select{font-size:16px;min-height:44px}
 .next-ui #shop-items-list>.list-item{flex-direction:column!important;align-items:stretch!important;gap:10px;padding:10px!important}
 .next-ui #shop-items-list>.list-item>div:first-child{width:100%;gap:10px!important;min-width:0}
 .next-ui #shop-items-list>.list-item>div:first-child>div:last-child{min-width:0;flex:1}
 .next-ui #shop-items-list .truncate{white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:16px}
 .next-ui #shop-items-list>.list-item>div:last-child:not(:first-child){align-self:flex-end;gap:8px}
 .next-ui #shop-items-list input,.next-ui #shop-items-list button{min-height:44px;font-size:16px}
 .next-ui .warehouse-window-frame{height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important}
 .next-ui #warehouse-window button,.next-ui #warehouse-window input,.next-ui #warehouse-window select,
 .next-ui #interaction-content button,.next-ui #interaction-content input:not([type=checkbox]),.next-ui #interaction-content select{min-height:44px!important}
 .next-ui #warehouse-window input,.next-ui #warehouse-window select,
 .next-ui #interaction-content input:not([type=checkbox]),.next-ui #interaction-content select{font-size:16px!important;max-width:100%}
 .next-ui .next-pet-row{display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px;padding:12px 8px}
 .next-ui .next-pet-row>button{grid-column:1;grid-row:1;width:44px!important}
 .next-ui .next-pet-row>span:nth-child(2){grid-column:1;grid-row:2}
 .next-ui .next-pet-info{grid-column:2;grid-row:1/span 2;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
 .next-ui .next-pet-info .text-xs{font-size:13px}
 .next-ui .next-pet-actions{grid-column:1/-1;max-width:none!important;width:100%;gap:6px;padding-top:6px}
 .next-ui .next-pet-actions button{flex:1 1 44px;font-size:14px}
 .next-ui #town-npc-map .town-npc .tn-label{display:none!important}
 #next-town-services summary{min-height:44px;line-height:1.5;padding:10px 0;font-size:14px}
 .next-ui #st-class{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}
 .next-ui .cf-pill{min-width:44px!important}
 .next-ui .logtab-btn,.next-ui #log-row .panel-header>button,.next-ui #modal-actions button,.next-ui #item-modal>div>button{min-height:44px!important;min-width:44px}
 .next-ui #item-modal:not(.hidden){justify-content:center;max-height:calc(100dvh - 16px)!important}
 .next-ui #item-modal>div:not(#modal-compare){flex:0 1 auto;max-height:calc(100dvh - 32px)}
 .next-storage-label{font-size:12px!important}
 .next-ui #name-edit-input{font-size:16px!important;min-height:44px}.next-ui #st-class>button{min-width:44px;min-height:44px}
 /* Ordinary five-slot band only: leave boss, siege and duel coordinates unchanged. */
 .next-ui #battle-view.area-fit #mob-list:has(>.mob-back):not(:has(>.boss-slot,>.boss-zoom,>.siege-fixed,>.duel-fixed)){padding-left:65px!important;padding-right:55px!important;gap:0!important;box-sizing:border-box}
 .next-ui #battle-view.area-fit #mob-list:has(>.mob-back):not(:has(>.boss-slot,>.boss-zoom,>.siege-fixed,>.duel-fixed))>.mob-target{flex:1 1 0%!important;padding-left:0!important;padding-right:0!important}
}

/* B-UI-r2 batch 1: presentation only; original handlers and eligibility rules remain. */
.next-ui #tab-automation{color:var(--next-text);background:#0c120d}
.next-ui #tab-automation :is(.bg-slate-800,.bg-slate-900,.bg-slate-700){background:linear-gradient(#21251b,#0c120d)!important;border-color:#75643e!important}
.next-ui #tab-automation [class*="border-slate"]{border-color:#75643e!important}
.next-ui #tab-automation :is(input,select){accent-color:var(--next-gold);color:var(--next-text);border-color:#75643e}
.next-ui #tab-automation input:not([type=checkbox]),.next-ui #tab-automation select{min-height:44px!important;font-size:16px;background:#10170e!important;max-width:100%}
.next-ui #tab-automation label:has(input[type=checkbox]){display:flex;align-items:center;min-height:44px;min-width:44px;gap:8px;line-height:1.5}
.next-ui #tab-automation input[type=checkbox]{width:22px;height:22px;flex-shrink:0;margin:0}
.next-ui #tab-automation input[type=range]{background:transparent!important}
.next-ui #tab-automation .grid{min-width:0}
.next-ui .classic-list-toolbar{background:linear-gradient(#21251b,#0c120d)!important}
.next-ui .classic-list-toolbar>div{gap:12px!important;flex-wrap:wrap;background:transparent!important;border-color:#75643e}
.next-ui .classic-list-toolbar button{min-width:44px;min-height:44px;font-size:14px;line-height:1.4;padding:8px 12px!important}
.next-ui .classic-list-toolbar button[onclick^="runQuickJunk"]{background:#70421c!important;border:2px solid #d9b367!important;color:#fff0d0!important}
.next-ui .classic-list-toolbar button[onclick^="cancelQuickJunk"]{background:#1a2118!important;border-color:#766947!important;color:#dfd8c4!important}
.next-ui .classic-list-toolbar label{min-height:44px;min-width:70px;gap:8px!important;font-size:14px;padding:4px}
.next-ui .classic-list-toolbar input[type=checkbox]{width:22px;height:22px;accent-color:var(--next-gold);flex-shrink:0}
/* Row checkboxes are indicators (pointer-events:none). The whole original cell remains the hit target. */
.next-ui .classic-inventory-viewport input[type=checkbox]{width:20px;height:20px;accent-color:var(--next-gold)}
.next-ui .classic-icon-box img{width:auto!important;height:88%!important;aspect-ratio:1;max-width:88%;object-fit:contain}
@media(max-width:900px){
 .next-ui #modal-item-desc{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b59b61 #10160e;scrollbar-gutter:stable;min-height:72px;padding-right:6px;border-bottom:1px solid #75643e}
 .next-ui #modal-item-desc::-webkit-scrollbar{width:6px}.next-ui #modal-item-desc::-webkit-scrollbar-thumb{background:#b59b61;border-radius:4px}
 .next-ui #game-screen:not(.hidden){height:calc(100dvh - 68px - env(safe-area-inset-bottom));padding-bottom:16px}
 .next-ui #battle-view:not(.hidden){aspect-ratio:5/4!important}
 #next-mobile-nav{height:calc(68px + env(safe-area-inset-bottom))}
 .next-ui #col-right.next-drawer{bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* Double the world-channel outer panel only; keep combat-log sizing and typography. */
.next-ui #col-center #log-row.next-world{height:420px;min-height:420px!important;flex:0 0 420px!important}
.next-ui #log-row.next-world #syslog-panel{height:100%!important;min-height:0!important}
@media(max-width:900px){
 .next-ui #col-center #log-row.next-world{height:480px;min-height:480px!important;flex-basis:480px!important}
}

/* B-UI-r2 batch 2: identity, original HP bars and anchored target summary. */
.next-ui #status-panel>.next-identity{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;text-align:left;min-width:0}
.next-ui #st-class{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;min-height:44px;min-width:44px;width:100%;padding:4px 6px;text-align:left;line-height:1.5;font-size:18px;overflow-wrap:anywhere}
.next-ui #st-class:empty::before{content:'點此命名';font-size:16px;color:#cabb91;font-weight:400}
#next-identity-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:0 6px;font-size:13px;line-height:1.6;color:#c5bb9c}
#next-identity-meta #st-lv{font-size:inherit;line-height:inherit}
.next-ui #status-panel .status-level-row{display:none}
.next-ui #name-edit-input{min-height:44px;font-size:16px!important;max-width:calc(100% - 50px)}
.next-ui #st-class>button{min-width:44px;min-height:44px}
.next-vital-label{position:absolute;left:5px;top:0;z-index:2;font:700 12px/20px Arial,sans-serif;color:#f2e6c8;text-shadow:0 1px 2px #000;pointer-events:none}
.next-ui #status-panel :is(.status-vitals-row,.status-exp-bar) .bar-text{left:32px;right:2px}
.next-ui #status-panel .status-exp-bar{position:relative}
#next-target{width:clamp(160px,24%,280px);max-width:calc(100% - 16px);font-size:12px;padding:4px 8px;line-height:1.5}
#next-target progress{height:5px;margin-top:3px}
/* Absolute bars keep original sprite/weapon/shadow boxes and click targets unchanged. */
.next-ui #battle-view.area-fit .mob-target>.mob-hp-bar{position:absolute!important;left:50%!important;top:28px!important;bottom:auto!important;width:70%!important;max-width:110px;min-width:30px;height:6px!important;transform:translateX(-50%);margin:0!important;padding:0!important;z-index:5;pointer-events:none}
.next-ui #battle-view.area-fit .mob-hp-bar>div{width:100%!important;height:5px!important;background:#30241a!important;border:1px solid #b59b6180;border-radius:2px!important}
.next-ui #battle-view.area-fit .mob-hp-bar>div>div{background:#bd493b!important}
#next-wander-board{display:none}
#next-wander-board[hidden]{display:none!important}
@media(min-width:901px) and (max-width:1400px){
 #next-wander-board{display:flex;gap:8px;align-items:center;padding:4px 8px;background:#172014;border-bottom:1px solid #75643e;flex-shrink:0}
 #next-wander-board>strong{font-size:12px;color:#cab782;white-space:nowrap}
 #next-wander-board>button{min-width:44px;min-height:44px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #75643e!important;background:#212919!important;color:#e3d3a4!important;font-size:12px!important}
 .next-ui #town-npc-map .wandering-player .tn-label{display:none!important}
}

/* 🕯️ 回憶蠟燭配點框（#alloc-edit-bar）：style.css 的絕對定位／cqw 字級是配 400×825 能力底圖用的；NEXT 清單排版把
   .ability-window-shell 改成 container-type:normal 的 grid，cqw 退化成視窗寬度 → 「剩餘點數」與提示字爆大、
   確認／取消框被推到 #tab-content-panel（overflow:hidden）之外，按鈕根本按不到（2026-09-26 回報）。
   這裡在 NEXT 排版下改成一般區塊：緊接在六大屬性列之後、細項欄之前，px 字級、可點擊。 */
.next-ui .ability-window-shell>#alloc-edit-bar:not(.hidden){position:static;inset:auto;z-index:auto;pointer-events:auto;display:flex;flex-direction:column;gap:8px;order:0;grid-column:1/-1;width:auto;height:auto;margin-top:2px}
.next-ui .ability-detail-column,.next-ui .ability-hidden-values,.next-ui .ability-buffs{order:1}
.next-ui .ability-respec-points{position:static;width:auto;height:auto;display:block;font:700 18px/1.3 Arial,sans-serif;text-align:center}
.next-ui .ability-respec-points::before{content:'剩餘配點：';font:600 14px/1.3 'Microsoft JhengHei',Arial,sans-serif;color:#bca46c}
.next-ui .ability-respec-actions{position:static;width:auto;min-height:0;gap:10px;padding:10px 12px;font:500 13px/1.5 'Microsoft JhengHei',Arial,sans-serif;pointer-events:auto}
.next-ui .ability-respec-actions>div{gap:12px}
.next-ui .ability-respec-actions button{min-width:96px;min-height:40px;padding:8px 18px;font:700 15px/1 'Microsoft JhengHei',Arial,sans-serif}
/* ===== E-5 玩家真人聊天頻道樣式 (World & Map) ===== */
#chat-messages-container {
    background: #090f0bc9;
    font-size: 13.5px;
    scrollbar-width: thin;
    scrollbar-color: #766541 #101510;
}
.chat-msg-row {
    padding: 3px 6px;
    border-radius: 3px;
    word-break: break-word;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
}
.chat-msg-row:hover {
    background: rgba(255, 255, 255, 0.03);
}
.chat-msg-time {
    color: #64748b;
    font-size: 11px;
    font-family: monospace;
    flex-shrink: 0;
}
.chat-msg-badge {
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.chat-badge-world {
    background: rgba(14, 116, 144, 0.35);
    color: #38bdf8;
    border: 1px solid rgba(14, 116, 144, 0.6);
}
.chat-badge-map {
    background: rgba(22, 101, 52, 0.35);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.5);
}
.chat-badge-system {
    background: rgba(180, 83, 9, 0.35);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.5);
}
.chat-msg-sender {
    font-weight: 700;
    color: #cbd5e1;
    flex-shrink: 0;
}
.chat-msg-self .chat-msg-sender {
    color: #fde047;
}
.chat-msg-content {
    color: #e2e8f0;
}
.chat-msg-self .chat-msg-content {
    color: #fef08a;
}
#chat-input-row {
    background: #0d130f;
    border-top: 1px solid var(--next-line);
}
#chat-input {
    background: #080d0a !important;
    border: 1px solid #4a3e28 !important;
    color: #f1f5f9 !important;
}
#chat-input:focus {
    border-color: #92b967 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(146, 185, 103, 0.25) !important;
}
#chat-disabled-banner, #chat-cooldown-banner {
    animation: fadeIn 0.2s ease-in-out;
}
/* 👥 E-4 在線名單樣式 (深色奇幻風格) */
#chat-online-panel {
    background: #080d0a;
    border-left: 1px solid var(--next-line, rgba(117, 100, 62, 0.4));
}
.chat-online-header {
    background: rgba(16, 23, 14, 0.8);
    border-bottom: 1px solid rgba(117, 100, 62, 0.3);
}
.chat-online-badge {
    background: rgba(180, 83, 9, 0.25);
    color: #fde047;
    border: 1px solid rgba(245, 158, 11, 0.4);
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 9999px;
}
.chat-online-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 6px;
    border-radius: 4px;
    color: #cbd5e1;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    user-select: none;
}
.chat-online-item:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fde047;
}
.chat-online-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 5px rgba(34, 197, 94, 0.6);
    flex-shrink: 0;
}
.chat-online-empty {
    color: #64748b;
    font-size: 11px;
    text-align: center;
    padding: 16px 4px;
    line-height: 1.4;
}
#chat-online-list::-webkit-scrollbar {
    width: 4px;
}
#chat-online-list::-webkit-scrollbar-thumb {
    background: rgba(117, 100, 62, 0.5);
    border-radius: 2px;
}
