/* B3 navigation only; legacy combat/VN renderers and old CSS files stay intact. */
.ui-v3 body[data-p1-screen="hub"] .p1-status{margin-left:0!important;background:#121410;border-color:var(--uiv3-line);padding-left:24px;padding-right:24px;color:var(--uiv3-text)}
.ui-v3 body[data-p1-screen="hub"] .p1-shell{margin-left:0!important;padding:24px max(16px,calc((100vw - 1600px)/2)) 36px!important}
.ui-v3 body[data-p1-screen="hub"] .p1-main{width:100%;max-width:var(--uiv3-width);margin:0 auto!important;min-width:0}
.uiv3-top,.uiv3-sub{display:flex;gap:0;border-bottom:1px solid var(--uiv3-line);margin:12px 0;background:#141612;overflow-x:auto;scrollbar-width:thin;max-width:100%}
.uiv3-group,.uiv3-tab{font:inherit;font-weight:400;color:var(--uiv3-text);background:transparent;cursor:pointer;border:0;border-right:1px solid var(--uiv3-line);border-top:2px solid transparent;min-height:48px;padding:10px 18px;white-space:nowrap;border-radius:0;flex:0 0 auto;position:relative}
.uiv3-group.on,.uiv3-tab.on{border-top-color:var(--uiv3-accent);color:var(--uiv3-accent);background:var(--uiv3-surface)}
.uiv3-group:hover,.uiv3-tab:hover{background:#25261f;color:var(--uiv3-accent)}
.uiv3-group:disabled{opacity:.4;cursor:default}
.uiv3-group:focus-visible,.uiv3-tab:focus-visible{outline:2px solid var(--uiv3-accent);outline-offset:-4px}
.uiv3-sub{margin-bottom:16px}
.uiv3-settings{max-width:920px;border:1px solid var(--uiv3-line);background:var(--uiv3-surface)}
.uiv3-menu-overlay{background:#000b}
.uiv3-menu{width:min(1100px,calc(100vw - 32px))!important;max-width:1100px!important;padding:0!important;border-radius:0!important;border:1px solid var(--uiv3-line)!important;border-top:2px solid var(--uiv3-accent)!important;background:var(--uiv3-surface)!important;color:var(--uiv3-text);max-height:calc(100dvh - 32px);overflow:auto}
.uiv3-menu-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--uiv3-line);padding:12px 16px;gap:12px;position:sticky;top:0;background:var(--uiv3-surface);z-index:1}
.uiv3-menu-head h2{font-size:16px;margin:0;font-weight:400}
.uiv3-menu-head .btn{min-height:44px}
.uiv3-menu-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.uiv3-menu-group{padding:16px;border-right:1px solid var(--uiv3-line);border-bottom:1px solid var(--uiv3-line);min-width:0}
.uiv3-menu-group h3{margin:0 0 10px!important;padding:0 0 8px;border-bottom:1px solid var(--uiv3-line);font-size:15px!important;font-weight:400;color:var(--uiv3-accent)!important}
.uiv3-menu-group>div{display:flex;flex-direction:column;gap:0}
.uiv3-menu-group .uiv3-tab{width:100%;text-align:left;border:0;white-space:normal;padding:8px 0;min-height:44px}
.uiv3-menu-tools{padding:12px 16px}
.uiv3-menu-tools .dmhead{display:none}
.uiv3-menu-tools .dmsys{border:0;padding:0;margin:0;background:transparent}
.uiv3-menu-tools .dmbtns{display:flex;flex-wrap:wrap;gap:8px}
.uiv3-menu-tools .iconbtn{border:1px solid var(--uiv3-line);border-radius:0;min-height:44px;color:var(--uiv3-text);background:transparent;padding:8px 12px;font-size:13px}
.uiv3-menu-tools .iconbtn i{font-style:normal}
.uiv3-menu-tools .iconbtn svg{display:none}
.ui-v3 body[data-p1-screen="hub"] #gameDialogsRoot .uiv3-menu{border-radius:0!important;width:min(1100px,calc(100vw - 32px))!important;max-width:1100px!important;padding:0!important;max-height:calc(100dvh - 32px)!important}
@media(min-width:901px){.ui-v3 body[data-p1-screen="hub"] .p1-rail{display:none}.ui-v3 body[data-p1-screen="hub"] .p1-status-rich .p1-identity{flex:0 1 140px}.ui-v3 body[data-p1-screen="hub"] .p1-dock-toggle{display:none!important}}
@media(max-width:900px){
 .ui-v3 body[data-p1-screen="hub"] .p1-shell{padding:12px 12px calc(116px + env(safe-area-inset-bottom))!important}
 .ui-v3 body[data-p1-screen="hub"] .p1-status{padding:10px 12px;gap:8px}
 .ui-v3 body[data-p1-screen="hub"] .p1-status .p1-identity{max-width:110px;min-width:0}
 .ui-v3 body[data-p1-screen="hub"] .p1-status .p1-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .ui-v3 body[data-p1-screen="hub"] .p1-tools{margin-left:auto}
 .uiv3-top{display:none}
 .uiv3-sub{margin:8px 0 12px}
 .uiv3-tab{font-size:13px;padding:10px 14px}
 .ui-v3 body[data-p1-screen="hub"] .p1-dock.uiv3-dock{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:85;background:#1b1c18;border-top:1px solid var(--uiv3-line);border-radius:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));gap:0;width:100%;height:auto;min-height:64px}
 .uiv3-dock .uiv3-group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;min-width:0;min-height:56px;border-right:0;font-size:11px}
 .uiv3-dock .uiv3-group :is(.uiico-picture,.uiico,svg,img){width:22px;height:22px;object-fit:contain}
 .ui-v3 body[data-p1-screen="hub"].nav-collapsed .uiv3-dock,.ui-v3 body[data-p1-screen="hub"].p1-nav-collapsed .uiv3-dock{display:none!important}
 .ui-v3 body[data-p1-screen="hub"] .p1-dock-toggle{bottom:calc(var(--p1-dock-height) + env(safe-area-inset-bottom));right:8px;border-radius:0;min-height:32px;font-size:11px}
 .uiv3-menu-overlay{align-items:flex-end!important;padding:0!important}
 .uiv3-menu{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 64px);padding-bottom:env(safe-area-inset-bottom)!important}
 .uiv3-menu-groups{grid-template-columns:1fr}
 .uiv3-menu-group{padding:14px 16px}
 .uiv3-menu-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .uiv3-menu-group .uiv3-tab{padding:6px 8px;min-height:44px}
 .uiv3-menu-tools .dmbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .uiv3-menu-tools .iconbtn{justify-content:center;width:100%;min-width:0}
 .ui-v3 body[data-p1-screen="hub"] #gameDialogsRoot .uiv3-menu{width:100%!important;max-width:100%!important;margin:0!important;max-height:calc(100dvh - 64px)!important}
 .ui-v3 body[data-p1-screen="hub"] #gameDialogsRoot .uiv3-menu-overlay{align-items:flex-end!important;padding:0!important}
 .ui-v3.nav-collapsed body[data-p1-screen="hub"] .p1-dock.uiv3-dock{display:none!important}
}
