#worldGate{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;background:radial-gradient(circle at 50% 18%,#16365c 0,#020617 64%);padding:18px}
#worldGate.hidden{display:none}
.world-gate-card{width:min(100%,720px);padding:24px 20px;border:1px solid rgba(96,165,250,.35);border-radius:22px;background:rgba(15,23,42,.96);box-shadow:0 20px 70px #0008;color:#e2e8f0}
.world-gate-card h1{margin:4px 0 6px;text-align:center;font-size:24px}
.world-gate-card p{text-align:center;color:#94a3b8;font-size:13px;margin:0 0 18px}
.world-gate-grid{display:grid;gap:10px}
@media(min-width:720px){.world-gate-grid{grid-template-columns:repeat(3,1fr)}}
.world-gate-btn{pointer-events:auto;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #334155;border-radius:16px;background:#0f172a;color:#f8fafc;text-align:left;cursor:pointer}
.world-gate-btn:hover,.world-gate-btn:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf822}
.world-gate-btn b{font-size:16px}
.world-gate-btn small{color:#94a3b8;font-size:12px;line-height:1.35}
#pirateFruitFrame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#06121f}
body[data-combined-world="pirate-fruit"][data-control-panel="throw"] #pirateFruitFrame{visibility:hidden;pointer-events:none}
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #controlPanelHint{display:none!important}
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #pirateFruitFrame{z-index:5}
.control-panel-hint{position:fixed;left:8px;top:72px;z-index:9998;max-width:70vw;padding:4px 8px;border-radius:8px;background:#0f172acc;color:#cbd5e1;font:600 11px system-ui;pointer-events:none}
body[data-combined-world] .control-panel-hint{display:block}
.control-panel-hint.hidden{display:none!important}
body[data-combined-world] #hud .compact-topbar,
body[data-combined-world] .zone-travel{display:none!important}
body[data-combined-world] .message{top:58px}
#monsterThrowStage{position:fixed;inset:0;z-index:0;display:none;background:#0b1020}
#monsterThrowStage canvas{display:block;width:100%;height:100%}
html[data-online-world-shell="active"],html[data-online-world-shell="active"] body{width:100%;height:100%;margin:0;overflow:hidden;background:#020617}
#onlineWorldShell{position:fixed;inset:0;overflow:hidden;background:#020617}
#onlineWorldSceneFrame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#020617}
#onlineWorldShellStatus{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);padding:10px 14px;border:1px solid #38bdf866;border-radius:14px;background:#082f49e8;color:#e0f2fe;font:700 13px system-ui;pointer-events:none}
#onlineWorldShellStatus.hidden{display:none}
#onlineWorldShellStatus.error{border-color:#fb718577;background:#4c0519ee;color:#ffe4e6}
body[data-combined-world="pirate-fruit"][data-control-panel="throw"] #monsterThrowStage{display:block}
body[data-combined-world="pirate-fruit"][data-control-panel="throw"] #game canvas{visibility:hidden;pointer-events:none}
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .combat-pill,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .ball-pill,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .gold-pill,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .active-pill,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .zone-pill,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .message,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #message,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #versionBadge,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #saveIndicator{display:none!important}
body[data-combined-world="pirate-fruit"] #game canvas{position:absolute;inset:0;width:100%;height:100%;background:#4f9ec9}
body[data-control-panel="human"] #huntBtn,
body[data-control-panel="human"] #party,
body[data-control-panel="human"] .controls-right,
body[data-control-panel="human"] #targetCard,
body[data-control-panel="human"] #ownedStatusStrip,
body[data-control-panel="human"] #aimReticle,
body[data-control-panel="human"] .ball-pill,
body[data-control-panel="human"] .active-pill,
body[data-control-panel="human"] #actionReason,
body[data-control-panel="human"] #stageObjective,
body[data-control-panel="human"] #stageObjectiveToggle,
body[data-control-panel="human"] #globalCharacterBtn,
body[data-control-panel="human"] #characterAccessEntry{display:none!important}
body[data-combined-world="living-world"][data-control-panel="throw"] #huntBtn,
body[data-combined-world="living-world"][data-control-panel="throw"] #message,
body[data-combined-world="living-world"][data-control-panel="throw"] .zone-travel{display:none!important}
body[data-combined-world="pirate-fruit"] #immersiveGate,
body[data-combined-world="living-world"] #immersiveGate,
body[data-combined-world="living-world"][data-control-panel="human"] #huntBtn,
body[data-combined-world="living-world"][data-control-panel="human"] #party,
body[data-combined-world="living-world"][data-control-panel="human"] .controls-right,
body[data-combined-world="pirate-fruit"] #npcBtn,
body[data-combined-world="living-world"] #npcBtn,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #globalCharacterBtn,
body[data-combined-world="living-world"][data-control-panel="human"] #globalCharacterBtn,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #characterAccessEntry,
body[data-combined-world="living-world"][data-control-panel="human"] #characterAccessEntry,
body[data-combined-world="pirate-fruit"][data-control-panel="human"] .help,
body[data-combined-world="living-world"] .help{display:none!important}

/* One persistent Pirate Fruit control surface. Pocket Monster only swaps the
   command/icon state of these same buttons; it never mounts a second HUD. */
#pirateUnifiedControls{position:fixed;inset:0;z-index:20;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none;font-family:'Segoe UI',Tahoma,sans-serif;--arc-right:42px;--arc-bottom:42px;--arc-primary:72px;--arc-skill:48px;--arc-util:48px;--arc-cx:48px;--arc-cy:50px;--arc-r:60px}
#pirateUnifiedControls #joystick.tc-joyzone{display:block!important;position:absolute!important;z-index:2;left:0!important;bottom:72px!important;width:45%!important;height:75%!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;pointer-events:auto;touch-action:none}
#pirateUnifiedControls #stick.tc-joybase{display:none;position:absolute;width:102px;height:102px;left:0;top:0;border-radius:50%;background:rgba(255,255,255,.10);border:2px solid rgba(255,255,255,.35);box-shadow:none;transform:translate(-50%,-50%);pointer-events:none}
#pirateUnifiedControls #stick.tc-joybase.tc-visible{display:block}
#pirateUnifiedControls .tc-joyknob{position:absolute;left:50%;top:50%;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.45);border:2px solid rgba(255,255,255,.7);box-shadow:none;transform:translate(-50%,-50%)}
#pirateUnifiedControls #cameraPad.tc-camzone{display:block!important;position:absolute!important;z-index:1;right:0!important;top:0!important;bottom:168px!important;width:55%!important;height:auto!important;pointer-events:auto;touch-action:none}
body:not([data-pirate-world-ready]) #pirateUnifiedControls #joystick.tc-joyzone,
body:not([data-pirate-world-ready]) #pirateUnifiedControls #cameraPad.tc-camzone{pointer-events:none!important}
body[data-pirate-dialogue="open"] #onlineWorldSceneFrame{z-index:40!important}
body[data-pirate-dialogue="open"] #pirateUnifiedControls{visibility:hidden!important;pointer-events:none!important}
body[data-pirate-dialogue="open"] .mmorpg-hud{visibility:hidden!important;pointer-events:none!important}
/* The original Pocket NPC menu is rendered inside the scene iframe. Parent
   layers must step aside while it is open; an iframe child z-index cannot
   otherwise outrank them. */
body[data-pocket-npc-menu="open"] #pirateUnifiedControls{visibility:hidden!important;pointer-events:none!important}
body[data-pocket-npc-menu="open"] .mmorpg-hud{visibility:hidden!important;pointer-events:none!important}
/* Monster Club / manager: hide every chrome layer while open. */
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #pirateUnifiedControls,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] .mmorpg-hud,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] .mmorpg-chat-dismiss,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #pirateOnboardingActionProxies,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #versionBadge,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #saveIndicator,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] .control-panel-hint,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] .quest-tracker,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] .quest-tracker-toggle,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #monsterLifeProfilePanel,
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #combatV91Shell{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #ranchStoragePage:not(.hidden),
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #ranchServices:not(.hidden),
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #monsterFieldBag:not(.hidden),
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #monsterManager:not(.hidden){
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:10050!important;
}
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #monsterFieldBag:not(.hidden){display:grid!important}
html[data-monster-overlay="open"],body[data-monster-overlay="open"] #monsterManager:not(.hidden){display:grid!important}
#pirateOnboardingActionProxies{position:fixed;inset:0;z-index:31;pointer-events:none}
.pirate-onboarding-action-proxy{position:absolute;display:block;padding:0;border:0;background:transparent;color:transparent;pointer-events:auto;touch-action:manipulation}
#pirateUnifiedControls .camera-hint{display:none}
#pirateUnifiedControls .controls-right.tc-actions{display:block!important;position:absolute!important;z-index:3;inset:0!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:none!important;pointer-events:none}
#pirateUnifiedControls .tc-btn{position:absolute!important;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:50%;pointer-events:auto;touch-action:none;color:#fff!important;background-color:rgba(10,25,45,.55)!important;border:2px solid rgba(255,255,255,.45)!important;box-shadow:0 2px 8px rgba(0,0,0,.35)!important;text-shadow:0 2px 4px #0009;overflow:hidden;transform:none}
#pirateUnifiedControls .tc-btn:active,#pirateUnifiedControls .tc-btn.pressed{background-color:rgba(90,160,255,.5)!important}
#pirateUnifiedControls .tc-btn.unavailable{opacity:.42}
#pirateUnifiedControls .tc-btn.empty{opacity:.3}
#pirateUnifiedControls .tc-btn.cooling::before{content:attr(data-cd);position:absolute;inset:0;display:grid;place-items:center;background:conic-gradient(rgba(2,6,23,.72) var(--cooldown,0%),transparent 0);pointer-events:none;z-index:1;font-size:11px}
#pirateUnifiedControls .tc-btn[data-count]:not(.cooling)::before{content:attr(data-count);position:absolute;right:0;bottom:0;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#0f172a;font-size:10px;pointer-events:none;z-index:1}
#pirateUnifiedControls #persistentFullscreenBtn.tc-fullscreen{left:50%!important;right:auto!important;top:8px!important;bottom:auto!important;width:48px!important;height:36px!important;border-radius:999px!important;font-size:20px!important;transform:translateX(-50%)!important;z-index:4}
#persistentFullscreenBtn.tc-fullscreen::after{content:'⛶'!important;position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:20px;line-height:1;text-shadow:0 2px 4px #0009}
#pirateUnifiedControls #captureBtn.tc-attack{right:var(--arc-right)!important;bottom:var(--arc-bottom)!important;width:var(--arc-primary)!important;height:var(--arc-primary)!important;font-size:28px;border-color:rgba(255,120,90,.8)!important;background-color:rgba(120,35,20,.55)!important}
#pirateUnifiedControls #pirateHelmBtn.tc-helm{display:none!important;pointer-events:none!important;font-size:36px;border-color:rgba(255,226,145,.96)!important;background-color:rgba(78,55,24,.84)!important;box-shadow:0 3px 11px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,244,190,.32)!important}
#pirateUnifiedControls #pirateHelmBtn.tc-helm::after{color:#fff4c4!important;font-size:36px!important;font-weight:700;transform:rotate(-8deg);text-shadow:0 2px 4px #000,0 0 7px rgba(255,215,118,.42)}
#pirateUnifiedControls #summonBtn.tc-dash{right:2px!important;bottom:44px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;font-size:16px;border-color:rgba(120,220,255,.8)!important}
#pirateUnifiedControls #recallBtn.tc-jump{right:44px!important;bottom:2px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;font-size:16px}
#pirateUnifiedControls #skill1Btn.tc-skill1{right:4px!important;bottom:114px!important;width:var(--arc-skill)!important;height:var(--arc-skill)!important;font-size:16px}
#pirateUnifiedControls #skill2Btn.tc-skill2{right:77px!important;bottom:130px!important;width:var(--arc-skill)!important;height:var(--arc-skill)!important;font-size:16px}
#pirateUnifiedControls #skill3Btn.tc-skill3{right:129px!important;bottom:76px!important;width:var(--arc-skill)!important;height:var(--arc-skill)!important;font-size:16px}
#pirateUnifiedControls .tc-skill{opacity:.55}
#pirateUnifiedControls #skill4Btn.tc-ult{right:118px!important;bottom:2px!important;width:var(--arc-skill)!important;height:var(--arc-skill)!important;font-size:13px;border-color:rgba(200,120,255,.85)!important;background-color:rgba(70,25,110,.55)!important;opacity:.65}
#pirateUnifiedControls #pirateBlockBtn.tc-block{right:172px!important;bottom:132px!important;width:var(--arc-util)!important;height:var(--arc-util)!important;font-size:18px;border-color:rgba(150,200,255,.8)!important;display:none!important;pointer-events:none!important}
#pirateUnifiedControls #pirateWeaponBtn.tc-weapon{right:16px!important;top:55.1%!important;bottom:auto!important;width:var(--arc-util)!important;height:var(--arc-util)!important;font-size:17px;opacity:.9;border-color:rgba(255,215,140,.8)!important;display:none!important;pointer-events:none!important}
#pirateUnifiedControls .tc-potion{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;font-size:11px!important;border-radius:8px!important}
#pirateUnifiedControls #piratePotion1Btn.tc-potion1{left:34px!important;right:auto!important;bottom:10px!important;z-index:32;pointer-events:auto!important}
#pirateUnifiedControls #piratePotion2Btn.tc-potion2{left:68px!important;right:auto!important;bottom:10px!important;z-index:32;pointer-events:auto!important}
#pirateUnifiedControls .tc-zoom{left:8px!important;right:auto!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;font-size:14px;opacity:.3}
#pirateUnifiedControls #pirateZoomInBtn.tc-zoom-in{bottom:42px!important}
#pirateUnifiedControls #pirateZoomOutBtn.tc-zoom-out{bottom:10px!important}
#pirateUnifiedControls #monsterSlot1Btn.tc-monster1{right:4px!important;bottom:180px!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;z-index:5}
#pirateUnifiedControls #monsterSlot2Btn.tc-monster2{right:54px!important;bottom:180px!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;z-index:5}
#pirateUnifiedControls #monsterSlot3Btn.tc-monster3{right:104px!important;bottom:180px!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;z-index:5}
#pirateUnifiedControls .tc-monster.selected{border-color:#fbbf24!important}
#pirateUnifiedControls .tc-monster-bag{display:none!important}
.mmorpg-utility[data-utility="monster-bag"]{width:34px;height:34px;min-width:34px;min-height:34px;font-size:0;border-color:#94a3b8aa;background:radial-gradient(circle at 35% 28%,#ffffff55,#0000 42%),linear-gradient(160deg,#1e293b,#0f172a);color:#f8fafc;box-shadow:0 0 0 1px #f8fafc22,0 4px 10px #0006;overflow:hidden}
.mmorpg-utility[data-utility="monster-bag"]::before{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#f8fafc 0 14%,#0f172a 14% 22%,#f8fafc 22% 28%,transparent 29%),linear-gradient(180deg,#ef4444 0 47%,#0f172a 47% 53%,#f8fafc 53% 100%);box-shadow:inset 0 0 0 1.5px #0f172a,0 1px 2px #0008;pointer-events:none}
#pirateUnifiedControls #monsterThrowBtn{right:54px!important;bottom:234px!important;width:98px!important;height:48px!important;min-height:48px!important;border-radius:16px!important;z-index:6}
#pirateUnifiedControls #monsterThrowBtn[hidden]{display:none!important}
#pirateUnifiedControls .tc-monster.active-monster{box-shadow:0 0 0 2px #86efac}
#pirateUnifiedControls .tc-monster.fainted-slot{opacity:.45;border-color:#f87171!important}
#pirateUnifiedControls[data-control-mode="pirate"] .tc-btn{background-image:none!important}
#pirateUnifiedControls[data-control-mode="pirate"] .tc-btn>*{visibility:hidden!important}
#pirateUnifiedControls[data-control-mode="pirate"] .tc-btn::after{content:attr(data-pirate-icon);position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:inherit;line-height:1;text-shadow:0 2px 4px #0009}
#pirateUnifiedControls[data-control-mode="pirate"] .tc-monster:not(.monster-throw)::after{white-space:pre-line;font-size:10px;line-height:1.2;overflow:hidden}
#pirateUnifiedControls[data-control-mode="capture"] .pirate-only,
#pirateUnifiedControls[data-control-mode="travel"] .controls-right{display:none!important}
#pirateUnifiedControls[data-control-mode="capture"] .tc-btn::after{content:none}
#pirateUnifiedControls[data-control-mode="capture"] .tc-skill{opacity:1}
body[data-combined-world="pirate-fruit"][data-control-panel="human"] #pirateUnifiedControls .controls-right{display:block!important}
@media(max-height:420px){#pirateUnifiedControls{--arc-primary:64px}#pirateUnifiedControls #joystick.tc-joyzone{height:82%!important}#pirateUnifiedControls .controls-right.tc-actions{transform:none!important}}
@media(max-height:420px) and (pointer:coarse){#pirateUnifiedControls #skill1Btn.tc-skill1{right:4px!important;bottom:calc(var(--arc-bottom) + var(--arc-primary))!important}#pirateUnifiedControls #skill2Btn.tc-skill2{right:72px!important;bottom:120px!important}#pirateUnifiedControls #skill3Btn.tc-skill3{right:120px!important;bottom:70px!important}#pirateUnifiedControls #skill4Btn.tc-ult{right:calc(var(--arc-right) + var(--arc-primary))!important;bottom:2px!important}}
@media(max-height:320px){#pirateUnifiedControls{--arc-primary:56px}}
.quest-tracker{pointer-events:auto!important;padding-right:25px!important}
.quest-tracker-list,.quest-tracker-title{pointer-events:none}
.quest-tracker-close{position:absolute;right:3px;top:2px;z-index:2;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(2,6,23,.72);color:#fff;font:800 15px/18px system-ui;pointer-events:auto;touch-action:none}
.quest-tracker-toggle{position:absolute;z-index:8;top:calc(var(--safe-top) + var(--touch-min) + 20px);left:var(--safe-left);min-height:32px;padding:5px 9px;border:1px solid rgba(134,239,172,.38);border-radius:8px;background:rgba(5,16,22,.82);color:#dcfce7;font:800 10px system-ui;pointer-events:auto;touch-action:none}
/* Unified HUD Task 7 — MMORPG Monitor Dock layout tokens + regions */
:root{--hud-hit-min:48px;--hud-top-budget:56px;--hud-side-budget:200px;--hud-dock-collapsed:56px;--hud-dock-expanded:108px;--hud-control-gap:10px;--hud-glass:rgba(18,12,8,.88);--hud-line:rgba(232,197,120,.42);--hud-text:#f8ecd0;--hud-accent:#f5c451}
.mmorpg-hud{position:absolute;inset:0;pointer-events:none;z-index:30;font:600 12px/1.35 system-ui;color:var(--hud-text)}
.mmorpg-chat-dismiss{position:fixed;inset:0;z-index:6;background:transparent;pointer-events:auto}
.mmorpg-chat-dismiss.hidden{display:none;pointer-events:none}
.mmorpg-hud .mmorpg-dock,.mmorpg-hud .mmorpg-player-status,.mmorpg-hud .mmorpg-quest-panel,.mmorpg-hud .mmorpg-minimap,.mmorpg-hud .mmorpg-roster,.mmorpg-hud .mmorpg-utilities,.mmorpg-hud .mmorpg-banner,.mmorpg-hud .mmorpg-companions,.mmorpg-hud .mmorpg-buff-row,.mmorpg-hud .mmorpg-side-drawer{pointer-events:auto}
.mmorpg-player-status{position:absolute;left:0.4%;top:0.7%;width:38.3%;height:13.1%;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 6px;box-sizing:border-box;min-width:0;max-width:38.3%;border:1px solid var(--hud-line);border-radius:10px;background:linear-gradient(180deg,rgba(42,28,14,.94),var(--hud-glass));box-shadow:0 8px 22px #0008,inset 0 1px 0 rgba(255,230,170,.18);overflow:hidden;transform-origin:0 0;transform:scale(0.65)}
.mmorpg-player-status.skeleton{min-height:0;opacity:.7}
.mmorpg-player-connecting{color:#d6c4a3}
.mmorpg-player-portrait{flex:0 0 32px;width:32px;height:32px;margin:0;box-sizing:border-box;display:grid;place-items:center;border-radius:50%;background:#1a1208;border:2px solid #e8c578;font-size:12px;box-shadow:0 0 0 2px #5a3b12}
.mmorpg-player-body{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;gap:2px;overflow:hidden}
.mmorpg-player-identity{display:flex;flex-wrap:nowrap;flex:0 0 auto;gap:6px;align-items:baseline;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap}
.mmorpg-player-name,.mmorpg-player-title{min-width:0;overflow:hidden;text-overflow:ellipsis}
.mmorpg-player-level{display:inline-block;flex:0 0 auto;margin-right:0;color:var(--hud-accent)}
.mmorpg-player-vitals{flex:0 0 auto;width:100%;min-width:0;display:flex;flex-direction:column;flex-wrap:nowrap;gap:2px;overflow:hidden}
.mmorpg-player-vital{position:relative;flex:0 0 6px;width:100%;min-width:0;max-width:100%;height:6px;overflow:hidden}
.mmorpg-player-hp-text,.mmorpg-player-resource-text,.mmorpg-player-mode{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:0 4px;clear:none;font-size:8px;line-height:1;margin:0;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.mmorpg-player-hp[role="progressbar"],.mmorpg-player-resource[role="progressbar"],.mmorpg-player-energy[role="progressbar"]{display:block;width:100%;max-width:100%;min-width:0;height:6px;box-sizing:border-box;border-radius:4px;background:#140c08;overflow:hidden;border:1px solid rgba(232,197,120,.28)}
.mmorpg-bar-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#9b1c1c,#ef4444)}
.mmorpg-player-resource .mmorpg-bar-fill{background:linear-gradient(90deg,#1d4ed8,#38bdf8)}
.mmorpg-player-energy .mmorpg-bar-fill{background:linear-gradient(90deg,#a16207,#f5c451)}
.mmorpg-exp-bar{position:absolute;left:0;right:0;bottom:0;height:8px;z-index:32;pointer-events:none;box-sizing:border-box;border:1px solid #e8c578;border-bottom-width:2px;background:linear-gradient(180deg,#2a1c0c,#140c08);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,230,170,.4)}
.mmorpg-exp-bar .mmorpg-exp-fill,.mmorpg-exp-bar [role="progressbar"]{display:block;width:100%;height:100%;border:0;background:transparent;border-radius:0}
.mmorpg-exp-bar .mmorpg-bar-fill{height:100%;background:linear-gradient(90deg,#3f7d2a,#8fde5a,#d4f7a8)}
.mmorpg-quick-indicators{position:absolute;left:50%;top:1.3%;transform:translateX(-50%);display:flex;gap:6px;z-index:31}
.mmorpg-quick-indicators.hidden{display:none}
.mmorpg-quick-indicator{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--hud-line);border-radius:50%;background:var(--hud-glass);font-size:10px;pointer-events:none}
.mmorpg-quick-indicator.selected{border-color:var(--hud-accent)}
.mmorpg-quick-indicator.disabled{opacity:.45}
.mmorpg-quick-indicator.cooling{box-shadow:inset 0 calc(var(--cooldown,0%) - 36px) 0 #020617aa}
.mmorpg-buff-more{min-width:28px}
.mmorpg-buff-row{position:absolute;left:8%;top:10.5%;display:flex;gap:4px;z-index:31}
.mmorpg-buff{min-width:22px;min-height:22px;padding:2px 5px;border:1px solid var(--hud-line);border-radius:6px;background:var(--hud-glass);font-size:10px}
.mmorpg-quest-rail{position:absolute;left:0;top:20.2%;width:3.1%;height:28.8%;pointer-events:none;background:linear-gradient(180deg,rgba(90,58,18,.35),rgba(20,12,6,.08))}
.mmorpg-side-drawer{position:absolute;left:0.4%;top:14.5%;width:24%;height:38.3%;display:flex;flex-direction:row;z-index:31;box-sizing:border-box;border:1px solid var(--hud-line);border-radius:10px;background:linear-gradient(180deg,rgba(36,24,12,.38),rgba(18,12,8,.32));overflow:hidden}
.mmorpg-side-tabs{flex:0 0 36px;display:flex;flex-direction:column;gap:2px;padding:4px 2px;border-right:1px solid var(--hud-line);box-sizing:border-box}
.mmorpg-side-tab{min-width:0;min-height:48px;padding:4px 2px;border:1px solid transparent;border-radius:6px;background:none;color:var(--hud-text);font:700 11px/1.15 system-ui;writing-mode:vertical-rl;transform:rotate(180deg)}
.mmorpg-side-tab[aria-selected="true"]{border-color:var(--hud-accent);color:var(--hud-accent);background:rgba(245,196,81,.12)}
.mmorpg-side-detail{flex:1 1 0;min-width:0;overflow:auto;padding:6px 8px}
.mmorpg-side-drawer.collapsed{width:auto;min-width:0}
.mmorpg-side-drawer.collapsed .mmorpg-side-detail{display:none}
.mmorpg-side-drawer.collapsed .mmorpg-side-tabs{border-right:0}
.mmorpg-side-detail .mmorpg-quest-panel,.mmorpg-side-detail .mmorpg-panel{position:static;left:auto;top:auto;width:auto;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.mmorpg-quest-panel{position:absolute;left:2.6%;top:14.5%;width:20.8%;height:38.3%;padding:8px 10px;border:1px solid var(--hud-line);border-radius:10px;background:linear-gradient(180deg,rgba(48,32,14,.94),var(--hud-glass));box-shadow:0 10px 24px #0007,inset 0 1px 0 rgba(255,230,170,.16);overflow:hidden}
.mmorpg-quest-title{color:var(--hud-accent);font:800 12px/1.3 system-ui;margin-bottom:6px}
.mmorpg-quest-step{padding:2px 0 2px 2px;font-size:11px}
.mmorpg-quest-step.todo::before{content:'☐ ';color:#d6c4a3}
.mmorpg-quest-step.done{opacity:.55;text-decoration:line-through}
.mmorpg-quest-step.done::before{content:'☑ ';color:#86efac}
.mmorpg-quest-step.current{color:var(--hud-accent)}
.mmorpg-quest-step.current::before{content:'➤ '}
.mmorpg-minimap{position:absolute;left:84.4%;top:0;width:15.4%;height:28.1%;border:1px solid var(--hud-line);border-radius:10px;background:linear-gradient(180deg,#1a2818,var(--hud-glass));box-shadow:0 8px 20px #0007}
.mmorpg-roster{position:absolute;left:62.5%;top:25.8%;width:14.6%;height:17.6%;display:flex;flex-direction:column;gap:4px}
.mmorpg-hud .mmorpg-roster{pointer-events:none}
.mmorpg-monster-recall{width:100%;min-height:36px;margin-top:4px;padding:5px 9px;border:1px solid var(--hud-line);border-radius:8px;background:var(--hud-glass);color:var(--hud-text);font:600 11px system-ui;pointer-events:auto;touch-action:manipulation;cursor:pointer}
.mmorpg-monster-recall[hidden]{display:none}
.mmorpg-monster-recall:disabled{opacity:.6;cursor:wait}
.mmorpg-roster-row{display:flex;align-items:center;gap:6px;min-height:32px;height:34px;padding:2px 6px;border:1px solid var(--hud-line);border-radius:8px;background:var(--hud-glass);overflow:hidden;pointer-events:auto}
.mmorpg-roster-row.target{border-color:rgba(248,113,113,.5)}
.mmorpg-roster-row.selected{border-color:#fbbf24}
.mmorpg-roster-row.danger{border-color:#f87171}
.mmorpg-roster-row.placeholder{visibility:hidden}
.mmorpg-roster-icon{flex:0 0 22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#0f172a;font-size:11px}
.mmorpg-roster-meta{flex:1;min-width:0}
.mmorpg-roster-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mmorpg-roster-state{font-size:10px;opacity:.8}
.mmorpg-roster-hp[role="progressbar"]{flex:0 0 48px;height:6px;border-radius:4px;background:#0f172a;overflow:hidden}
.mmorpg-roster-row.danger .mmorpg-bar-fill{background:linear-gradient(90deg,#ef4444,#fca5a5)}
.mmorpg-companions{position:absolute;left:83.7%;top:47.2%;width:16.1%;height:11%;display:flex;flex-direction:row;flex-wrap:nowrap;gap:2px;align-items:center;justify-content:flex-end;z-index:33;overflow:visible;visibility:hidden!important;pointer-events:none!important}
.mmorpg-companion{width:48px;height:48px;min-width:48px;min-height:48px;flex:0 0 48px;display:grid;place-items:center;border:2px solid var(--hud-line);border-radius:50%;background:var(--hud-glass);color:var(--hud-text);padding:0}
.mmorpg-companion.selected{border-color:#fbbf24}
.mmorpg-companion.active{box-shadow:0 0 0 2px #86efac}
.mmorpg-companion.fainted{opacity:.45;border-color:#f87171}
.mmorpg-companion.empty{opacity:1;border-style:dashed}
.mmorpg-utilities{position:absolute;left:88.4%;top:30.6%;width:11.4%;height:15%;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:flex-start;justify-content:flex-end;z-index:42;pointer-events:auto;min-height:48px}
.mmorpg-utility{position:relative;min-height:var(--hud-hit-min);min-width:var(--hud-hit-min);width:48px;height:48px;border:1px solid var(--hud-line);border-radius:50%;background:var(--hud-glass);color:var(--hud-text);padding:0}
.mmorpg-utility[data-utility="inventory"]{width:34px;height:34px;min-width:34px;min-height:34px;font-size:15px;border-color:rgba(250,204,21,.55);background:linear-gradient(145deg,rgba(20,83,45,.72),rgba(15,23,42,.82));color:#fef3c7;box-shadow:0 0 0 1px #facc1533,0 4px 10px #0006}
.mmorpg-utility-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f43f5e;color:#fff;font-size:10px}
.mmorpg-banner{display:none;position:absolute;left:29.4%;top:10.2%;width:auto;max-width:42.2%;height:auto;bottom:auto;transform:none;padding:2px 8px;line-height:1.2;font-size:12px;border:1px solid rgba(255,176,188,.45);border-radius:8px;background:rgba(176,64,96,.86);color:#fff;text-align:center;z-index:32;overflow:visible;box-shadow:0 8px 20px #0006;white-space:nowrap}
.mmorpg-banner:not(.hidden){display:inline-block}
.mmorpg-banner.hidden,.mmorpg-banner:empty{display:none!important}
.mmorpg-banner.error{border-color:#f87171;color:#fecaca}
.mmorpg-chat-extras{display:flex;gap:4px;margin-top:4px;pointer-events:none}
.mmorpg-chat-extra{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08)}
.mmorpg-bottom-strip{position:absolute;left:0;bottom:0;width:32.4%;height:5.3%;display:flex;gap:8px;padding:4px 8px;font-size:10px;opacity:.9;align-items:center;pointer-events:none}
.mmorpg-strip-time{font-variant-numeric:tabular-nums}
.mmorpg-dock{position:absolute;left:32.5%;bottom:0;transform:none;width:32.7%;height:var(--hud-dock-expanded);display:flex;flex-direction:column;padding:0;border:1px solid var(--hud-line);border-radius:8px 8px 0 0;background:linear-gradient(180deg,rgba(36,24,12,.38),rgba(18,12,8,.32));overflow:hidden}
.mmorpg-dock.collapsed{height:var(--hud-dock-collapsed)}
.mmorpg-dock.collapsed .mmorpg-panel{display:none}
.mmorpg-dock-summary{display:none;height:0;padding:0;overflow:hidden}
.mmorpg-dock-tabs{display:none}
.mmorpg-tab{min-width:var(--hud-hit-min);min-height:0;padding:2px 8px;line-height:1.2;flex:1;border:1px solid transparent;border-radius:8px;background:none;color:var(--hud-text);font:700 12px system-ui}
.mmorpg-tab[aria-selected="true"]{border-color:var(--hud-accent);color:var(--hud-accent)}
.mmorpg-unread{margin-left:6px;padding:0 5px;border-radius:8px;background:#f43f5e;color:#fff;font-size:10px}
.mmorpg-unread.hidden{display:none}
.mmorpg-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 8px 2px}
.mmorpg-panel.hidden{display:none}
.mmorpg-chat-log{display:flex;flex-direction:column;gap:2px;margin-bottom:2px;font-size:11px}
.mmorpg-chat-row[data-kind="error"]{color:#fca5a5}
.mmorpg-chat-form{flex:0 0 auto;display:flex;gap:4px;align-items:center;padding:0 6px 2px}
.mmorpg-dock.collapsed .mmorpg-chat-form{display:flex}
.mmorpg-chat-channel{min-height:0;height:20px;padding:0 4px;font-size:11px;line-height:20px;border:1px solid var(--hud-line);border-radius:6px;background:rgba(2,6,23,.45);color:var(--hud-text)}
.mmorpg-chat-input{flex:1;min-width:0;min-height:0;height:20px;padding:0 6px;line-height:20px;font-size:11px;border:1px solid var(--hud-line);border-radius:6px;background:rgba(2,6,23,.45);color:var(--hud-text)}
.mmorpg-chat-send{min-width:0;min-height:0;height:20px;padding:0 8px;line-height:20px;border:1px solid rgba(134,239,172,.4);border-radius:6px;background:rgba(20,83,45,.45);color:#dcfce7;font:700 11px system-ui}
.mmorpg-party-slot{display:block;width:100%;min-height:40px;margin:2px 0;padding:4px 8px;border:1px solid var(--hud-line);border-radius:8px;background:rgba(2,6,23,.4);color:var(--hud-text);text-align:left}
.mmorpg-party-slot.selected{border-color:var(--hud-accent)}
.mmorpg-dock-summary{display:none;height:0;padding:0;overflow:hidden}
@media (max-height:420px){:root{--hud-dock-expanded:88px}.mmorpg-minimap{display:none}.mmorpg-player-title{display:none}.mmorpg-player-status,.mmorpg-quest-panel{font-size:11px}}
@media (max-height:320px){:root{--hud-dock-expanded:72px}.mmorpg-quest-panel,.mmorpg-companions{display:none}}
/* Unified HUD Task 7A — minimap projection surface */
.mmorpg-minimap{overflow:hidden}
.mmorpg-minimap.unavailable::after{content:'—';display:grid;place-items:center;height:100%;opacity:.4;font-size:18px}
.mmorpg-minimap-marker,.mmorpg-minimap-player{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%)}
.mmorpg-minimap-marker{background:#68d5ff}
.mmorpg-minimap-marker.warp{background:#f5c451}
.mmorpg-minimap-marker.party{background:#86efac}
.mmorpg-minimap-player{width:10px;height:10px;background:#fff;border:2px solid #22c55e;border-radius:2px}
/* Unified HUD Task 8 — legacy Pocket HUD retirement under the capability flag */
body.unified-hud-active #hud{display:none!important;pointer-events:none!important}
/* Restore the complete offline PocketMonster NPC menu without reviving the
   retired Pocket controls. The original route roots keep their own display,
   layout, and z-index rules; only unrelated #hud siblings remain hidden. */
body.unified-hud-active[data-combined-world="pocket-monster"] #hud{display:contents!important;visibility:visible!important;pointer-events:none!important}
body.unified-hud-active[data-combined-world="pocket-monster"] #hud>:not(:is(#npcBtn,#merchantShop,#trainerPanel,#evolutionPanel,#breedingPanel,#ranchServices,#ranchStoragePage,#monsterFieldBag,#monsterManager,#skillItemConfirm,#monsterPicker)){visibility:hidden!important;pointer-events:none!important}
body.unified-hud-active[data-combined-world="pocket-monster"] #hud>#npcBtn.npc-btn:not(.hidden){display:block!important;visibility:visible!important;pointer-events:auto!important;touch-action:manipulation;z-index:45!important}
body.unified-hud-active[data-combined-world="pocket-monster"] #hud>:is(#merchantShop,#trainerPanel,#evolutionPanel,#breedingPanel,#ranchServices,#ranchStoragePage,#monsterFieldBag,#monsterManager,#skillItemConfirm,#monsterPicker):not(.hidden){visibility:visible!important;pointer-events:auto!important}
body.unified-hud-active #stageObjective{display:none!important;pointer-events:none!important}
body.unified-hud-active #stageObjectiveToggle{display:none!important;pointer-events:none!important}
body.unified-hud-active #targetCard{display:none!important;pointer-events:none!important}
body.unified-hud-active #party{display:none!important;pointer-events:none!important}
body.unified-hud-active #message{display:none!important;pointer-events:none!important}
body.unified-hud-active .game-chat{display:none!important;pointer-events:none!important}
body.unified-hud-active .chat-toggle{display:none!important;pointer-events:none!important}
